yade-dev team mailing list archive
-
yade-dev team
-
Mailing list archive
-
Message #12683
[Branch ~yade-pkg/yade/git-trunk] Rev 3874: fabricTensor(): unify the behavior regarding boundary interactions whether split=0 or 1: they are...
------------------------------------------------------------
revno: 3874
committer: jduriez <jerome.duriez@xxxxxxxxxxx>
timestamp: Thu 2016-05-26 17:49:02 -0600
message:
fabricTensor(): unify the behavior regarding boundary interactions whether split=0 or 1: they are now disregarded in both cases
modified:
pkg/dem/Shop_02.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/Shop_02.cpp'
--- pkg/dem/Shop_02.cpp 2016-05-26 16:30:41 +0000
+++ pkg/dem/Shop_02.cpp 2016-05-26 23:49:02 +0000
@@ -282,6 +282,7 @@
Fmean=0; // initialize
FOREACH(const shared_ptr<Interaction>& I, *scene->interactions){
if(!I->isReal()) continue;
+ if( !dynamic_cast<Sphere*>(Body::byId(I->getId1(),scene)->shape.get()) || !dynamic_cast<Sphere*>(Body::byId(I->getId2(),scene)->shape.get()) ) continue; // test intended to disregard boundary interactions (in non-periodic simulations)
GenericSpheresContact* geom=YADE_CAST<GenericSpheresContact*>(I->geom.get());
NormShearPhys* phys=YADE_CAST<NormShearPhys*>(I->phys.get());
const Vector3r& n=geom->normal;
@@ -303,6 +304,7 @@
if (!splitTensor & !std::isnan(thresholdForce)) {LOG_WARN("The bool splitTensor should be set to True if you specified a threshold value for the contact force, otherwise the function will return only the fabric tensor and not the two separate contributions.");}
FOREACH(const shared_ptr<Interaction>& I, *scene->interactions){
if(!I->isReal()) continue;
+ if( !dynamic_cast<Sphere*>(Body::byId(I->getId1(),scene)->shape.get()) || !dynamic_cast<Sphere*>(Body::byId(I->getId2(),scene)->shape.get()) ) continue; // test intended to disregard boundary interactions (in non-periodic simulations)
GenericSpheresContact* geom=YADE_CAST<GenericSpheresContact*>(I->geom.get());
NormShearPhys* phys=YADE_CAST<NormShearPhys*>(I->phys.get());
const Vector3r& n=geom->normal;
Follow ups