11.3. 模块 godem¶
11.3.1. 类预览¶
Bonded contact state. |
|
The GPU-based DEM solver, GPU-Object-Oriented Discret Element Modeling (GoDEM). |
|
RVE type regarding particle shape. |
11.3.2. API函数¶
- class pygodem.BONDCONTACTSTATE¶
Bonded contact state.
Members:
NOBOND : No bonds
ELASTICBOND : Elastic bonds
PLASTICBOND : Plastic bonds
- ELASTICBOND = <BONDCONTACTSTATE.ELASTICBOND: 2>¶
- NOBOND = <BONDCONTACTSTATE.NOBOND: 1>¶
- PLASTICBOND = <BONDCONTACTSTATE.PLASTICBOND: 4>¶
- __init__(self: pygodem.BONDCONTACTSTATE, value: SupportsInt) None¶
- property name¶
- property value¶
- class pygodem.Godem¶
The GPU-based DEM solver, GPU-Object-Oriented Discret Element Modeling (GoDEM).
- CellVerts(self: pygodem.Godem) tuple¶
get cell vertexes of the simcell
- ParRadii(self: pygodem.Godem) list[float]¶
- PtsPos(self: pygodem.Godem) list[float]¶
- RunPthread(self: pygodem.Godem, arg0: SupportsInt) None¶
running the host CPU thread in another thread
- __init__(*args, **kwargs)¶
Overloaded function.
__init__(self: pygodem.Godem, arg0: typing.SupportsInt) -> None
__init__(self: pygodem.Godem, arg0: typing.SupportsInt, arg1: typing.SupportsInt) -> None
- property bondNormalStrength¶
normal bond strength at contact [Pa]
- property bondShearStrength¶
tangential bond strength at contact [Pa]
- consolSetting(self: pygodem.Godem, arg0: SupportsFloat, arg1: SupportsFloat, arg2: SupportsFloat) None¶
confining stress setting for consolidation
- consolWithPos(self: pygodem.Godem, arg0: str, arg1: SupportsInt, arg2: SupportsInt, arg3: SupportsFloat) None¶
consolidate a sample with initial position data
- property damping¶
damping coefficient [0.3]
- deadSetting(self: pygodem.Godem) None¶
deactivate the peribiaxial engine
- property dt¶
time step [1e-5]
- dumpParPos(self: pygodem.Godem, arg0: SupportsInt, arg1: str) None¶
dump particle positions into VTK files an RVE by specifying its id.
- generatePacking(self: pygodem.Godem, arg0: SudoMath::vec2<float>, arg1: SudoMath::vec2<float>, arg2: typing.SupportsInt) list[SudoMath::vec3<float>]¶
generate a packing within a box para: const Vector2r& boxsize, const Vector2r radius_range, int particleNum return: a list of pos_radius
- generatePackingOttawa(self: pygodem.Godem, arg0: SudoMath::vec2<float>, arg1: typing.SupportsInt) list[SudoMath::vec3<float>]¶
generate a packing within a box Ottawa PSD para: const Vector2r& boxsize, int particleNum return: a list of pos_radius
- generateRVEs(*args, **kwargs)¶
Overloaded function.
generateRVEs(self: pygodem.Godem, arg0: collections.abc.Sequence[SudoMath::vec3<float>], arg1: SudoMath::vec2<float>) -> None
generate RVEs
generateRVEs(self: pygodem.Godem, arg0: collections.abc.Sequence[SudoMath::vec3<float>], arg1: SudoMath::vec2<float>, arg2: collections.abc.Sequence[SudoMath::vec3<float>]) -> None
generate RVEs
- generateSphereCapPacking(self: pygodem.Godem, arg0: SudoMath::vec2<float>, arg1: SudoMath::vec2<float>, arg2: typing.SupportsInt) list[float]¶
generate a packing within a box for spherecap shape para: boxsize, radius range, int particleNum return: spherecap shape states
- generateSpherecapRVEs(*args, **kwargs)¶
Overloaded function.
generateSpherecapRVEs(self: pygodem.Godem, arg0: collections.abc.Sequence[typing.SupportsFloat], arg1: SudoMath::vec2<float>) -> None
generate sphere cap rves
generateSpherecapRVEs(self: pygodem.Godem, arg0: collections.abc.Sequence[SudoMath::vec3<float>], arg1: SudoMath::vec2<float>, arg2: collections.abc.Sequence[SudoMath::vec3<float>], arg3: collections.abc.Sequence[SudoMath::vec3<float>]) -> None
generate sphere cap rves
- getBondNumberDebug(self: pygodem.Godem, arg0: SupportsInt) int¶
get bond number of an RVE with an id for debug only. Caution: this function is not applicable to bonds with zero strength.
- getInertiaStressDebug(self: pygodem.Godem, arg0: SupportsInt) tuple¶
get inertial stress of an RVE with an id for debug only
- getInertiaStressGPU(self: pygodem.Godem, arg0: SupportsInt) tuple¶
get inertial stress of an RVE with an id via a GPU kernel
- getRVEContactNum(self: pygodem.Godem, arg0: SupportsInt) int¶
get RVE contact num
- getRVEContactNumPair(self: pygodem.Godem, arg0: SupportsInt, arg1: SupportsInt) list¶
get RVE pair at given contact id
- getRVEContactNumPre(self: pygodem.Godem, arg0: SupportsInt) int¶
get RVE previous contact num
- getRVEnum(self: pygodem.Godem) int¶
get the total amount of RVEs in the godem.
- getRveVoidRatio(self: pygodem.Godem, arg0: SupportsInt) float¶
- getStrainTensor(self: pygodem.Godem, arg0: SupportsInt) tuple¶
get strain of an RVE with an id for debug only
- getStressTensor(self: pygodem.Godem, arg0: SupportsInt) tuple¶
get stress of an RVE with an id for debug only
- getThermalTensorDebug(self: pygodem.Godem, arg0: SupportsInt) tuple¶
get thermal conductivity tensor (without deviding by resistance) of an RVE with an id for debug only
- isRunning(self: pygodem.Godem) bool¶
check if the simulation is running
- iter(self: pygodem.Godem) int¶
get the current time step
- property kn¶
normal contact stiffness [1e6]
- property ks¶
tangential contact stiffness [1e6]
- load(self: pygodem.Godem, arg0: str) None¶
loading RVEs from a saved state
- loadSingleRVE(self: pygodem.Godem, arg0: SupportsInt, arg1: str) None¶
load rve i from a state file.
- property mu¶
coefficient of friction [0.5]
- property plasticiter¶
bond plastic iteration steps
- property plasticphi¶
bond plastic friction angle (rad)
- property plasticpsi¶
bond plastic dilation angle (rad)
- property plasticresdn¶
bond plastic residual plastic normal distance
- property plasticresdt¶
bond plastic residual plastic shear distance
- prefetchData(self: pygodem.Godem) None¶
prefetch all RVE data to GPU
- printCellList(self: pygodem.Godem, arg0: SupportsInt, arg1: SupportsInt) None¶
print the cell list info of a particle within RVE cid, debug only
- printParInfo(self: pygodem.Godem, arg0: SupportsInt) None¶
print the particle info with id
- printSimcellInfo(self: pygodem.Godem, arg0: SupportsInt) None¶
print the simcell info with id, debug only
- printStressTensors(self: pygodem.Godem) None¶
print stress tensor
- property rho¶
material density [2650.0]
- run(self: pygodem.Godem, arg0: SupportsInt) None¶
Run the simulation with n steps
- save(*args, **kwargs)¶
Overloaded function.
save(self: pygodem.Godem, arg0: str) -> None
save the simulation state
save(self: pygodem.Godem, arg0: typing.SupportsInt, arg1: str) -> None
save the simulation state of an rve i
- saveGeometry(self: pygodem.Godem, arg0: SupportsInt) list¶
output the position and radius information from rve
- saveVTK(*args, **kwargs)¶
Overloaded function.
saveVTK(self: pygodem.Godem, arg0: str) -> None
save the simulation state VTK
saveVTK(self: pygodem.Godem, arg0: str, arg1: typing.SupportsInt) -> None
save the simulation state VTK
- setBondContacts(self: pygodem.Godem) bool¶
set bonds for all contacts
- setVelAng(self: pygodem.Godem, arg0: SupportsInt, arg1: SupportsFloat, arg2: SupportsFloat, arg3: SupportsFloat) None¶
set tanslational and angular velocities by a specified pid followed by values.
- setVelGrad(self: pygodem.Godem, arg0: collections.abc.Sequence[SupportsFloat]) None¶
set velocity gradient
- shearSetting(self: pygodem.Godem, arg0: SupportsInt, arg1: SupportsFloat, arg2: SupportsFloat, arg3: SupportsFloat, arg4: SupportsFloat) None¶
setting parameters for shearing
- shearTest(self: pygodem.Godem, arg0: SupportsInt, arg1: SupportsInt, arg2: SupportsInt, arg3: SupportsInt, arg4: bool) None¶
shear test
- property simType¶
simulation types with different kernels: 1 for normal, 2 for bond contact.
- snapshot(*args, **kwargs)¶
Overloaded function.
snapshot(self: pygodem.Godem, arg0: typing.SupportsInt, arg1: str) -> None
snapshot an RVE by specifying its id.
snapshot(self: pygodem.Godem, arg0: typing.SupportsInt, arg1: str, arg2: bool) -> None
snapshot an RVE by specifying its id.
- property threadsPerBlock¶
threads per block, need to be consistent with that used in radixsort
- updateAttrs(self: pygodem.Godem) None¶
update the attributes
- property z_dim¶
dimension size in the z axis for 2D [0.075]
- class pygodem.RVETYPEBIT¶
RVE type regarding particle shape.
Members:
SPHERERVE : Sphere particle
SPHERECAPRVE : Spherecap particle
HYPOSPHERERVE : Hyposphere particle
- HYPOSPHERERVE = <RVETYPEBIT.HYPOSPHERERVE: 2>¶
- SPHERECAPRVE = <RVETYPEBIT.SPHERECAPRVE: 1>¶
- SPHERERVE = <RVETYPEBIT.SPHERERVE: 0>¶
- __init__(self: pygodem.RVETYPEBIT, value: SupportsInt) None¶
- property name¶
- property value¶