ESyS-Particle  2.2.2
LsmMpiPy.h
Go to the documentation of this file.
1 // //
3 // Copyright (c) 2003-2013 by The University of Queensland //
4 // Earth Systems Science Computational Centre (ESSCC) //
5 // http://www.uq.edu.au/esscc //
6 // //
7 // Primary Business: Brisbane, Queensland, Australia //
8 // Licensed under the Open Software License version 3.0 //
9 // http://www.opensource.org/licenses/osl-3.0.php //
10 // //
12 
13 #ifndef ESYS_LSM_LSMMPIPY_H
14 #define ESYS_LSM_LSMMPIPY_H
15 
16 // --- boost includes ---
17 #include <boost/python.hpp>
18 #include <boost/shared_ptr.hpp>
19 
20 // --- STL includes ---
21 #include <string>
22 #include <vector>
23 #include <map>
24 
25 // --- Project includes ---
26 #include "Parallel/LatticeMaster.h"
29 
30 using std::string;
31 
32 namespace esys
33 {
34  namespace lsm
35  {
36  void exportLsm();
37 
50  class NRotBondPrmsPy;
52  class NRotShortBondPrmsPy;
53  class NRotElasticPrmsPy;
57  class LinearDashpotPrmsPy;
58  class NRotFrictionPrmsPy;
59  class RotBondPrmsPy;
60  class RotThermBondPrmsPy;
61  class BrittleBeamPrmsPy;
62  class FrictionPrmsPy;
63  class RotFrictionPrmsPy;
65  class RotElasticPrmsPy;
67  class VWFrictionPrmsPy;
68  class DampingPrmsPy;
69  class LocalDampingPrmsPy;
71  class ABCDampingPrmsPy;
75  class CheckPointPrmsPy;
82  class RunnablePy;
83  class Vec3Py;
84  class BoundingBoxPy;
85  class GravityPrmsPy;
86  class BuoyancyPrmsPy;
87  class MaxTriggerPrmsPy;
88 
89 
90  void checkMpiDimensions(int numProcesses, const std::vector<int> &mpiDimVector);
91 
92  void checkMpiDimensionsPy(int numProcesses, const boost::python::list &mpiDimList);
93 
94  void checkParticleType(const std::string &particleType);
95 
99  class LsmMpiPy
100  {
101  public:
107 
108 
109 
110  LsmMpiPy(
111  int numWorkerProcesses,
112  const boost::python::list &mpiDimList
113  );
114 
115  virtual ~LsmMpiPy();
116 
117  int getNumWorkerProcesses() const;
118 
119  void initVerletModel(
120  const std::string &particleType,
121  double gridSpacing,
122  double verletDist
123  );
124 
125  double getTimeStepSize() const;
126 
127  void setTimeStepSize(double dt);
128 
129  void setTimingFileName(const std::string &fileNamePrefix);
130  void setSlaveTimingFileName(const std::string &fileNamePrefix);
131 
132  std::string getParticleType() const;
133  std::string getLsmVersion() const;
134  void readGeometry(const std::string &fileName);
135 
136  int getNumParticles();
137 
138  int getTimeStep() const;
139 
140  void createParticles(boost::python::object &iterable);
141 
142  void createParticle(boost::python::object &particle);
143 
144  void createConnections(boost::python::object &iterable);
145 
146  // --- interaction creation functions ---
148  void createNRotBondInteractGrp(const NRotBondPrmsPy &bondPrms);
152  void createRotBondInteractGrp(const RotBondPrmsPy &bondPrms);
154  void createBrittleBeamInteractGrp(const BrittleBeamPrmsPy &bondPrms);
155  void createFrictionInteractGrp(const FrictionPrmsPy &prms);
160  void createDamping(const DampingPrmsPy &prms);
161  void createLocalDamping(const LocalDampingPrmsPy &prms);
163  void createABCDamping(const ABCDampingPrmsPy &prms);
164  void createGravity(const GravityPrmsPy&);
165  void createBuoyancy(const BuoyancyPrmsPy&);
170  void createLinearDashpotIG(const LinearDashpotPrmsPy &prms);
171 
172 
173  // --- remove interactions ---
174  void removeInteractionGrp(const std::string&);
175 
176  // --- tagged interaction creation functions ---
177  void createRotFrictionInteractGrpTag(const RotFrictionPrmsPy &prms,int,int,int,int);
178  void createNRotFrictionInteractGrpTag(const NRotFrictionPrmsPy &prms,int,int,int,int);
179  void createLinearDashpotInteractGrpTag(const LinearDashpotPrmsPy &prms,int,int,int,int);
180  void createRotElasticInteractGrpTag(const RotElasticPrmsPy &prms,int,int,int,int);
181  void createElasticInteractGrpTag(const NRotElasticPrmsPy &prms,int,int,int,int);
182 
183 
184  void createExclusion(
185  const std::string &interactionName1,
186  const std::string &interactionName2
187  );
188 
189 
190  // --- particle property setting functions ---
191  void setParticleVel(int,const Vec3Py&);
192  void setParticleAngVel(int,const Vec3Py&);
193  void setParticleDensity(int,int,double);
194  void setTaggedParticleVel(int,const Vec3Py&);
195  void setVelocityOfWall(const std::string&,const Vec3Py&);
196  void tagParticleNearestTo(int,int,const Vec3Py&);
197  void setParticleNonDynamic(int);
198  void setParticleNonRot(int);
199  void setParticleNonTrans(int);
200 
201  // ---- checkpointing -----------
203  void createCheckPointerThroughMaster(const RestartCheckPointPrmsPy &prms); // write through master
204  void createSnapShots(const CheckPointPrmsPy &prms);
205  void loadCheckPoint(const std::string&);
206 
207  // ------------------------------
208  int getNumTimeSteps() const;
209 
210  void setNumTimeSteps(int numTimeSteps);
211 
212  // --- Mesh functions ---
213 
214  void readMeshWithTag(const std::string &fileName, const std::string &meshName, int tag);
215  void readMesh(const std::string &fileName, const std::string &meshName);
216  void createTriMesh(
217  const std::string &meshName,
218  const boost::python::object &nodeSequence,
219  const boost::python::object &triSequence
220  );
221  void translateMesh(const std::string&,const Vec3Py&);
222  void readMesh2D(const std::string &fileName, const std::string &meshName, int tag);
223 
225 
230 
231  void moveSingleMeshNodeBy(const std::string& meshname, int id, const Vec3Py& d);
232 
233  void addPreTimeStepRunnable(RunnablePy &runnable);
234 
235  void addPostTimeStepRunnable(RunnablePy &runnable);
236 
237  void force2dComputations(bool do2d);
238 
239  void setBBoxSpatialDomain(const BoundingBoxPy &domain);
240 
242  const BoundingBoxPy &domain,
243  const boost::python::list &circDimList
244  );
245 
246  void setSpatialDomain(const Vec3Py &minPt, const Vec3Py &maxPt);
247 
248  int findClosestParticle(const Vec3Py &pt);
249 
250  Vec3Py getParticlePosn(int particleId);
251 
252  // --- move particles ---
253  void moveTaggedParticlesTo(int tag, const Vec3Py &pt);
254  void moveTaggedParticlesBy(int tag, const Vec3Py &displacement);
255  void moveSingleParticleTo(int particleId, const Vec3Py &pt);
256 
257  // --- wall related functions ---
258  void createWall(const string &name, const Vec3Py &posn, const Vec3Py &normal);
259  void createNRotBondedWall(const NRotBondedWallPrmsPy &prms);
262  void moveWallBy(const string&, const Vec3Py &disp);
263  void setWallNormal(const string&, const Vec3Py &wn);
264  void applyForceToWall(const string&, const Vec3Py&);
265  Vec3Py getWallPosition(const std::string&);
266  Vec3Py getWallForce(const std::string&);
267 
268 
269  void runTimeStep();
270  void run();
271 
272  // Exit the simulation after running a series of single steps
273  // of the time-integration method.
274  void exit();
275 
276  void SetVerbosityPy(bool);
277 
278  // --- field saving functions ---
281  );
282 
288 
292 
293  void addTaggedScalarParticleDistributionSaver(const string&,const string&,const string&,int,int,int,int,int,int,double,double,int);
297 
298  // --- fields with trigger ---
301 
302  void visitNodeRefs2d(const std::string &meshName, boost::python::object pyObject);
303 
304  void visitRefStressPairs2d(const std::string &meshName, boost::python::object pyObject);
305 
306  void visitRefForcePairs(const std::string &meshName, boost::python::object pyObject);
307 
309  const boost::python::list &idList,
310  boost::python::object &pyObject
311  );
312 
313  void visitParticles(
314  boost::python::object &pyObject
315  );
316 
317  boost::python::list getParticleList();
318 
319  boost::python::list getParticleWithIdList(
320  const boost::python::list &idList
321  );
322 
323  void createBonds(
324  const std::string &groupName,
325  const ParticleIdPairVector &idPairVector
326  );
327 
328  void updateInteractions();
329 
331  const std::string &groupName
332  );
333  void setVerbosityPy(bool verbose);
334 
335 
336  protected:
337  typedef std::map<std::string, std::string> InteractionNameTypeMap;
338 
340  const InteractionNameTypeMap &getNameTypeMap() const;
341 
342  const CLatticeMaster &getLatticeMaster() const;
343 
345 
346  private:
347  class Impl;
348  typedef boost::shared_ptr<Impl> ImplPtr;
350  };
351 
352  void setVerbosityPy(bool verbose);
353  }
354 }
355 #endif
356 
class for bonded Mesh2D interactions in python interface
Definition: BondedMesh2DPrmsPy.h:29
void setNumTimeSteps(int numTimeSteps)
Definition: LsmMpiPy.cpp:726
wrapper for CRotBondedIGP
Definition: InteractionParamsPy.h:267
void createInteractionVectorFieldSaver(const InteractionVectorFieldSaverPrmsPy &)
Definition: LsmMpiPy.cpp:1193
wrapper for CBondedIGP
Definition: InteractionParamsPy.h:146
void setVerbosityPy(bool verbose)
Definition: LsmMpiPy.cpp:1409
wrapper for CRotElasticIGP
Definition: InteractionParamsPy.h:456
void createRotFrictionInteractGrpTag(const RotFrictionPrmsPy &prms, int, int, int, int)
Definition: LsmMpiPy.cpp:612
Definition: InteractionFieldSaverPrmsPy.h:50
void setSpatialDomain(const Vec3Py &minPt, const Vec3Py &maxPt)
Definition: LsmMpiPy.cpp:929
Vec3Py getParticlePosn(int particleId)
Definition: LsmMpiPy.cpp:939
wrapper for CBWallIGP
Definition: WallPrmsPy.h:57
void createNRotElasticLinMeshInteractGrp(const NRotElasticLinMeshPrmsPy &prms)
Definition: LsmMpiPy.cpp:846
Definition: WallFieldSaverPrmsPy.h:77
void createNRotElasticInteractGrp(const NRotElasticPrmsPy &prms)
Definition: LsmMpiPy.cpp:377
Definition: ParticleFieldSaverPrmsPy.h:92
void visitNodeRefs2d(const std::string &meshName, boost::python::object pyObject)
Definition: LsmMpiPy.cpp:1453
void visitRefForcePairs(const std::string &meshName, boost::python::object pyObject)
void createFrictionInteractGrp(const FrictionPrmsPy &prms)
Definition: LsmMpiPy.cpp:516
void addPostTimeStepRunnable(RunnablePy &runnable)
Definition: LsmMpiPy.cpp:882
CLatticeMaster::MeshNodeDataVector MeshNodeDataVector
Definition: LsmMpiPy.h:104
void createCheckPointerThroughMaster(const RestartCheckPointPrmsPy &prms)
Definition: LsmMpiPy.cpp:694
void setSlaveTimingFileName(const std::string &fileNamePrefix)
Definition: LsmMpiPy.cpp:276
Definition: InteractionFieldSaverPrmsPy.h:101
Definition: InteractionFieldSaverPrmsPy.h:64
std::string getParticleType() const
Definition: LsmMpiPy.cpp:339
void tagParticleNearestTo(int, int, const Vec3Py &)
Definition: LsmMpiPy.cpp:1044
Definition: InteractionParamsPy.h:529
wrapper for CEWallIGP
Definition: WallPrmsPy.h:40
int findClosestParticle(const Vec3Py &pt)
Definition: LsmMpiPy.cpp:934
ImplPtr m_implPtr
Definition: LsmMpiPy.h:349
$Revision$ $Date$
Definition: CheckPointParamsPy.h:34
wrapper for CRotThermFrictionIGP
Definition: InteractionParamsPy.h:489
void force2dComputations(bool do2d)
Definition: LsmMpiPy.cpp:904
Definition: ParticleFieldSaverPrmsPy.h:70
class for elastic triangular mesh interactions in python interface
Definition: ElasticTriMeshPrmsPy.h:30
Definition: ParticleFieldSaverPrmsPy.h:57
void setParticleNonRot(int)
Definition: LsmMpiPy.cpp:1054
Definition: BondInteractionGroupPy.h:36
void createNRotShortBondInteractGrp(const NRotShortBondPrmsPy &bondPrms)
Definition: LsmMpiPy.cpp:442
void createDamping(const DampingPrmsPy &prms)
Definition: LsmMpiPy.cpp:565
std::pair< MeshNodeDataVector, MeshTriDataVector > TriMeshDataPair
Definition: LatticeMaster.h:124
void addVectorWallField(const WallVectorFieldSaverPrmsPy &prms)
Definition: LsmMpiPy.cpp:1327
void setParticleDensity(int, int, double)
Definition: LsmMpiPy.cpp:1029
std::vector< ParticleIdPair > ParticleIdPairVector
Definition: LatticeMaster.h:121
std::vector< MeshTriData > MeshTriDataVector
Definition: LatticeMaster.h:123
void createNRotFrictionInteractGrpTag(const NRotFrictionPrmsPy &prms, int, int, int, int)
Definition: LsmMpiPy.cpp:624
wrapper for CRotFrictionIGP
Definition: InteractionParamsPy.h:375
wrapper for CDampingIGP
Definition: InteractionParamsPy.h:66
void exportLsm()
Definition: LsmMpiPy.cpp:1593
wrapper for CLinearDashpotIGP
Definition: InteractionParamsPy.h:234
Definition: InteractionParamsPy.h:542
void setParticleVel(int, const Vec3Py &)
Definition: LsmMpiPy.cpp:1019
void createTaggedInteractionScalarFieldSaver(const TaggedInteractionScalarFieldSaverPrmsPy &)
Definition: LsmMpiPy.cpp:1157
void createLinearDashpotIG(const LinearDashpotPrmsPy &prms)
Definition: LsmMpiPy.cpp:412
Class for elastic piece-wise linear mesh interactions in the python interface.
Definition: ElasticMesh2DPrmsPy.h:43
void moveSingleParticleTo(int particleId, const Vec3Py &pt)
Definition: LsmMpiPy.cpp:957
wrapper for CRotThermElasticIGP
Definition: InteractionParamsPy.h:475
wrapper for CRotThermBondedIGP
Definition: InteractionParamsPy.h:506
void addTaggedScalarParticleDistributionSaver(const string &, const string &, const string &, int, int, int, int, int, int, double, double, int)
Definition: LsmMpiPy.cpp:1283
void setWallNormal(const string &, const Vec3Py &wn)
Definition: LsmMpiPy.cpp:978
void readGeometry(const std::string &fileName)
Definition: LsmMpiPy.cpp:360
wrapper for CHertzianViscoElasticIGP
Definition: InteractionParamsPy.h:224
InteractionNameTypeMap & getNameTypeMap()
Definition: LsmMpiPy.cpp:209
void createHertzianViscoElasticFrictionIG(const HertzianViscoElasticFrictionPrmsPy &prms)
Definition: LsmMpiPy.cpp:393
LsmMpiPy(int numWorkerProcesses, const boost::python::list &mpiDimList)
Definition: LsmMpiPy.cpp:193
Definition: RunnablePy.h:22
void setTimeStepSize(double dt)
Definition: LsmMpiPy.cpp:261
void checkMpiDimensions(int numProcesses, const std::vector< int > &mpiDimVector)
Definition: LsmMpiPy.cpp:115
void exit()
Definition: LsmMpiPy.cpp:899
void createInteractionScalarFieldSaver(const InteractionScalarFieldSaverPrmsPy &prms)
Definition: LsmMpiPy.cpp:1094
void createNRotFrictionInteractGrp(const NRotFrictionPrmsPy &prms)
Definition: LsmMpiPy.cpp:455
void createRotElasticInteractGrpTag(const RotElasticPrmsPy &prms, int, int, int, int)
Definition: LsmMpiPy.cpp:656
void moveTaggedParticlesTo(int tag, const Vec3Py &pt)
Definition: LsmMpiPy.cpp:947
wrapper for CRotBondedIGP
Definition: InteractionParamsPy.h:307
Definition: BoundingBoxPy.h:29
void createNRotElasticMesh2DInteractGrp(const NRotElasticMesh2DPrmsPy &prms)
Definition: LsmMpiPy.cpp:839
void createNRotElasticTriMeshInteractGrp(const NRotElasticTriMeshPrmsPy &prms)
Definition: LsmMpiPy.cpp:817
void createTaggedParticleVectorFieldSaver(const TaggedParticleVectorFieldSaverPrmsPy &)
Definition: LsmMpiPy.cpp:1270
const CLatticeMaster & getLatticeMaster() const
Definition: LsmMpiPy.cpp:1396
CLatticeMaster::ParticleIdPairVector ParticleIdPairVector
Definition: LsmMpiPy.h:103
void createWall(const string &name, const Vec3Py &posn, const Vec3Py &normal)
Definition: LsmMpiPy.cpp:965
class for bonded TriMesh interactions in python interface
Definition: BondedTriMeshPrmsPy.h:36
void createParticles(boost::python::object &iterable)
Definition: LsmMpiPy.cpp:287
void visitParticles(boost::python::object &pyObject)
wrapper for CFrictionIGP
Definition: InteractionParamsPy.h:244
CLatticeMaster::MeshTriDataVector MeshTriDataVector
Definition: LsmMpiPy.h:105
void createRotBondInteractGrp(const RotBondPrmsPy &bondPrms)
Definition: LsmMpiPy.cpp:466
wrapper for CLocalDampingIGP
Definition: InteractionParamsPy.h:114
wrapper for VWFrictionIGP
Definition: InteractionParamsPy.h:557
wrapper for CBondedIGP (used in construction of short bonded IG)
Definition: InteractionParamsPy.h:167
void createNRotBondInteractGrp(const NRotBondPrmsPy &bondPrms)
Definition: LsmMpiPy.cpp:420
void checkParticleType(const std::string &particleType)
void createHertzianElasticIG(const HertzianElasticPrmsPy &prms)
Definition: LsmMpiPy.cpp:385
wrapper for CCappedBondedIGP
Definition: InteractionParamsPy.h:157
std::map< std::string, std::string > InteractionNameTypeMap
Definition: LsmMpiPy.h:337
void createCheckPointer(const RestartCheckPointPrmsPy &prms)
Definition: LsmMpiPy.cpp:683
virtual ~LsmMpiPy()
Definition: LsmMpiPy.cpp:205
wrapper for CElasticIGP
Definition: InteractionParamsPy.h:177
void loadCheckPoint(const std::string &)
Definition: LsmMpiPy.cpp:716
void createNRotBondedLinMeshInteractGrp(const NRotBondedLinMeshPrmsPy &prms)
Definition: LsmMpiPy.cpp:853
void translateMesh(const std::string &, const Vec3Py &)
Definition: LsmMpiPy.cpp:809
void setBBoxSpatialDomain(const BoundingBoxPy &domain)
Definition: LsmMpiPy.cpp:909
void createRotLocalDamping(const RotLocalDampingPrmsPy &prms)
Definition: LsmMpiPy.cpp:579
class for elastic 2D mesh interactions in python interface. Deprecated: use NRotElasticLinMeshPrmsPy...
Definition: ElasticMesh2DPrmsPy.h:29
void createCheckedInteractionVectorFieldSaver(const CheckedInteractionVectorFieldSaverPrmsPy &prms)
Definition: LsmMpiPy.cpp:1225
void createNRotBondedWall(const NRotBondedWallPrmsPy &prms)
Definition: LsmMpiPy.cpp:983
void createRotThermFrictionInteractGrp(const RotThermFrictionPrmsPy &prms)
Definition: LsmMpiPy.cpp:534
void createNRotSoftBondedWall(const NRotSoftBondedWallPrmsPy &prms)
Definition: LsmMpiPy.cpp:997
void setParticleNonTrans(int)
Definition: LsmMpiPy.cpp:1059
void readMesh(const std::string &fileName, const std::string &meshName)
Definition: LsmMpiPy.cpp:745
void setVerbosityPy(bool verbose)
Definition: LsmMpiPy.cpp:1389
boost::python::list getParticleList()
Definition: LsmMpiPy.cpp:1552
CLatticeMaster::ParticleIdPair ParticleIdPair
Definition: LsmMpiPy.h:102
boost::python::list getParticleWithIdList(const boost::python::list &idList)
Definition: LsmMpiPy.cpp:1562
Definition: TriggerPrmsPy.h:29
void createTriMesh(const std::string &meshName, const boost::python::object &nodeSequence, const boost::python::object &triSequence)
Definition: LsmMpiPy.cpp:753
void createGravity(const GravityPrmsPy &)
Definition: LsmMpiPy.cpp:593
Definition: ParticleFieldSaverPrmsPy.h:44
void createLinearDashpotInteractGrpTag(const LinearDashpotPrmsPy &prms, int, int, int, int)
Definition: LsmMpiPy.cpp:636
wrapper for CHertzianElasticIGP
Definition: InteractionParamsPy.h:196
void createBonds(const std::string &groupName, const ParticleIdPairVector &idPairVector)
Definition: LsmMpiPy.cpp:1574
Parameter class for restart checkpointers, differs from CheckPointPrmsPy by having an additional &quot;bin...
Definition: CheckPointParamsPy.h:58
Definition: Vec3Py.h:28
void addPreTimeStepRunnable(RunnablePy &runnable)
Definition: LsmMpiPy.cpp:877
Vec3Py getWallForce(const std::string &)
Definition: LsmMpiPy.cpp:1013
void updateInteractions()
Definition: LsmMpiPy.cpp:1468
Definition: InteractionFieldSaverPrmsPy.h:115
wrapper for CRotFrictionIGP
Definition: InteractionParamsPy.h:410
void createTaggedParticleVectorFieldSaverWithTrigger(const MaxTriggerPrmsPy &, const TaggedParticleVectorFieldSaverPrmsPy &)
Definition: LsmMpiPy.cpp:1367
void createABCDamping(const ABCDampingPrmsPy &prms)
Definition: LsmMpiPy.cpp:586
Wrapper to make LatticeMaster methods available in Python.
Definition: LsmMpiPy.h:99
wrapper for CSoftBWallIGP
Definition: WallPrmsPy.h:73
void createRotElasticInteractGrp(const RotElasticPrmsPy &prms)
Definition: LsmMpiPy.cpp:551
CLatticeMaster::TriMeshDataPair TriMeshDataPair
Definition: LsmMpiPy.h:106
void setTaggedParticleVel(int, const Vec3Py &)
Definition: LsmMpiPy.cpp:1034
void applyForceToWall(const string &, const Vec3Py &)
Definition: LsmMpiPy.cpp:1003
void createVWFrictionIG(const VWFrictionPrmsPy &)
Definition: LsmMpiPy.cpp:542
int getNumParticles()
Definition: LsmMpiPy.cpp:365
void addVectorTriangleSaveField(const TriangleVectorFieldSaverPrmsPy &)
Definition: LsmMpiPy.cpp:1298
void moveSingleMeshNodeBy(const std::string &meshname, int id, const Vec3Py &d)
Definition: LsmMpiPy.cpp:868
wrapper for ABCDampingIGP
Definition: InteractionParamsPy.h:127
std::pair< int, int > ParticleIdPair
Definition: LatticeMaster.h:120
void setBBoxSpatialDomainWithCirc(const BoundingBoxPy &domain, const boost::python::list &circDimList)
Definition: LsmMpiPy.cpp:917
void moveWallBy(const string &, const Vec3Py &disp)
Definition: LsmMpiPy.cpp:973
void visitParticlesWithId(const boost::python::list &idList, boost::python::object &pyObject)
Definition: LsmMpiPy.cpp:1540
Definition: TriangleFieldSaverPrmsPy.h:26
void createHertzianViscoElasticIG(const HertzianViscoElasticPrmsPy &prms)
Definition: LsmMpiPy.cpp:404
int getTimeStep() const
Definition: LsmMpiPy.cpp:370
void setTimingFileName(const std::string &fileNamePrefix)
Definition: LsmMpiPy.cpp:271
void createParticleScalarFieldSaver(const ParticleScalarFieldSaverPrmsPy &prms)
Definition: LsmMpiPy.cpp:1068
wrapper for CLocalDampingIGP
Definition: InteractionParamsPy.h:101
void readMesh2D(const std::string &fileName, const std::string &meshName, int tag)
Definition: LsmMpiPy.cpp:800
void createRotThermElasticInteractGrp(const RotThermElasticPrmsPy &prms)
Definition: LsmMpiPy.cpp:557
void createParticleVectorFieldSaver(const ParticleVectorFieldSaverPrmsPy &)
Definition: LsmMpiPy.cpp:1082
void createLocalDamping(const LocalDampingPrmsPy &prms)
Definition: LsmMpiPy.cpp:572
void createCheckedInteractionScalarFieldSaver(const CheckedInteractionScalarFieldSaverPrmsPy &prms)
Definition: LsmMpiPy.cpp:1125
void createExclusion(const std::string &interactionName1, const std::string &interactionName2)
Definition: LsmMpiPy.cpp:673
void createBuoyancy(const BuoyancyPrmsPy &)
Definition: LsmMpiPy.cpp:598
wrapper for CHertzianViscoElasticFrictionIGP
Definition: InteractionParamsPy.h:206
void createNRotBondedTriMeshInteractGrp(const NRotBondedTriMeshPrmsPy &prms)
Definition: LsmMpiPy.cpp:824
Definition: LatticeMaster.h:116
void readMeshWithTag(const std::string &fileName, const std::string &meshName, int tag)
Definition: LsmMpiPy.cpp:737
std::string getLsmVersion() const
Definition: LsmMpiPy.cpp:266
double getTimeStepSize() const
Definition: LsmMpiPy.cpp:256
void createCappedNRotBondInteractGrp(const CappedNRotBondPrmsPy &bondPrms)
Definition: LsmMpiPy.cpp:428
std::vector< MeshNodeData > MeshNodeDataVector
Definition: LatticeMaster.h:122
void createBrittleBeamInteractGrp(const BrittleBeamPrmsPy &bondPrms)
Definition: LsmMpiPy.cpp:496
void checkMpiDimensionsPy(int numWorkerProcesses, const boost::python::list &mpiDimList)
Definition: LsmMpiPy.cpp:185
void createSnapShots(const CheckPointPrmsPy &prms)
Definition: LsmMpiPy.cpp:706
void moveTaggedParticlesBy(int tag, const Vec3Py &displacement)
Definition: LsmMpiPy.cpp:952
void createParticleVectorFieldSaverWithTrigger(const MaxTriggerPrmsPy &, const ParticleVectorFieldSaverPrmsPy &)
Definition: LsmMpiPy.cpp:1347
void removeInteractionGrp(const std::string &)
Definition: LsmMpiPy.cpp:603
Definition: TriangleFieldSaverPrmsPy.h:37
Definition: InteractionFieldSaverPrmsPy.h:78
void setVelocityOfWall(const std::string &, const Vec3Py &)
Definition: LsmMpiPy.cpp:1039
void setParticleNonDynamic(int)
Definition: LsmMpiPy.cpp:1049
ParticleIdPairVector getBondGroupIdPairs(const std::string &groupName)
Definition: LsmMpiPy.cpp:1583
void runTimeStep()
Definition: LsmMpiPy.cpp:887
void addScalarTriangleSaveField(const TriangleScalarFieldSaverPrmsPy &)
Definition: LsmMpiPy.cpp:1311
void initVerletModel(const std::string &particleType, double gridSpacing, double verletDist)
Definition: LsmMpiPy.cpp:224
void createParticle(boost::python::object &particle)
Definition: LsmMpiPy.cpp:332
void createConnections(boost::python::object &iterable)
Definition: LsmMpiPy.cpp:281
void run()
Definition: LsmMpiPy.cpp:892
void SetVerbosityPy(bool)
int getNumWorkerProcesses() const
Definition: LsmMpiPy.cpp:219
void createNRotElasticWall(const NRotElasticWallPrmsPy &prms)
Definition: LsmMpiPy.cpp:990
boost::shared_ptr< Impl > ImplPtr
Definition: LsmMpiPy.h:347
void createTaggedParticleScalarFieldSaver(const TaggedParticleScalarFieldSaverPrmsPy &)
Definition: LsmMpiPy.cpp:1257
void setParticleAngVel(int, const Vec3Py &)
Definition: LsmMpiPy.cpp:1024
BondInteractionGroupPy createRotThermBondInteractGrp(const RotThermBondPrmsPy &bondPrms)
Definition: LsmMpiPy.cpp:486
void createRotFrictionInteractGrp(const RotFrictionPrmsPy &prms)
Definition: LsmMpiPy.cpp:525
Vec3Py getWallPosition(const std::string &)
Definition: LsmMpiPy.cpp:1008
void visitRefStressPairs2d(const std::string &meshName, boost::python::object pyObject)
Definition: LsmMpiPy.cpp:1459
Definition: LsmMpiPy.cpp:60
void createElasticInteractGrpTag(const NRotElasticPrmsPy &prms, int, int, int, int)
Definition: LsmMpiPy.cpp:646
int getNumTimeSteps() const
Definition: LsmMpiPy.cpp:721