11.5. 模块 mpmdem¶
11.5.1. 类预览¶
The MPM simulation by DEMPM |
|
Mask for simulation type in DEMPM |
11.5.2. API函数¶
- class mpmdem.CoupleAnalysis¶
基类:
AnalysisThe MPM simulation by DEMPM
- NodesPos(self: mpmdem.CoupleAnalysis) List[float]¶
get positions of all nodes
- NodesTemperature(self: mpmdem.CoupleAnalysis) List[float]¶
- PreAnalysis(self: mpmdem.CoupleAnalysis) None¶
before run, generate pts and set bc first
- PtsMeanStress(self: mpm.Analysis) List[float]¶
get the mean stress for all particles, especially for gui view
- PtsPos(self: mpmdem.CoupleAnalysis) List[float]¶
- PtsShearStrain(self: mpm.Analysis) List[float]¶
get shear strain for all particles, especially for gui view
- PtsStressYY(self: mpm.Analysis) List[float]¶
get the yy-component stress for all particles, especially for gui view
- PtsTemperature(self: mpmdem.CoupleAnalysis) List[float]¶
- PtsTemperatureRemapped(self: mpmdem.CoupleAnalysis) List[float]¶
- Run(*args, **kwargs)¶
Overloaded function.
Run(self: mpmdem.CoupleAnalysis) -> None
Run the simulation until reaching the tottime
Run(self: mpmdem.CoupleAnalysis, arg0: int) -> None
Run the simulation with n steps
- RunPthread(self: mpmdem.CoupleAnalysis, arg0: int) None¶
Run the simulation with n steps
- property USL¶
- __init__(self: mpmdem.CoupleAnalysis) None¶
- addMats(self: mpm.Analysis, arg0: mpm.Material) None¶
push back material
- addShapes(self: mpm.Analysis, arg0: mpm.Shape) None¶
push back shapes
- property contactengine¶
- property demstep¶
- property dt¶
time step
- getElements(self: mpm.Analysis) list¶
- getNodeById(self: mpmdem.CoupleAnalysis, *args) object¶
get node by id.
- getNodes(self: mpmdem.CoupleAnalysis) list¶
- getNonrPts(self: mpm.Analysis) list¶
- getNonrigidPts(self: mpmdem.CoupleAnalysis) list¶
- getParById(self: mpmdem.CoupleAnalysis, *args) object¶
get particle by id. Note: particles are in two containers (Mpts followed by RigidMpts)
- getRigidPts(self: mpmdem.CoupleAnalysis) list¶
- getShapeReactForce(self: mpm.Analysis, arg0: int, arg1: int) float¶
get reactforce of specific shape
- getThermalCriticalTimeStep(self: mpmdem.CoupleAnalysis) float¶
get the critical time step for the thermal analysis.
- getTimeStep(self: mpmdem.CoupleAnalysis) float¶
get the current time step in the simulation.
- getTrElements(self: mpm.Analysis) list¶
- getTrNodes(self: mpm.Analysis) list¶
- property godem¶
- property godemMatIndex¶
- property grid¶
- property hooks¶
getHooks setHooks
- isRunning(self: mpmdem.CoupleAnalysis) bool¶
get the isRunnning flag to check if the core simulation is running
- iter(self: mpmdem.CoupleAnalysis) int¶
get the current time step
- loadingRVEsfromGeodata(self: mpmdem.CoupleAnalysis, arg0: str) None¶
loading RVEs from a geodata file.
- loadingRVEsfromRVEfile(self: mpmdem.CoupleAnalysis, arg0: str) None¶
loading RVEs from a RVE state file.
- property mapOnce¶
- property mats¶
- property meltingTs¶
temperature threshold for bond strength (melting) when thermally-induced melting is considered.
- property nrpts¶
- pause(self: mpm.Analysis) None¶
pause the simulation
- printNodesTemperature(self: mpmdem.CoupleAnalysis) None¶
print temperature at all nodes
- printSimTypeMasks(self: mpmdem.CoupleAnalysis) None¶
print simulation type masks
- property ptreset¶
Flag to call particle reset engine
- property ptresetperiod¶
Iter period for reset engine
- property ptresetrvefile¶
State file RVE will be reset to
- property ptresetsamerve¶
True: all rve shares the same rve reset state, False each particles resets its own state. The state file always has forat as: xxxx_id.gst, replace id by particle index
- property ptresetstrain¶
Threshold of strain to reset pts
- property rigidpts¶
- property sdfengine¶
- setGeostaticData(self: mpmdem.CoupleAnalysis, arg0: str) None¶
- setHigherPicOrder(self: mpm.Analysis, arg0: int) None¶
- setMethod(*args, **kwargs)¶
Overloaded function.
setMethod(self: mpmdem.CoupleAnalysis, arg0: int) -> None
mpm method
setMethod(self: mpmdem.CoupleAnalysis, arg0: int, arg1: bool) -> None
mpm method
- setNumThreads(self: mpmdem.CoupleAnalysis, arg0: int) None¶
set the number of threads in parallel
- setPicEngineIterperiod(self: mpm.Analysis, arg0: int) None¶
- setRvePath(self: mpmdem.CoupleAnalysis, arg0: str) None¶
set path for import RVE state data
- setTimeDt(self: mpmdem.CoupleAnalysis, arg0: float, arg1: float) None¶
set total time and time step
- property shapes¶
- property simTypeMasks¶
mask for simulation type
- speed(self: mpm.Analysis) int¶
- property splitpts¶
- property trgrid¶
- useContact(self: mpmdem.CoupleAnalysis) None¶
use the contact algorithm
- useNFGrid(self: mpmdem.CoupleAnalysis) None¶
use the non uniform grid
- usePtSplit(self: mpm.Analysis, arg0: bool) None¶
use the non uniform grid
- useSDF(self: mpm.Analysis) None¶
use the SDF for the separate field
- property writer¶
- class mpmdem.SIMTYPEMASKCOUPLE¶
Mask for simulation type in DEMPM
Members:
MANAL : For mechanical analysis
NONSPHMANAL : For non-spherical particle
HYPOMANAL : For hyposphere particle
TANAL : For thermal analysis
HEATGEN : For heat generation
THERMALEXP : For thermal expansion
DEMCONDUCT : For thermal conduction
BONDMODEL : For bonded particle
BONDPLASTIC : For elastic bond
PHASEANAL : For phase transformation
- BONDMODEL = SIMTYPEMASKCOUPLE.BONDMODEL¶
- BONDPLASTIC = SIMTYPEMASKCOUPLE.BONDPLASTIC¶
- DEMCONDUCT = SIMTYPEMASKCOUPLE.DEMCONDUCT¶
- HEATGEN = SIMTYPEMASKCOUPLE.HEATGEN¶
- HYPOMANAL = SIMTYPEMASKCOUPLE.HYPOMANAL¶
- MANAL = SIMTYPEMASKCOUPLE.MANAL¶
- NONSPHMANAL = SIMTYPEMASKCOUPLE.NONSPHMANAL¶
- PHASEANAL = SIMTYPEMASKCOUPLE.PHASEANAL¶
- TANAL = SIMTYPEMASKCOUPLE.TANAL¶
- THERMALEXP = SIMTYPEMASKCOUPLE.THERMALEXP¶
- __init__(self: mpmdem.SIMTYPEMASKCOUPLE, arg0: int) None¶
- property name¶