← Back to team overview

yade-dev team mailing list archive

[Branch ~yade-pkg/yade/git-trunk] Rev 3701: Minor fix in calculation s_crit in ViscoelasticPM.

 

------------------------------------------------------------
revno: 3701
committer: Anton Gladky <gladky.anton@xxxxxxxxx>
timestamp: Wed 2013-08-28 15:31:12 +0200
message:
  Minor fix in calculation s_crit in ViscoelasticPM.
modified:
  pkg/dem/ViscoelasticPM.cpp


--
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/ViscoelasticPM.cpp'
--- pkg/dem/ViscoelasticPM.cpp	2013-06-12 14:35:50 +0000
+++ pkg/dem/ViscoelasticPM.cpp	2013-08-28 13:31:12 +0000
@@ -132,7 +132,6 @@
    
 	if (not(phys.liqBridgeCreated) and phys.Capillar) {
 		phys.liqBridgeCreated = true;
-		phys.sCrit = (1+0.5*phys.theta)*(pow(phys.Vb,1/3.0) + 0.1*pow(phys.Vb,2.0/3.0));   // [Willett2000], equation (15), use the full-length e.g 2*Sc
 		Sphere* s1=dynamic_cast<Sphere*>(bodies[id1]->shape.get());
 		Sphere* s2=dynamic_cast<Sphere*>(bodies[id2]->shape.get());
 		if (s1 and s2) {
@@ -142,6 +141,11 @@
 		} else {
 			phys.R = s2->radius;
 		}
+		
+		const Real Vstar = phys.Vb/(phys.R*phys.R*phys.R);
+		const Real Sstar = (1+0.5*phys.theta)*(pow(Vstar,1/3.0) + 0.1*pow(Vstar,2.0/3.0));   // [Willett2000], equation (15), use the full-length e.g 2*Sc
+		
+		phys.sCrit = Sstar*phys.R;
 	}
 
 	Vector3r& shearForce = phys.shearForce;