~esys-p-dev/esys-particle/trunk

« back to all changes in this revision

Viewing changes to Python/esys/lsm/LsmMpiPy.cpp

  • Committer: steffen
  • Date: 2007-12-04 08:40:31 UTC
  • Revision ID: svn-v4:1ddc92f8-1f06-0410-a909-b11019f1b28a:lsm/branches/Dublin2005-11-22:999
- added setParticleDensity (only NRot so far)
- added elastic interactions with 2DLattice

Show diffs side-by-side

added added

removed removed

Lines of Context:
25
25
#include "Python/esys/lsm/InteractionParamsPy.h"
26
26
#include "Python/esys/lsm/MeshBuildParamsPy.h"
27
27
#include "Python/esys/lsm/BondedTriMeshPrmsPy.h"
 
28
#include "Python/esys/lsm/ElasticMesh2DPrmsPy.h"
28
29
#include "Python/esys/lsm/ElasticTriMeshPrmsPy.h"
29
30
#include "Python/esys/lsm/BondedMesh2DPrmsPy.h"
30
31
#include "Python/esys/lsm/WallPrmsPy.h"
543
544
        throw std::runtime_error("Unknown bonded triangular mesh build prms.");
544
545
      }
545
546
    }
 
547
 
 
548
    void LsmMpiPy::createNRotElasticMesh2DInteractGrp(
 
549
      const NRotElasticMesh2DPrmsPy &prms
 
550
    )
 
551
    {
 
552
      getLatticeMaster().addMesh2DIG(prms);
 
553
    }
546
554
 
547
555
    void LsmMpiPy::createNRotBondedLinMeshInteractGrp(
548
556
      const NRotBondedLinMeshPrmsPy &prms
690
698
      getLatticeMaster().setParticleAngVel(id,AV);
691
699
    }
692
700
 
 
701
    void LsmMpiPy::setParticleDensity(int tag,int mask, double rho)
 
702
    {
 
703
      getLatticeMaster().setParticleDensity(tag,mask,rho);
 
704
    }
 
705
 
693
706
    void LsmMpiPy::setVelocityOfWall(const std::string &name,const Vec3Py &V)
694
707
    {
695
708
      getLatticeMaster().setVelocityOfWall(name,V);
1199
1212
      exportMeshBuildPrms();
1200
1213
      exportBondedTriMeshPrms();
1201
1214
      exportElasticTriMeshPrms();
 
1215
      exportElasticMesh2DPrms();
1202
1216
      exportBondedMesh2dPrms();
1203
1217
      exportWallPrms();
1204
1218
      exportTriggerPrms();
1745
1759
        "@kwarg angularVelocity: The angular velocity of the particle.\n"
1746
1760
      )
1747
1761
      .def(
 
1762
        "setParticleDensity",
 
1763
        &LsmMpiPy::setParticleDensity,
 
1764
        (
 
1765
          arg("tag"),
 
1766
          arg("mask"),
 
1767
          arg("Density")
 
1768
        ),
 
1769
        "Set the density of a group of tagged particles \n"
 
1770
        "@type tag: int\n"
 
1771
        "@kwarg tag: the tag of the particles \n"
 
1772
        "@type mask: int\n"
 
1773
        "@kwarg mask: the tag mask \n"
 
1774
        "@type Density: float\n"
 
1775
        "@kwarg Density: The density of the particle.\n"
 
1776
      )
 
1777
     .def(
1748
1778
        "setVelocityOfWall",
1749
1779
        &LsmMpiPy::setVelocityOfWall,
1750
1780
        (arg("name"),arg("velocity")),
1797
1827
      )
1798
1828
      .def(
1799
1829
        "createInteractionGroup",
 
1830
        &LsmMpiPy::createNRotElasticMesh2DInteractGrp,
 
1831
        (arg("prms"))
 
1832
      )      
 
1833
      .def(
 
1834
        "createInteractionGroup",
1800
1835
        &LsmMpiPy::createNRotBondedLinMeshInteractGrp,
1801
1836
        (arg("prms"))
1802
1837
      )