------------------------------------------------------------ revno: 3699 committer: jduriez <jerome.dur...@ucalgary.ca> timestamp: Tue 2015-07-14 16:25:36 -0600 message: Introduction of surface tension as an attribute, and comments about code objects related to capillary files modified: pkg/dem/Law2_ScGeom_CapillaryPhys_Capillarity.cpp pkg/dem/Law2_ScGeom_CapillaryPhys_Capillarity.hpp
-- lp:yade https://code.launchpad.net/~yade-pkg/yade/git-trunk Your team Yade developers is subscribed to branch lp:yade. To unsubscribe from this branch go to https://code.launchpad.net/~yade-pkg/yade/git-trunk/+edit-subscription
=== modified file 'pkg/dem/Law2_ScGeom_CapillaryPhys_Capillarity.cpp' --- pkg/dem/Law2_ScGeom_CapillaryPhys_Capillarity.cpp 2015-05-26 21:56:51 +0000 +++ pkg/dem/Law2_ScGeom_CapillaryPhys_Capillarity.cpp 2015-07-14 22:25:36 +0000 @@ -97,7 +97,7 @@ ScGeom* currentContactGeometry = static_cast<ScGeom*>(interaction->geom.get()); /// Capillary components definition: - Real liquidTension = 0.073; // superficial water tension N/m (0.073 is water tension at 20 Celsius degrees) + Real liquidTension = surfaceTension; /// Interacting Grains: // If you want to define a ratio between YADE sphere size and real sphere size === modified file 'pkg/dem/Law2_ScGeom_CapillaryPhys_Capillarity.hpp' --- pkg/dem/Law2_ScGeom_CapillaryPhys_Capillarity.hpp 2015-05-22 05:46:49 +0000 +++ pkg/dem/Law2_ScGeom_CapillaryPhys_Capillarity.hpp 2015-07-14 22:25:36 +0000 @@ -48,7 +48,7 @@ /// R = ratio(RadiusParticle1 on RadiusParticle2). Here, 10 R values from interpolation files (yade/extra/capillaryFiles), R = 1, 1.1, 1.25, 1.5, 1.75, 2, 3, 4, 5, 10 const int NB_R_VALUES = 10; -class capillarylaw; // fait appel a la classe def plus bas //TODO: translate this in english +class capillarylaw; // the class defined below (end of file) class Interaction; ///This container class is used to check if meniscii overlap. Wet interactions are put in a series of lists, with one list per body. @@ -93,6 +93,7 @@ ((bool,fusionDetection,false,,"If true potential menisci overlaps are checked, computing :yref:`fusionNumber<CapillaryPhys.fusionNumber>` for each capillary interaction, and reducing :yref:`fCap<CapillaryPhys.fCap>` according to :yref:`binaryFusion<Law2_ScGeom_CapillaryPhys_Capillarity.binaryFusion>`")) ((bool,binaryFusion,true,,"If true, capillary forces are set to zero as soon as, at least, 1 overlap (menisci fusion) is detected. Otherwise :yref:`fCap<CapillaryPhys.fCap>` = :yref:`fCap<CapillaryPhys.fCap>` / (:yref:`fusionNumber<CapillaryPhys.fusionNumber>` + 1 )")) ((bool,createDistantMeniscii,false,,"Generate meniscii between distant spheres? Else only maintain the existing ones. For modeling a wetting path this flag should always be false. For a drying path it should be true for one step (initialization) then false, as in the logic of [Scholtes2009c]_")) + ((Real,surfaceTension,0.073,,"Value of considered surface tension")) // (0.073 N/m is water tension at 20 Celsius degrees) ,,/*constructor*/ hertzInitialized = false; hertzOn = false; @@ -101,10 +102,10 @@ ); }; -class TableauD +class TableauD // Laplace solutions for a given r, and a given D (and a given contact angle): pieces of one capillary file { public: - Real D; + Real D; // one cst D value in each TableauD (the one appearing last line of corresponding group D=cst in the capillary file) std::vector<std::vector<Real> > data; MeniscusParameters Interpolate3(Real P, int& index); TableauD(); @@ -116,11 +117,11 @@ class Tableau; std::ostream& operator<<(std::ostream& os, Tableau& T); -class Tableau +class Tableau // Laplace solutions for a given r (and a given contact angle): one capillary file { public: Real R; - std::vector<TableauD> full_data; // full_data contains a lot of TableauD, for different D. that are the Laplace solutions for a given r, and a given D + std::vector<TableauD> full_data; // members of full_data are the different TableauD, for different D. MeniscusParameters Interpolate2(Real D, Real P, int& index1, int& index2); std::ifstream& operator<< (std::ifstream& file); Tableau(); @@ -128,11 +129,11 @@ ~Tableau(); }; -class capillarylaw +class capillarylaw // the whole set of capillary files M(r=..) { public: capillarylaw(); - std::vector<Tableau> data_complete; // each Tableau of data_complete corresponds to one capillary file M(r=..), in ascending order of r + std::vector<Tableau> data_complete; // data_complete includes, in ascending order of r, all capillary files: each Tableau of data_complete is one capillary file MeniscusParameters interpolate(Real R1, Real R2, Real D, Real P, int* index); void fill (const char* filename); };
_______________________________________________ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp