11.5. 模块 mpmdem

11.5.1. 类预览

CoupleAnalysis

The MPM simulation by DEMPM

SIMTYPEMASKCOUPLE

Mask for simulation type in DEMPM

11.5.2. API函数

class mpmdem.CoupleAnalysis

基类:Analysis

The 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.

  1. Run(self: mpmdem.CoupleAnalysis) -> None

Run the simulation until reaching the tottime

  1. 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.

  1. setMethod(self: mpmdem.CoupleAnalysis, arg0: int) -> None

mpm method

  1. 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