yade-dev team mailing list archive
-
yade-dev team
-
Mailing list archive
-
Message #07118
[Branch ~yade-dev/yade/trunk] Rev 2748: - Small fix in makeCloud (hSize not passed correctly in recursive calls)
------------------------------------------------------------
revno: 2748
committer: Bruno Chareyre <bruno.chareyre@xxxxxxxxxxx>
branch nick: yade
timestamp: Fri 2011-02-18 17:04:42 +0100
message:
- Small fix in makeCloud (hSize not passed correctly in recursive calls)
modified:
pkg/dem/SpherePack.cpp
--
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 'pkg/dem/SpherePack.cpp'
--- pkg/dem/SpherePack.cpp 2011-02-10 13:03:39 +0000
+++ pkg/dem/SpherePack.cpp 2011-02-18 16:04:42 +0000
@@ -90,7 +90,7 @@
Vector3r size;
bool hSizeFound =(hSize!=Matrix3r::Zero());//is hSize passed to the function?
if (!hSizeFound) {size=mx-mn; hSize=size.asDiagonal();}
- if (hSizeFound && !periodic) throw invalid_argument("hSize can be defined only for periodic cells.");
+ if (hSizeFound && !periodic) LOG_WARN("hSize can be defined only for periodic cells.");
Matrix3r invHsize =hSize.inverse();
Real volume=hSize.determinant();
if (!volume) throw invalid_argument("The box defined as null volume. Define at least maxCorner of the box, or hSize if periodic.");
@@ -188,7 +188,7 @@
Real nextPoro = porosity+(1-porosity)/10.;
LOG_WARN("Exceeded "<<maxTry<<" tries to insert non-overlapping sphere to packing. Only "<<i<<" spheres was added, although you requested "<<num<<". Trying again with porosity "<<nextPoro<<". The size distribution is being scaled down");
pack.clear();
- return makeCloud(mn, mx, -1., rRelFuzz, num, periodic, nextPoro, psdSizes, psdCumm, distributeMass,seed,hSize);}
+ return makeCloud(mn, mx, -1., rRelFuzz, num, periodic, nextPoro, psdSizes, psdCumm, distributeMass,seed,hSizeFound?hSize:Matrix3r::Zero());}
else LOG_WARN("Exceeded "<<maxTry<<" tries to insert non-overlapping sphere to packing. Only "<<i<<" spheres was added, although you requested "<<num<<".");
}
return i;}