This the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Python Class Reference

Python modules.

MPM2D

Classes

  • Analysis
  • Grid
  • Node
    • PhaseTrsfNode
  • MptsBase
    • Mpts
    • PhaseTrsfMpts
    • RigidMpts
  • Material
    • Dp
    • Elastic
    • Ghostmat
    • Mc
    • McOrigin
    • NeoHookean
    • NewtonLiquid
  • Shape
    • DemPolygon
    • DemSphere
    • Polygon
    • Rectangle
    • Ring
    • Sphere
  • ContactEngine
  • MpmWriter
  • PeriodicHook
    • PyHook

Enumerations

  • BCDIR
  • BCFIXSTATE
  • MatType
  • MPMETHOD
  • ShapeType
  • SIMTYPEMASK

Detailed API

class Analysis

  Methods:

  • Analysis() -> void

    Default constructor function of MPM core.

  • NodesPos() -> list <float>

    Get positions of all nodes, and size of list is 2 x material_nodes_num.

  • NodesTemperature() -> list <float>

    Get the temperature of all nodes, and size of list is material_nodes_num.

  • PreAnalysis() -> void

    PreAnalysis initializes all the variables and states for Analysis before you call the Run method.

  • PtsMeanStress() -> list <float>

    Get the mean stress for all particles, especially for gui view. Size of list is material_points_num and the mean stress defined in 2D is 0.5 x (Sxx + Syy).

  • PtsPos() -> list <float>

    Get positions of all mateial points, and size of list is 2 x material_points_num.

  • PtsShearStrain() -> list <float>

    Get shear strain for all particles, especially for gui view. And size of list is 2 x material_points_num.

  • PtsStressYY() -> list <float>

    Get the yy-component stress for all particles, especially for gui view. And size of list is 2 x material_points_num.

  • PtsTemperature() -> list <float>

    Get the temperature for all particles, especially for gui view. And size of list is 2 x material_points_num.

  • PtsTemperatureRemapped() -> list <float>

    Get the remapped temperature for all particles, especially for gui view. And size of list is 2 x material_points_num. Note that the remapped temperature is interpolated from the nodes instead of one from material points.

  • Run() Overloaded function.

    1. Run() -> void

      Run the simulation until reaching the tottime.

    2. Run(int runstep) -> void

      Run the simulation with n steps.

  • RunPthread(int threadnum) -> void

    Run the simulation for n steps with detached threads.

  • addMats(mpm.Material matobj) -> void

    Push back the defined material into the Analysis.mats.

  • addShapes(mpm.Shape shapeobj) -> void

    Push back the defined material into the Analysis.shapes.

  • getElements() -> list <mpm.Element>

    Get all the element python-binded-objects of Analysis, and size of list is material_elements_num. More properties can be accessed by the element objects returned by this method.

  • getNodeById(int nodeid) -> mpm.Node

    Get the node python-binded-objects with ID specified.

  • getNodes() -> list <mpm.Node>

    Get all the node python-binded-objects of Analysis, and size of list is material_nodes_num. More properties can be accessed by the node objects returned by this method.

  • getNonrPts() -> list <mpm.Mpts>

    Get all the non-rigid material points python-binded-objects of Analysis, and size of list is material_nonrigid_material_points_num. More properties can be accessed by the nonrigid-material-points objects returned by this method. Note that two types of material points, nonrigid and rigid are defined in this code.

  • getParById(int particleid) -> mpm.Mpts / mpm.RigidPts

    Get material points by id. Either nonrigid or rigid material points can be returned by their ID. Note: nonrigid and rigid material points are stored in different containers. Order is as nonrigid material points are followed by rigid material points. Assume there are 5 nonrigid ones and 5 rigid ones. Give the ID = 4 you will get the nonrigid one with ID = 4, but if input is 7, you will get the rigid one with ID = 2.

  • getRigidPts() -> list <mpm.RigidPts>

    Get all the rigid material points python-binded-objects of Analysis, and size of list is material_rigid_material_points_num. More properties can be accessed by the rigid-material-points objects returned by this method. Note that two types of material points, nonrigid and rigid are defined in this code.

  • getShapeReactForce(int shapeid, int forcedir) -> float

    Get the reactforce of specific shape. If the shape does not include any rigid material points, 0 will be returned. Otherwise, the corresponding reaction force coming from the boundary condition will be obtained.

  • getThermalCriticalTimeStep() -> float

    Get the critical time step for the thermal analysis.

  • getTimeStep() -> float

    Get the current time step in the simulation.

  • getTrElements() -> list <mpm.TriElement>

    The hierarchical elements objects. And this function has not been tested yet.

  • getTrNodes() -> list <mpm.Node>

    The hierarchical nodes objects. And this function has not been tested yet.

  • gravityLoad() -> bool

    Check if the nonrigid-material-points is under the equilibrium state.

  • isRunning() -> bool

    Get the isRunnning flag to check if the core simulation is running.

  • iter() -> int

    Get the current iteration step.

  • pause() -> void

    Pause the simulation.

  • printNodesTemperature() -> void

    Print temperature at all nodes to the shell or GUI.

  • saveCurrentMesh() -> void

    Save current mesh file to a vtk file.

  • saveCurrentPtsBin(string savename) -> void

    Save current pts states to a binary file.

  • setHigherPicOrder(int picorder) -> void setHigherPicOrder(self: mpm.Analysis, arg0: int) -> None

    Activate the XPIC engine with specific order.

  • setMethod()

    Overloaded function.

    1. setMethod(int mpm.METHOD) -> void

      Set mpm interpolation method.

    2. setMethod(int mpm.METHOD, bool autoadjust) -> void

      Set mpm interpolation method and adjust the interpolation automatically.

  • setNumThreads(int threadnum) -> void

    Set the number of threads in parallel. You should alway call this method explicitly, even only 1 thread is needed.

  • setPicEngineIterperiod(int picfrequency) -> void

    Set the frequency to call the XPIC engine.

  • setTimeDt(float totaltime, float timestep) -> void

    Set total elapsed time and time step.

  • useContact() -> void

    Activate the DEM-driven contact algorithm for nonrigid-nonrigid contact.

  • useNFGrid() -> void

    Activate the non-uniform grid. This function has not been tested yet.

  • usePtSplit(bool ison) -> void

    Activate the material points split algorithm. This function has not been tested yet.

  • writePtsPos(string savename) -> void

    Save the material points states into binary file. This method will be deprecated and you are alway suggested to use saveCurrentPtsBin.


  Properties:

  • USL

    Flag for if the update-stress-late scheme is activated.

  • contactengine

    Contact engine for nonrigid-nonrigid contact algorithm.

  • demstep

    Flag for if the DEM substep is activated.

  • dt

    Time step.

  • grid

    Python-binded-object for Analysis.grid

  • hooks

    Python-binded-object for Analysis.hook. Users can add their own function to the MPM loop using the hooks.

  • mapOnce

    Flag for pure thermal mpm.task. On this condition, the mapping between the nodes and the material points will only run once for efficiency.

  • mats

    Python-binded-object for Analysis.materials.

  • nrpts

    Python-binded-object for Analysis.nonrigid-material-points.

  • rigidpts

    Python-binded-object for Analysis.rigid-material-points.

  • shapes

    Python-binded-object for Analysis.shapes.

  • simTypeMasks

    Mask for simulation type. MANAL or TANAL corresponds to the mechanical task and thermal task.

  • trgrid

    Python-binded-object for Analysis.treegrid. This function has not been tested yet.

  • writer

    Python-binded-object for Analysis.writer for archiving and post-process.


class Grid

  Methods:

  • Grid() -> void

    Note that: users are not allowed to call this constructor in the python script.

  • getNumEle() -> list <int> [numx, numy]

    Get the number of elements along x and y directions.

  • getSpace() -> list <float> [spacex, spacey]

    Get the space of the grid.

  • getXrange() -> list <float> [xmin, xmax]

    Get xrange of the grid.

  • getYrange() -> list <float> [ymin, tmax]

    Get yrange of the grid.

  • printElements() -> void

    Print all the elements debug information.

  • printInfo() -> void

    Print the grid debug information.

  • setContactDisratio(float ratio) -> void

    Set the contact detection ratio for traditional contact algorithm.

  • setFriction(float friction) -> void

    Set the frictoin for traditional contact algorithm.

  • setNumEle(int numx, int numy) -> void

    Element dimensions in x and y direction.

  • setRange(float xmin, float xmax, float ymin, float ymax) -> void

    Set xmin, xmax, ymin, ymax for grid.


  Properties:

  • nodes

    All the python-binded-objects for nodes.


class Node

  Methods:

  • Node() -> void

    Note that: users are not allowed to call this constructor in the python script.

  • getId() -> int

    Get the node index.

  • getParNum() -> int

    Get particle number associated with this node.

  • getTemperature() -> float

    Get the temperature at the node.

  • printInfo() -> void

    Print the debug information.

  • printMatfInfo() -> void

    Print the debug information for multiple material fields.


  Properties:

  • pos

    Position of node.


class PhaseTrsfNode -> Node

  Methods:

  • PhaseTrsfNode() -> void

    Note that: users are not allowed to call this constructor in the python script.

  All the methods and properties, please refer to the Node class.


class MptsBase

  Methods:

  • MptsBase() -> void

    Note that: users are not allowed to call this constructor in the python script.

  • getIndex() -> int

    Get the unique ID of this particle.

  • getNodeList() -> list <int>

    Get the list of node indexes associated with this particle.

  • getNodeSF() -> list <float>

    Get the shape function of nodes associated with this particle.

  • getPos() -> list <float> [posx, posy]

    Get particle position in 2D.

  • getRemappedT() -> float

    Get the remapped temperature on the particle. This temerature is interpolated from the nodes and it is different from the internal temperature.

  • getShearStrain() -> float

    Get the shear equivalent strain.

  • getStrain() -> list <float> [strainxx, strainxy, strainyy]

    Get strain component on this material point.

  • getStress() -> list <float> [stressxx, stressxy, stressyy]

    Get stress component on this material point.

  • getTemperature() -> float

    Get the temperature on this material point.

  • getThermalConductivity() -> list <float> [Kxx, Kxy; Kyx, Kyy]

    Get thermal conductivity tensor on this material point.

  • getVel() -> list <float> [velx, vely]

    Get particle velocity in 2D.

  • getVol() -> float

    Get particle volume in 2D.

  • printInfo() -> void

    Print debug information.


  Properties:

  • heatCapacity

    Specific heat capacity

  • heatSource

    Heat source or sink for thermal and phase transoformation task.

  • mass

    Particle mass.

  • temperature

    Particle temperature.


class Mpts -> MptsBase

  Methods:

  • Mpts() -> void

    Note that: users are not allowed to call this constructor in the python script.

  • getDeformMatrix() -> list <float> [Fxx, Fxy; Fyx, Fyy]

    Get deformation matrix of material point.

  • getInitPos() -> list <float> [initpx, initpy]

    Get the initial position of particle in 2D.

  • getStrainEnergy() -> float

    Get strain energy of non-rigid pts.

  • printMatInfo() -> void

    Print debug information for material object.

  • setVel(float velx, float vely) -> void

    Set velocity.


class PhaseTrsfMpts -> Mpts

  Methods:

  • PhaseTrsfMpts() -> void

    Note that: users are not allowed to call this constructor in the python script.

  • getCurrentWaterFraction() -> float

    Get current volumetric fraction of liquid.

  • getDIcefractionDTemp(float temperature) -> float

    Get the derivative of the ice volumetric fraction against the current temperature.

  • getPhaseFraction(int phaseid) -> float

    Get the the volumetric fraction of given phase.

  • getPhaseState() -> float

    Current phase state: melting or freezing.


class RigidMpts

  Methods:

  • RigidMpts -> void

    Note that: users are not allowed to call this constructor in the python script.


class Material

  Methods:

  • Material() -> void

    Default constructor for mpm.Material.

    This is a pure virtual class, and users must initialize its child class instead of itself.

  • setIndex() -> void

    Set the unique ID for material object.

  • setInitDensity(float solidrho, float icerho, float waterrho) -> void

    Initialie the density for solid, ice and water when phase transformation task is activated.

  • setInitFraction(float solidfraction, float icefraction, float waterfraction) -> void

    Initialie the volume fraction for solid, ice and water when phase transformation task is activated.

  • setThermalProp() -> void

    Overloaded function.

    1. setThermalProp(float hc, list <float> conductivity) -> void

      Set themal properties: hc for heat capacity.

      The size of list conductivity can be 1 2 for 4.

      If 1, conductivity matrix will be [k, 0; 0, k].

      If 2, conductivity matrix will be [k1, 0; 0, k2].

      If 4, conductivity matrix will be [k1, k2; k3, k4].

    2. setThermalProp(list <float> hc, list <float> conductivity) -> void

      Set themal properties: hc for heat capacity under phase transformation condition.

      The size of list hc must be 6, and the size of list conductivity must be 6.

      Heat capacity will be assigned to solid, ice and liquid phase, while conductivity matrix for different phase will be [ki, 0; 0, ki+1], i = 0, 2, 4.


  Properties:

  • Kn

    Contact normal stiffness

  • Ks

    Contact tangential stiffness

  • Tres

    The residual temperature for ice melting (for phase transformation).

  • coarsegrain

    If soil is coarse or fine, which determines different volume function against the temperature for phase transformation.

  • freezepoint

    Liquid freeze point for phase transformation.

  • friction

    Contact friction coefficient (DEM-drive contact algorithm).

  • heatCapacity

    Heat capacity.

  • infinistate

    Determines if we use finite strain theory to update the transformation matrix and strain.

  • latentratio

    Latent ratio for phase transformation.

  • planestrain

    Determine whether plane strain or plane stress.

  • rho

    Density.

  • unfrozenlimit

    Maximal unfrozen water volumetric fraction for fine soils transoformation model.

  • unfrozenratio

    Unfrozen ratio for fine soils transoformation model.

  • usecontentfrozen

    Determine whether user volumetric fraction or mass fraction.


class Dp -> Material

  Methods:

  • Dp() -> void

    Default constructor for mpm.Dp.

  • getStress(list <float> [oldsxx, oldsyy, oldszz, oldsxy], list <float> [dstxx, dstyy, dstxy]) -> list <float> [sxx, syy, szz, sxy]

    Unit test for this model.

  • printInfo() -> void

    Print the debug information.

  • printSState() -> void

    Print the debug information for unit test.


  Properties:

  • E

    Young’s modulous

  • c

    cohesion

  • nu

    Poisson’s ratio

  • phi

    friction angle

  • psi

    dilation angle


class Elastic -> Material

  Methods:

  • Elastic() -> void

    Default constructor for mpm.Elastic.

  • printInfo() -> void

    Print the debug information.

  Properties:

  • E

    Young’s modulous

  • nu

    Poisson’s ratio


class Ghostmat -> Material

  Methods:

  • Ghostmat() -> void

    Default constructor for mpm.Elastic.

  • printInfo() -> void

    Print the debug information.


  Properties:

  • thermalResistance

    The parameter for thermal simulation. (Not activated in mpm task.)


class Mc -> Material

  Methods:

  • Mc() -> void

    Default constructor for mpm.Mc.

  • getStress(list <float> [oldsxx, oldsyy, oldszz, oldsxy], list <float> [dstxx, dstyy, dstxy]) -> list <float> [sxx, syy, szz, sxy]

    Unit test for this model.

  • printInfo() -> void

    Print the debug information.


  Properties:

  • E

    Young’s modulous

  • c

    cohesion

  • nu

    Poisson’s ratio

  • phi

    friction angle

  • psi

    dilation angle

  • tension

    tension cut-off


class McOrigin -> Material

  Methods:

  • McOrigin() -> void

    Default constructor for mpm.McOrigin.

  • getStress(list <float> [oldsxx, oldsyy, oldszz, oldsxy], list <float> [dstxx, dstyy, dstxy]) -> list <float> [sxx, syy, szz, sxy]

    Unit test for this model.

  • printInfo() -> void

    Print the debug information.


  Properties:

  • E
    Young’s modulous

  • c
    cohesion

  • nu
    Poisson’s ratio

  • phi
    friction angle

  • psi
    dilation angle

  • tension
    tension cut-off


class NeoHookean -> Material

  Methods:

  • NeoHookean() -> void

    Default constructor for mpm.NeoHookean.

  • printInfo()

    Print the debug information.


  Properties:

  • E

    Young’s modulous

  • nu

    Poisson’s ratio

  • uopt

    Different way to calculate the strain energy.


class NewtonLiquid -> Material

  Methods:

  • NewtonLiquid() -> void

    Default constructor for mpm.NewtonLiquid.

  • printInfo() -> void

    Print the debug information.


  Properties:

  • bulk

    Bulk modulus

  • visco

    Dynamic viscosity


class Shape

  Methods:

  • Shape() -> void

    Note that: users are not allowed to call this constructor in the python script.

  • setBc() -> void

    Overloaded function.

    1. setBc(int xon, float valuex, int yon, float valuey) -> void

      Set boundary flag and boundary value for x and y direction.

      Boundary value will be effective if and only if either xon or yon is True.

    2. setBc(int xon, string valuexexpr, int yon, float valueyexpr) -> void

      Set boundary flag and boundary value for x and y direction.

      Boundary value will be effective if and only if either xon or yon is True.

      Meanwhile, the expression for the boundary value will be parsed according to the currrent time.

      Say you can enter sin(t), which means a value will change following the sin function.

    3. setBc(int xon, string valuexexpr, bool fixposx, int yon, float valueyexpr, bool fixposy) -> void

      Set boundary flag and boundary value for x and y direction.

      Boundary value will be effective if and only if either xon or yon is True.

      If the fixposx or fixposy is true, RigidPts will only update the velocity not for position.

  • setConsolidation() -> void Overloaded function.

    1. setConsolidation(float sxx, float yy) -> void

      Set initial consolidation stress.

    2. setConsolidation(string sxx, string yy) -> void

      Set initial consolidation stress with string, which will be parsed as numerical value.

  • setDamping(float pdamping, float gdamping, float PIC) -> void

    Set the damping: particle damping, grid damping and PIC fraction.

  • setInitTemperature(float temp) -> void

    Set the initial temperature.

  • setMethod(int method, bool isfixed) -> void

    Overried the interpolation method set by mpm.Analysis.

    If isfixed is True, it means that the method will not be changed automatically.

  • setThermalBc() -> void

    Set the prescribed temperature on Dirichlet BC for thermal field.

  • setTracBc() -> void

    Overloaded function.

    1. setTracBc(int face, int dir, float value) -> void

      Set the traction force boundary condition.

      The face is from 0 - 3, starting from the bottom surface and in the anti-clock wise.

      Dir refer to the BCDIR enumeration.

      And the value is constant.

    2. setTracBc(int face, int dir, string value) -> void

      Set the traction force boundary condition.

      The face is from 0 - 3, starting from the bottom surface and in the anti-clock wise.

      Dir refer to the BCDIR enumeration.

      And the value will be parsed based on the current time.

  • setUserContactNormal(float nx, float ny) -> void

    Set user defined contact normal for traditional contact algorithm.

  • unsetThermalBc() -> void

    Cancel the thermal boundary condition.


class DemPolygon -> Shape

  Method:

  • DemPolygon(float timestep, int searchrange, int callfrequency, float contactKn, float contactKs, float friction) -> void

    Constructor for the DemPolygon.

    Input arguments are: timestep, the radius searching range, the neighbourlist updating interval, normal contact stiffness, shear contact stiffness and the friction.

  • addForce2Pt(bool applyforceonpt) -> void

    How the dem polygon add the force. True: add to pt, False: add to nodes.

  • addPts(float px, float py) -> void

    Add one point to polygon.

  • getDemForce() -> list <float> [forcex, forcey]

    Get reaction force in the horizontal and vertical direction.

  • getPts() -> list <float>

    Get all the vertex coorinates of polygon.

  • getReactionForce() -> list <float> [forcex, forcey]

    Get reaction force.

  • printInfo() -> void

    Print the debug information.

  • setDt(float timestep) -> void

    Set timestep for dempolygon

  • setForceNormalDir(int axis, int forcestate) -> void

    Set the fixed contact normal direction. Axis 0 for horizontal direction, and 1 for vertical direction. Forcestate 0 for positive normal [0, 1], and 1 for negative normal [0, -1].

  • setGravity(float gravityx, float gravityy) -> void

    Set the gravity.

  • setInterval(int updateiters) -> void

    Set interval of neighbour list update.

  • setPts(list <float>) -> void

    Set points array to polygon.

  • setRange(int searchrange) -> void

    Set search range for updating the material points neighbour list.

  • setRotFix(bool) -> void

    Set if the rotation of the DemPolygon is fixed.

  • setShapeErr(float gjkerr) -> void

    Set the resolution for GJK contact detection.

  • usePolygonContact(bool ispolygon) -> void

    Set the way that DemPolygon treats the material points. True: for polygon and False: disk.


class DemSphere -> Shape

  Method:

  • DemSphere(float timestep, int searchrange, int callfrequency, float contactKn, float contactKs, float friction ) -> void

    Constructor for the DemSphere.

    Input arguments are: timestep, the radius searching range, the neighbourlist updating interval, normal contact stiffness, shear contact stiffness and the friction.

  • addForce2Pt(bool applyforceonpt) -> void

    How the dem polygon add the force. True: add to pt, False: add to nodes.

  • getPts() -> list <float>

    Get all the vertex coorinates of polygon.

  • getReactionForce() -> list <float> [forcex, forcey]

    Get reaction force.

  • printInfo() -> void

    Print the debug information.

  • setArc() -> void

    Cut a arc from sphere.

  • setPts(list <float>) -> void

    Set points array to polygon.


class Polygon -> Shape

  Methods:

  • Polygon(int) -> void

    Input argument: shape type. Please refer to shapetype enumeration for details.

  • setPts(list <float>) -> void

    Set the vertex for this polygon.


class Rectangle -> Shape

  Methods:

  • Rectangle(float xmin, float xmax, float ymin, float ymax, int shapetype) -> void

    Input arguments: xmin, xmax, ymin, ymax. Shape type please refer to the SHAPETYPE enumeration.


class Ring -> Shape

  Methods:

  • Ring(float px, float py, float inra, float outra, int shapetype ) -> void

    Input arguments: position x, position y, internal radius, external radius and shape type.


class Sphere -> Shape

  Methods:

  • Sphere() -> void

    Overloaded function.

    1. Sphere(float xmin, float xmax, float ymin, float ymax, int shape type) -> void

      Input arguments: xmin, xmax, ymin, ymax. Shape type please refer to the SHAPETYPE enumeration.

    2. Sphere(float px, float py, float radius, int shape type) -> void

      Input arguments: position x and y, and radius. Shape type please refer to the SHAPETYPE enumeration.


class ContactEngine

  Properties:

  • addforce2pt

    Add force to material points directly. Otherwise force will be applied on the nodes.

  • potential

    The contact potential energy.

  • radiusscale

    Ratio to scale the radius of material points used by the contact algorithm.


class MpmWriter

  Methods:

  • MpmWriter() -> void

    Default constructor for mpm.Writer.

  • setDir() -> void

    Set the top directory and current directory name for saving result files.

  • setEndTime() -> void

    End time of writing result files.

  • setIntervalTime() -> void

    Interval time of writing result files.

  • setStartTime() -> void

    Start time of writing result files.


class PeriodicHook

  Methods:

  • PeriodicHook() -> void

    Default constructor for mpm.Hook.

  • reset() -> void

    Reset the period of the hook


  Properties:

  • dead

    The hook is dead (True) or not.

  • iterLast

    Iteration of last run.

  • iterPeriod

    Iter Periodicity.

  • realLast

    Real time of last run.

  • realPeriod

    Real Periodicity.

  • totalRuns

    The total runs for the hook.

  • virtLast

    Virtual time of last run.

  • virtPeriod

    Virtual Periodicity.


class PyHook -> PeriodicHook

  Properties:

  • command

    command for the pyhook. WARNING: you cannot use the print function in the hook, or else it may encounter a crash in detached multi-threads. FIXEME in the future. As a workaround, we use app.print in GUI.


Enumeration BCDIR

  Members:

  • XDIR

    Horizontal direction enumeration.

  • YDIR

    Vertical direction enumeration.

  • NORMALDIR

    Normal direction enumeration;

  • TANGENTDIR

    Tangential direction enumeration;


Enumeration BCFIXSTATE

  Members:

  • BCFREE

    Cancel boundary condition enumeration.

  • BCFIXALL

    Fix boundary condition enumeration.

  • BCFIXPLUS

    Fix positive direction only enumeration.

  • BCFIXMINUS

    Fix negative direction only enumeration.


Enumeration MPMETHOD

  Members:

  • NONEMETHOD

    No mpm method set.

  • LINEAR

    Linear interpolation method.

  • GIMP

    Generalized interpolation method.

  • LINEARCPDI

    Linear covect particle domain interpolation method.

  • MIXMETHOD

    Mixed interpolation method between GIMP and CPDI.

  • BSPLINECPDI

    B-spline interpolation method (as same as affine mpm).


Enumeration MatType

  Members:

  • RIGIDMAT

    Only for rigid material points.

  • ELASTICMAT

    Elastic material.

  • MCMAT

    Mohr-Coulomb material.

  • GHOSTMAT

    Only for rigid matrial points. Refer to the examples for the difference between the RIGIDMAT and GHOSTMAT.

  • NEOMAT

    Neo-Hookean material.

  • NEWTONMAT

    Newton liquid material.

  • DPMAT

    Drucker Prager material.


Enumeration SIMTYPEMASK

  Members:

  • MANAL

    Mechanical simulation task.

  • TANAL

    Thermal simulation task.

  • PHASEANAL

    Phase transformation task.


Enumeration ShapeType

  Members:

  • NONEBC

    No boundary condition will be set.

  • NDSHAPE

    Node velocity boundary condition.

  • MPTLOADSHAPE

    Body force load boundary condition for particles.

  • MPTTRACSHAPE

    Traction force boundary condition for particles.

  • RIGIDSHAPE

    Displacement or velocity boundary condition for rigid particles.

  • GRAVITYSHAPE

    Gravity boundary condition for particles.

  • DEMSHAPE

    Shapes for DEM-driven contact algorithm.

  • MPTVELSHAPE

    Velocity boundary condition for particles.

  • NDHEATSHAPE

    Thermal boundary condition for nodes.