← Back to team overview

yade-dev team mailing list archive

[Branch ~yade-dev/yade/trunk] Rev 2299: - Forgot def_types.h in previous commit (sorry Tieng!)

 

------------------------------------------------------------
revno: 2299
committer: ecatalano <ecatalano@dt-rv019>
branch nick: trunk
timestamp: Fri 2010-06-25 12:15:51 +0200
message:
  - Forgot def_types.h in previous commit (sorry Tieng!)
modified:
  lib/triangulation/def_types.h


--
lp:yade
https://code.launchpad.net/~yade-dev/yade/trunk

Your team Yade developers is subscribed to branch lp:yade.
To unsubscribe from this branch go to https://code.launchpad.net/~yade-dev/yade/trunk/+edit-subscription
=== modified file 'lib/triangulation/def_types.h'
--- lib/triangulation/def_types.h	2010-02-17 10:25:54 +0000
+++ lib/triangulation/def_types.h	2010-06-25 10:15:51 +0000
@@ -2,9 +2,6 @@
 
 #ifndef _Def_types
 #define _Def_types
-
-
-
 #include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
 #include <CGAL/Cartesian.h>
 #include <CGAL/Regular_triangulation_3.h>
@@ -17,12 +14,15 @@
 
 #include <boost/static_assert.hpp>
 
-//#define FLOW_ENGINE
+#define FLOW_ENGINE
 
 
 namespace CGT{
+//Robust kernel
+typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
+//A bit faster, but gives crash eventualy 
+// typedef CGAL::Cartesian<double> K;
 
-typedef CGAL::Cartesian<double> K;
 typedef CGAL::Regular_triangulation_euclidean_traits_3<K>   				Traits;
 typedef K::Point_3									Point;
 //typedef Traits::Bare_point 								Point;
@@ -48,30 +48,36 @@
 	Real s;// stockage d'une valeur scalaire (ex. d�viateur) pour affichage
 	bool isFictious;
 #ifdef FLOW_ENGINE
+	bool Pcondition;
 	Real t;
 	int fict;
  	Real VolumeVariation;
 	double pression; //stockage d'une valeur de pression pour chaque cellule
+	std::vector<double> Average_Cell_Velocity; //average velocity defined for a single cell as 1/Volume * SUM_ON_FACETS(x_average_facet*average_facet_flow_rate)
 	
 	// Surface vectors of facets, pointing from outside toward inside the cell
 	std::vector<Vecteur> facetSurfaces;
+	// Store the area of triangle-sphere intersections for each facet (used in forces definition)
+	std::vector<Vecteur> facetSphereCrossSections;
 	std::vector<Vecteur> cell_force;
 	std::vector<double> RayHydr;
 // 	std::vector<double> flow_rate;
 	std::vector<double> module_permeability;
-	// In-facet partial surfaces of spheres. [i][j] is for sphere facet "i" and sphere facetVertices[i][j]. Last component for 1/sum_surfaces in the facet.
+	// Partial surfaces of spheres in the double-tetrahedron linking two voronoi centers. [i][j] is for sphere facet "i" and sphere facetVertices[i][j]. Last component for 1/sum_surfaces in the facet.
 	double solidSurfaces [4][4];
 // 	std::vector<Vecteur> vec_forces;
 	Cell_Info (void)
 	{
 		module_permeability.resize(4, 0);
+		Average_Cell_Velocity.resize(4);
 		cell_force.resize(4);
 		facetSurfaces.resize(4);
+		facetSphereCrossSections.resize(4);
 		for (int k=0; k<4;k++) for (int l=0; l<3;l++) solidSurfaces[k][l]=0;
 		RayHydr.resize(4, 0);
 		isInside = false;
 		inv_sum_k=0;
-		isFictious = false; isInferior = false; isSuperior = false; isLateral = false; isvisited = false; isExternal=false;
+		isFictious=false; Pcondition = false; isInferior = false; isSuperior = false; isLateral = false; isvisited = false; isExternal=false;
 	}	
 	double inv_sum_k;
 	bool isInside;
@@ -106,6 +112,8 @@
 	
 	inline std::vector<Vecteur>& force (void) {return cell_force;}
 	inline std::vector<double>& Rh (void) {return RayHydr;}
+	
+	inline std::vector<double>& av_vel (void) {return Average_Cell_Velocity;}
 // 	inline vector<Vecteur>& F (void) {return vec_forces;}
 // 	inline vector<double>& Q (void) {return flow_rate;}
 // 	inline vector<Real>& d (void) {return distance;}