yade-dev team mailing list archive
-
yade-dev team
-
Mailing list archive
-
Message #10954
[Branch ~yade-pkg/yade/git-trunk] Rev 4015: JCFpm : doc of JCFpmPhys.FnMax precised (minor change). And formulation of kn for onJoint interac...
------------------------------------------------------------
revno: 4015
committer: Jerome Duriez <jerome.duriez@xxxxxxxxxxxxxxx>
timestamp: Tue 2014-06-10 16:27:43 +0200
message:
JCFpm : doc of JCFpmPhys.FnMax precised (minor change). And formulation of kn for onJoint interactions according to JCFpmPhys.crossSection (rather than mean of surfaces) to be consistent with the whole formulation ("major" change : this may impact the results of previous scripts depending on psd and how much the mechanical behaviour of joint is important)
modified:
pkg/dem/JointedCohesiveFrictionalPM.cpp
pkg/dem/JointedCohesiveFrictionalPM.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/JointedCohesiveFrictionalPM.cpp'
--- pkg/dem/JointedCohesiveFrictionalPM.cpp 2014-05-28 08:47:32 +0000
+++ pkg/dem/JointedCohesiveFrictionalPM.cpp 2014-06-10 14:27:43 +0000
@@ -270,11 +270,8 @@
//contactPhysics->kn = jointNormalStiffness*2.*R1*R2/(R1+R2); // very first expression from Luc
//contactPhysics->kn = (jkn1+jkn2)/2.0*2.*R1*R2/(R1+R2); // after putting jointNormalStiffness in material
- contactPhysics->kn = ( jkn1*Mathr::PI*pow(R1,2) + jkn2*Mathr::PI*pow(R2,2) )/2.0; // for a size independant expression
-
- //contactPhysics->ks = jointShearStiffness*2.*R1*R2/(R1+R2);
- //contactPhysics->ks = (jks1+jks2)/2.0*2.*R1*R2/(R1+R2);
- contactPhysics->ks = ( jks1*Mathr::PI*pow(R1,2) + jks2*Mathr::PI*pow(R2,2) )/2.0; // for a size independant expression
+ contactPhysics->kn = ( jkn1 + jkn2 ) /2.0 * contactPhysics->crossSection; // for a size independant expression
+ contactPhysics->ks = ( jks1 + jks2 ) /2.0 * contactPhysics->crossSection; // for a size independant expression
contactPhysics->tanDilationAngle = std::tan(std::min(jdil1,jdil2));
=== modified file 'pkg/dem/JointedCohesiveFrictionalPM.hpp'
--- pkg/dem/JointedCohesiveFrictionalPM.hpp 2014-05-28 08:47:32 +0000
+++ pkg/dem/JointedCohesiveFrictionalPM.hpp 2014-06-10 14:27:43 +0000
@@ -62,7 +62,7 @@
((bool,isOnJoint,false,,"defined as true when both interacting particles are :yref:`on joint<JCFpmState.onJoint>` and are in opposite sides of the joint surface. In this case, mechanical parameters of the interaction are derived from the ''joint...'' material properties of the particles, and normal of the interaction is re-oriented (see also :yref:`Law2_ScGeom_JCFpmPhys_JointedCohesiveFrictionalPM`)."))
((Real,tanFrictionAngle,0,,"tangent of Coulomb friction angle for this interaction (auto. computed). [-]"))
((Real,crossSection,0,,"crossSection=pi*Rmin^2. [m2]"))
- ((Real,FnMax,0,,"computed from :yref:`tensile strength<JCFpmMat.tensileStrength>` (or joint variant) to define the maximum admissible normal force in traction. [N]"))
+ ((Real,FnMax,0,,"positiv value computed from :yref:`tensile strength<JCFpmMat.tensileStrength>` (or joint variant) to define the maximum admissible normal force in traction: Fn >= -FnMax. [N]"))
((Real,FsMax,0,,"computed from :yref:`cohesion<JCFpmMat.cohesion>` (or jointCohesion) to define the maximum admissible tangential force in shear, for Fn=0. [N]"))
((Vector3r,jointNormal,Vector3r::Zero(),,"normal direction to the joint, deduced from e.g. :yref:`<JCFpmState.jointNormal1>`."))
((Real,jointCumulativeSliding,0,,"sliding distance for particles interacting on a joint. Used, when :yref:`<Law2_ScGeom_JCFpmPhys_JointedCohesiveFrictionalPM.smoothJoint>` is true, to take into account dilatancy due to shearing. [-]"))