yade-dev team mailing list archive
-
yade-dev team
-
Mailing list archive
-
Message #06762
[Branch ~yade-dev/yade/trunk] Rev 2668: 1. vtk-5.6 path is added to SConstruct to make it compilable with Debain experimental
------------------------------------------------------------
revno: 2668
committer: Anton Gladky <gladky.anton@xxxxxxxxx>
branch nick: yade
timestamp: Fri 2011-01-21 09:14:28 +0100
message:
1. vtk-5.6 path is added to SConstruct to make it compilable with Debain experimental
2. Fixing spelling mistakes in documentation.
3. debian/ -directory changes.
removed:
debian/README.Debian
modified:
SConstruct
debian/copyright
debian/watch
doc/sphinx/formulation.rst
lib/base/Logging.hpp
pkg/common/OpenGLRenderer.hpp
pkg/common/ResetRandomPosition.cpp
pkg/common/ResetRandomPosition.hpp
pkg/common/SpheresFactory.hpp
pkg/dem/CapillaryStressRecorder.hpp
pkg/dem/CapillaryTriaxialTest.hpp
pkg/dem/CohesiveTriaxialTest.hpp
pkg/dem/KinemCNLEngine.hpp
pkg/dem/KinemCNSEngine.hpp
pkg/dem/KinemSimpleShearBox.hpp
pkg/dem/SimpleShear.hpp
pkg/dem/TriaxialTest.hpp
pkg/dem/VTKRecorder.hpp
py/_eudoxos.cpp
py/log.cpp
py/pack/SpherePadder/TetraMesh.cpp
py/pack/_packSpheres.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 'SConstruct'
--- SConstruct 2011-01-02 10:12:16 +0000
+++ SConstruct 2011-01-21 08:14:28 +0000
@@ -100,7 +100,7 @@
('chunkSize','Maximum files to compile in one translation unit when building plugins. (unlimited if <= 0, per-file linkage is used if 1)',7,None,int),
('version','Yade version (if not specified, guess will be attempted)',None),
('realVersion','Revision (usually bzr revision); guessed automatically unless specified',None),
- ('CPPPATH', 'Additional paths for the C preprocessor (colon-separated)','/usr/include/vtk-5.0:/usr/include/vtk-5.2:/usr/include/vtk-5.4:/usr/include/eigen2:/usr/include/vtk'), # hardy has vtk-5.0
+ ('CPPPATH', 'Additional paths for the C preprocessor (colon-separated)','/usr/include/vtk-5.0:/usr/include/vtk-5.2:/usr/include/vtk-5.4:/usr/include/vtk-5.6:/usr/include/eigen2:/usr/include/vtk'), # hardy has vtk-5.0
('LIBPATH','Additional paths for the linker (colon-separated)',None),
('libstdcxx','Specify libstdc++ location by hand (opened dynamically at startup), usually not needed',None),
('QT4CXX','Specify a different compiler for files including qt4; this is necessary for older qt version (<=4.7) which don\'t compile with clang',None),
=== removed file 'debian/README.Debian'
--- debian/README.Debian 2007-03-31 06:18:17 +0000
+++ debian/README.Debian 1970-01-01 00:00:00 +0000
@@ -1,6 +0,0 @@
-yade for Debian
----------------
-
-<possible notes regarding this package - if none, delete this file>
-
- -- Vaclav Smilauer <eudoxos@xxxxxxxx> Thu, 8 Mar 2007 11:44:19 +0100
=== modified file 'debian/copyright'
--- debian/copyright 2011-01-03 19:26:59 +0000
+++ debian/copyright 2011-01-21 08:14:28 +0000
@@ -1,52 +1,42 @@
-This work was packaged for Debian by:
-
- Vaclav Smilauer <eudoxos@xxxxxxxx> on Thu, 8 Mar 2007 11:44:19 +0100
-
-It was downloaded from:
-
- https://launchpad.net/yade/+download
-
-Upstream Author(s):
-
- Václav Šmilauer <eudoxos@xxxxxxxx>
- Olivier Galizzi <olivier.galizzi@xxxxxxx>
- Janek Kozicki <janek@xxxxxxxxxx>
- Bruno Chareyre <bruno.chareyre@xxxxxxxxxxx>
- Anton Gladky <gladky.anton@xxxxxxxxx>
- Sergei Dorofeenko <dorofeenko@xxxxxxxxx>
- Jerome Duriez <duriez@xxxxxxxxxxxxxxx>
- Vincent Richefeu <richefeu@xxxxxxxxx>
- Chiara Modenese <c.modenese@xxxxxxxxx>
- Boon Chiaweng <booncw@xxxxxxxxxxx>
- Emanuele Catalano <catalano@xxxxxxxxxxx>
- Luc Scholtes <lscholtes63@xxxxxxxxx>
- Jan Stránský <_honzik@xxxxxxxxxx>
- Luc Sibille <luc.sibille@xxxxxxxxxxxxxx>
- Feng Chen <fchen3@xxxxxxx>
-
-Copyright:
-
- Copyright (C) 2004-2011 <yade-dev@xxxxxxxxxxxxxxxxxxx>
-
-License:
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License with
- the Debian GNU/Linux distribution in file /usr/share/common-licenses/GPL;
- if not, write to the Free Software Foundation, Inc., 59 Temple Place,
- Suite 330, Boston, MA 02111-1307 USA
-
- On Debian systems, the complete text of the GNU General Public License,
- version 2, can be found in /usr/share/common-licenses/GPL-2.
-
-The Debian packaging is:
-
- Copyright (C) 2011 Anton Gladky <gladky.anton@xxxxxxxxx>
+Format: http://dep.debian.net/deps/dep5/
+Upstream-Name: yade
+Source: https://launchpad.net/yade
+
+Files: *
+Copyright: 2004-2011 Yade developers <yade-dev@xxxxxxxxxxxxxxxxxxx>
+ Václav Šmilauer <eudoxos@xxxxxxxx>
+ Olivier Galizzi <olivier.galizzi@xxxxxxx>
+ Janek Kozicki <janek@xxxxxxxxxx>
+ Bruno Chareyre <bruno.chareyre@xxxxxxxxxxx>
+ Anton Gladky <gladky.anton@xxxxxxxxx>
+ Sergei Dorofeenko <dorofeenko@xxxxxxxxx>
+ Jerome Duriez <duriez@xxxxxxxxxxxxxxx>
+ Vincent Richefeu <richefeu@xxxxxxxxx>
+ Chiara Modenese <c.modenese@xxxxxxxxx>
+ Boon Chiaweng <booncw@xxxxxxxxxxx>
+ Emanuele Catalano <catalano@xxxxxxxxxxx>
+ Luc Scholtes <lscholtes63@xxxxxxxxx>
+ Jan Stránský <_honzik@xxxxxxxxxx>
+ Luc Sibille <luc.sibille@xxxxxxxxxxxxxx>
+ Feng Chen <fchen3@xxxxxxx>
+License: GPL-2
+ This program is free software; you can redistribute it
+ and/or modify it under the terms of the GNU General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License.
+ .
+ This program is distributed in the hope that it will be
+ useful, but WITHOUT ANY WARRANTY; without even the implied
+ warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ PURPOSE. See the GNU General Public License for more
+ details.
+ .
+ You should have received a copy of the GNU General Public
+ License along with this package; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ Boston, MA 02110-1301 USA
+ .
+ On Debian systems, the full text of the GNU General Public
+ License version 2 can be found in the file
+ `/usr/share/common-licenses/GPL-2'.
+
=== modified file 'debian/watch'
--- debian/watch 2011-01-18 16:04:27 +0000
+++ debian/watch 2011-01-21 08:14:28 +0000
@@ -1,3 +1,3 @@
version=3
-http://launchpad.net/yade/+download http://launchpad.net/yade/trunk/.*/yade-(.+).tar.gz
+http://launchpad.net/yade/+download http://launchpad.net/yade/trunk/.*/yade-(.+).tar.bz2
=== modified file 'doc/sphinx/formulation.rst'
--- doc/sphinx/formulation.rst 2010-12-01 14:31:15 +0000
+++ doc/sphinx/formulation.rst 2011-01-21 08:14:28 +0000
@@ -723,7 +723,7 @@
\vec{K}_{ij}=\sum_k (K_{Nk}-K_{Tk})\vec{n}_{i}\vec{n}_{j}+K_{Tk}=\sum_j K_{Nk}\left((1-\xi)\vec{n}_{i}\vec{n}_{j}+\xi\right)
-with $i$ and $j\in\{x,y,z\}$. Equations :eq:`eq-dtcr-axes` and :eq:`eq-dtcr-particle-stiffness` determine $\Dtcr$ in a simulation. A similar approach generalized to all 6 DOFs is implemented by the :yref:`GlobalStiffnessTimeStepper` engine in Yade. The derivation of generalized stiffness including rotational terms is very similar but not developped here, for simplicity. For full reference, see "PFC3D - Theoretical Background".
+with $i$ and $j\in\{x,y,z\}$. Equations :eq:`eq-dtcr-axes` and :eq:`eq-dtcr-particle-stiffness` determine $\Dtcr$ in a simulation. A similar approach generalized to all 6 DOFs is implemented by the :yref:`GlobalStiffnessTimeStepper` engine in Yade. The derivation of generalized stiffness including rotational terms is very similar but not developed here, for simplicity. For full reference, see "PFC3D - Theoretical Background".
Note that for computation efficiency reasons, eigenvalues of the stiffness matrices are not computed. They are only approximated assuming than DOF's are uncoupled, and using diagonal terms of $K.M^{-1}$. They give good approximates in typical mechanical systems.
=== modified file 'lib/base/Logging.hpp'
--- lib/base/Logging.hpp 2009-08-20 09:38:22 +0000
+++ lib/base/Logging.hpp 2011-01-21 08:14:28 +0000
@@ -17,7 +17,7 @@
* 1. [done] for optimized builds, at least debugging macros should become no-ops
* 2. add the TRACE level; this has to be asked about on log4cxx mailing list perhaps. Other levels may follow easily. [will be done with log4cxx 0.10, once debian ships packages and we can safely migrate]
*
- * For more informations, see http://logging.apache.org/log4cxx/, especially the part on configuration files, that allow
+ * For more information, see http://logging.apache.org/log4cxx/, especially the part on configuration files, that allow
* very flexibe, runtime and fine-grained output redirections, filtering etc.
*
* Yade has the logging config file by default in ~/.yade-$VERSION/logging.conf.
=== modified file 'pkg/common/OpenGLRenderer.hpp'
--- pkg/common/OpenGLRenderer.hpp 2011-01-12 12:01:03 +0000
+++ pkg/common/OpenGLRenderer.hpp 2011-01-21 08:14:28 +0000
@@ -93,7 +93,7 @@
((Vector3r,light2Pos,Vector3r(-130,75,30),,"Position of secondary OpenGL light source in the scene."))
((Vector3r,lightColor,Vector3r(0.6,0.6,0.6),,"Per-color intensity of primary light (RGB)."))
((Vector3r,light2Color,Vector3r(0.5,0.5,0.1),,"Per-color intensity of secondary light (RGB)."))
- ((Vector3r,bgColor,Vector3r(.2,.2,.2),,"Color of the backgroud canvas (RGB)"))
+ ((Vector3r,bgColor,Vector3r(.2,.2,.2),,"Color of the background canvas (RGB)"))
((bool,wire,false,,"Render all bodies with wire only (faster)"))
((bool,light1,true,,"Turn light 1 on."))
((bool,light2,true,,"Turn light 2 on."))
=== modified file 'pkg/common/ResetRandomPosition.cpp'
--- pkg/common/ResetRandomPosition.cpp 2010-11-19 12:30:08 +0000
+++ pkg/common/ResetRandomPosition.cpp 2011-01-21 08:14:28 +0000
@@ -111,7 +111,7 @@
}
if (is_overlap)
{
- LOG_WARN("Can't placing sphere during " << maxAttempts << " attemps.");
+ LOG_WARN("Can't placing sphere during " << maxAttempts << " attempts.");
position=backup_pos;
return;
}
=== modified file 'pkg/common/ResetRandomPosition.hpp'
--- pkg/common/ResetRandomPosition.hpp 2010-11-12 08:03:16 +0000
+++ pkg/common/ResetRandomPosition.hpp 2011-01-21 08:14:28 +0000
@@ -51,7 +51,7 @@
((Vector3r,point,Vector3r::Zero(),,"??"))
((Vector3r,normal,Vector3r(0,1,0),,"??"))
((bool,volumeSection,((void)"define factory by facets.",false),,"Create new spheres inside factory volume rather than on its surface."))
- ((int,maxAttempts,20,,"Max attemps to place sphere. If placing the sphere in certain random position would cause an overlap with any other physical body in the model, SpheresFactory will try to find another position."))
+ ((int,maxAttempts,20,,"Max attempts to place sphere. If placing the sphere in certain random position would cause an overlap with any other physical body in the model, SpheresFactory will try to find another position."))
((Vector3r,velocity,Vector3r::Zero(),,"Mean velocity of spheres."))
((Vector3r,velocityRange,Vector3r::Zero(),,"Half size of a velocities distribution interval. New sphere will have random velocity within the range velocity±velocityRange."))
((Vector3r,angularVelocity,Vector3r::Zero(),,"Mean angularVelocity of spheres."))
=== modified file 'pkg/common/SpheresFactory.hpp'
--- pkg/common/SpheresFactory.hpp 2010-11-12 08:03:16 +0000
+++ pkg/common/SpheresFactory.hpp 2011-01-21 08:14:28 +0000
@@ -33,7 +33,7 @@
/// By default it is a surface. To make its a volume set volumeSection=true
bool volumeSection;
- /// @brief Max attemps to place sphere.
+ /// @brief Max attempts to place sphere.
/// If placing the sphere in certain random position would cause an overlap with any other physical body in the model, SpheresFactory will try to find another position. Default 20 attempts allow.
int maxAttempts;
=== modified file 'pkg/dem/CapillaryStressRecorder.hpp'
--- pkg/dem/CapillaryStressRecorder.hpp 2010-11-12 08:03:16 +0000
+++ pkg/dem/CapillaryStressRecorder.hpp 2011-01-21 08:14:28 +0000
@@ -22,7 +22,7 @@
public :
virtual void action();
- YADE_CLASS_BASE_DOC_ATTRS_CTOR(CapillaryStressRecorder,Recorder,"Records informations from capillary meniscii on samples submitted to triaxial compressions. -> New formalism needs to be tested!!!",,initRun=true;);
+ YADE_CLASS_BASE_DOC_ATTRS_CTOR(CapillaryStressRecorder,Recorder,"Records information from capillary meniscii on samples submitted to triaxial compressions. -> New formalism needs to be tested!!!",,initRun=true;);
DECLARE_LOGGER;
};
=== modified file 'pkg/dem/CapillaryTriaxialTest.hpp'
--- pkg/dem/CapillaryTriaxialTest.hpp 2010-11-07 11:46:20 +0000
+++ pkg/dem/CapillaryTriaxialTest.hpp 2011-01-21 08:14:28 +0000
@@ -24,7 +24,7 @@
/*! \brief Triaxial test on unsaturated sphere packings
- This preprocessor is a variant of TriaxialTest, including the model of capillary forces developped as part of the PhD of Luc Scholtès. See the documentation of Law2_ScGeom_CapillaryPhys_Capillarity or the main page https://yade-dem.org/wiki/CapillaryTriaxialTest, for more details.
+ This preprocessor is a variant of TriaxialTest, including the model of capillary forces developed as part of the PhD of Luc Scholtès. See the documentation of Law2_ScGeom_CapillaryPhys_Capillarity or the main page https://yade-dem.org/wiki/CapillaryTriaxialTest, for more details.
Results obtained with this preprocessor were reported for instance in "Scholtes et al. Micromechanics of granular materials with capillary effects. International Journal of Engineering Science 2009,(47)1, 64-75."
*/
@@ -64,13 +64,13 @@
bool generate(std::string& message);
YADE_CLASS_BASE_DOC_ATTRS_INIT_CTOR_PY(
- CapillaryTriaxialTest,FileGenerator,"This preprocessor is a variant of TriaxialTest, including the model of capillary forces developped as part of the PhD of Luc Scholtès. See the documentation of Law2_ScGeom_CapillaryPhys_Capillarity or the main page https://yade-dem.org/wiki/CapillaryTriaxialTest, for more details.\n\n Results obtained with this preprocessor were reported for instance in 'Scholtes et al. Micromechanics of granular materials with capillary effects. International Journal of Engineering Science 2009,(47)1, 64-75.'"
+ CapillaryTriaxialTest,FileGenerator,"This preprocessor is a variant of TriaxialTest, including the model of capillary forces developed as part of the PhD of Luc Scholtès. See the documentation of Law2_ScGeom_CapillaryPhys_Capillarity or the main page https://yade-dem.org/wiki/CapillaryTriaxialTest, for more details.\n\n Results obtained with this preprocessor were reported for instance in 'Scholtes et al. Micromechanics of granular materials with capillary effects. International Journal of Engineering Science 2009,(47)1, 64-75.'"
,
((Vector3r,lowerCorner,Vector3r(0,0,0),,"Lower corner of the box."))
((Vector3r,upperCorner,Vector3r(1,1,1),,"Upper corner of the box."))
((string,importFilename,"",,"File with positions and sizes of spheres."))
((string,Key,"",,"A code that is added to output filenames."))
- ((string,fixedBoxDims,"",,"string that contains some subset (max. 2) of {'x','y','z'} ; containes axes will have box dimension hardcoded, even if box is scaled as mean_radius is prescribed: scaling will be applied on the rest."))
+ ((string,fixedBoxDims,"",,"string that contains some subset (max. 2) of {'x','y','z'} ; contains axes will have box dimension hardcoded, even if box is scaled as mean_radius is prescribed: scaling will be applied on the rest."))
((Real,CapillaryPressure,0,,"Define succion in the packing [Pa]. This is the value used in the capillary model."))
((bool,water,true,,"activate capillary model"))
((bool,fusionDetection,false,,"test overlaps between liquid bridges on modify forces if overlaps exist"))
@@ -97,7 +97,7 @@
((Real,sphereYoungModulus,15000000.0,,"Stiffness of spheres."))
((Real,sphereKsDivKn,0.5,,"Ratio of shear vs. normal contact stiffness for spheres."))
((Real,sphereFrictionDeg,18.0,,"Friction angle [°] of spheres assigned just before triaxial testing."))
- ((Real,compactionFrictionDeg,sphereFrictionDeg,,"Friction angle [°] of spheres during compaction (different values result in different porosities)]. This value is overriden by :yref:`TriaxialTest::sphereFrictionDeg` before triaxial testing."))
+ ((Real,compactionFrictionDeg,sphereFrictionDeg,,"Friction angle [°] of spheres during compaction (different values result in different porosities)]. This value is overridden by :yref:`TriaxialTest::sphereFrictionDeg` before triaxial testing."))
((Real,boxYoungModulus,15000000.0,,"Stiffness of boxes."))
((Real,maxWallVelocity,10,,"max velocity of boundaries. Usually useless, but can help stabilizing the system in some cases."))
((Real,boxKsDivKn,0.5,,"Ratio of shear vs. normal contact stiffness for boxes."))
@@ -113,7 +113,7 @@
((Real,sigmaLateralConfinement,50000,,"Lateral stress during triaxial loading. An isotropic unloading is performed if the value is not equal to :yref:`CapillaryTriaxialTest::SigmaIsoCompaction`."))
((int,timeStepUpdateInterval,50,,"interval for :yref:`GlobalStiffnessTimeStepper`"))
- ((int,timeStepOutputInterval,50,,"interval for outputing general informations on the simulation (stress,unbalanced force,...)"))
+ ((int,timeStepOutputInterval,50,,"interval for outputing general information on the simulation (stress,unbalanced force,...)"))
((int,wallStiffnessUpdateInterval,10,,"interval for updating the stiffness of sample/boundaries contacts"))
((int,radiusControlInterval,10,,"interval between size changes when growing spheres."))
((int,numberOfGrains,400,,"Number of generated spheres."))
=== modified file 'pkg/dem/CohesiveTriaxialTest.hpp'
--- pkg/dem/CohesiveTriaxialTest.hpp 2010-12-31 14:35:21 +0000
+++ pkg/dem/CohesiveTriaxialTest.hpp 2011-01-21 08:14:28 +0000
@@ -60,7 +60,7 @@
((Vector3r,upperCorner,Vector3r(1,1,1),,"Upper corner of the box."))
((string,importFilename,"",,"File with positions and sizes of spheres."))
((string,Key,"",,"A code that is added to output filenames."))
- ((string,fixedBoxDims,"",,"string that contains some subset (max. 2) of {'x','y','z'} ; containes axes will have box dimension hardcoded, even if box is scaled as mean_radius is prescribed: scaling will be applied on the rest."))
+ ((string,fixedBoxDims,"",,"string that contains some subset (max. 2) of {'x','y','z'} ; contains axes will have box dimension hardcoded, even if box is scaled as mean_radius is prescribed: scaling will be applied on the rest."))
((string,WallStressRecordFile,"./CohesiveWallStresses"+Key,,""))
((bool,internalCompaction,false,,"flag for choosing between moving boundaries or increasing particles sizes during the compaction stage."))
((bool,biaxial2dTest,false,,"FIXME : what is that?"))
@@ -82,7 +82,7 @@
((Real,sphereYoungModulus,15000000.0,,"Stiffness of spheres."))
((Real,sphereKsDivKn,0.5,,"Ratio of shear vs. normal contact stiffness for spheres."))
((Real,sphereFrictionDeg,18.0,,"Friction angle [°] of spheres assigned just before triaxial testing."))
- ((Real,compactionFrictionDeg,sphereFrictionDeg,,"Friction angle [°] of spheres during compaction (different values result in different porosities)]. This value is overriden by :yref:`TriaxialTest::sphereFrictionDeg` before triaxial testing."))
+ ((Real,compactionFrictionDeg,sphereFrictionDeg,,"Friction angle [°] of spheres during compaction (different values result in different porosities)]. This value is overridden by :yref:`TriaxialTest::sphereFrictionDeg` before triaxial testing."))
((Real,normalCohesion,0,,"Material parameter used to define contact strength in tension."))
((Real,shearCohesion,0,,"Material parameter used to define shear strength of contacts."))
((bool,setCohesionOnNewContacts,false,,"create cohesionless (False) or cohesive (True) interactions for new contacts."))
=== modified file 'pkg/dem/KinemCNLEngine.hpp'
--- pkg/dem/KinemCNLEngine.hpp 2010-11-07 11:46:20 +0000
+++ pkg/dem/KinemCNLEngine.hpp 2011-01-21 08:14:28 +0000
@@ -27,7 +27,7 @@
YADE_CLASS_BASE_DOC_ATTRS_CTOR(KinemCNLEngine,KinemSimpleShearBox,
- "To apply a constant normal stress shear (i.e. Constant Normal Load : CNL) for a parallelogram box (simple shear box : :yref:`SimpleShear` Preprocessor or scripts/simpleShear.py)\n\nThis engine allows to translate horizontally the upper plate while the lateral ones rotate so that they always keep contact with the lower and upper walls.\n\nIn fact the upper plate can move not only horizontally but also vertically, so that the normal stress acting on it remains constant (this constant value is not choosen by the user but is the one that exists at the beginning of the simulation)\n\nThe right vertical displacements which will be allowed are computed from the rigidity Kn of the sample over the wall (so to cancel a deltaSigma, a normal dplt deltaSigma*S/(Kn) is set)\n\nThe movement is moreover controlled by the user via a *shearSpeed* which will be the speed of the upper wall, and by a maximum value of horizontal displacement *gammalim*, after which the shear stops.\n\n.. note::\n\tNot only the positions of walls are updated but also their speeds, which is all but useless considering the fact that in the contact laws these velocities of bodies are used to compute values of tangential relative displacements.\n\n.. warning::\n\tBecause of this last point, if you want to use later saves of simulations executed with this Engine, but without that stopMovement was executed, your boxes will keep their speeds => you will have to cancel them 'by hand' in the .xml.\n",
+ "To apply a constant normal stress shear (i.e. Constant Normal Load : CNL) for a parallelogram box (simple shear box : :yref:`SimpleShear` Preprocessor or scripts/simpleShear.py)\n\nThis engine allows to translate horizontally the upper plate while the lateral ones rotate so that they always keep contact with the lower and upper walls.\n\nIn fact the upper plate can move not only horizontally but also vertically, so that the normal stress acting on it remains constant (this constant value is not chosen by the user but is the one that exists at the beginning of the simulation)\n\nThe right vertical displacements which will be allowed are computed from the rigidity Kn of the sample over the wall (so to cancel a deltaSigma, a normal dplt deltaSigma*S/(Kn) is set)\n\nThe movement is moreover controlled by the user via a *shearSpeed* which will be the speed of the upper wall, and by a maximum value of horizontal displacement *gammalim*, after which the shear stops.\n\n.. note::\n\tNot only the positions of walls are updated but also their speeds, which is all but useless considering the fact that in the contact laws these velocities of bodies are used to compute values of tangential relative displacements.\n\n.. warning::\n\tBecause of this last point, if you want to use later saves of simulations executed with this Engine, but without that stopMovement was executed, your boxes will keep their speeds => you will have to cancel them 'by hand' in the .xml.\n",
((Real,shearSpeed,0.0,,"the speed at wich the shearing is performed : speed of the upper plate [m/s]"))
((Real,gammalim,0.0,,"the value of tangential displacement (of upper plate) at wich the shearing is stopped [m]"))
((Real,gamma,0.0,,"current value of tangential displacement [m]"))
=== modified file 'pkg/dem/KinemCNSEngine.hpp'
--- pkg/dem/KinemCNSEngine.hpp 2010-11-07 11:46:20 +0000
+++ pkg/dem/KinemCNSEngine.hpp 2011-01-21 08:14:28 +0000
@@ -29,7 +29,7 @@
((Real,shearSpeed,0.0,,"the speed at wich the shearing is performed : speed of the upper plate [m/s]"))
((Real,gammalim,0.0,,"the value of tangential displacement (of upper plate) at wich the shearing is stopped [m]"))
((Real,gamma,0.0,,"current value of tangential displacement [m]"))
- ((Real,KnC,10.0e6,,"the normal rigidity choosen by the user [MPa/mm] - the conversion in Pa/m will be made")),
+ ((Real,KnC,10.0e6,,"the normal rigidity chosen by the user [MPa/mm] - the conversion in Pa/m will be made")),
temoin=0;
it_stop=0;
);
=== modified file 'pkg/dem/KinemSimpleShearBox.hpp'
--- pkg/dem/KinemSimpleShearBox.hpp 2010-11-07 11:46:20 +0000
+++ pkg/dem/KinemSimpleShearBox.hpp 2011-01-21 08:14:28 +0000
@@ -55,7 +55,7 @@
((Body::id_t,id_boxback,4,,"the id of the wall at the back of the sample"))
((Real,max_vel,1.0,,"to limit the speed of the vertical displacements done to control $\\sigma$ (CNL or CNS cases) [$m/s$]"))
((Real,wallDamping,0.2,,"the vertical displacements done to to control $\\sigma$ (CNL or CNS cases) are in fact damped, through this wallDamping"))
- ((bool,firstRun,true,,"boolean set to false as soon as the engine has done its job one time : usefull to know if initial height of, and normal force sustained by, the upper box are known or not (and thus if they have to be initialized). Not to be changed by the user."))
+ ((bool,firstRun,true,,"boolean set to false as soon as the engine has done its job one time : useful to know if initial height of, and normal force sustained by, the upper box are known or not (and thus if they have to be initialized). Not to be changed by the user."))
((Real,f0,0.0,,"the (vertical) force acting on the upper plate on the very first time step (determined by the Engine). Controls of the loadings in case of :yref:`KinemCNSEngine` or :yref:`KinemCNLEngine` will be done according to this initial value [$N$]. Not to be changed by the user.]"))
((Real,y0,0.0,,"the height of the upper plate at the very first time step : the engine finds its value [$m$]. Not to be changed by the user."))
((bool,LOG,false,,"boolean controling the output of messages on the screen")) //FIXME : surely something better to use here
=== modified file 'pkg/dem/SimpleShear.hpp'
--- pkg/dem/SimpleShear.hpp 2010-10-13 16:23:08 +0000
+++ pkg/dem/SimpleShear.hpp 2011-01-21 08:14:28 +0000
@@ -24,7 +24,7 @@
void createActors(shared_ptr<Scene>& scene);
//method to create a list (containing the positions of centers and radii) of n non interpenetrating spheres, occupying a rectangle with a given (rather high) porosity (issued from TriaxialTest) :
string GenerateCloud(vector<BasicSphere>& sphere_list,Vector3r lowerCorner,Vector3r upperCorner,long number,Real rad_std_dev, Real porosity);
-// to create the same list but by reading a text file containing the informations :
+// to create the same list but by reading a text file containing the information :
std::pair<string,bool> ImportCloud(vector<BasicSphere>& sphere_list,string importFilename);
=== modified file 'pkg/dem/TriaxialTest.hpp'
--- pkg/dem/TriaxialTest.hpp 2010-10-13 16:23:08 +0000
+++ pkg/dem/TriaxialTest.hpp 2011-01-21 08:14:28 +0000
@@ -32,9 +32,9 @@
2/ The class TriaxialStateRecorder is used to write to a file the history of stresses and strains.
- 3/ TriaxialTest is currently using GlobalStiffnessTimeStepper to compute an appropriate dt for the numerical scheme. The TriaxialTest is the only preprocessor using these classes in Yade because they have been developped AFTER most of preprocessor examples, BUT they can be used in principle in any situation and they have nothing specifically related to the triaxial test.
+ 3/ TriaxialTest is currently using GlobalStiffnessTimeStepper to compute an appropriate dt for the numerical scheme. The TriaxialTest is the only preprocessor using these classes in Yade because they have been developed AFTER most of preprocessor examples, BUT they can be used in principle in any situation and they have nothing specifically related to the triaxial test.
- @note TriaxialStressController::ComputeUnbalancedForce(...) returns a value that can be usefull for evaluating the stability of the packing. It is defined as (mean force on particles)/(mean contact force), so that it tends to 0 in a stable packing. This parameter is checked by TriaxialCompressionEngine to switch from one stage of the simulation to the next one (e.g. stop isotropic confinment and start axial loading)
+ @note TriaxialStressController::ComputeUnbalancedForce(...) returns a value that can be useful for evaluating the stability of the packing. It is defined as (mean force on particles)/(mean contact force), so that it tends to 0 in a stable packing. This parameter is checked by TriaxialCompressionEngine to switch from one stage of the simulation to the next one (e.g. stop isotropic confinment and start axial loading)
@note Compaction is done (1) by moving rigid boxes or (2) by increasing the sizes of the particles (decided using the option "internalCompaction" : true => size increase). Both algorithm needs numerical parameters to prevent instabilities. For instance, with method (1) maxWallVelocity is the maximum wall velocity, with method (2) finalMaxMultiplier is the max value of the multiplier applied on sizes at each iteration (always something like 1.00001).
@@ -80,7 +80,7 @@
((Vector3r,upperCorner,Vector3r(1,1,1),,"Upper corner of the box."))
((string,importFilename,"",,"File with positions and sizes of spheres."))
((string,Key,"",,"A code that is added to output filenames."))
- ((string,fixedBoxDims,"",,"string that contains some subset (max. 2) of {'x','y','z'} ; containes axes will have box dimension hardcoded, even if box is scaled as mean_radius is prescribed: scaling will be applied on the rest."))
+ ((string,fixedBoxDims,"",,"string that contains some subset (max. 2) of {'x','y','z'} ; contains axes will have box dimension hardcoded, even if box is scaled as mean_radius is prescribed: scaling will be applied on the rest."))
((string,WallStressRecordFile,"./WallStresses"+Key,,""))
((bool,internalCompaction,false,,"flag for choosing between moving boundaries or increasing particles sizes during the compaction stage."))
((bool,biaxial2dTest,false,,"FIXME : what is that?"))
@@ -99,7 +99,7 @@
((Real,sphereYoungModulus,15000000.0,,"Stiffness of spheres."))
((Real,sphereKsDivKn,0.5,,"Ratio of shear vs. normal contact stiffness for spheres."))
((Real,sphereFrictionDeg,18.0,,"Friction angle [°] of spheres assigned just before triaxial testing."))
- ((Real,compactionFrictionDeg,sphereFrictionDeg,,"Friction angle [°] of spheres during compaction (different values result in different porosities)]. This value is overriden by :yref:`TriaxialTest::sphereFrictionDeg` before triaxial testing."))
+ ((Real,compactionFrictionDeg,sphereFrictionDeg,,"Friction angle [°] of spheres during compaction (different values result in different porosities)]. This value is overridden by :yref:`TriaxialTest::sphereFrictionDeg` before triaxial testing."))
((Real,boxYoungModulus,15000000.0,,"Stiffness of boxes."))
((Real,maxWallVelocity,10,,"max velocity of boundaries. Usually useless, but can help stabilizing the system in some cases."))
((Real,boxKsDivKn,0.5,,"Ratio of shear vs. normal contact stiffness for boxes."))
=== modified file 'pkg/dem/VTKRecorder.hpp'
--- pkg/dem/VTKRecorder.hpp 2010-11-07 11:46:20 +0000
+++ pkg/dem/VTKRecorder.hpp 2011-01-21 08:14:28 +0000
@@ -20,7 +20,7 @@
((bool,multiblock,false,,"Use multi-block (``.vtm``) files to store data, rather than separate ``.vtu`` files."))
#endif
((string,fileName,"",,"Base file name; it will be appended with {spheres,intrs,facets}-243100.vtu (unless *multiblock* is ``True``) depending on active recorders and step number (243100 in this case). It can contain slashes, but the directory must exist already."))
- ((vector<string>,recorders,vector<string>(1,string("all")),,"List of active recorders (as strings). ``all`` (the default value) enables all base and generic recorders.\n\n.. admonition:: Base recorders\n\n\tBase recorders save the geometry (unstructured grids) on which other data is defined. They are implicitly activated by many of the other recorders. Each of them creates a new file (or a block, if :yref:`multiblock <VTKRecorder.multiblock>` is set).\n\n\t``spheres``\n\t\tSaves positions and radii (``radii``) of :yref:`spherical<Sphere>` particles.\n\t``facets``\n\t\tSave :yref:`facets<Facet>` positions (vertices).\n\t``intr``\n\t\tStore interactions as lines between nodes at respective particles positions. Additionaly stores magnitude of normal (``forceN``) and shear (``absForceT``) forces on interactions (the :yref:`geom<Interaction.geom> must be of type :yref:`NormShearPhys`). \n\n.. admonition:: Generic recorders\n\n\tGeneric recorders do not depend on specific model being used and save commonly useful data.\n\n\t``id``\n\t\tSaves id's (field ``id``) of spheres; active only if ``spheres`` is active.\n\t``clumpId``\n\t\tSaves id's of clumps to which each sphere belongs (field ``clumpId``); active only if ``spheres`` is active.\n\t``colors``\n\t\tSaves colors of :yref:`spheres<Sphere>` and of :yref:`facets<Facet>` (field ``color``); only active if ``spheres`` or ``facets`` are activated.\n\t``mask``\n\t\tSaves groupMasks of :yref:`spheres<Sphere>` and of :yref:`facets<Facet>` (field ``mask``); only active if ``spheres`` or ``facets`` are activated.\n\t``materialId``\n\t\tSaves materialID of :yref:`spheres<Sphere>` and of :yref:`facets<Facet>`; only active if ``spheres`` or ``facets`` are activated.\n\t``velocity``\n\t\tSaves linear and angular velocities of spherical particles as Vector3 and length(fields ``linVelVec``, ``linVelLen`` and ``angVelVec``, ``angVelLen`` respectively``); only effective with ``spheres``.\n\t``stress``\n\t\tSaves stresses of :yref:`spheres<Sphere>` and of :yref:`facets<Facet>` as Vector3 and length; only active if ``spheres`` or ``facets`` are activated.\n\n.. admonition:: Specific recorders\n\n\tThe following should only be activated in appropriate cases, otherwise crashes can occur due to violation of type presuppositions.\n\n\t``cpm``\n\t\tSaves data pertaining to the :yref:`concrete model<Law2_Dem3DofGeom_CpmPhys_Cpm>`: ``cpmDamage`` (normalized residual strength averaged on particle), ``cpmSigma`` (stress on particle, normal components), ``cpmTau`` (shear components of stress on particle), ``cpmSigmaM`` (mean stress around particle); ``intr`` is activated automatically by ``cpm``\n\t``rpm``\n\t\tSaves data pertaining to the :yref:`rock particle model<Law2_Dem3DofGeom_RockPMPhys_Rpm>`: ``rpmSpecNum`` shows different pieces of separated stones, only ids. ``rpmSpecMass`` shows masses of separated stones.\n\n"))
+ ((vector<string>,recorders,vector<string>(1,string("all")),,"List of active recorders (as strings). ``all`` (the default value) enables all base and generic recorders.\n\n.. admonition:: Base recorders\n\n\tBase recorders save the geometry (unstructured grids) on which other data is defined. They are implicitly activated by many of the other recorders. Each of them creates a new file (or a block, if :yref:`multiblock <VTKRecorder.multiblock>` is set).\n\n\t``spheres``\n\t\tSaves positions and radii (``radii``) of :yref:`spherical<Sphere>` particles.\n\t``facets``\n\t\tSave :yref:`facets<Facet>` positions (vertices).\n\t``intr``\n\t\tStore interactions as lines between nodes at respective particles positions. Additionally stores magnitude of normal (``forceN``) and shear (``absForceT``) forces on interactions (the :yref:`geom<Interaction.geom> must be of type :yref:`NormShearPhys`). \n\n.. admonition:: Generic recorders\n\n\tGeneric recorders do not depend on specific model being used and save commonly useful data.\n\n\t``id``\n\t\tSaves id's (field ``id``) of spheres; active only if ``spheres`` is active.\n\t``clumpId``\n\t\tSaves id's of clumps to which each sphere belongs (field ``clumpId``); active only if ``spheres`` is active.\n\t``colors``\n\t\tSaves colors of :yref:`spheres<Sphere>` and of :yref:`facets<Facet>` (field ``color``); only active if ``spheres`` or ``facets`` are activated.\n\t``mask``\n\t\tSaves groupMasks of :yref:`spheres<Sphere>` and of :yref:`facets<Facet>` (field ``mask``); only active if ``spheres`` or ``facets`` are activated.\n\t``materialId``\n\t\tSaves materialID of :yref:`spheres<Sphere>` and of :yref:`facets<Facet>`; only active if ``spheres`` or ``facets`` are activated.\n\t``velocity``\n\t\tSaves linear and angular velocities of spherical particles as Vector3 and length(fields ``linVelVec``, ``linVelLen`` and ``angVelVec``, ``angVelLen`` respectively``); only effective with ``spheres``.\n\t``stress``\n\t\tSaves stresses of :yref:`spheres<Sphere>` and of :yref:`facets<Facet>` as Vector3 and length; only active if ``spheres`` or ``facets`` are activated.\n\n.. admonition:: Specific recorders\n\n\tThe following should only be activated in appropriate cases, otherwise crashes can occur due to violation of type presuppositions.\n\n\t``cpm``\n\t\tSaves data pertaining to the :yref:`concrete model<Law2_Dem3DofGeom_CpmPhys_Cpm>`: ``cpmDamage`` (normalized residual strength averaged on particle), ``cpmSigma`` (stress on particle, normal components), ``cpmTau`` (shear components of stress on particle), ``cpmSigmaM`` (mean stress around particle); ``intr`` is activated automatically by ``cpm``\n\t``rpm``\n\t\tSaves data pertaining to the :yref:`rock particle model<Law2_Dem3DofGeom_RockPMPhys_Rpm>`: ``rpmSpecNum`` shows different pieces of separated stones, only ids. ``rpmSpecMass`` shows masses of separated stones.\n\n"))
((int,mask,0,,"If mask defined, only bodies with corresponding groupMask will be exported. If 0, all bodies will be exported.")),
/*ctor*/
initRun=true;
=== modified file 'py/_eudoxos.cpp'
--- py/_eudoxos.cpp 2010-12-21 12:19:50 +0000
+++ py/_eudoxos.cpp 2011-01-21 08:14:28 +0000
@@ -330,7 +330,7 @@
python::init<Real,int,Real,Real,Real,Real>((python::arg("dH_dTheta"),python::arg("axis")=0,python::arg("periodStart")=NaN,python::arg("theta0")=0,python::arg("thetaMin")=NaN,python::arg("thetaMax")=NaN),":param float dH_dTheta: Spiral inclination, i.e. height increase per 1 radian turn;\n:param int axis: axis of rotation (0=x,1=y,2=z)\n:param float theta: spiral angle at zero height (theta intercept)\n:param float thetaMin: only interactions with $\\theta$â¥\\ *thetaMin* will be considered (NaN to deactivate)\n:param float thetaMax: only interactions with $\\theta$â¤\\ *thetaMax* will be considered (NaN to deactivate)\n\nSee :yref:`yade.utils.spiralProject`.")
)
.def("intrsAroundPt",&HelixInteractionLocator2d::intrsAroundPt,(python::arg("pt2d"),python::arg("radius")),"Return list of interaction objects that are not further from *pt2d* than *radius* in the projection plane")
- .def("macroAroundPt",&HelixInteractionLocator2d::macroAroundPt,(python::arg("pt2d"),python::arg("radius")),"Compute macroscopic stress around given point; the interaction ($n$ and $\\sigma^T$ are rotated to the projection plane by $\\theta$ (as given by :yref:`yade.utils.spiralProject`) first, but no skew is applied). The formula used is\n\n.. math::\n\n \\sigma_{ij}=\\frac{1}{V}\\sum_{IJ}d^{IJ}A^{IJ}\\left[\\sigma^{N,IJ}n_i^{IJ}n_j^{IJ}+\\frac{1}{2}\\left(\\sigma_i^{T,IJ}n_j^{IJ}+\\sigma_j^{T,IJ}n_i^{IJ}\\right)\\right]\n\nwhere the sum is taken over volume $V$ containing interactions $IJ$ between spheres $I$ and $J$;\n\n* $i$, $j$ indices denote Cartesian components of vectors and tensors,\n* $d^{IJ}$ is current distance between spheres $I$ and $J$,\n* $A^{IJ}$ is area of contact $IJ$,\n* $n$ is ($\\theta$-rotated) interaction normal (unit vector pointing from center of $I$ to the center of $J$)\n* $\\sigma^{N,IJ}$ is normal stress (as scalar) in contact $IJ$,\n* $\\sigma^{T,IJ}$ is shear stress in contact $IJ$ in global coordinates and $\\theta$-rotated. \n\nAdditionaly, computes average of :yref:`CpmPhys.omega` ($\\bar\\omega$) and :yref:`CpmPhys.kappaD` ($\\bar\\kappa_D$). *N* is the number of interactions in the volume given.\n\n:return: tuple of (*N*, $\\tens{\\sigma}$, $\\bar\\omega$, $\\bar\\kappa_D$).\n")
+ .def("macroAroundPt",&HelixInteractionLocator2d::macroAroundPt,(python::arg("pt2d"),python::arg("radius")),"Compute macroscopic stress around given point; the interaction ($n$ and $\\sigma^T$ are rotated to the projection plane by $\\theta$ (as given by :yref:`yade.utils.spiralProject`) first, but no skew is applied). The formula used is\n\n.. math::\n\n \\sigma_{ij}=\\frac{1}{V}\\sum_{IJ}d^{IJ}A^{IJ}\\left[\\sigma^{N,IJ}n_i^{IJ}n_j^{IJ}+\\frac{1}{2}\\left(\\sigma_i^{T,IJ}n_j^{IJ}+\\sigma_j^{T,IJ}n_i^{IJ}\\right)\\right]\n\nwhere the sum is taken over volume $V$ containing interactions $IJ$ between spheres $I$ and $J$;\n\n* $i$, $j$ indices denote Cartesian components of vectors and tensors,\n* $d^{IJ}$ is current distance between spheres $I$ and $J$,\n* $A^{IJ}$ is area of contact $IJ$,\n* $n$ is ($\\theta$-rotated) interaction normal (unit vector pointing from center of $I$ to the center of $J$)\n* $\\sigma^{N,IJ}$ is normal stress (as scalar) in contact $IJ$,\n* $\\sigma^{T,IJ}$ is shear stress in contact $IJ$ in global coordinates and $\\theta$-rotated. \n\nAdditionally, computes average of :yref:`CpmPhys.omega` ($\\bar\\omega$) and :yref:`CpmPhys.kappaD` ($\\bar\\kappa_D$). *N* is the number of interactions in the volume given.\n\n:return: tuple of (*N*, $\\tens{\\sigma}$, $\\bar\\omega$, $\\bar\\kappa_D$).\n")
.add_property("lo",&HelixInteractionLocator2d::getLo,"Return lower corner of the rectangle containing all interactions.")
.add_property("hi",&HelixInteractionLocator2d::getHi,"Return upper corner of the rectangle containing all interactions.");
=== modified file 'py/log.cpp'
--- py/log.cpp 2010-12-21 12:19:50 +0000
+++ py/log.cpp 2011-01-21 08:14:28 +0000
@@ -57,7 +57,7 @@
#endif
BOOST_PYTHON_MODULE(log){
- python::scope().attr("__doc__") = "Acess and manipulation of log4cxx loggers.";
+ python::scope().attr("__doc__") = "Access and manipulation of log4cxx loggers.";
YADE_SET_DOCSTRING_OPTS;
=== modified file 'py/pack/SpherePadder/TetraMesh.cpp'
--- py/pack/SpherePadder/TetraMesh.cpp 2010-04-14 11:43:07 +0000
+++ py/pack/SpherePadder/TetraMesh.cpp 2011-01-21 08:14:28 +0000
@@ -289,7 +289,7 @@
void TetraMesh::organize ()
{
- // Display informations
+ // Display information
cout << "nb Nodes = " << node.size() << endl;
cout << "nb Tetra = " << tetraedre.size() << endl;
@@ -381,7 +381,7 @@
face.push_back(tmpFace[i]);
}
}
- tmpFace.clear(); // It should be usefull to save memory before the end of the function
+ tmpFace.clear(); // It should be useful to save memory before the end of the function
cout << "Computation of unit vectors normal to the boundary faces" << endl;
unsigned int n1,n2,n3,n4;
@@ -525,7 +525,7 @@
// cerr << "min_segment_length = " << min_segment_length << endl;
// cerr << "max_segment_length = " << max_segment_length << endl;
- // Define tetraedre neighbors FIXME still usefull??
+ // Define tetraedre neighbors FIXME still useful??
bool stop = false;
for (unsigned int t1 = 0 ; t1 < tetraedre.size() ; ++t1)
{
=== modified file 'py/pack/_packSpheres.cpp'
--- py/pack/_packSpheres.cpp 2010-11-12 08:03:16 +0000
+++ py/pack/_packSpheres.cpp 2011-01-21 08:14:28 +0000
@@ -20,7 +20,7 @@
.def("psd",&SpherePack::psd,(python::arg("bins")=10,python::arg("mass")=false),"Return `particle size distribution <http://en.wikipedia.org/wiki/Particle_size_distribution>`__ of the packing.\n:param int bins: number of bins between minimum and maximum diameter\n:param mass: Compute relative mass rather than relative particle count for each bin. Corresponds to :yref:`distributeMass parameter for makeCloud<yade.pack.SpherePack.makeCloud>`.\n:returns: tuple of ``(cumm,edges)``, where ``cumm`` are cummulative fractions for respective diameters and ``edges`` are those diameter values. Dimension of both arrays is equal to ``bins+1``.")
// new psd
.def("particleSD",&SpherePack::particleSD,(python::arg("minCorner"),python::arg("maxCorner"),python::arg("rMean"),python::arg("periodic")=false,python::arg("name"),python::arg("numSph"),python::arg("radii")=vector<Real>(),python::arg("passing")=vector<Real>(),python::arg("passingIsNotPercentageButCount")=false),"Create random packing enclosed in box given by minCorner and maxCorner, containing numSph spheres. Returns number of created spheres, which can be < num if the packing is too tight. The computation is done according to the given psd.")
- .def("makeClumpCloud",&SpherePack::makeClumpCloud,(python::arg("minCorner"),python::arg("maxCorner"),python::arg("clumps"),python::arg("periodic")=false,python::arg("num")=-1),"Create random loose packing of clumps within box given by *minCorner* and *maxCorner*. Clumps are selected with equal probability. At most *num* clumps will be positioned if *num* is positive; otherwise, as many clumps as possible will be put in space, until maximum number of attemps to place a new clump randomly is attained.")
+ .def("makeClumpCloud",&SpherePack::makeClumpCloud,(python::arg("minCorner"),python::arg("maxCorner"),python::arg("clumps"),python::arg("periodic")=false,python::arg("num")=-1),"Create random loose packing of clumps within box given by *minCorner* and *maxCorner*. Clumps are selected with equal probability. At most *num* clumps will be positioned if *num* is positive; otherwise, as many clumps as possible will be put in space, until maximum number of attempts to place a new clump randomly is attained.")
//
.def("aabb",&SpherePack::aabb_py,"Get axis-aligned bounding box coordinates, as 2 3-tuples.")
.def("dim",&SpherePack::dim,"Return dimensions of the packing in terms of aabb(), as a 3-tuple.")
@@ -37,7 +37,7 @@
.def("__len__",&SpherePack::len,"Get number of spheres in the packing")
.def("__getitem__",&SpherePack::getitem,"Get entry at given index, as tuple of center and radius.")
.def("__iter__",&SpherePack::getIterator,"Return iterator over spheres.")
- .def_readwrite("psdScaleExponent",&SpherePack::psdScaleExponent,"Exponent used to scale cummulative distribution function values so that standard uniform distribution is mapped to uniform mass distribution. Theoretically, this value is 3, but that usually overfavors small particles. The dafault value is 2.5.")
+ .def_readwrite("psdScaleExponent",&SpherePack::psdScaleExponent,"Exponent used to scale cummulative distribution function values so that standard uniform distribution is mapped to uniform mass distribution. Theoretically, this value is 3, but that usually overfavors small particles. The default value is 2.5.")
;
python::class_<SpherePack::_iterator>("SpherePackIterator",python::init<SpherePack::_iterator&>())
.def("__iter__",&SpherePack::_iterator::iter)