Yade wrapper class reference

Bodies

Body

class yade.wrapper.Body(inherits Serializable)

A particle, basic element of simulation; interacts with other bodies.

property aspherical

Whether this body has different inertia along principal axes; NewtonIntegrator makes use of this flag to call rotation integration routine for aspherical bodies, which is more expensive.

property bound

Bound, approximating volume for the purposes of collision detection.

property bounded

Whether this body should have Body.bound created. Note that bodies without a bound do not participate in collision detection. (In c++, use Body::isBounded/Body::setBounded)

property clumpId

Id of clump this body makes part of; invalid number if not part of clump; see Body::isStandalone, Body::isClump, Body::isClumpMember properties.

Not meant to be modified directly from Python, use O.bodies.appendClumped instead.

dict((Serializable)arg1) dict :

Return dictionary of attributes.

property dynamic

Whether this body will be moved by forces. (In c++, use Body::isDynamic/Body::setDynamic)

property flags

Bits of various body-related flags. Do not access directly. In c++, use isDynamic/setDynamic, isBounded/setBounded, isAspherical/setAspherical. In python, use Body.dynamic, Body.bounded, Body.aspherical.

property groupMask

Bitmask for interaction detection purposes: it is required that two bodies have at least one bit in common in their groupMask for their interaction to be possible from the Collider point of view.

property id

Unique id of this body.

intrs((Body)arg1) list :

Return list of all real interactions in which this body participates.

property isClump

True if this body is clump itself, false otherwise.

property isClumpMember

True if this body is clump member, false otherwise.

property isFluidDomainBox

Whether this body is a Fluid grid bounding box should have Body.bound created. FluidDomainBboxes` do not participate to collision detection with their own bodies, they may interact with external bodies and other subdomains through virtual interactions. (In c++, use Body::getIsFluidDomainBbox/Body::setIsFluidDomainBbox)

property isStandalone

True if this body is neither clump, nor clump member; false otherwise.

property isSubdomain

Whether this body is a subdomain should have Body.bound created. Subdomains` do not participate to collision detection with their own bodies, they may interact with external bodies and other subdomains through virtual interactions. (In c++, use Body::getIsSubdomain/Body::setIsSubdomain)

property iterBorn

Step number at which the body was added to simulation.

property mask

Shorthand for Body::groupMask

property mat

Shorthand for Body::material

property material

Material instance associated with this body.

property shape

Geometrical Shape.

property state

Physical state.

property subdomain

the subdomain this body belongs to.

property timeBorn

Time at which the body was added to simulation.

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

Shape

digraph Shape {
        rankdir=RL;
        margin="0.2,0.05";
        "Shape" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Shape"];
        "LevelSet" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.LevelSet"];
        "LevelSet" -> "Shape" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "Lin4NodeTetra_Lin4NodeTetra_InteractionElement" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Lin4NodeTetra_Lin4NodeTetra_InteractionElement"];
        "Lin4NodeTetra_Lin4NodeTetra_InteractionElement" -> "DeformableCohesiveElement" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "ChainedCylinder" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.ChainedCylinder"];
        "ChainedCylinder" -> "Cylinder" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "Wall" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Wall"];
        "Wall" -> "Shape" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "GridNode" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.GridNode"];
        "GridNode" -> "Sphere" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "Facet" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Facet"];
        "Facet" -> "Shape" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "Node" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Node"];
        "Node" -> "Shape" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "DeformableCohesiveElement" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.DeformableCohesiveElement"];
        "DeformableCohesiveElement" -> "DeformableElement" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "Lin4NodeTetra" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Lin4NodeTetra"];
        "Lin4NodeTetra" -> "DeformableElement" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "Polyhedra" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Polyhedra"];
        "Polyhedra" -> "Shape" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "PotentialParticle" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.PotentialParticle"];
        "PotentialParticle" -> "Shape" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "Box" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Box"];
        "Box" -> "Shape" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "GridConnection" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.GridConnection"];
        "GridConnection" -> "Sphere" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "FluidDomainBbox" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.FluidDomainBbox"];
        "FluidDomainBbox" -> "Shape" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "Tetra" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Tetra"];
        "Tetra" -> "Shape" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "PotentialBlock" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.PotentialBlock"];
        "PotentialBlock" -> "Shape" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "Cylinder" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Cylinder"];
        "Cylinder" -> "Sphere" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "Subdomain" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Subdomain"];
        "Subdomain" -> "Shape" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "DeformableElement" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.DeformableElement"];
        "DeformableElement" -> "Shape" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "PFacet" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.PFacet"];
        "PFacet" -> "Shape" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "Sphere" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Sphere"];
        "Sphere" -> "Shape" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "Clump" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Clump"];
        "Clump" -> "Shape" [arrowsize=0.5,style="setlinewidth(0.5)"];
}

Inheritance graph of Shape.

class yade.wrapper.Shape(inherits Serializable)

Geometry of a body

property color

Color for rendering (normalized RGB).

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((Shape)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property highlight

Whether this Shape will be highlighted when rendered.

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property wire

Whether this Shape is rendered using color surfaces, or only wireframe (can still be overridden by global config of the renderer).

class yade.wrapper.Box(inherits Shape Serializable)
property color

Color for rendering (normalized RGB).

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((Shape)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property extents

Half-size of the cuboid

property highlight

Whether this Shape will be highlighted when rendered.

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property wire

Whether this Shape is rendered using color surfaces, or only wireframe (can still be overridden by global config of the renderer).

class yade.wrapper.ChainedCylinder(inherits Cylinder Sphere Shape Serializable)

Geometry of a deformable chained cylinder, using geometry Cylinder.

property chainedOrientation

Deviation of node1 orientation from node-to-node vector

property color

Color for rendering (normalized RGB).

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((Shape)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property highlight

Whether this Shape will be highlighted when rendered.

property initLength

tensile-free length, used as reference for tensile strain

property length

Length [m]

property radius

Radius [m]

property segment

Length vector

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property wire

Whether this Shape is rendered using color surfaces, or only wireframe (can still be overridden by global config of the renderer).

class yade.wrapper.Clump(inherits Shape Serializable)

Rigid aggregate of bodies whose usage is detailed here

property color

Color for rendering (normalized RGB).

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((Shape)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property highlight

Whether this Shape will be highlighted when rendered.

property ids

Ids of constituent particles (only informative; direct modifications will have no effect).

property members

Return clump members as {‘id1’:(relPos,relOri),…}

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property wire

Whether this Shape is rendered using color surfaces, or only wireframe (can still be overridden by global config of the renderer).

class yade.wrapper.Cylinder(inherits Sphere Shape Serializable)

Geometry of a cylinder, as Minkowski sum of line and sphere.

property color

Color for rendering (normalized RGB).

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((Shape)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property highlight

Whether this Shape will be highlighted when rendered.

property length

Length [m]

property radius

Radius [m]

property segment

Length vector

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property wire

Whether this Shape is rendered using color surfaces, or only wireframe (can still be overridden by global config of the renderer).

class yade.wrapper.DeformableCohesiveElement(inherits DeformableElement Shape Serializable)

Tetrahedral Deformable Element Composed of Nodes

addFace((DeformableElement)arg1, (Vector3)arg2) None :

Add a face into the element

addNode((DeformableElement)arg1, (Body)arg2) None :

Add a node shared_pt<:yref:’Body’>& as into the element

addPair((DeformableCohesiveElement)arg1, (Body)arg2, (Body)arg3) None :

Add a node shared_pt<:yref:’Body’>& as into the element

property color

Color for rendering (normalized RGB).

delNode((DeformableElement)arg1, (Body)arg2) None :

Remove a node shared_pt<:yref:’Body’>& from the element

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((Shape)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property elementframe
property faces

Faces of the element for drawing

getNode((DeformableElement)arg1, (int)arg2) Body :

Get a node shared_pt<:yref:’Body’>& as into the element

getVolume((DeformableElement)arg1) float :

Get volume of the element

property highlight

Whether this Shape will be highlighted when rendered.

property localmap

Ids and relative positions+orientations of members of the deformable element (should not be accessed directly)

property nodepairs

Ids and relative position+orientation difference of members of the cohesive deformable element in the inital condition (should not be accessed directly)

removeLastFace((DeformableElement)arg1) None :

Remove a face from the element

removePair((DeformableCohesiveElement)arg1, (Body)arg2, (Body)arg3) None :

Add a node shared_pt<:yref:’Body’>& as into the element

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property wire

Whether this Shape is rendered using color surfaces, or only wireframe (can still be overridden by global config of the renderer).

class yade.wrapper.DeformableElement(inherits Shape Serializable)

Deformable aggregate of nodes

addFace((DeformableElement)arg1, (Vector3)arg2) None :

Add a face into the element

addNode((DeformableElement)arg1, (Body)arg2) None :

Add a node shared_pt<:yref:’Body’>& as into the element

property color

Color for rendering (normalized RGB).

delNode((DeformableElement)arg1, (Body)arg2) None :

Remove a node shared_pt<:yref:’Body’>& from the element

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((Shape)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property elementframe
property faces

Faces of the element for drawing

getNode((DeformableElement)arg1, (int)arg2) Body :

Get a node shared_pt<:yref:’Body’>& as into the element

getVolume((DeformableElement)arg1) float :

Get volume of the element

property highlight

Whether this Shape will be highlighted when rendered.

property localmap

Ids and relative positions+orientations of members of the deformable element (should not be accessed directly)

removeLastFace((DeformableElement)arg1) None :

Remove a face from the element

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property wire

Whether this Shape is rendered using color surfaces, or only wireframe (can still be overridden by global config of the renderer).

class yade.wrapper.Facet(inherits Shape Serializable)

Facet (triangular particle) geometry.

property area

Facet’s area

property color

Color for rendering (normalized RGB).

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((Shape)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property highlight

Whether this Shape will be highlighted when rendered.

property normal

Facet’s normal \(\vec n\) (in local coordinate system) oriented towards \(\vec{e_0} \times \vec {e_1}\) with \(\vec {e_0} = \vec{V_0V_1}\), \(\vec {e_1} = \vec{V_1V_2}\) and \(\vec {V_i}\) the vertices

setVertices((Facet)arg1, (Vector3)v0, (Vector3)v1, (Vector3)v2) None :

Defines vertices

Parameters:
Returns:

nothing

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property vertices

Vertex positions in local coordinates.

property wire

Whether this Shape is rendered using color surfaces, or only wireframe (can still be overridden by global config of the renderer).

class yade.wrapper.FluidDomainBbox(inherits Shape Serializable)

The bounding box of a fluid grid from one OpenFOAM/YALES2 proc

property bIds

ids of bodies intersecting with this subdomain,

property color

Color for rendering (normalized RGB).

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((Shape)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property domainRank

rank of the OpenFOAM/YALES2 proc

property hasIntersection

if this Yade subdomain has intersection with this OpenFOAM/YALES2 subdomain

property highlight

Whether this Shape will be highlighted when rendered.

property maxBound

max bounds of the fluid grid

property minBound

min bounds of the fluid grid

property minMaxisSet

flag to check if the min max bounds of this body are set.

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property wire

Whether this Shape is rendered using color surfaces, or only wireframe (can still be overridden by global config of the renderer).

class yade.wrapper.GridConnection(inherits Sphere Shape Serializable)

GridConnection shape (see [Effeindzourou2016], [Bourrier2013]). Component of a grid designed to link two GridNodes. It is highly recommended to use gridpfacet.gridConnection to generate correct GridConnections.

addPFacet((GridConnection)arg1, (Body)Body) None :

Add a PFacet to the GridConnection.

property cellDist

Distance of bodies in cell size units, if using periodic boundary conditions. Note that periodic boundary conditions for GridConnections have not yet been fully implemented.

property color

Color for rendering (normalized RGB).

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((Shape)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

getPFacets((GridConnection)arg1) object :

get list of linked PFacets.

property highlight

Whether this Shape will be highlighted when rendered.

property node1

First Body the GridConnection is connected to.

property node2

Second Body the GridConnection is connected to.

property periodic

true if two nodes from different periods are connected.

property radius

Radius [m]

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property wire

Whether this Shape is rendered using color surfaces, or only wireframe (can still be overridden by global config of the renderer).

class yade.wrapper.GridNode(inherits Sphere Shape Serializable)

GridNode shape, component of a grid. To create a Grid, place the nodes first, they will define the spacial discretisation of it. It is highly recommended to use gridpfacet.gridNode to generate correct GridNodes. Note that the GridNodes should only be in an Interaction with other GridNodes. The Sphere-Grid contact is only handled by the GridConnections.

addConnection((GridNode)arg1, (Body)Body) None :

Add a GridConnection to the GridNode.

addPFacet((GridNode)arg1, (Body)Body) None :

Add a PFacet to the GridNode.

property color

Color for rendering (normalized RGB).

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((Shape)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

getConnections((GridNode)arg1) object :

get list of linked GridConnection’s.

getPFacets((GridNode)arg1) object :

get list of linked PFacet’s.

property highlight

Whether this Shape will be highlighted when rendered.

property radius

Radius [m]

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property wire

Whether this Shape is rendered using color surfaces, or only wireframe (can still be overridden by global config of the renderer).

class yade.wrapper.LevelSet(inherits Shape Serializable)

A level set description of particle shape based on a discrete distance field and surface nodes [Duriez2021a] [Duriez2021b]. See examples/levelSet for example scripts.

property axesAABE

The half lengths of the principal axes of the axis-aligned bounding ellipsoid (AABE) of the level-set shape. Format (rx,ry,rz). Only works for VLS-DEM.

center((LevelSet)arg1) Vector3 :

The center of mass of the volume (considering obviously an uniform density for this volume), in local axes (for verification purposes, by comparison with the origin).

property color

Color for rendering (normalized RGB).

computeMarchingCubes((LevelSet)arg1) None :

Compute or recompute the triangulation of the particle surface after using the Marching Cubes algorithm on distField.

property corners

The 8 corners of an axis-aligned bounding box, in local axes. It is computed once for all by Bo1_LevelSet_Aabb and used by the same Functor to get Body.bound.

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((Shape)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property distField

The signed (< 0 when inside) distance-to-surface function as a discrete scalar field on lsGrid, with distField[i][j][k] corresponding to lsGrid.gridPoint(i,j,k). From Python, slice this multi-dimensional list with care: while distField[i][:][:] corresponds to values on a x-cst plane, distField[:][:][k] is not at z-constant (use [[distField[i][j][k] for j in ..] for i in ..] instead)

distance((LevelSet)arg1, (Vector3)pt[, (bool)unbound=False]) float :

Distance to surface at pt, with pt being expressed in the local frame. Has an ‘unbound’ flag signaling whether to allow the computation of distance values outside of the grid extents.

getSurface((LevelSet)arg1) float :

Returns particle surface as computed from numeric integration over the surface nodes. Requires nodesPath = 1.

property hasAABE

Flag to indicate whether an axis-aligned bounding ellipsoid (AABE) has been provided by the user. If true, you must specify axisAABE. Only works for VLS-DEM.

property highlight

Whether this Shape will be highlighted when rendered.

inertia((LevelSet)arg1) Vector3 :

The eigenvalues of the geometric inertia matrix (the one considering the infinitesimal volume as the integrand, instead of infinitesimal mass) as a Vector3r.

property lsGrid

The regular grid carrying distField, in local axes.

marchingCubesNbTriangles((LevelSet)arg1) int :

Returns the number of triangles forming the surface triangulation as per the Marching Cubes algorithm (executed on distField).

marchingCubesNormals((LevelSet)arg1) object :

Returns the normals for a surface triangulation obtained after executing the Marching Cubes algorithm on distField.

marchingCubesVertices((LevelSet)arg1) object :

Returns the vertices for a surface triangulation obtained after executing the Marching Cubes algorithm on distField.

property nSurfNodes

The number of boundary nodes in surfNodes, previously coined nNodes in [Duriez2021b]. Usually set through utils levelSetBody() function (has to be set at instantiation in all cases). Please use a perfect square + 2 if not twoD and if nodesPath = 1.

property nodesPath

Defines how the space of spherical coordinates \((\theta \in [0;\pi] ,\varphi\in [0;2 \pi])\) is discretized when ray tracing the boundary nodes: 1 gives a rectangular partition of that space, plus two nodes at \(\theta = 0 [\pi]\); 2 locates the nodes along a spiral path [Duriez2021a]

property nodesTol

Tolerance coefficient for accepting (if \(|\phi| / L <\) nodesTol \(\times\) numeric precision with \(\phi\) the return value of distance and \(L\) a body-characteristic length taken as \(\sqrt[3]{V}\) with \(V\) the volume, or \(\sqrt{V/g}\) with \(g\) the grid spacing if twoD) boundary nodes proposed by the ray tracing algorithm.

normal((LevelSet)arg1, (Vector3)pt[, (bool)unbound=False]) Vector3 :

Normal vector to the surface at some pt. Local frame applies to both output normal and input pt. Has an ‘unbound’ flag signaling whether to allow the computation of the normal outside of the grid extents.

rayTrace((LevelSet)arg1, (Vector3)ray) None :

Performs one ray tracing, possibly modifying surfNodes. Provided for debugging purposes

property smearCoeff

Rules the smearing coefficient \(\varepsilon > 0\) of the Heaviside step function for a smooth integration of the particle’s volume close to its surface (the higher \(\varepsilon\) the smoother, i.e. the more diffuse the surface in terms of volume integration). Given in reciprocal multiples of \(R_{cell}\) the half diagonal of the cells of the lsGrid: \(\varepsilon = R_{cell}\times 1/\) smearCoeff (smearing is deactivated if negative).

property sphericity

Shape sphericity computed from boundary nodes and assuming both largest inscribed sphere and smallest circumscribed sphere have the origin (of local axes) as center.

property surfNodes

Surface discretization nodes (the list of) used for exact contact treatment in Ig2_LevelSet_LevelSet_ScGeom, previously coined boundNodes in [Duriez2021b]. Expressed in local frame. Getting them back after a save/load cycle requires to launch one iteration or to first ask for shape.center.

property twoD

True for z-invariant shapes. Serves to restrict the definition of surfNodes in the (x,y) plane.

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

volume((LevelSet)arg1) float :

The volume defined by the negative domain of the level set function, in a voxellised fashion. A voxel is said to be inside according to the level set value at its minimum grid point and depending upon possible smearing considerations as per smearCoeff.

property wire

Whether this Shape is rendered using color surfaces, or only wireframe (can still be overridden by global config of the renderer).

class yade.wrapper.Lin4NodeTetra(inherits DeformableElement Shape Serializable)

Tetrahedral Deformable Element Composed of Nodes

addFace((DeformableElement)arg1, (Vector3)arg2) None :

Add a face into the element

addNode((DeformableElement)arg1, (Body)arg2) None :

Add a node shared_pt<:yref:’Body’>& as into the element

property color

Color for rendering (normalized RGB).

delNode((DeformableElement)arg1, (Body)arg2) None :

Remove a node shared_pt<:yref:’Body’>& from the element

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((Shape)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property elementframe
property faces

Faces of the element for drawing

getNode((DeformableElement)arg1, (int)arg2) Body :

Get a node shared_pt<:yref:’Body’>& as into the element

getVolume((DeformableElement)arg1) float :

Get volume of the element

property highlight

Whether this Shape will be highlighted when rendered.

property localmap

Ids and relative positions+orientations of members of the deformable element (should not be accessed directly)

removeLastFace((DeformableElement)arg1) None :

Remove a face from the element

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property wire

Whether this Shape is rendered using color surfaces, or only wireframe (can still be overridden by global config of the renderer).

class yade.wrapper.Lin4NodeTetra_Lin4NodeTetra_InteractionElement(inherits DeformableCohesiveElement DeformableElement Shape Serializable)

Tetrahedral Deformable Element Composed of Nodes

addFace((DeformableElement)arg1, (Vector3)arg2) None :

Add a face into the element

addNode((DeformableElement)arg1, (Body)arg2) None :

Add a node shared_pt<:yref:’Body’>& as into the element

addPair((DeformableCohesiveElement)arg1, (Body)arg2, (Body)arg3) None :

Add a node shared_pt<:yref:’Body’>& as into the element

property color

Color for rendering (normalized RGB).

delNode((DeformableElement)arg1, (Body)arg2) None :

Remove a node shared_pt<:yref:’Body’>& from the element

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((Shape)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property elementframe
property faces

Faces of the element for drawing

getNode((DeformableElement)arg1, (int)arg2) Body :

Get a node shared_pt<:yref:’Body’>& as into the element

getVolume((DeformableElement)arg1) float :

Get volume of the element

property highlight

Whether this Shape will be highlighted when rendered.

property localmap

Ids and relative positions+orientations of members of the deformable element (should not be accessed directly)

property nodepairs

Ids and relative position+orientation difference of members of the cohesive deformable element in the inital condition (should not be accessed directly)

removeLastFace((DeformableElement)arg1) None :

Remove a face from the element

removePair((DeformableCohesiveElement)arg1, (Body)arg2, (Body)arg3) None :

Add a node shared_pt<:yref:’Body’>& as into the element

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property wire

Whether this Shape is rendered using color surfaces, or only wireframe (can still be overridden by global config of the renderer).

class yade.wrapper.Node(inherits Shape Serializable)

Geometry of node particle.

property color

Color for rendering (normalized RGB).

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((Shape)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property highlight

Whether this Shape will be highlighted when rendered.

property radius

Radius [m]

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property wire

Whether this Shape is rendered using color surfaces, or only wireframe (can still be overridden by global config of the renderer).

class yade.wrapper.PFacet(inherits Shape Serializable)

PFacet (particle facet) geometry (see [Effeindzourou2016], [Effeindzourou2015a]). It is highly recommended to use the helper functions in gridpfacet (e.g., gridpfacet.pfacetCreator1-4) to generate correct PFacet elements.

property area

PFacet’s area

property cellDist

Distance of bodies in cell size units, if using periodic boundary conditions. Note that periodic boundary conditions for PFacets have not yet been fully implemented.

property color

Color for rendering (normalized RGB).

property conn1

First Body the Pfacet is connected to.

property conn2

Second Body the Pfacet is connected to.

property conn3

third Body the Pfacet is connected to.

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((Shape)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property highlight

Whether this Shape will be highlighted when rendered.

property node1

First Body the Pfacet is connected to.

property node2

Second Body the Pfacet is connected to.

property node3

third Body the Pfacet is connected to.

property normal

PFacet’s normal (in local coordinate system)

property radius

PFacet’s radius

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property wire

Whether this Shape is rendered using color surfaces, or only wireframe (can still be overridden by global config of the renderer).

class yade.wrapper.Polyhedra(inherits Shape Serializable)

Polyhedral (convex) geometry.

GetCentroid((Polyhedra)arg1) Vector3 :

return polyhedra’s centroid

GetInertia((Polyhedra)arg1) Vector3 :

return polyhedra’s inertia tensor

GetOri((Polyhedra)arg1) Quaternion :

return polyhedra’s orientation

GetSurfaceTriangulation((Polyhedra)arg1) object :

triangulation of facets (for plotting)

GetSurfaces((Polyhedra)arg1) object :

get indices of surfaces’ vertices (for postprocessing)

GetVolume((Polyhedra)arg1) float :

return polyhedra’s volume

Initialize((Polyhedra)arg1) None :

Initialization

property color

Color for rendering (normalized RGB).

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((Shape)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property highlight

Whether this Shape will be highlighted when rendered.

property seed

Seed for random generator.

setVertices((Polyhedra)arg1, (object)arg2) None :

set vertices and update receiver. Takes a list/tuple of vertices as argument.

Note

Causes memory leaks, so if you want to use it maaaany times, use one of setVertices mentioned lower, passing each vertex as individual argument (currently only setVertices(v1,v2,v3,v4) for tetrahedron is implemented, on request it is easy to implement more vertices).

setVertices4((Polyhedra)arg1, (Vector3)arg2, (Vector3)arg3, (Vector3)arg4, (Vector3)arg5) None :

set 4 vertices and update receiver. Each vertex is single argument.

property size

Size of the grain in meters - x,y,z - before random rotation

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property v

Polyhedron vertices in local coordinate system.

property wire

Whether this Shape is rendered using color surfaces, or only wireframe (can still be overridden by global config of the renderer).

class yade.wrapper.PotentialBlock(inherits Shape Serializable)

Geometry of PotentialBlock.

property AabbMinMax

Whether the exact Aabb should be calculated. If false, an approximate cubic Aabb is defined with edges of 2R

property R

R in Potential Particles. If left zero, a default value is calculated as half the distance of the farthest vertices

property a

List of a coefficients of plane normals

property b

List of b coefficients of plane normals

property boundaryNormal

Normal direction of boundary if fixedNormal=True

property c

List of c coefficients of plane normals

property cohesion

Cohesion (stress) of each face (property for plane, rock joint)

property color

Color for rendering (normalized RGB).

property connectivity

Connectivity of vertices for each plane (auto-updated)

property d

List of d coefficients of plane equations

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((Shape)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property erase

Parameter to mark particles to be removed (for excavation)

property fixedNormal

Whether to fix the contact normal at a boundary, using boundaryNormal

property highlight

Whether this Shape will be highlighted when rendered.

property id

Particle id (for graphics in vtk output)

property inertia

Principal inertia tensor (auto-updated)

property intactRock

Property for plane

property isBolt

Whether a block is part of a bolt (used in the Rockbolt.cpp script)

property isBoundary

Whether the particle is part of a boundary block

property isLining

Whether particle is part of tunnel lining (used in the RockLining.cpp script)

property jointType

jointType

property k

k in Potential Particles (not used)

property liningFriction

Lining friction

property liningLength

Lining spacing between nodes

property liningNormalPressure

Normal pressure acting on lining

property liningStiffness

Lining stiffness

property liningTensionGap

Numerical gap between lining and block to allowing tension to be calculated

property liningTotalPressure

Total pressure acting on lining

property maxAabb

Max from box centre: Used for visualisation in vtk

property minAabb

Min from box centre: Used for visualisation in vtk

property orientation

Principal orientation

property phi_b

Basic friction angle of each face (property for plane, rock joint)

property phi_r

Residual friction angle of each face (property for plane, rock joint)

property position

Initial position of the particle, if initially defined eccentrically to the centroid (auto-updated)

property r

r in Potential Particles

property tension

Tension (stress) of each face (property for plane, rock joint)

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property vertices

Vertices (auto-updated)

property volume

Volume (auto-updated)

property wire

Whether this Shape is rendered using color surfaces, or only wireframe (can still be overridden by global config of the renderer).

class yade.wrapper.PotentialParticle(inherits Shape Serializable)

EXPERIMENTAL. Geometry of PotentialParticle.

property AabbMinMax

Whether the exact Aabb should be calculated. If false, an approximate cubic Aabb is defined with edges of 2R

property R

R in Potential Particles

property a

List of a coefficients of plane normals

property b

List of b coefficients of plane normals

property boundaryNormal

Normal direction of boundary if fixedNormal=True

property c

List of c coefficients of plane normals

property color

Color for rendering (normalized RGB).

property d

List of d coefficients of plane normals

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((Shape)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property fixedNormal

Whether to fix the contact normal at a boundary, using boundaryNormal

property highlight

Whether this Shape will be highlighted when rendered.

property id

Particle id (for graphics in vtk output)

property isBoundary

Whether the particle is part of a boundary particle

property k

k in Potential Particles

property maxAabb

Max from box centre: Used for visualisation in vtk and qt

property maxAabbRotated

Max from box centre: Used for primary contact detection

property minAabb

Min from box centre: Used for visualisation in vtk and qt

property minAabbRotated

Min from box centre: Used for primary contact detection

property r

r in Potential Particles

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property vertices

Vertices

property wire

Whether this Shape is rendered using color surfaces, or only wireframe (can still be overridden by global config of the renderer).

class yade.wrapper.Sphere(inherits Shape Serializable)

Geometry of spherical particle.

property color

Color for rendering (normalized RGB).

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((Shape)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property highlight

Whether this Shape will be highlighted when rendered.

property radius

Radius [m]

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property wire

Whether this Shape is rendered using color surfaces, or only wireframe (can still be overridden by global config of the renderer).

class yade.wrapper.Subdomain(inherits Shape Serializable)

The bounding box of a mpi subdomain. Stores internals and provides optimized functions for communications between workers. This class may not be used directly. Instead, Subdomains are appended automatically to the scene bodies when using mpy.mpirun

boundOnAxis((Subdomain)arg1, (Bound)bound, (Vector3)axis, (bool)min) float :

computes projected position of a bound in a certain direction

boundOnAxis( (Subdomain)arg1, (Bound)bound, (Vector3)axis, (bool)min) -> float :

computes projected position of a bound in a certain direction

property boundsMax

max corner of all bboxes of members; differs from effective domain bounds by the extra length (sweepLength)

property boundsMin

min corner of all bboxes of members; differs from effective domain bounds by the extra length (sweepLength)

centerOfMass((Subdomain)arg1) Vector3 :

returns center of mass of assigned bodies

centerOfMass( (Subdomain)arg1) -> Vector3 :

returns center of mass of assigned bodies

cleanIntersections((Subdomain)arg1, (int)otherDomain) None :

makes sure that the ids in the current subdomain belong to the current subdomain

property color

Color for rendering (normalized RGB).

property comm

Communicator to be used for MPI (converts mpi4py comm <-> c++ comm)

completeSendBodies((Subdomain)arg1) None :

calls MPI_wait to complete the non blocking sends/recieves.

countIntsWith((Subdomain)arg1, (int)body, (int)someSubDomain[, (Scene)someSubDomain=<Scene instance at 0x2b08490>]) int :

returns for a body the count of interactions (real or virtual) with bodies from a certain subdomain, interactions with subdomains excluded. Third parameter (scene pointer) can be left to default (equivalent to O._sceneObj).

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((Shape)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property extraLength

verlet dist for the subdomain, added to bodies verletDist

filterIntersections((Subdomain)arg1) float :

clear intersections and mirror intersections of all non-interacting bodies.

filteredInts((Subdomain)arg1, (int)someSubDomain, (bool)mirror) object :

return a copy of intersections or mirrorIntersections from which non-interacting bodies have been removed.

getMirrorIntrs((Subdomain)arg1) None :

get mirrorIntersections from other subdomains

getRankSize((Subdomain)arg1) None :

set subdomain ranks, used for communications -> merging, sending bodies etc.

getStateBoundsValuesFromIds((Subdomain)arg1, (object)b_ids) object :

returns pos,vel,angVel,ori,bounds of listed bodies.

getStateValues((Subdomain)arg1, (int)otherDomain) object :

returns pos,vel,angVel,ori of bodies interacting with a given otherDomain, based on Subdomain.intersections.

getStateValuesFromIds((Subdomain)arg1, (object)b_ids) object :

returns pos,vel,angVel,ori of listed bodies.

property highlight

Whether this Shape will be highlighted when rendered.

property ids

Ids of owned particles.

init((Subdomain)arg1) None :

Initialize subdomain variables as rank and buffer sizes, call this from each thread after scene distribution by master.

property intersections

lists of bodies from this subdomain intersecting other subdomains. WARNING: only assignement and concatenation allowed

medianFilterCPP((Subdomain)arg1, (int)arg2, (Vector3)bodiesToRecv, (Vector3)otherSubdomain, (int)oterSubdomainCenterofMass, (bool)useAABB) object :

cpp version of median filter, used for body reallocation operations.

mergeOp((Subdomain)arg1) None :

merge with setting interactions

migrateBodiesSend((Subdomain)arg1, (object)bodiesToSend, (int)destination) None :

ids of body to be sent have their subdomain parameter reassigned, followed by sendBodies

property mirrorIntersections

lists of bodies from other subdomains intersecting this one. WARNING: only assignement and concatenation allowed

mpiIrecvStates((Subdomain)arg1, (int)otherSubdomain) None :

mpi-Irecv states from another domain (non-blocking)

mpiRecvStates((Subdomain)arg1, (int)otherSubdomain) None :

mpi-recv states from another domain (blocking)

mpiSendStates((Subdomain)arg1, (int)otherSubdomain) None :

mpi-send states from current domain to another domain (blocking)

mpiWaitReceived((Subdomain)arg1, (int)otherSubdomain) None :

mpi-Wait states from another domain (upon return the buffer is set)

receiveBodies((Subdomain)arg1, (int)sender) None :

Receive the bodies from MPI sender rank to MPI receiver rank

sendBodies((Subdomain)sender, (int)receiver, (object)idsToSend) None :

Copy the bodies from MPI sender rank to MPI receiver rank

setIDstoSubdomain((Subdomain)arg1, (list)idList) None :

set list of ids to the subdomain.

setMinMax((Subdomain)arg1) None :

returns bounding min-max based on members bounds. precondition: the members bounds have been dispatched already, else we re-use old values. Carefull if subdomain is not at the end of O.bodies.

setStateBoundsValuesFromIds((Subdomain)arg1, (object)b_ids, (object)input) None :

set pos,vel,angVel,ori,bounds from listed body ids and data.

setStateValuesFromBuffer((Subdomain)arg1, (int)subdomain) None :

set pos,vel,angVel,ori from state buffer.

setStateValuesFromIds((Subdomain)arg1, (object)b_ids, (object)input) None :

set pos,vel,angVel,ori from listed body ids and data.

splitBodiesToWorkers((Subdomain)arg1, (bool)eraseWorkerBodies) None :

of true bodies in workers are erased and reassigned.

property subdomains

subdomain ids of other bodies, WARNING: only assignement and concatenation allowed

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

updateLocalIds((Subdomain)arg1, (bool)eraseRemoteMastrer) None :

updates the ids in the subdomain id vector, if not eraseRemoteMastrer, body->subdomain in master are updated.

updateNewMirrorIntrs((Subdomain)arg1, (int)otherdomain, (object)newMirrorList) None :

update the mirrorIntersections of a specific subdomain

property wire

Whether this Shape is rendered using color surfaces, or only wireframe (can still be overridden by global config of the renderer).

class yade.wrapper.Tetra(inherits Shape Serializable)

Tetrahedron geometry.

property color

Color for rendering (normalized RGB).

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((Shape)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property highlight

Whether this Shape will be highlighted when rendered.

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property v

Tetrahedron vertices (in local coordinate system).

property wire

Whether this Shape is rendered using color surfaces, or only wireframe (can still be overridden by global config of the renderer).

class yade.wrapper.Wall(inherits Shape Serializable)

Object representing infinite plane aligned with the coordinate system (axis-aligned wall).

property axis

Axis of the normal; can be 0,1,2 for +x, +y, +z respectively (Body’s orientation is disregarded for walls)

property color

Color for rendering (normalized RGB).

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((Shape)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property highlight

Whether this Shape will be highlighted when rendered.

property sense

Which side of the wall interacts: -1 for negative only, 0 for both, +1 for positive only

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property wire

Whether this Shape is rendered using color surfaces, or only wireframe (can still be overridden by global config of the renderer).

State

digraph State {
        rankdir=RL;
        margin="0.2,0.05";
        "State" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.State"];
        "WireState" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.WireState"];
        "WireState" -> "State" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "JCFpmState" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.JCFpmState"];
        "JCFpmState" -> "ThermalState" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "CpmState" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.CpmState"];
        "CpmState" -> "State" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "ThermalState" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.ThermalState"];
        "ThermalState" -> "State" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "ChainedState" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.ChainedState"];
        "ChainedState" -> "State" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "PartialSatState" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.PartialSatState"];
        "PartialSatState" -> "State" [arrowsize=0.5,style="setlinewidth(0.5)"];
}

Inheritance graph of State.

class yade.wrapper.State(inherits Serializable)

State of a body (spatial configuration, internal variables).

property angMom

Current angular momentum

property angVel

Current angular velocity

property blockedDOFs

Degress of freedom where linear/angular velocity will be always constant (equal to zero, or to an user-defined value), regardless of applied force/torque. String that may contain ‘xyzXYZ’ (translations and rotations).

property densityScaling

(auto-updated) see GlobalStiffnessTimeStepper::targetDt.

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((State)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

displ((State)arg1) Vector3 :

Displacement from reference position (pos - refPos)

property inertia

Inertia of associated body, in local coordinate system.

property isDamped

Damping in NewtonIntegrator can be deactivated for individual particles by setting this variable to FALSE. E.g. damping is inappropriate for particles in free flight under gravity but it might still be applicable to other particles in the same simulation.

property mass

Mass of this body

property ori

Current orientation.

property pos

Current position.

property refOri

Reference orientation

property refPos

Reference position

rot((State)arg1) Vector3 :

Rotation from reference orientation (as rotation vector)

property se3

Position and orientation as one object.

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property vel

Current linear velocity.

class yade.wrapper.ChainedState(inherits State Serializable)

State of a chained bodies, containing information on connectivity in order to track contacts jumping over contiguous elements. Chains are 1D lists from which id of chained bodies are retrieved via rank and chainNumber.

addToChain((ChainedState)arg1, (int)bodyId) None :

Add body to current active chain

property angMom

Current angular momentum

property angVel

Current angular velocity

property bId

id of the body containing - for postLoad operations only.

property blockedDOFs

Degress of freedom where linear/angular velocity will be always constant (equal to zero, or to an user-defined value), regardless of applied force/torque. String that may contain ‘xyzXYZ’ (translations and rotations).

property chainNumber

chain id.

currentChain = 0
property densityScaling

(auto-updated) see GlobalStiffnessTimeStepper::targetDt.

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((State)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

displ((State)arg1) Vector3 :

Displacement from reference position (pos - refPos)

property inertia

Inertia of associated body, in local coordinate system.

property isDamped

Damping in NewtonIntegrator can be deactivated for individual particles by setting this variable to FALSE. E.g. damping is inappropriate for particles in free flight under gravity but it might still be applicable to other particles in the same simulation.

property mass

Mass of this body

property ori

Current orientation.

property pos

Current position.

property rank

rank in the chain.

property refOri

Reference orientation

property refPos

Reference position

rot((State)arg1) Vector3 :

Rotation from reference orientation (as rotation vector)

property se3

Position and orientation as one object.

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property vel

Current linear velocity.

class yade.wrapper.CpmState(inherits State Serializable)

State information about body use by cpm-model.

None of that is used for computation (at least not now), only for post-processing.

property angMom

Current angular momentum

property angVel

Current angular velocity

property blockedDOFs

Degress of freedom where linear/angular velocity will be always constant (equal to zero, or to an user-defined value), regardless of applied force/torque. String that may contain ‘xyzXYZ’ (translations and rotations).

property damageTensor

Damage tensor computed with microplane theory averaging. state.damageTensor.trace() = state.normDmg

property densityScaling

(auto-updated) see GlobalStiffnessTimeStepper::targetDt.

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((State)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

displ((State)arg1) Vector3 :

Displacement from reference position (pos - refPos)

property epsVolumetric

Volumetric strain around this body (unused for now)

property inertia

Inertia of associated body, in local coordinate system.

property isDamped

Damping in NewtonIntegrator can be deactivated for individual particles by setting this variable to FALSE. E.g. damping is inappropriate for particles in free flight under gravity but it might still be applicable to other particles in the same simulation.

property mass

Mass of this body

property normDmg

Average damage including already deleted contacts (it is really not damage, but 1-relResidualStrength now)

property numBrokenCohesive

Number of (cohesive) contacts that damaged completely

property numContacts

Number of contacts with this body

property ori

Current orientation.

property pos

Current position.

property refOri

Reference orientation

property refPos

Reference position

rot((State)arg1) Vector3 :

Rotation from reference orientation (as rotation vector)

property se3

Position and orientation as one object.

property stress

Stress tensor of the spherical particle (under assumption that particle volume = pi*r*r*r*4/3.) for packing fraction 0.62

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property vel

Current linear velocity.

class yade.wrapper.JCFpmState(inherits ThermalState State Serializable)

JCFpm state information about each body.

property Cp

Heat capacity of the body

property Tcondition

indicates if particle is assigned dirichlet (constant temp) condition

property alpha

coefficient of thermal expansion

property angMom

Current angular momentum

property angVel

Current angular velocity

property blockedDOFs

Degress of freedom where linear/angular velocity will be always constant (equal to zero, or to an user-defined value), regardless of applied force/torque. String that may contain ‘xyzXYZ’ (translations and rotations).

property boundaryId

identifies if a particle is associated with constant temperature thrermal boundary condition

property damageIndex

Ratio of broken bonds over initial bonds. [-]

property delRadius

radius change due to thermal expansion

property densityScaling

(auto-updated) see GlobalStiffnessTimeStepper::targetDt.

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((State)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

displ((State)arg1) Vector3 :

Displacement from reference position (pos - refPos)

property inertia

Inertia of associated body, in local coordinate system.

property isCavity

flag used for unbounding cavity bodies

property isDamped

Damping in NewtonIntegrator can be deactivated for individual particles by setting this variable to FALSE. E.g. damping is inappropriate for particles in free flight under gravity but it might still be applicable to other particles in the same simulation.

property joint

Indicates the number of joint surfaces to which the particle belongs (0-> no joint, 1->1 joint, etc..). [-]

property jointNormal1

Specifies the normal direction to the joint plane 1. Rk: the ideal here would be to create a vector of vector wich size is defined by the joint integer (as much joint normals as joints). However, it needs to make the pushback function works with python since joint detection is done through a python script. lines 272 to 312 of cpp file should therefore be adapted. [-]

property jointNormal2

Specifies the normal direction to the joint plane 2. [-]

property jointNormal3

Specifies the normal direction to the joint plane 3. [-]

property k

thermal conductivity of the body

property mass

Mass of this body

property nbBrokenBonds

Number of broken bonds. [-]

property nbInitBonds

Number of initial bonds. [-]

property oldTemp

change of temp (for thermal expansion)

property onJoint

Identifies if the particle is on a joint surface.

property ori

Current orientation.

property pos

Current position.

property refOri

Reference orientation

property refPos

Reference position

rot((State)arg1) Vector3 :

Rotation from reference orientation (as rotation vector)

property se3

Position and orientation as one object.

property stabilityCoefficient

sum of solid and fluid thermal resistivities for use in automatic timestep estimation

property stepFlux

flux during current step

property temp

temperature of the body

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property vel

Current linear velocity.

class yade.wrapper.PartialSatState(inherits State Serializable)

Hertz mindlin state information about each body. Only active if partially saturated clay model is active.

property angMom

Current angular momentum

property angVel

Current angular velocity

property blockedDOFs

Degress of freedom where linear/angular velocity will be always constant (equal to zero, or to an user-defined value), regardless of applied force/torque. String that may contain ‘xyzXYZ’ (translations and rotations).

property densityScaling

(auto-updated) see GlobalStiffnessTimeStepper::targetDt.

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((State)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

displ((State)arg1) Vector3 :

Displacement from reference position (pos - refPos)

property incidentCells

number of incident cells

property inertia

Inertia of associated body, in local coordinate system.

property isDamped

Damping in NewtonIntegrator can be deactivated for individual particles by setting this variable to FALSE. E.g. damping is inappropriate for particles in free flight under gravity but it might still be applicable to other particles in the same simulation.

property lastIncidentCells

number of incident cells

property mass

Mass of this body

property ori

Current orientation.

property pos

Current position.

property radiiChange

total change of particle radius due to swelling

property radiiOriginal

original particle radius prior to swelling

property refOri

Reference orientation

property refPos

Reference position

rot((State)arg1) Vector3 :

Rotation from reference orientation (as rotation vector)

property se3

Position and orientation as one object.

property suction

suction computed for particle (sum(sat of inc. cells)/num inc. cells)

property suctionSum

sum of suctions associated with incident cells

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property vel

Current linear velocity.

property volumeOriginal

original particle volume stored for strain increments

class yade.wrapper.ThermalState(inherits State Serializable)

State containing quantities for thermal physics.

property Cp

Heat capacity of the body

property Tcondition

indicates if particle is assigned dirichlet (constant temp) condition

property alpha

coefficient of thermal expansion

property angMom

Current angular momentum

property angVel

Current angular velocity

property blockedDOFs

Degress of freedom where linear/angular velocity will be always constant (equal to zero, or to an user-defined value), regardless of applied force/torque. String that may contain ‘xyzXYZ’ (translations and rotations).

property boundaryId

identifies if a particle is associated with constant temperature thrermal boundary condition

property delRadius

radius change due to thermal expansion

property densityScaling

(auto-updated) see GlobalStiffnessTimeStepper::targetDt.

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((State)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

displ((State)arg1) Vector3 :

Displacement from reference position (pos - refPos)

property inertia

Inertia of associated body, in local coordinate system.

property isCavity

flag used for unbounding cavity bodies

property isDamped

Damping in NewtonIntegrator can be deactivated for individual particles by setting this variable to FALSE. E.g. damping is inappropriate for particles in free flight under gravity but it might still be applicable to other particles in the same simulation.

property k

thermal conductivity of the body

property mass

Mass of this body

property oldTemp

change of temp (for thermal expansion)

property ori

Current orientation.

property pos

Current position.

property refOri

Reference orientation

property refPos

Reference position

rot((State)arg1) Vector3 :

Rotation from reference orientation (as rotation vector)

property se3

Position and orientation as one object.

property stabilityCoefficient

sum of solid and fluid thermal resistivities for use in automatic timestep estimation

property stepFlux

flux during current step

property temp

temperature of the body

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property vel

Current linear velocity.

class yade.wrapper.WireState(inherits State Serializable)

Wire state information of each body.

None of that is used for computation (at least not now), only for post-processing.

property angMom

Current angular momentum

property angVel

Current angular velocity

property blockedDOFs

Degress of freedom where linear/angular velocity will be always constant (equal to zero, or to an user-defined value), regardless of applied force/torque. String that may contain ‘xyzXYZ’ (translations and rotations).

property densityScaling

(auto-updated) see GlobalStiffnessTimeStepper::targetDt.

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((State)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

displ((State)arg1) Vector3 :

Displacement from reference position (pos - refPos)

property inertia

Inertia of associated body, in local coordinate system.

property isDamped

Damping in NewtonIntegrator can be deactivated for individual particles by setting this variable to FALSE. E.g. damping is inappropriate for particles in free flight under gravity but it might still be applicable to other particles in the same simulation.

property mass

Mass of this body

Number of broken links (e.g. number of wires connected to the body which are broken). [-]

property ori

Current orientation.

property pos

Current position.

property refOri

Reference orientation

property refPos

Reference position

rot((State)arg1) Vector3 :

Rotation from reference orientation (as rotation vector)

property se3

Position and orientation as one object.

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property vel

Current linear velocity.

Material

digraph Material {
        rankdir=RL;
        margin="0.2,0.05";
        "Material" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Material"];
        "LinCohesiveStiffPropDampElastMat" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.LinCohesiveStiffPropDampElastMat"];
        "LinCohesiveStiffPropDampElastMat" -> "LinCohesiveElasticMaterial" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "CohesiveDeformableElementMaterial" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.CohesiveDeformableElementMaterial"];
        "CohesiveDeformableElementMaterial" -> "Material" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "PolyhedraMat" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.PolyhedraMat"];
        "PolyhedraMat" -> "FrictMat" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "CpmMat" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.CpmMat"];
        "CpmMat" -> "FrictMat" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "FrictMat" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.FrictMat"];
        "FrictMat" -> "ElastMat" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "JCFpmMat" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.JCFpmMat"];
        "JCFpmMat" -> "FrictMat" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "ElastMat" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.ElastMat"];
        "ElastMat" -> "Material" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "MortarMat" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.MortarMat"];
        "MortarMat" -> "FrictMat" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "FrictMatCDM" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.FrictMatCDM"];
        "FrictMatCDM" -> "FrictMat" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "LinIsoRayleighDampElastMat" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.LinIsoRayleighDampElastMat"];
        "LinIsoRayleighDampElastMat" -> "LinIsoElastMat" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "WireMat" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.WireMat"];
        "WireMat" -> "FrictMat" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "LudingMat" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.LudingMat"];
        "LudingMat" -> "Material" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "LinIsoElastMat" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.LinIsoElastMat"];
        "LinIsoElastMat" -> "DeformableElementMaterial" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "CohFrictMat" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.CohFrictMat"];
        "CohFrictMat" -> "FrictMat" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "InelastCohFrictMat" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.InelastCohFrictMat"];
        "InelastCohFrictMat" -> "FrictMat" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "ViscElCapMat" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.ViscElCapMat"];
        "ViscElCapMat" -> "ViscElMat" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "BubbleMat" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.BubbleMat"];
        "BubbleMat" -> "Material" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "LinCohesiveElasticMaterial" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.LinCohesiveElasticMaterial"];
        "LinCohesiveElasticMaterial" -> "CohesiveDeformableElementMaterial" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "FrictViscoMat" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.FrictViscoMat"];
        "FrictViscoMat" -> "FrictMat" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "ViscElMat" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.ViscElMat"];
        "ViscElMat" -> "FrictMat" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "DeformableElementMaterial" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.DeformableElementMaterial"];
        "DeformableElementMaterial" -> "Material" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "PartialSatMat" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.PartialSatMat"];
        "PartialSatMat" -> "FrictMat" [arrowsize=0.5,style="setlinewidth(0.5)"];
}

Inheritance graph of Material.

class yade.wrapper.Material(inherits Serializable)

Material properties of a body.

property density

Density of the material [kg/m³]

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((Material)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property id

Numeric id of this material; is non-negative only if this Material is shared (i.e. in O.materials), -1 otherwise. This value is set automatically when the material is inserted to the simulation via O.materials.append. (This id was necessary since before boost::serialization was used, shared pointers were not tracked properly; it might disappear in the future)

property label

Textual identifier for this material; can be used for shared materials lookup in MaterialContainer.

newAssocState((Material)arg1) State :

Return new State instance, which is associated with this Material. Some materials have special requirement on Body::state type and calling this function when the body is created will ensure that they match. (This is done automatically if you use utils.sphere, … functions from python).

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

class yade.wrapper.BubbleMat(inherits Material Serializable)

material for bubble interactions, for use with other Bubble classes

property density

Density of the material [kg/m³]

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((Material)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property id

Numeric id of this material; is non-negative only if this Material is shared (i.e. in O.materials), -1 otherwise. This value is set automatically when the material is inserted to the simulation via O.materials.append. (This id was necessary since before boost::serialization was used, shared pointers were not tracked properly; it might disappear in the future)

property label

Textual identifier for this material; can be used for shared materials lookup in MaterialContainer.

newAssocState((Material)arg1) State :

Return new State instance, which is associated with this Material. Some materials have special requirement on Body::state type and calling this function when the body is created will ensure that they match. (This is done automatically if you use utils.sphere, … functions from python).

property surfaceTension

The surface tension in the fluid surrounding the bubbles. The default value is that of water at 25 degrees Celcius.

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

class yade.wrapper.CohFrictMat(inherits FrictMat ElastMat Material Serializable)

Material description extending FrictMat with cohesive properties and rotational stiffnesses. For use e.g. with Law2_ScGeom6D_CohFrictPhys_CohesionMoment.

property alphaKr

Dimensionless rolling stiffness.

property alphaKtw

Dimensionless twist stiffness.

property density

Density of the material [kg/m³]

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((Material)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property etaRoll

Dimensionless rolling (aka ‘bending’) strength. If negative, rolling moment will be elastic.

property etaTwist

Dimensionless twisting strength. If negative, twist moment will be elastic.

property fragile

does cohesion disappear when contact strength is exceeded?

property frictionAngle

Contact friction angle (in radians). Hint : use ‘radians(degreesValue)’ in python scripts.

property id

Numeric id of this material; is non-negative only if this Material is shared (i.e. in O.materials), -1 otherwise. This value is set automatically when the material is inserted to the simulation via O.materials.append. (This id was necessary since before boost::serialization was used, shared pointers were not tracked properly; it might disappear in the future)

property isCohesive

Whether this body can form possibly cohesive interactions (if true and depending on other parameters such as Ip2_CohFrictMat_CohFrictMat_CohFrictPhys.setCohesionNow).

property label

Textual identifier for this material; can be used for shared materials lookup in MaterialContainer.

property momentRotationLaw

Use bending/twisting moment at contact. The contact may have moments only if both bodies have this flag true. See Law2_ScGeom6D_CohFrictPhys_CohesionMoment.always_use_moment_law for details.

newAssocState((Material)arg1) State :

Return new State instance, which is associated with this Material. Some materials have special requirement on Body::state type and calling this function when the body is created will ensure that they match. (This is done automatically if you use utils.sphere, … functions from python).

property normalCohesion

Tensile strength, homogeneous to a pressure. If negative the normal force is purely elastic.

property poisson

Poisson’s ratio or the ratio between shear and normal stiffness [-]. It has different meanings depending on the Ip functor.

property shearCohesion

Shear strength, homogeneous to a pressure. If negative the shear force is purely elastic.

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property young

elastic modulus [Pa]. It has different meanings depending on the Ip functor.

class yade.wrapper.CohesiveDeformableElementMaterial(inherits Material Serializable)

Deformable Element Material.

property density

Density of the material [kg/m³]

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((Material)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property id

Numeric id of this material; is non-negative only if this Material is shared (i.e. in O.materials), -1 otherwise. This value is set automatically when the material is inserted to the simulation via O.materials.append. (This id was necessary since before boost::serialization was used, shared pointers were not tracked properly; it might disappear in the future)

property label

Textual identifier for this material; can be used for shared materials lookup in MaterialContainer.

newAssocState((Material)arg1) State :

Return new State instance, which is associated with this Material. Some materials have special requirement on Body::state type and calling this function when the body is created will ensure that they match. (This is done automatically if you use utils.sphere, … functions from python).

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

class yade.wrapper.CpmMat(inherits FrictMat ElastMat Material Serializable)

Concrete material, for use with other Cpm classes.

Note

Density is initialized to 4800 kgm⁻³automatically, which gives approximate 2800 kgm⁻³ on 0.5 density packing.

Concrete Particle Model (CPM)

CpmMat is particle material, Ip2_CpmMat_CpmMat_CpmPhys averages two particles’ materials, creating CpmPhys, which is then used in interaction resultion by Law2_ScGeom_CpmPhys_Cpm. CpmState is associated to CpmMat and keeps state defined on particles rather than interactions (such as number of completely damaged interactions).

The model is contained in externally defined macro CPM_MATERIAL_MODEL, which features damage in tension, plasticity in shear and compression and rate-dependence. For commercial reasons, rate-dependence and compression-plasticity is not present in reduced version of the model, used when CPM_MATERIAL_MODEL is not defined. The full model will be described in detail in my (Václav Šmilauer) thesis along with calibration procedures (rigidity, poisson’s ratio, compressive/tensile strength ratio, fracture energy, behavior under confinement, rate-dependent behavior).

Even the public model is useful enough to run simulation on concrete samples, such as uniaxial tension-compression test.

property damLaw

Law for damage evolution in uniaxial tension. 0 for linear stress-strain softening branch, 1 (default) for exponential damage evolution law

property density

Density of the material [kg/m³]

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((Material)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property dmgRateExp

Exponent for normal viscosity function. [-]

property dmgTau

Characteristic time for normal viscosity. [s]

property epsCrackOnset

Limit elastic strain [-]

property equivStrainShearContrib

Coefficient of shear contribution to equivalent strain

property frictionAngle

Contact friction angle (in radians). Hint : use ‘radians(degreesValue)’ in python scripts.

property id

Numeric id of this material; is non-negative only if this Material is shared (i.e. in O.materials), -1 otherwise. This value is set automatically when the material is inserted to the simulation via O.materials.append. (This id was necessary since before boost::serialization was used, shared pointers were not tracked properly; it might disappear in the future)

property isoPrestress

Isotropic prestress of the whole specimen. [Pa]

property label

Textual identifier for this material; can be used for shared materials lookup in MaterialContainer.

property neverDamage

If true, no damage will occur (for testing only).

newAssocState((Material)arg1) State :

Return new State instance, which is associated with this Material. Some materials have special requirement on Body::state type and calling this function when the body is created will ensure that they match. (This is done automatically if you use utils.sphere, … functions from python).

property plRateExp

Exponent for visco-plasticity function. [-]

property plTau

Characteristic time for visco-plasticity. [s]

property poisson

Poisson’s ratio or the ratio between shear and normal stiffness [-]. It has different meanings depending on the Ip functor.

property relDuctility

relative ductility of bonds in normal direction

property sigmaT

Initial cohesion [Pa]

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property young

elastic modulus [Pa]. It has different meanings depending on the Ip functor.

class yade.wrapper.DeformableElementMaterial(inherits Material Serializable)

Deformable Element Material.

property density

Density of the material.

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((Material)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property id

Numeric id of this material; is non-negative only if this Material is shared (i.e. in O.materials), -1 otherwise. This value is set automatically when the material is inserted to the simulation via O.materials.append. (This id was necessary since before boost::serialization was used, shared pointers were not tracked properly; it might disappear in the future)

property label

Textual identifier for this material; can be used for shared materials lookup in MaterialContainer.

newAssocState((Material)arg1) State :

Return new State instance, which is associated with this Material. Some materials have special requirement on Body::state type and calling this function when the body is created will ensure that they match. (This is done automatically if you use utils.sphere, … functions from python).

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

class yade.wrapper.ElastMat(inherits Material Serializable)

Purely elastic material. The material parameters may have different meanings depending on the IPhysFunctor used : true Young and Poisson in Ip2_FrictMat_FrictMat_MindlinPhys, or contact stiffnesses in Ip2_FrictMat_FrictMat_FrictPhys.

property density

Density of the material [kg/m³]

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((Material)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property id

Numeric id of this material; is non-negative only if this Material is shared (i.e. in O.materials), -1 otherwise. This value is set automatically when the material is inserted to the simulation via O.materials.append. (This id was necessary since before boost::serialization was used, shared pointers were not tracked properly; it might disappear in the future)

property label

Textual identifier for this material; can be used for shared materials lookup in MaterialContainer.

newAssocState((Material)arg1) State :

Return new State instance, which is associated with this Material. Some materials have special requirement on Body::state type and calling this function when the body is created will ensure that they match. (This is done automatically if you use utils.sphere, … functions from python).

property poisson

Poisson’s ratio or the ratio between shear and normal stiffness [-]. It has different meanings depending on the Ip functor.

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property young

elastic modulus [Pa]. It has different meanings depending on the Ip functor.

class yade.wrapper.FrictMat(inherits ElastMat Material Serializable)

Elastic material with contact friction. See also ElastMat.

property density

Density of the material [kg/m³]

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((Material)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property frictionAngle

Contact friction angle (in radians). Hint : use ‘radians(degreesValue)’ in python scripts.

property id

Numeric id of this material; is non-negative only if this Material is shared (i.e. in O.materials), -1 otherwise. This value is set automatically when the material is inserted to the simulation via O.materials.append. (This id was necessary since before boost::serialization was used, shared pointers were not tracked properly; it might disappear in the future)

property label

Textual identifier for this material; can be used for shared materials lookup in MaterialContainer.

newAssocState((Material)arg1) State :

Return new State instance, which is associated with this Material. Some materials have special requirement on Body::state type and calling this function when the body is created will ensure that they match. (This is done automatically if you use utils.sphere, … functions from python).

property poisson

Poisson’s ratio or the ratio between shear and normal stiffness [-]. It has different meanings depending on the Ip functor.

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property young

elastic modulus [Pa]. It has different meanings depending on the Ip functor.

class yade.wrapper.FrictMatCDM(inherits FrictMat ElastMat Material Serializable)

Material to be used for extended Hertz-Mindlin contact law. Normal direction: parameters for Conical Damage Model (Harkness et al. 2016, Suhr & Six 2017). Tangential direction: parameters for stress dependent interparticle friction coefficient (Suhr & Six 2016). Both models can be switched on/off separately.

property alpha

[rad] angle of conical asperities, alpha in (0, pi/2)

property c1

[-] parameter of pressure dependent friction model c1, choose 0 for constant interparticle friction coefficient

property c2

[-] parameter of pressure dependent friction model c2, choose 0 for constant interparticle friction coefficient

property density

Density of the material [kg/m³]

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((Material)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property frictionAngle

Contact friction angle (in radians). Hint : use ‘radians(degreesValue)’ in python scripts.

property id

Numeric id of this material; is non-negative only if this Material is shared (i.e. in O.materials), -1 otherwise. This value is set automatically when the material is inserted to the simulation via O.materials.append. (This id was necessary since before boost::serialization was used, shared pointers were not tracked properly; it might disappear in the future)

property label

Textual identifier for this material; can be used for shared materials lookup in MaterialContainer.

newAssocState((Material)arg1) State :

Return new State instance, which is associated with this Material. Some materials have special requirement on Body::state type and calling this function when the body is created will ensure that they match. (This is done automatically if you use utils.sphere, … functions from python).

property poisson

Poisson’s ratio or the ratio between shear and normal stiffness [-]. It has different meanings depending on the Ip functor.

property sigmaMax

>0 [Pa] max compressive strength of material, choose 1e99 to switch off conical damage model

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property young

elastic modulus [Pa]. It has different meanings depending on the Ip functor.

class yade.wrapper.FrictViscoMat(inherits FrictMat ElastMat Material Serializable)

Material for use with the FrictViscoPM classes

property betan

Fraction of the viscous damping coefficient in normal direction equal to \(\frac{c_{n}}{C_{n,crit}}\).

property density

Density of the material [kg/m³]

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((Material)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property frictionAngle

Contact friction angle (in radians). Hint : use ‘radians(degreesValue)’ in python scripts.

property id

Numeric id of this material; is non-negative only if this Material is shared (i.e. in O.materials), -1 otherwise. This value is set automatically when the material is inserted to the simulation via O.materials.append. (This id was necessary since before boost::serialization was used, shared pointers were not tracked properly; it might disappear in the future)

property label

Textual identifier for this material; can be used for shared materials lookup in MaterialContainer.

newAssocState((Material)arg1) State :

Return new State instance, which is associated with this Material. Some materials have special requirement on Body::state type and calling this function when the body is created will ensure that they match. (This is done automatically if you use utils.sphere, … functions from python).

property poisson

Poisson’s ratio or the ratio between shear and normal stiffness [-]. It has different meanings depending on the Ip functor.

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property young

elastic modulus [Pa]. It has different meanings depending on the Ip functor.

class yade.wrapper.InelastCohFrictMat(inherits FrictMat ElastMat Material Serializable)
property alphaKr

Dimensionless coefficient used for the rolling stiffness.

property alphaKtw

Dimensionless coefficient used for the twist stiffness.

property compressionModulus

Compresion elasticity modulus

property creepBending

Bending creeping coefficient. Usual values between 0 and 1.

property creepTension

Tension/compression creeping coefficient. Usual values between 0 and 1.

property creepTwist

Twist creeping coefficient. Usual values between 0 and 1.

property density

Density of the material [kg/m³]

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((Material)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property epsilonMaxCompression

Maximal plastic strain compression

property epsilonMaxTension

Maximal plastic strain tension

property etaMaxBending

Maximal plastic bending strain

property etaMaxTwist

Maximal plastic twist strain

property frictionAngle

Contact friction angle (in radians). Hint : use ‘radians(degreesValue)’ in python scripts.

property id

Numeric id of this material; is non-negative only if this Material is shared (i.e. in O.materials), -1 otherwise. This value is set automatically when the material is inserted to the simulation via O.materials.append. (This id was necessary since before boost::serialization was used, shared pointers were not tracked properly; it might disappear in the future)

property label

Textual identifier for this material; can be used for shared materials lookup in MaterialContainer.

newAssocState((Material)arg1) State :

Return new State instance, which is associated with this Material. Some materials have special requirement on Body::state type and calling this function when the body is created will ensure that they match. (This is done automatically if you use utils.sphere, … functions from python).

property nuBending

Bending elastic stress limit

property nuTwist

Twist elastic stress limit

property poisson

Poisson’s ratio or the ratio between shear and normal stiffness [-]. It has different meanings depending on the Ip functor.

property shearCohesion

Shear elastic stress limit

property shearModulus

shear elasticity modulus

property sigmaCompression

Compression elastic stress limit

property sigmaTension

Tension elastic stress limit

property tensionModulus

Tension elasticity modulus

property unloadBending

Bending plastic unload coefficient. Usual values between 0 and +infinity.

property unloadTension

Tension/compression plastic unload coefficient. Usual values between 0 and +infinity.

property unloadTwist

Twist plastic unload coefficient. Usual values between 0 and +infinity.

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property young

elastic modulus [Pa]. It has different meanings depending on the Ip functor.

class yade.wrapper.JCFpmMat(inherits FrictMat ElastMat Material Serializable)

Possibly jointed, cohesive frictional material, for use with other JCFpm classes

property cohesion

Defines the maximum admissible tangential force in shear, for Fn=0, in the matrix (FsMax = cohesion * crossSection). [Pa]

property density

Density of the material [kg/m³]

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((Material)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property frictionAngle

Contact friction angle (in radians). Hint : use ‘radians(degreesValue)’ in python scripts.

property id

Numeric id of this material; is non-negative only if this Material is shared (i.e. in O.materials), -1 otherwise. This value is set automatically when the material is inserted to the simulation via O.materials.append. (This id was necessary since before boost::serialization was used, shared pointers were not tracked properly; it might disappear in the future)

property jointCohesion

Defines the maximum admissible tangential force in shear, for Fn=0, on the joint surface. [Pa]

property jointDilationAngle

Defines the dilatancy of the joint surface (only valid for smooth contact logic). [rad]

property jointFrictionAngle

Defines Coulomb friction on the joint surface. [rad]

property jointNormalStiffness

Defines the normal stiffness on the joint surface. [Pa/m]

property jointShearStiffness

Defines the shear stiffness on the joint surface. [Pa/m]

property jointTensileStrength

Defines the maximum admissible normal force in traction on the joint surface. [Pa]

property label

Textual identifier for this material; can be used for shared materials lookup in MaterialContainer.

newAssocState((Material)arg1) State :

Return new State instance, which is associated with this Material. Some materials have special requirement on Body::state type and calling this function when the body is created will ensure that they match. (This is done automatically if you use utils.sphere, … functions from python).

property poisson

Poisson’s ratio or the ratio between shear and normal stiffness [-]. It has different meanings depending on the Ip functor.

property residualFrictionAngle

Defines the residual friction angle (when contacts are not cohesive). residualFrictionAngle=frictionAngle if not specified. [rad]

property tensileStrength

Defines the maximum admissible normal force in traction in the matrix (FnMax = tensileStrength * crossSection). [Pa]

property type

If particles of two different types interact, it will be with friction only (no cohesion).[-]

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property young

elastic modulus [Pa]. It has different meanings depending on the Ip functor.

class yade.wrapper.LinCohesiveElasticMaterial(inherits CohesiveDeformableElementMaterial Material Serializable)

Linear Isotropic Elastic material

property density

Density of the material [kg/m³]

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((Material)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property id

Numeric id of this material; is non-negative only if this Material is shared (i.e. in O.materials), -1 otherwise. This value is set automatically when the material is inserted to the simulation via O.materials.append. (This id was necessary since before boost::serialization was used, shared pointers were not tracked properly; it might disappear in the future)

property label

Textual identifier for this material; can be used for shared materials lookup in MaterialContainer.

newAssocState((Material)arg1) State :

Return new State instance, which is associated with this Material. Some materials have special requirement on Body::state type and calling this function when the body is created will ensure that they match. (This is done automatically if you use utils.sphere, … functions from python).

property poissonratio

Poisson ratio. Initially aluminium.

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property youngmodulus

Young’s modulus. Initially aluminium.

class yade.wrapper.LinCohesiveStiffPropDampElastMat(inherits LinCohesiveElasticMaterial CohesiveDeformableElementMaterial Material Serializable)

Elastic material with Rayleigh Damping.

property alpha

Mass propotional damping constant of Rayleigh Damping.

property beta

Stiffness propotional damping constant of Rayleigh Damping.

property density

Density of the material [kg/m³]

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((Material)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property id

Numeric id of this material; is non-negative only if this Material is shared (i.e. in O.materials), -1 otherwise. This value is set automatically when the material is inserted to the simulation via O.materials.append. (This id was necessary since before boost::serialization was used, shared pointers were not tracked properly; it might disappear in the future)

property label

Textual identifier for this material; can be used for shared materials lookup in MaterialContainer.

newAssocState((Material)arg1) State :

Return new State instance, which is associated with this Material. Some materials have special requirement on Body::state type and calling this function when the body is created will ensure that they match. (This is done automatically if you use utils.sphere, … functions from python).

property poissonratio

Poisson ratio. Initially aluminium.

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property youngmodulus

Young’s modulus. Initially aluminium.

class yade.wrapper.LinIsoElastMat(inherits DeformableElementMaterial Material Serializable)

Linear Isotropic Elastic material

property density

Density of the material.

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((Material)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property id

Numeric id of this material; is non-negative only if this Material is shared (i.e. in O.materials), -1 otherwise. This value is set automatically when the material is inserted to the simulation via O.materials.append. (This id was necessary since before boost::serialization was used, shared pointers were not tracked properly; it might disappear in the future)

property label

Textual identifier for this material; can be used for shared materials lookup in MaterialContainer.

newAssocState((Material)arg1) State :

Return new State instance, which is associated with this Material. Some materials have special requirement on Body::state type and calling this function when the body is created will ensure that they match. (This is done automatically if you use utils.sphere, … functions from python).

property poissonratio

Poisson ratio. Initially aluminium.

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property youngmodulus

Young’s modulus. Initially aluminium.

class yade.wrapper.LinIsoRayleighDampElastMat(inherits LinIsoElastMat DeformableElementMaterial Material Serializable)

Elastic material with Rayleigh Damping.

property alpha

Mass propotional damping constant of Rayleigh Damping.

property beta

Stiffness propotional damping constant of Rayleigh Damping.

property density

Density of the material.

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((Material)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property id

Numeric id of this material; is non-negative only if this Material is shared (i.e. in O.materials), -1 otherwise. This value is set automatically when the material is inserted to the simulation via O.materials.append. (This id was necessary since before boost::serialization was used, shared pointers were not tracked properly; it might disappear in the future)

property label

Textual identifier for this material; can be used for shared materials lookup in MaterialContainer.

newAssocState((Material)arg1) State :

Return new State instance, which is associated with this Material. Some materials have special requirement on Body::state type and calling this function when the body is created will ensure that they match. (This is done automatically if you use utils.sphere, … functions from python).

property poissonratio

Poisson ratio. Initially aluminium.

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property youngmodulus

Young’s modulus. Initially aluminium.

class yade.wrapper.LudingMat(inherits Material Serializable)

Material for simple Luding`s model of contact [Luding2008] ,[Singh2013]_ .

property G0

Viscous damping

property PhiF

Dimensionless plasticity depth

property density

Density of the material [kg/m³]

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((Material)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property frictionAngle

Friction angle [rad]

property id

Numeric id of this material; is non-negative only if this Material is shared (i.e. in O.materials), -1 otherwise. This value is set automatically when the material is inserted to the simulation via O.materials.append. (This id was necessary since before boost::serialization was used, shared pointers were not tracked properly; it might disappear in the future)

property k1

Slope of loading plastic branch

property kc

Slope of irreversible, tensile adhesive branch

property kp

Slope of unloading and reloading limit elastic branch

property ks

Shear stiffness

property label

Textual identifier for this material; can be used for shared materials lookup in MaterialContainer.

newAssocState((Material)arg1) State :

Return new State instance, which is associated with this Material. Some materials have special requirement on Body::state type and calling this function when the body is created will ensure that they match. (This is done automatically if you use utils.sphere, … functions from python).

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

class yade.wrapper.MortarMat(inherits FrictMat ElastMat Material Serializable)

Material for mortar interface, used in Ip2_MortarMat_MortarMat_MortarPhys and Law2_ScGeom_MortarPhys_Lourenco. Default values according to

property cohesion

cohesion [Pa]

property compressiveStrength

compressiveStrength [Pa]

property density

Density of the material [kg/m³]

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((Material)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property ellAspect

aspect ratio of elliptical ‘cap’. Value >1 means the ellipse is longer along normal stress axis.

property frictionAngle

Friction angle

property id

Numeric id of this material; is non-negative only if this Material is shared (i.e. in O.materials), -1 otherwise. This value is set automatically when the material is inserted to the simulation via O.materials.append. (This id was necessary since before boost::serialization was used, shared pointers were not tracked properly; it might disappear in the future)

property label

Textual identifier for this material; can be used for shared materials lookup in MaterialContainer.

property neverDamage

If true, interactions remain elastic regardless stresses

newAssocState((Material)arg1) State :

Return new State instance, which is associated with this Material. Some materials have special requirement on Body::state type and calling this function when the body is created will ensure that they match. (This is done automatically if you use utils.sphere, … functions from python).

property poisson

Shear to normal modulus ratio

property tensileStrength

tensileStrength [Pa]

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property young

Normal elastic modulus [Pa]

class yade.wrapper.PartialSatMat(inherits FrictMat ElastMat Material Serializable)

Material used for PartialSatClayEngine. Necessary for the custom PartialSatState.

property density

Density of the material [kg/m³]

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((Material)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property frictionAngle

Contact friction angle (in radians). Hint : use ‘radians(degreesValue)’ in python scripts.

property id

Numeric id of this material; is non-negative only if this Material is shared (i.e. in O.materials), -1 otherwise. This value is set automatically when the material is inserted to the simulation via O.materials.append. (This id was necessary since before boost::serialization was used, shared pointers were not tracked properly; it might disappear in the future)

property label

Textual identifier for this material; can be used for shared materials lookup in MaterialContainer.

newAssocState((Material)arg1) State :

Return new State instance, which is associated with this Material. Some materials have special requirement on Body::state type and calling this function when the body is created will ensure that they match. (This is done automatically if you use utils.sphere, … functions from python).

property num

Particle number

property poisson

Poisson’s ratio or the ratio between shear and normal stiffness [-]. It has different meanings depending on the Ip functor.

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property young

elastic modulus [Pa]. It has different meanings depending on the Ip functor.

class yade.wrapper.PolyhedraMat(inherits FrictMat ElastMat Material Serializable)

Elastic material with Coulomb friction.

property IsSplitable

To be splitted … or not

property Wei_P

Weibull Formulation, failure probability, P, [Gladky2017].

property Wei_S0

Weibull Formulation, Sigma0, Pa, (if negative - disabled), [Gladky2017]

property Wei_V0

Weibull Formulation, V0, m^3, representative volume, [Gladky2017].

property Wei_m

Weibull Formulation, Weibull modulus, m, (if negative - disabled), [Gladky2017]

property density

Density of the material [kg/m³]

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((Material)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property frictionAngle

Contact friction angle (in radians). Hint : use ‘radians(degreesValue)’ in python scripts.

property id

Numeric id of this material; is non-negative only if this Material is shared (i.e. in O.materials), -1 otherwise. This value is set automatically when the material is inserted to the simulation via O.materials.append. (This id was necessary since before boost::serialization was used, shared pointers were not tracked properly; it might disappear in the future)

property label

Textual identifier for this material; can be used for shared materials lookup in MaterialContainer.

newAssocState((Material)arg1) State :

Return new State instance, which is associated with this Material. Some materials have special requirement on Body::state type and calling this function when the body is created will ensure that they match. (This is done automatically if you use utils.sphere, … functions from python).

property poisson

Poisson’s ratio or the ratio between shear and normal stiffness [-]. It has different meanings depending on the Ip functor.

property sigmaCD

Mohr-Coulomb failure criterium SigmaCD, Pa, maximal compressive strength (if negative - disabled), [Gladky2017]

property sigmaCZ

Mohr-Coulomb failure criterium SigmaCZ, Pa, maximal tensile strength (if negative - disabled), [Gladky2017]

property strength

Stress at which polyhedra of volume 4/3*pi [mm] breaks.

property strengthTau

Tangential stress at which polyhedra of volume 4/3*pi [mm] breaks.

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property young

Young modulus

class yade.wrapper.ViscElCapMat(inherits ViscElMat FrictMat ElastMat Material Serializable)

Material for extended viscoelastic model of contact with capillary parameters.

property Capillar

True, if capillar forces need to be added.

property CapillarType

Different types of capillar interaction: Willett_numeric, Willett_analytic [Willett2000] , Weigert [Weigert1999] , Rabinovich [Rabinov2005] , Lambert (simplified, corrected Rabinovich model) [Lambert2008]

property Vb

Liquid bridge volume [m^3]

property cn

Normal viscous constant. Attention, this parameter cannot be set if tc, en or es is defined!

property cs

Shear viscous constant. Attention, this parameter cannot be set if tc, en or es is defined!

property dcap

Damping coefficient for the capillary phase [-]

property density

Density of the material [kg/m³]

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((Material)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property en

Restitution coefficient in normal direction

property et

Restitution coefficient in tangential direction

property frictionAngle

Contact friction angle (in radians). Hint : use ‘radians(degreesValue)’ in python scripts.

property gamma

Surface tension [N/m]

property id

Numeric id of this material; is non-negative only if this Material is shared (i.e. in O.materials), -1 otherwise. This value is set automatically when the material is inserted to the simulation via O.materials.append. (This id was necessary since before boost::serialization was used, shared pointers were not tracked properly; it might disappear in the future)

property kn

Normal elastic stiffness. Attention, this parameter cannot be set if tc, en or es is defined!

property ks

Shear elastic stiffness. Attention, this parameter cannot be set if tc, en or es is defined!

property label

Textual identifier for this material; can be used for shared materials lookup in MaterialContainer.

property lubrication

option to apply lubrication forces when material is defined from young, poisson and en (restitution coefficient).

property mR

Rolling resistance, see [Zhou1999536].

property mRtype

Rolling resistance type, see [Zhou1999536]. mRtype=1 - equation (3) in [Zhou1999536]; mRtype=2 - equation (4) in [Zhou1999536].

newAssocState((Material)arg1) State :

Return new State instance, which is associated with this Material. Some materials have special requirement on Body::state type and calling this function when the body is created will ensure that they match. (This is done automatically if you use utils.sphere, … functions from python).

property poisson

Poisson’s ratio or the ratio between shear and normal stiffness [-]. It has different meanings depending on the Ip functor.

property roughnessScale

if lubrication is activated, roughness scale considered for the particles to evaluate the effective restitution coefficient.

property tc

Contact time

property theta

Contact angle [°]

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property viscoDyn

if lubrication is activated, surrounding fluid dynamic viscosity considered to evaluate the effective restitution coefficient as a function of the local Stokes number of the collision.

property young

elastic modulus [Pa]. It has different meanings depending on the Ip functor.

class yade.wrapper.ViscElMat(inherits FrictMat ElastMat Material Serializable)

Material for simple viscoelastic model of contact from analytical solution of a pair spheres interaction problem [Pournin2001] .

property cn

Normal viscous constant. Attention, this parameter cannot be set if tc, en or es is defined!

property cs

Shear viscous constant. Attention, this parameter cannot be set if tc, en or es is defined!

property density

Density of the material [kg/m³]

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((Material)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property en

Restitution coefficient in normal direction

property et

Restitution coefficient in tangential direction

property frictionAngle

Contact friction angle (in radians). Hint : use ‘radians(degreesValue)’ in python scripts.

property id

Numeric id of this material; is non-negative only if this Material is shared (i.e. in O.materials), -1 otherwise. This value is set automatically when the material is inserted to the simulation via O.materials.append. (This id was necessary since before boost::serialization was used, shared pointers were not tracked properly; it might disappear in the future)

property kn

Normal elastic stiffness. Attention, this parameter cannot be set if tc, en or es is defined!

property ks

Shear elastic stiffness. Attention, this parameter cannot be set if tc, en or es is defined!

property label

Textual identifier for this material; can be used for shared materials lookup in MaterialContainer.

property lubrication

option to apply lubrication forces when material is defined from young, poisson and en (restitution coefficient).

property mR

Rolling resistance, see [Zhou1999536].

property mRtype

Rolling resistance type, see [Zhou1999536]. mRtype=1 - equation (3) in [Zhou1999536]; mRtype=2 - equation (4) in [Zhou1999536].

newAssocState((Material)arg1) State :

Return new State instance, which is associated with this Material. Some materials have special requirement on Body::state type and calling this function when the body is created will ensure that they match. (This is done automatically if you use utils.sphere, … functions from python).

property poisson

Poisson’s ratio or the ratio between shear and normal stiffness [-]. It has different meanings depending on the Ip functor.

property roughnessScale

if lubrication is activated, roughness scale considered for the particles to evaluate the effective restitution coefficient.

property tc

Contact time

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property viscoDyn

if lubrication is activated, surrounding fluid dynamic viscosity considered to evaluate the effective restitution coefficient as a function of the local Stokes number of the collision.

property young

elastic modulus [Pa]. It has different meanings depending on the Ip functor.

class yade.wrapper.WireMat(inherits FrictMat ElastMat Material Serializable)

Material for use with the Wire classes. In conjunction with the corresponding functors it can be used to model steel wire meshes [Thoeni2014], geotextiles [Cheng2016] and more.

property as

Cross-section area of a single wire used to transform stress into force. [m²]

property density

Density of the material [kg/m³]

property diameter

Diameter of the single wire in [m] (the diameter is used to compute the cross-section area of the wire).

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((Material)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property frictionAngle

Contact friction angle (in radians). Hint : use ‘radians(degreesValue)’ in python scripts.

property id

Numeric id of this material; is non-negative only if this Material is shared (i.e. in O.materials), -1 otherwise. This value is set automatically when the material is inserted to the simulation via O.materials.append. (This id was necessary since before boost::serialization was used, shared pointers were not tracked properly; it might disappear in the future)

property isDoubleTwist

Type of the mesh. If true two particles of the same material which body ids differ by one will be considered as double-twisted interaction.

property label

Textual identifier for this material; can be used for shared materials lookup in MaterialContainer.

property lambdaEps

Parameter between 0 and 1 to reduce strain at failure of a double-twisted wire (as used by [Bertrand2008]). [-]

property lambdaF

Parameter between 0 and 1 introduced by [Thoeni2013] which defines where the shifted force-displacement curve intersects with the new initial stiffness: \(F^*=\lambda_F F_{\text{elastic}}\). [-]

property lambdak

Parameter between 0 and 1 to compute the elastic stiffness of a double-twisted wire (as used by [Bertrand2008]): \(k^D=2(\lambda_k k_h + (1-\lambda_k)k^S)\). [-]

property lambdau

Parameter between 0 and 1 introduced by [Thoeni2013] which defines the maximum shift of the force-displacement curve in order to take an additional initial elongation (e.g. wire distortion/imperfections, slipping, system flexibility) into account: \(\Delta l^*=\lambda_u l_0 \text{rnd(seed)}\). [-]

newAssocState((Material)arg1) State :

Return new State instance, which is associated with this Material. Some materials have special requirement on Body::state type and calling this function when the body is created will ensure that they match. (This is done automatically if you use utils.sphere, … functions from python).

property poisson

Poisson’s ratio or the ratio between shear and normal stiffness [-]. It has different meanings depending on the Ip functor.

property seed

Integer used to initialize the random number generator for the calculation of the distortion. If the integer is equal to 0 a internal seed number based on the time is computed. [-]

property strainStressValues

Piecewise linear definition of the stress-strain curve by set of points (strain[-]>0,stress[Pa]>0) for one single wire. Tension only is considered and the point (0,0) is not needed! NOTE: Vector needs to be initialized!

property strainStressValuesDT

Piecewise linear definition of the stress-strain curve by set of points (strain[-]>0,stress[Pa]>0) for the double twist. Tension only is considered and the point (0,0) is not needed! If this value is given the calculation will be based on two different stress-strain curves without considering the parameter introduced by [Bertrand2008] (see [Thoeni2013]).

property type

Three different types are considered:

0

Corresponds to Bertrand’s approach (see [Bertrand2008]): only one stress-strain curve is used

1

New approach: two separate stress-strain curves can be used (see [Thoeni2013])

2

New approach with stochastically distorted contact model: two separate stress-strain curves with changed initial stiffness and horizontal shift (shift is random if \(\text{seed}\geq0\), for more details see [Thoeni2013])

By default the type is 0.

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property young

elastic modulus [Pa]. It has different meanings depending on the Ip functor.

Bound

digraph Bound {
        rankdir=RL;
        margin="0.2,0.05";
        "Bound" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Bound"];
        "Aabb" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Aabb"];
        "Aabb" -> "Bound" [arrowsize=0.5,style="setlinewidth(0.5)"];
}

Inheritance graph of Bound.

class yade.wrapper.Bound(inherits Serializable)

Object bounding part of space taken by associated body; might be larger, used to optimalize collision detection

property color

Color for rendering this object

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((Bound)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property lastUpdateIter

record iteration of last reference position update (auto-updated)

property max

Upper corner of box containing this bound (and the Body as well)

property min

Lower corner of box containing this bound (and the Body as well)

property refPos

Reference position, updated at current body position each time the bound dispatcher update bounds (auto-updated)

property sweepLength

The length used to increase the bounding boxe size, can be adjusted on the basis of previous displacement if BoundDispatcher::targetInterv>0. (auto-updated)

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

class yade.wrapper.Aabb(inherits Bound Serializable)

Axis-aligned bounding box, for use with InsertionSortCollider. (This class is quasi-redundant since min,max are already contained in Bound itself. That might change at some point, though.)

property color

Color for rendering this object

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((Bound)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property lastUpdateIter

record iteration of last reference position update (auto-updated)

property max

Upper corner of box containing this bound (and the Body as well)

property min

Lower corner of box containing this bound (and the Body as well)

property refPos

Reference position, updated at current body position each time the bound dispatcher update bounds (auto-updated)

property sweepLength

The length used to increase the bounding boxe size, can be adjusted on the basis of previous displacement if BoundDispatcher::targetInterv>0. (auto-updated)

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

Interactions

Interaction

class yade.wrapper.Interaction(inherits Serializable)

Interaction between pair of bodies.

property cellDist

Distance of bodies in cell size units, if using periodic boundary conditions; id2 is shifted by this number of cells from its State::pos coordinates for this interaction to exist. Assigned by the collider.

Warning

(internal) cellDist must survive Interaction::reset(), it is only initialized in ctor. Interaction that was cancelled by the constitutive law, was reset() and became only potential must have the period information if the geometric functor again makes it real. Good to know after few days of debugging that :-)

dict((Serializable)arg1) dict :

Return dictionary of attributes.

property geom

Geometry part of the interaction.

property id1

Id of the first body in this interaction.

property id2

Id of the second body in this interaction.

property isActive

True if this interaction is active. Otherwise the forces from this interaction will not be taken into account. True by default.

property isReal

True if this interaction has both geom and phys; False otherwise.

property iterBorn

Step number at which the interaction was added to simulation.

property iterMadeReal

Step number at which the interaction was fully (in the sense of geom and phys) created. (Should be touched only by IPhysDispatcher and InteractionLoop, therefore they are made friends of Interaction

property phys

Physical (material) part of the interaction.

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

IGeom

digraph IGeom {
        rankdir=RL;
        margin="0.2,0.05";
        "IGeom" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.IGeom"];
        "CylScGeom6D" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.CylScGeom6D"];
        "CylScGeom6D" -> "ScGeom6D" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "MultiScGeom" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.MultiScGeom"];
        "MultiScGeom" -> "IGeom" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "CylScGeom" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.CylScGeom"];
        "CylScGeom" -> "ScGeom" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "GridNodeGeom6D" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.GridNodeGeom6D"];
        "GridNodeGeom6D" -> "ScGeom6D" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "GridCoGridCoGeom" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.GridCoGridCoGeom"];
        "GridCoGridCoGeom" -> "ScGeom" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "ChCylGeom6D" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.ChCylGeom6D"];
        "ChCylGeom6D" -> "ScGeom6D" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "L6Geom" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.L6Geom"];
        "L6Geom" -> "L3Geom" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "ScGeom" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.ScGeom"];
        "ScGeom" -> "GenericSpheresContact" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "TTetraGeom" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.TTetraGeom"];
        "TTetraGeom" -> "IGeom" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "VolumeGeom" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.VolumeGeom"];
        "VolumeGeom" -> "IGeom" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "PolyhedraGeom" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.PolyhedraGeom"];
        "PolyhedraGeom" -> "IGeom" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "TTetraSimpleGeom" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.TTetraSimpleGeom"];
        "TTetraSimpleGeom" -> "IGeom" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "L3Geom" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.L3Geom"];
        "L3Geom" -> "GenericSpheresContact" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "GenericSpheresContact" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.GenericSpheresContact"];
        "GenericSpheresContact" -> "IGeom" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "ScGridCoGeom" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.ScGridCoGeom"];
        "ScGridCoGeom" -> "ScGeom6D" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "ScGeom6D" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.ScGeom6D"];
        "ScGeom6D" -> "ScGeom" [arrowsize=0.5,style="setlinewidth(0.5)"];
}

Inheritance graph of IGeom.

class yade.wrapper.IGeom(inherits Serializable)

Geometrical configuration of interaction

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((IGeom)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

class yade.wrapper.ChCylGeom6D(inherits ScGeom6D ScGeom GenericSpheresContact IGeom Serializable)

Test

property bending

Bending at contact as a vector defining axis of rotation and angle (angle=norm).

property contactPoint

some reference point for the interaction (usually in the middle). (auto-computed)

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((IGeom)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

incidentVel((ScGeom)arg1, (Interaction)i[, (bool)avoidGranularRatcheting=True]) Vector3 :

Return incident velocity of the interaction (see also Ig2_Sphere_Sphere_ScGeom.avoidGranularRatcheting for explanation of the ratcheting argument).

property initialOrientation1

Orientation of body 1 one at initialisation time (auto-updated)

property initialOrientation2

Orientation of body 2 one at initialisation time (auto-updated)

property normal

Unit vector oriented along the interaction, from particle #1, towards particle #2. (auto-updated)

property penetrationDepth

Penetration distance of spheres (positive if overlapping)

property refR1

Reference radius of particle #1. (auto-computed)

property refR2

Reference radius of particle #2. (auto-computed)

relAngVel((ScGeom)arg1, (Interaction)i) Vector3 :

Return relative angular velocity of the interaction.

property shearInc

Shear displacement increment in the last step

property twist

Elastic twist angle (around normal axis) of the contact.

property twistCreep

Stored creep, substracted from total relative rotation for computation of elastic moment (auto-updated)

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

class yade.wrapper.CylScGeom(inherits ScGeom GenericSpheresContact IGeom Serializable)

Geometry of a cylinder-sphere contact.

property contactPoint

some reference point for the interaction (usually in the middle). (auto-computed)

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((IGeom)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property end

position of 2nd node (auto-updated)

property id3

id of next chained cylinder (auto-updated)

incidentVel((ScGeom)arg1, (Interaction)i[, (bool)avoidGranularRatcheting=True]) Vector3 :

Return incident velocity of the interaction (see also Ig2_Sphere_Sphere_ScGeom.avoidGranularRatcheting for explanation of the ratcheting argument).

property isDuplicate

this flag is turned true (1) automatically if the contact is shared between two chained cylinders. A duplicated interaction will be skipped once by the constitutive law, so that only one contact at a time is effective. If isDuplicate=2, it means one of the two duplicates has no longer geometric interaction, and should be erased by the constitutive laws.

property normal

Unit vector oriented along the interaction, from particle #1, towards particle #2. (auto-updated)

property onNode

contact on node?

property penetrationDepth

Penetration distance of spheres (positive if overlapping)

property refR1

Reference radius of particle #1. (auto-computed)

property refR2

Reference radius of particle #2. (auto-computed)

relAngVel((ScGeom)arg1, (Interaction)i) Vector3 :

Return relative angular velocity of the interaction.

property relPos

position of the contact on the cylinder (0: node-, 1:node+) (auto-updated)

property shearInc

Shear displacement increment in the last step

property start

position of 1st node (auto-updated)

property trueInt

Defines the body id of the cylinder where the contact is real, when CylScGeom::isDuplicate>0.

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

class yade.wrapper.CylScGeom6D(inherits ScGeom6D ScGeom GenericSpheresContact IGeom Serializable)

Class representing geometry of two bodies in contact. The contact has 6 DOFs (normal, 2×shear, twist, 2xbending) and uses ScGeom incremental algorithm for updating shear.

property bending

Bending at contact as a vector defining axis of rotation and angle (angle=norm).

property contactPoint

some reference point for the interaction (usually in the middle). (auto-computed)

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((IGeom)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property end

position of 2nd node (auto-updated)

property id3

id of next chained cylinder (auto-updated)

incidentVel((ScGeom)arg1, (Interaction)i[, (bool)avoidGranularRatcheting=True]) Vector3 :

Return incident velocity of the interaction (see also Ig2_Sphere_Sphere_ScGeom.avoidGranularRatcheting for explanation of the ratcheting argument).

property initialOrientation1

Orientation of body 1 one at initialisation time (auto-updated)

property initialOrientation2

Orientation of body 2 one at initialisation time (auto-updated)

property isDuplicate

this flag is turned true (1) automatically if the contact is shared between two chained cylinders. A duplicated interaction will be skipped once by the constitutive law, so that only one contact at a time is effective. If isDuplicate=2, it means one of the two duplicates has no longer geometric interaction, and should be erased by the constitutive laws.

property normal

Unit vector oriented along the interaction, from particle #1, towards particle #2. (auto-updated)

property onNode

contact on node?

property penetrationDepth

Penetration distance of spheres (positive if overlapping)

property refR1

Reference radius of particle #1. (auto-computed)

property refR2

Reference radius of particle #2. (auto-computed)

relAngVel((ScGeom)arg1, (Interaction)i) Vector3 :

Return relative angular velocity of the interaction.

property relPos

position of the contact on the cylinder (0: node-, 1:node+) (auto-updated)

property shearInc

Shear displacement increment in the last step

property start

position of 1st node (auto-updated)

property trueInt

Defines the body id of the cylinder where the contact is real, when CylScGeom::isDuplicate>0.

property twist

Elastic twist angle (around normal axis) of the contact.

property twistCreep

Stored creep, substracted from total relative rotation for computation of elastic moment (auto-updated)

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

class yade.wrapper.GenericSpheresContact(inherits IGeom Serializable)

Class uniting ScGeom and L3Geom, for the purposes of GlobalStiffnessTimeStepper. (It might be removed in the future). Do not use this class directly.

property contactPoint

some reference point for the interaction (usually in the middle). (auto-computed)

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((IGeom)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property normal

Unit vector oriented along the interaction, from particle #1, towards particle #2. (auto-updated)

property refR1

Reference radius of particle #1. (auto-computed)

property refR2

Reference radius of particle #2. (auto-computed)

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

class yade.wrapper.GridCoGridCoGeom(inherits ScGeom GenericSpheresContact IGeom Serializable)

Geometry of a GridConnection-GridConnection contact.

property contactPoint

some reference point for the interaction (usually in the middle). (auto-computed)

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((IGeom)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

incidentVel((ScGeom)arg1, (Interaction)i[, (bool)avoidGranularRatcheting=True]) Vector3 :

Return incident velocity of the interaction (see also Ig2_Sphere_Sphere_ScGeom.avoidGranularRatcheting for explanation of the ratcheting argument).

property normal

Unit vector oriented along the interaction, from particle #1, towards particle #2. (auto-updated)

property penetrationDepth

Penetration distance of spheres (positive if overlapping)

property refR1

Reference radius of particle #1. (auto-computed)

property refR2

Reference radius of particle #2. (auto-computed)

relAngVel((ScGeom)arg1, (Interaction)i) Vector3 :

Return relative angular velocity of the interaction.

property relPos1

position of the contact on the first connection (0: node-, 1:node+) (auto-updated)

property relPos2

position of the contact on the first connection (0: node-, 1:node+) (auto-updated)

property shearInc

Shear displacement increment in the last step

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

class yade.wrapper.GridNodeGeom6D(inherits ScGeom6D ScGeom GenericSpheresContact IGeom Serializable)

Geometry of a GridNode-GridNode contact. Inherits almost everything from ScGeom6D.

property bending

Bending at contact as a vector defining axis of rotation and angle (angle=norm).

property connectionBody

Reference to the GridNode Body who is linking the two GridNodes.

property contactPoint

some reference point for the interaction (usually in the middle). (auto-computed)

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((IGeom)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

incidentVel((ScGeom)arg1, (Interaction)i[, (bool)avoidGranularRatcheting=True]) Vector3 :

Return incident velocity of the interaction (see also Ig2_Sphere_Sphere_ScGeom.avoidGranularRatcheting for explanation of the ratcheting argument).

property initialOrientation1

Orientation of body 1 one at initialisation time (auto-updated)

property initialOrientation2

Orientation of body 2 one at initialisation time (auto-updated)

property normal

Unit vector oriented along the interaction, from particle #1, towards particle #2. (auto-updated)

property penetrationDepth

Penetration distance of spheres (positive if overlapping)

property refR1

Reference radius of particle #1. (auto-computed)

property refR2

Reference radius of particle #2. (auto-computed)

relAngVel((ScGeom)arg1, (Interaction)i) Vector3 :

Return relative angular velocity of the interaction.

property shearInc

Shear displacement increment in the last step

property twist

Elastic twist angle (around normal axis) of the contact.

property twistCreep

Stored creep, substracted from total relative rotation for computation of elastic moment (auto-updated)

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

class yade.wrapper.L3Geom(inherits GenericSpheresContact IGeom Serializable)

Geometry of contact given in local coordinates with 3 degress of freedom: normal and two in shear plane. [experimental]

property F

Applied force in local coordinates [debugging only, will be removed]

property contactPoint

some reference point for the interaction (usually in the middle). (auto-computed)

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((IGeom)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property normal

Unit vector oriented along the interaction, from particle #1, towards particle #2. (auto-updated)

property refR1

Reference radius of particle #1. (auto-computed)

property refR2

Reference radius of particle #2. (auto-computed)

property trsf

Transformation (rotation) from global to local coordinates. (the translation part is in GenericSpheresContact.contactPoint)

property u

Displacement components, in local coordinates. (auto-updated)

property u0

Zero displacement value; u0 should be always subtracted from the geometrical displacement u computed by appropriate IGeomFunctor, resulting in u. This value can be changed for instance

  1. by IGeomFunctor, e.g. to take in account large shear displacement value unrepresentable by underlying geomeric algorithm based on quaternions)

  2. by LawFunctor, to account for normal equilibrium position different from zero geometric overlap (set once, just after the interaction is created)

  3. by LawFunctor to account for plastic slip.

Note

Never set an absolute value of u0, only increment, since both IGeomFunctor and LawFunctor use it. If you need to keep track of plastic deformation, store it in IPhys isntead (this might be changed: have u0 for LawFunctor exclusively, and a separate value stored (when that is needed) inside classes deriving from L3Geom.

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

class yade.wrapper.L6Geom(inherits L3Geom GenericSpheresContact IGeom Serializable)

Geometric of contact in local coordinates with 6 degrees of freedom. [experimental]

property F

Applied force in local coordinates [debugging only, will be removed]

property contactPoint

some reference point for the interaction (usually in the middle). (auto-computed)

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((IGeom)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property normal

Unit vector oriented along the interaction, from particle #1, towards particle #2. (auto-updated)

property phi

Rotation components, in local coordinates. (auto-updated)

property phi0

Zero rotation, should be always subtracted from phi to get the value. See L3Geom.u0.

property refR1

Reference radius of particle #1. (auto-computed)

property refR2

Reference radius of particle #2. (auto-computed)

property trsf

Transformation (rotation) from global to local coordinates. (the translation part is in GenericSpheresContact.contactPoint)

property u

Displacement components, in local coordinates. (auto-updated)

property u0

Zero displacement value; u0 should be always subtracted from the geometrical displacement u computed by appropriate IGeomFunctor, resulting in u. This value can be changed for instance

  1. by IGeomFunctor, e.g. to take in account large shear displacement value unrepresentable by underlying geomeric algorithm based on quaternions)

  2. by LawFunctor, to account for normal equilibrium position different from zero geometric overlap (set once, just after the interaction is created)

  3. by LawFunctor to account for plastic slip.

Note

Never set an absolute value of u0, only increment, since both IGeomFunctor and LawFunctor use it. If you need to keep track of plastic deformation, store it in IPhys isntead (this might be changed: have u0 for LawFunctor exclusively, and a separate value stored (when that is needed) inside classes deriving from L3Geom.

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

class yade.wrapper.MultiScGeom(inherits IGeom Serializable)

A set of ScGeom for describing the kinematics of an interaction with multiple contact points between two LevelSet bodies, as a set of ScGeom items in contacts. To combine with MultiFrictPhys and associated classes.

property contacts

The actual list of ScGeom items corresponding to the different contact points.

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((IGeom)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property nodesIds

List of surface nodes (on id1 if that body is smaller – or equal – in volume, or id2 otherwise) making contacts. Contact point for a node of index nodesIds[i] has kinematic properties stored in contacts[i]. Should be equal to MultiFrictPhys.nodesIds by design

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

class yade.wrapper.PolyhedraGeom(inherits IGeom Serializable)

Geometry of interaction between 2 Polyhedra, including volumetric characteristics

property contactPoint

Contact point (global coords), centroid of the overlapping polyhedron

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((IGeom)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property equivalentCrossSection

Cross-section area of the overlap (perpendicular to the normal) - not used

property equivalentPenetrationDepth

volume / equivalentCrossSection - not used

property normal

Normal direction of the interaction

property orthonormal_axis

property penetrationVolume

Volume of overlap [m³]

property shearInc

Shear displacement increment in the last step

property twist_axis

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

class yade.wrapper.ScGeom(inherits GenericSpheresContact IGeom Serializable)

Class representing geometry of a contact point between two bodies. It is more general than sphere-sphere contact even though it is primarily focused on spheres contact interactions (reason for the ‘Sc’ naming); it is also used for representing contacts of a Sphere with non-spherical bodies (Facet, Plane, Box, ChainedCylinder), or between two non-spherical bodies (ChainedCylinder). The contact has 3 DOFs (normal and 2×shear) and uses incremental algorithm for updating shear.

We use symbols \(\vec{x}\), \(\vec{v}\), \(\vec{\omega}\) respectively for position, linear and angular velocities (all in global coordinates) and \(r\) for particles radii; subscripted with 1 or 2 to distinguish 2 spheres in contact. Then we define branch length and unit contact normal

\[l=||\vec{x}_2-\vec{x}_1||, \vec{n}=\frac{\vec{x}_2-\vec{x}_1}{||\vec{x}_2-\vec{x}_1||}\]

The relative velocity of the spheres is then

\[\vec{v}_{12}=\frac{r_1+r_2}{l}(\vec{v}_2-\vec{v}_1) -(r_2 \vec{\omega}_2 + r_1\vec{\omega}_1)\times\vec{n}\]

where the fraction multiplying translational velocities is to make the definition objective and avoid ratcheting effects (see Ig2_Sphere_Sphere_ScGeom.avoidGranularRatcheting). The shear component is

\[\vec{v}_{12}^s=\vec{v}_{12}-(\vec{n}\cdot\vec{v}_{12})\vec{n}.\]

Tangential displacement increment over last step then reads

\[\Delta\vec{x}_{12}^s=\Delta t \vec{v}_{12}^s.\]
property contactPoint

some reference point for the interaction (usually in the middle). (auto-computed)

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((IGeom)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

incidentVel((ScGeom)arg1, (Interaction)i[, (bool)avoidGranularRatcheting=True]) Vector3 :

Return incident velocity of the interaction (see also Ig2_Sphere_Sphere_ScGeom.avoidGranularRatcheting for explanation of the ratcheting argument).

property normal

Unit vector oriented along the interaction, from particle #1, towards particle #2. (auto-updated)

property penetrationDepth

Penetration distance of spheres (positive if overlapping)

property refR1

Reference radius of particle #1. (auto-computed)

property refR2

Reference radius of particle #2. (auto-computed)

relAngVel((ScGeom)arg1, (Interaction)i) Vector3 :

Return relative angular velocity of the interaction.

property shearInc

Shear displacement increment in the last step

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

class yade.wrapper.ScGeom6D(inherits ScGeom GenericSpheresContact IGeom Serializable)

Class representing geometry of two bodies in contact. The contact has 6 DOFs (normal, 2×shear, twist, 2xbending) and uses ScGeom incremental algorithm for updating shear.

property bending

Bending at contact as a vector defining axis of rotation and angle (angle=norm).

property contactPoint

some reference point for the interaction (usually in the middle). (auto-computed)

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((IGeom)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

incidentVel((ScGeom)arg1, (Interaction)i[, (bool)avoidGranularRatcheting=True]) Vector3 :

Return incident velocity of the interaction (see also Ig2_Sphere_Sphere_ScGeom.avoidGranularRatcheting for explanation of the ratcheting argument).

property initialOrientation1

Orientation of body 1 one at initialisation time (auto-updated)

property initialOrientation2

Orientation of body 2 one at initialisation time (auto-updated)

property normal

Unit vector oriented along the interaction, from particle #1, towards particle #2. (auto-updated)

property penetrationDepth

Penetration distance of spheres (positive if overlapping)

property refR1

Reference radius of particle #1. (auto-computed)

property refR2

Reference radius of particle #2. (auto-computed)

relAngVel((ScGeom)arg1, (Interaction)i) Vector3 :

Return relative angular velocity of the interaction.

property shearInc

Shear displacement increment in the last step

property twist

Elastic twist angle (around normal axis) of the contact.

property twistCreep

Stored creep, substracted from total relative rotation for computation of elastic moment (auto-updated)

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

class yade.wrapper.ScGridCoGeom(inherits ScGeom6D ScGeom GenericSpheresContact IGeom Serializable)

Geometry of a GridConnection-Sphere contact.

property bending

Bending at contact as a vector defining axis of rotation and angle (angle=norm).

property contactPoint

some reference point for the interaction (usually in the middle). (auto-computed)

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((IGeom)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property id3

id of the first GridNode. (auto-updated)

property id4

id of the second GridNode. (auto-updated)

property id5

id of the third GridNode. (auto-updated)

incidentVel((ScGeom)arg1, (Interaction)i[, (bool)avoidGranularRatcheting=True]) Vector3 :

Return incident velocity of the interaction (see also Ig2_Sphere_Sphere_ScGeom.avoidGranularRatcheting for explanation of the ratcheting argument).

property initialOrientation1

Orientation of body 1 one at initialisation time (auto-updated)

property initialOrientation2

Orientation of body 2 one at initialisation time (auto-updated)

property isDuplicate

this flag is turned true (1) automatically if the contact is shared between two Connections. A duplicated interaction will be skipped once by the constitutive law, so that only one contact at a time is effective. If isDuplicate=2, it means one of the two duplicates has no longer geometric interaction, and should be erased by the constitutive laws.

property normal

Unit vector oriented along the interaction, from particle #1, towards particle #2. (auto-updated)

property penetrationDepth

Penetration distance of spheres (positive if overlapping)

property refR1

Reference radius of particle #1. (auto-computed)

property refR2

Reference radius of particle #2. (auto-computed)

relAngVel((ScGeom)arg1, (Interaction)i) Vector3 :

Return relative angular velocity of the interaction.

property relPos

position of the contact on the connection (0: node-, 1:node+) (auto-updated)

property shearInc

Shear displacement increment in the last step

property trueInt

Defines the body id of the GridConnection where the contact is real, when ScGridCoGeom::isDuplicate>0.

property twist

Elastic twist angle (around normal axis) of the contact.

property twistCreep

Stored creep, substracted from total relative rotation for computation of elastic moment (auto-updated)

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property weight

barycentric coordinates of the projection point (auto-updated)

class yade.wrapper.TTetraGeom(inherits IGeom Serializable)

Geometry of interaction between 2 tetrahedra, including volumetric characteristics

property contactPoint

Contact point (global coords)

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((IGeom)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property equivalentCrossSection

Cross-section of the overlap (perpendicular to the axis of least inertia

property equivalentPenetrationDepth

??

property maxPenetrationDepthA

??

property maxPenetrationDepthB

??

property normal

Normal of the interaction, directed in the sense of least inertia of the overlap volume

property penetrationVolume

Volume of overlap [m³]

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

class yade.wrapper.TTetraSimpleGeom(inherits IGeom Serializable)

EXPERIMENTAL. Geometry of interaction between 2 tetrahedra

property contactPoint

Contact point (global coords)

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((IGeom)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property flag

TODO

property normal

Normal of the interaction TODO

property penetrationVolume

Volume of overlap [m³]

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

class yade.wrapper.VolumeGeom(inherits IGeom Serializable)

Geometry of the interaction between two LevelSet bodies when using volume-based interactions. Will soon become the general class for volume interaction, such that it works for polyhedra as well.

property averagePenetrationDepth

penetrationVolume / contactArea.

property contactArea

Contact area perpendicular to the normal.

property contactPoint

Contact point (global coordinates), centroid of the penetration volume.

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((IGeom)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property normal

Normal direction of the interaction.

property orthonormal_axis

property penetrationVolume

Volume of the overlap or penetrating region.

property shearInc

Shear displacement increment in the last step.

property twist_axis

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

IPhys

digraph IPhys {
        rankdir=RL;
        margin="0.2,0.05";
        "IPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.IPhys"];
        "RotStiffFrictPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.RotStiffFrictPhys"];
        "RotStiffFrictPhys" -> "FrictPhys" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "MindlinCapillaryPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.MindlinCapillaryPhys"];
        "MindlinCapillaryPhys" -> "MindlinPhys" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "LudingPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.LudingPhys"];
        "LudingPhys" -> "FrictPhys" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "NormShearPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.NormShearPhys"];
        "NormShearPhys" -> "NormPhys" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "NormPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.NormPhys"];
        "NormPhys" -> "IPhys" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "CapillaryPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.CapillaryPhys"];
        "CapillaryPhys" -> "FrictPhys" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "FrictViscoPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.FrictViscoPhys"];
        "FrictViscoPhys" -> "FrictPhys" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "KnKsPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.KnKsPhys"];
        "KnKsPhys" -> "FrictPhys" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "ViscoFrictPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.ViscoFrictPhys"];
        "ViscoFrictPhys" -> "FrictPhys" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "PolyhedraPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.PolyhedraPhys"];
        "PolyhedraPhys" -> "FrictPhys" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "CpmPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.CpmPhys"];
        "CpmPhys" -> "NormShearPhys" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "ViscElCapPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.ViscElCapPhys"];
        "ViscElCapPhys" -> "ViscElPhys" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "MindlinPhysCDM" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.MindlinPhysCDM"];
        "MindlinPhysCDM" -> "MindlinPhys" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "MultiFrictPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.MultiFrictPhys"];
        "MultiFrictPhys" -> "IPhys" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "CohFrictPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.CohFrictPhys"];
        "CohFrictPhys" -> "RotStiffFrictPhys" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "InelastCohFrictPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.InelastCohFrictPhys"];
        "InelastCohFrictPhys" -> "RotStiffFrictPhys" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "JCFpmPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.JCFpmPhys"];
        "JCFpmPhys" -> "NormShearPhys" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "FrictPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.FrictPhys"];
        "FrictPhys" -> "NormShearPhys" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "CapillaryPhysDelaunay" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.CapillaryPhysDelaunay"];
        "CapillaryPhysDelaunay" -> "FrictPhys" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "LubricationPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.LubricationPhys"];
        "LubricationPhys" -> "ViscElPhys" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "KnKsPBPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.KnKsPBPhys"];
        "KnKsPBPhys" -> "FrictPhys" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "BubblePhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.BubblePhys"];
        "BubblePhys" -> "IPhys" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "WirePhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.WirePhys"];
        "WirePhys" -> "FrictPhys" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "ViscElPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.ViscElPhys"];
        "ViscElPhys" -> "FrictPhys" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "MindlinPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.MindlinPhys"];
        "MindlinPhys" -> "RotStiffFrictPhys" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "MortarPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.MortarPhys"];
        "MortarPhys" -> "FrictPhys" [arrowsize=0.5,style="setlinewidth(0.5)"];
        "CapillaryMindlinPhysDelaunay" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.CapillaryMindlinPhysDelaunay"];
        "CapillaryMindlinPhysDelaunay" -> "MindlinPhys" [arrowsize=0.5,style="setlinewidth(0.5)"];
}

Inheritance graph of IPhys.

class yade.wrapper.IPhys(inherits Serializable)

Physical (material) properties of interaction.

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((IPhys)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

class yade.wrapper.BubblePhys(inherits IPhys Serializable)

Physics of bubble-bubble interactions, for use with BubbleMat

property Dmax

Maximum penetrationDepth of the bubbles before the force displacement curve changes to an artificial exponential curve. Setting this value will have no effect. See Law2_ScGeom_BubblePhys_Bubble::pctMaxForce for more information

static computeForce((float)arg1, (float)arg2, (float)arg3, (int)arg4, (float)arg5, (float)arg6, (float)arg7, (BubblePhys)arg8) float :

Computes the normal force acting between the two interacting bubbles using the Newton-Rhapson method

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((IPhys)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property fN

Contact normal force

property newtonIter

Maximum number of force iterations allowed

property newtonTol

Convergence criteria for force iterations

property normalForce

Normal force

property rAvg

Average radius of the two interacting bubbles

property surfaceTension

Surface tension of the surrounding liquid

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

class yade.wrapper.CapillaryMindlinPhysDelaunay(inherits MindlinPhys RotStiffFrictPhys FrictPhys NormShearPhys NormPhys IPhys Serializable)

An extended version of ̀(iPhysType), adding capillary data for CapillarityEngine.

property Delta1

Defines the surface area wetted by the meniscus on the smallest grains of radius R1 (R1<R2)

property Delta2

Defines the surface area wetted by the meniscus on the biggest grains of radius R2 (R1<R2)

property Fs

Shear force in local axes (computed incrementally)

property SInterface

Fluid-Gaz Interfacial area

property adhesionForce

Force of adhesion as predicted by DMT

property arcLength

Arc Length of the Fluid-Gaz Interface

property beta

Auxiliary parameter used in the viscous damping model of [Mueller2011]

property betan

Normal Damping Ratio. Fraction of the viscous damping coefficient (normal direction) equal to \(\frac{c_{n}}{C_{n,crit}}\).

property betas

Shear Damping Ratio. Fraction of the viscous damping coefficient (shear direction) equal to \(\frac{c_{s}}{C_{s,crit}}\).

property capillaryPressure

Value of the capillary pressure Uc defines as Ugas-Uliquid

property computeBridge

If true, capillary bridge will be computed if not it will be ignored.

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((IPhys)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property fCap

Capillary Force produces by the presence of the meniscus

property fusionNumber

Indicates the number of meniscii that overlap with this one

property initD

initial penetration distance, used for crackaperture estimate

property isAdhesive

bool to identify if the contact is adhesive, that is to say if the contact force is attractive

property isBroken

If true, capillary force is zero and liquid bridge is inactive.

property isSliding

check if the contact is sliding (useful to calculate the ratio of sliding contacts)

property kn

Normal stiffness

property kno

Constant value in the formulation of the normal stiffness

property kr

rotational stiffness [N.m/rad]

property ks

Shear stiffness

property kso

Constant value in the formulation of the tangential stiffness

property ktw

twist stiffness [N.m/rad]

property maxBendPl

Coefficient to determine the maximum plastic moment to apply at the contact

property meniscus

Presence of a meniscus if true

property momentBend

Artificial bending moment to provide rolling resistance in order to account for some degree of interlocking between particles

property momentTwist

Artificial twisting moment (no plastic condition can be applied at the moment)

property normalForce

Normal force after previous step (in global coordinates), as sustained by particle #2 (from particle #1).

property normalViscous

Normal viscous component

property prevU

Previous local displacement; only used with Law2_L3Geom_FrictPhys_HertzMindlin.

property radius

Contact radius (only computed with Law2_ScGeom_MindlinPhys_Mindlin::calcEnergy)

property shearElastic

Total elastic shear force

property shearForce

Shear force after previous step (in global coordinates), as sustained by particle #2 (from particle #1).

property shearViscous

Shear viscous component

property tangensOfFrictionAngle

tan of angle of friction

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property usElastic

Total elastic shear displacement (only elastic part)

property usTotal

Total elastic shear displacement (elastic+plastic part)

property vMeniscus

Volume of the menicus

class yade.wrapper.CapillaryPhys(inherits FrictPhys NormShearPhys NormPhys IPhys Serializable)

Physics (of interaction) for Law2_ScGeom_CapillaryPhys_Capillarity.

property Delta1

Defines the surface area wetted by the meniscus on the smallest grains of radius R1 (R1<R2)

property Delta2

Defines the surface area wetted by the meniscus on the biggest grains of radius R2 (R1<R2)

property capillaryPressure

Value of the capillary pressure Uc. Defined as Ugas-Uliquid, obtained from corresponding Law2 parameter

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((IPhys)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property fCap

Capillary force produced by the presence of the meniscus. This is the force acting on particle #2

property fusionNumber

Indicates the number of meniscii that overlap with this one

property isBroken

Might be set to true by the user to make liquid bridge inactive (capillary force is zero)

property kn

Normal stiffness

property ks

Shear stiffness

property meniscus

True when a meniscus with a non-zero liquid volume (vMeniscus) has been computed for this interaction

property nn11

\(\iint_A n_1 n_1 \, dS = \iint_A n_2 n_2 \, dS\), \(A\) being the liquid-gas surface of the meniscus, \(\vec n\) the associated normal, and \((1,2,3)\) a local basis with \(3\) the meniscus orientation (ScGeom.normal). NB: \(A\) = 2 nn11 + nn33.

property nn33

\(\iint_A n_3 n_3 \, dS\), \(A\) being the liquid-gas surface of the meniscus, \(\vec n\) the associated normal, and \((1,2,3)\) a local basis with \(3\) the meniscus orientation (ScGeom.normal). NB: \(A\) = 2 nn11 + nn33.

property normalForce

Normal force after previous step (in global coordinates), as sustained by particle #2 (from particle #1).

property shearForce

Shear force after previous step (in global coordinates), as sustained by particle #2 (from particle #1).

property tangensOfFrictionAngle

tan of angle of friction

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property vMeniscus

Volume of the meniscus

class yade.wrapper.CapillaryPhysDelaunay(inherits FrictPhys NormShearPhys NormPhys IPhys Serializable)

An extended version of ̀FrictPhys, adding capillary data for CapillarityEngine.

property Delta1

Defines the surface area wetted by the meniscus on the smallest grains of radius R1 (R1<R2)

property Delta2

Defines the surface area wetted by the meniscus on the biggest grains of radius R2 (R1<R2)

property SInterface

Fluid-Gaz Interfacial area

property arcLength

Arc Length of the Fluid-Gaz Interface

property capillaryPressure

Value of the capillary pressure Uc defines as Ugas-Uliquid

property computeBridge

If true, capillary bridge will be computed if not it will be ignored.

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((IPhys)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property fCap

Capillary Force produces by the presence of the meniscus

property fusionNumber

Indicates the number of meniscii that overlap with this one

property isBroken

If true, capillary force is zero and liquid bridge is inactive.

property kn

Normal stiffness

property ks

Shear stiffness

property meniscus

Presence of a meniscus if true

property normalForce

Normal force after previous step (in global coordinates), as sustained by particle #2 (from particle #1).

property shearForce

Shear force after previous step (in global coordinates), as sustained by particle #2 (from particle #1).

property tangensOfFrictionAngle

tan of angle of friction

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property vMeniscus

Volume of the menicus

class yade.wrapper.CohFrictPhys(inherits RotStiffFrictPhys FrictPhys NormShearPhys NormPhys IPhys Serializable)

An interaction physics that extends RotStiffFrictPhys adding a breakable cohesive nature. Used e.g. by Law2_ScGeom6D_CohFrictPhys_CohesionMoment.

property cohesionBroken

is cohesion active? Set to false at the creation of a cohesive contact, and set to true when a fragile contact is broken

property cohesionDisablesFriction

is shear strength the sum of friction and adhesion or only adhesion?

property creep_viscosity

creep viscosity [Pa.s/m].

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((IPhys)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property fragile

do cohesion disappear when contact strength is exceeded?

property initCohesion

Initialize the cohesive behaviour with current state as equilibrium state (same as Ip2_CohFrictMat_CohFrictMat_CohFrictPhys::setCohesionNow but acting on only one interaction)

property kn

Normal stiffness

property kr

rotational stiffness [N.m/rad]

property ks

Shear stiffness

property ktw

twist stiffness [N.m/rad]

property maxRollPl

Coefficient of rolling friction (negative means elastic).

property maxTwistPl

Coefficient of twisting friction (negative means elastic).

property momentRotationLaw

set from CohFrictMat::momentRotationLaw in order to possibly use bending/twisting moment at contacts (if true). See Law2_ScGeom6D_CohFrictPhys_CohesionMoment::always_use_moment_law for details.

property moment_bending

Bending moment

property moment_twist

Twist moment

property normalAdhesion

tensile strength

property normalForce

Normal force after previous step (in global coordinates), as sustained by particle #2 (from particle #1).

property rollingAdhesion

maximum bending moment when normal force is null (a frictional term might be added depending on CohFrictPhys::cohesionDisablesFriction and CohFrictPhys::maxRollPl)

property shearAdhesion

cohesive part of the shear strength (a frictional term might be added depending on CohFrictPhys::cohesionDisablesFriction)

property shearForce

Shear force after previous step (in global coordinates), as sustained by particle #2 (from particle #1).

property tangensOfFrictionAngle

tan of angle of friction

property twistingAdhesion

maximum twisting moment when normal force is null (a frictional term might be added depending on CohFrictPhys::cohesionDisablesFriction and CohFrictPhys::maxTwistPl)

property unp

plastic normal displacement, only used for tensile behaviour and if CohFrictPhys::fragile =false.

property unpMax

maximum value of plastic normal displacement (counted positively), after that the interaction breaks even if CohFrictPhys::fragile =false. A negative value (i.e. -1) means no maximum.

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

class yade.wrapper.CpmPhys(inherits NormShearPhys NormPhys IPhys Serializable)

Representation of a single interaction of the Cpm type: storage for relevant parameters.

Evolution of the contact is governed by Law2_ScGeom_CpmPhys_Cpm, that includes damage effects and chages of parameters inside CpmPhys. See cpm-model for details.

property E

normal modulus (stiffness / crossSection) [Pa]

property Fn

Magnitude of normal force (auto-updated)

property Fs

Magnitude of shear force (auto-updated)

property G

shear modulus [Pa]

property crossSection

equivalent cross-section associated with this contact [m²]

cummBetaCount = 0
cummBetaIter = 0
property damLaw

Law for softening part of uniaxial tension. 0 for linear, 1 for exponential (default)

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((IPhys)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property dmgOverstress

damage viscous overstress (at previous step or at current step)

property dmgRateExp

exponent in the rate-dependent damage evolution

property dmgStrain

damage strain (at previous or current step)

property dmgTau

characteristic time for damage (if non-positive, the law without rate-dependence is used)

property epsCrackOnset

strain at which the material starts to behave non-linearly

property epsFracture

strain at which the bond is fully broken [-]

property epsN

Current normal strain (auto-updated)

property epsNPl

normal plastic strain (initially zero) (auto-updated)

property epsT

Current shear strain (auto-updated)

property epsTPl

shear plastic strain (initially zero) (auto-updated)

property equivStrainShearContrib

Coefficient of shear contribution to equivalent strain

static funcG((float)kappaD, (float)epsCrackOnset, (float)epsFracture[, (bool)neverDamage=False[, (int)damLaw=1]]) float :

Damage evolution law, evaluating the \(\omega\) parameter. \(\kappa_D\) is historically maximum strain, epsCrackOnset (\(\varepsilon_0\)) = CpmPhys.epsCrackOnset, epsFracture = CpmPhys.epsFracture; if neverDamage is True, the value returned will always be 0 (no damage). TODO

static funcGInv((float)omega, (float)epsCrackOnset, (float)epsFracture[, (bool)neverDamage=False[, (int)damLaw=1]]) float :

Inversion of damage evolution law, evaluating the \(\kappa_D\) parameter. \(\omega\) is damage, for other parameters see funcG function

property isCohesive

if not cohesive, interaction is deleted when distance is greater than zero.

property isoPrestress

“prestress” of this link (used to simulate isotropic stress)

property kappaD

Up to now maximum normal strain (semi-norm), non-decreasing in time (auto-updated)

property kn

Normal stiffness

property ks

Shear stiffness

property neverDamage

the damage evolution function will always return virgin state

property normalForce

Normal force after previous step (in global coordinates), as sustained by particle #2 (from particle #1).

property omega

Damage internal variable (auto-updated)

property plRateExp

exponent in the rate-dependent viscoplasticity

property plTau

characteristic time for viscoplasticity (if non-positive, no rate-dependence for shear)

property refLength

initial length of interaction [m]

property refPD

initial penetration depth of interaction [m] (used with ScGeom)

property relDuctility

Relative ductility of bonds in normal direction

property relResidualStrength

Relative residual strength (auto-updated)

setDamage((CpmPhys)arg1, (float)arg2) None :

TODO

setRelResidualStrength((CpmPhys)arg1, (float)arg2) None :

TODO

property shearForce

Shear force after previous step (in global coordinates), as sustained by particle #2 (from particle #1).

property sigmaN

Current normal stress (auto-updated)

property sigmaT

Current shear stress (auto-updated)

property tanFrictionAngle

tangens of internal friction angle [-]

property undamagedCohesion

virgin material cohesion [Pa]

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

class yade.wrapper.FrictPhys(inherits NormShearPhys NormPhys IPhys Serializable)

The simple linear elastic-plastic interaction with friction angle, like in the traditional [CundallStrack1979]

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((IPhys)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property kn

Normal stiffness

property ks

Shear stiffness

property normalForce

Normal force after previous step (in global coordinates), as sustained by particle #2 (from particle #1).

property shearForce

Shear force after previous step (in global coordinates), as sustained by particle #2 (from particle #1).

property tangensOfFrictionAngle

tan of angle of friction

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

class yade.wrapper.FrictViscoPhys(inherits FrictPhys NormShearPhys NormPhys IPhys Serializable)

Representation of a single interaction of the FrictViscoPM type, storage for relevant parameters

property cn

Normal viscous constant defined as \(\c_{n}=c_{n,crit}\beta_n\).

property cn_crit

Normal viscous constant for ctitical damping defined as \(\c_{n}=C_{n,crit}\beta_n\).

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((IPhys)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property kn

Normal stiffness

property ks

Shear stiffness

property normalForce

Normal force after previous step (in global coordinates), as sustained by particle #2 (from particle #1).

property normalViscous

Normal viscous component

property shearForce

Shear force after previous step (in global coordinates), as sustained by particle #2 (from particle #1).

property tangensOfFrictionAngle

tan of angle of friction

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

class yade.wrapper.InelastCohFrictPhys(inherits RotStiffFrictPhys FrictPhys NormShearPhys NormPhys IPhys Serializable)
property cohesionBroken

is cohesion active? will be set false when a fragile contact is broken

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((IPhys)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property isBroken

true if compression plastic fracture achieved

property kDam

Damage coefficient on bending, computed from maximum bending moment reached and pure creep behaviour. Its values will vary between InelastCohFrictPhys::kr and InelastCohFrictPhys::kRCrp .

property kRCrp

Bending creep stiffness

property kRUnld

Bending plastic unload stiffness

property kTCrp

Tension/compression creep stiffness

property kTUnld

Tension/compression plastic unload stiffness

property kTwCrp

Twist creep stiffness

property kTwUnld

Twist plastic unload stiffness

property kn

Normal stiffness

property knC

compression stiffness

property knT

tension stiffness

property kr

rotational stiffness [N.m/rad]

property ks

shear stiffness

property ktw

twist stiffness [N.m/rad]

property maxBendMom

Plastic failure bending moment.

property maxContract

Plastic failure contraction (shrinkage).

property maxCrpRchdB

maximal bending moment reached on plastic deformation.

property maxCrpRchdC

maximal compression reached on plastic deformation. maxCrpRchdC[0] stores un and maxCrpRchdC[1] stores Fn.

property maxCrpRchdT

maximal extension reached on plastic deformation. maxCrpRchdT[0] stores un and maxCrpRchdT[1] stores Fn.

property maxCrpRchdTw

maximal twist reached on plastic deformation. maxCrpRchdTw[0] stores twist angle and maxCrpRchdTw[1] stores twist moment.

property maxElB

Maximum bending elastic moment.

property maxElC

Maximum compression elastic force.

property maxElT

Maximum tension elastic force.

property maxElTw

Maximum twist elastic moment.

property maxExten

Plastic failure extension (stretching).

property maxTwist

Plastic failure twist angle

property moment_bending

Bending moment

property moment_twist

Twist moment

property normalForce

Normal force after previous step (in global coordinates), as sustained by particle #2 (from particle #1).

property onPlastB

true if plasticity achieved on bending

property onPlastC

true if plasticity achieved on compression

property onPlastT

true if plasticity achieved on traction

property onPlastTw

true if plasticity achieved on twisting

property pureCreep

Pure creep curve, used for comparison in calculation.

property shearAdhesion

Maximum elastic shear force (cohesion).

property shearForce

Shear force after previous step (in global coordinates), as sustained by particle #2 (from particle #1).

property tangensOfFrictionAngle

tan of angle of friction

property twp

plastic twist penetration depth describing the equilibrium state.

property unp

plastic normal penetration depth describing the equilibrium state.

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

class yade.wrapper.JCFpmPhys(inherits NormShearPhys NormPhys IPhys Serializable)

Representation of a single interaction of the JCFpm type, storage for relevant parameters

property FnMax

positiv value computed from tensile strength (or joint variant) to define the maximum admissible normal force in traction: Fn >= -FnMax. [N]

property FsMax

computed from cohesion (or jointCohesion) to define the maximum admissible tangential force in shear, for Fn=0. [N]

property checkedForCluster

Have we checked if this int belongs in cluster?

property clusterInts

vector of pointers to the broken interactions nearby constituting a cluster

property clusteredEvent

is this interaction part of a cluster?

property computedCentroid

Flag for moment calculation

property crackJointAperture

Relative displacement between 2 spheres (in case of a crack it is equivalent of the crack aperture)

property crossSection

crossSection=pi*Rmin^2. [m2]

dict((Serializable)arg1) dict :

Return dictionary of attributes.

property dilation

defines the normal displacement in the joint after sliding treshold. [m]

dispHierarchy((IPhys)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property elapsedIter

number of elapsed iterations for moment calculation

property eventBeginTime

The time at which event initiated

property eventNumber

cluster event number

property firstMomentCalc

Flag for moment calculation (auto-updated)

property initD

equilibrium distance for interacting particles. Computed as the interparticular distance at first contact detection.

property interactionsAdded

have we added the ints associated with this event?

property isBroken

flag for broken interactions

property isCohesive

If false, particles interact in a frictional way. If true, particles are bonded regarding the given cohesion and tensile strength (or their jointed variants).

property isOnJoint

defined as true when both interacting particles are on joint and are in opposite sides of the joint surface. In this case, mechanical parameters of the interaction are derived from the ‘’joint…’’ material properties of the particles. Furthermore, the normal of the interaction may be re-oriented (see Law2_ScGeom_JCFpmPhys_JointedCohesiveFrictionalPM.smoothJoint).

property isOnSlot

defined as true when interaction is located in the perforation slot (surface).

property jointCumulativeSliding

sliding distance for particles interacting on a joint. Used, when is true, to take into account dilatancy due to shearing. [-]

property jointNormal

normal direction to the joint, deduced from e.g. .

property kineticEnergy

kinetic energy of the two spheres participating in the interaction (easiest to store this value with interaction instead of spheres since we are using this information for moment magnitude estimations and associated interaction searches)

property kn

Normal stiffness

property ks

Shear stiffness

property momentBroken

Flag for moment calculation

property momentCalculated

Flag for moment calculation to avoid repeating twice the operations (auto-updated)

property momentCentroid

centroid of the AE event (avg location of clustered breaks)

property momentEnergy

reference strain (or kinetic) energy of surrounding interactions (particles)

property momentEnergyChange

storage of the maximum strain (or kinetic) energy change for surrounding interactions (particles)

property momentMagnitude

Moment magnitude of a failed interaction

property more

specifies if the interaction is crossed by more than 3 joints. If true, interaction is deleted (temporary solution).

property nearbyFound

Count used to debug moment calc

property nearbyInts

vector of pointers to the nearby ints used for moment calc

property normalForce

Normal force after previous step (in global coordinates), as sustained by particle #2 (from particle #1).

property originalClusterEvent

the original AE event for a cluster

property originalEvent

pointer to the original interaction of a cluster

property shearForce

Shear force after previous step (in global coordinates), as sustained by particle #2 (from particle #1).

property strainEnergy

strain energy of interaction

property tanDilationAngle

tangent of the angle defining the dilatancy of the joint surface (auto. computed from JCFpmMat.jointDilationAngle). [-]

property tanFrictionAngle

tangent of Coulomb friction angle for this interaction (auto. computed). [-]

property temporalWindow

temporal window for the clustering algorithm

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

class yade.wrapper.KnKsPBPhys(inherits FrictPhys NormShearPhys NormPhys IPhys Serializable)

EXPERIMENTAL. IPhys for PotentialBlock.

property cohesion

Cohesion (stress units)

property cohesionBroken

Whether cohesion is already broken. Considered true for particles with isBoundary=True

property contactArea

Contact area (auto-updated)

property cumulative_us

Cumulative translation

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((IPhys)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property effective_phi

Friction angle in clay after displacement

property frictionAngle

Friction angle

property initialShearDir

Initial shear direction

property intactRock

Whether to consider cohesive force in the Mohr-Coulomb criterion, if Law2_SCG_KnKsPBPhys_KnKsPBLaw.allowBreakage=False and cohesionBroken=False

property isSliding

Check if the contact is sliding (useful to calculate the ratio of sliding contacts)

property jointLength

Approximated contact length

property jointType

jointType

property kn

Normal stiffness

property knVol

Volumetric normal stiffness = Knormal

property kn_i

initial normal stiffness, user must provide input during initialisation

property ks

Shear stiffness

property ksVol

Volumetric shear stiffness = Kshear

property ks_i

initial shear stiffness, user must provide input during initialisation

property mobilizedShear

Percentage of mobilized shear force as the ratio of the current shear force to the current frictional limit. Represents a quantified measure of the isSliding parameter

property normalForce

Normal force after previous step (in global coordinates), as sustained by particle #2 (from particle #1).

property normalViscous

Viscous normal force

property phi_b

Basic friction angle (degrees)

property phi_r

Residual friction angle (degrees)

property prevNormal

Previous contact normal

property prevSigma

Previous normal stress

property ptOnP1

Point on particle 1

property ptOnP2

Point on particle 2

property shearDir

Shear direction

property shearForce

Shear force after previous step (in global coordinates), as sustained by particle #2 (from particle #1).

property shearIncrementForCD

toSeeWhether it is necessary to update contactArea

property shearViscous

Viscous shear force (assumed zero at the moment)

property smallerID

id of particle with smaller plane

property tangensOfFrictionAngle

tan of angle of friction

property tension

Tension (stress units)

property tensionBroken

Whether tension is already broken. Considered true for particles with isBoundary=True

property u_cumulative

Cumulative translation

property u_elastic

Elastic shear displacement, not fully in use

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property useFaceProperties

Whether to get face properties from the intersecting particles

property viscousDamping

Viscous damping

property warmstart

Warmstart for SOCP, not fully in use

class yade.wrapper.KnKsPhys(inherits FrictPhys NormShearPhys NormPhys IPhys Serializable)

EXPERIMENTAL. IPhys for PotentialParticle.

property brittleLength

Shear length where strength degrades, not fully in use

property cohesion

Cohesion

property cohesionBroken

Whether cohesion is already broken. Considered true for particles with isBoundary=True

property contactArea

Contact area (auto-updated)

property cumulative_us

Cumulative shear translation (not fully in use)

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((IPhys)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property effective_phi

Friction angle in clay after displacement

property frictionAngle

Friction angle

property initialShearDir

Initial shear direction

property intactRock

Whether to consider cohesive force in the Mohr-Coulomb criterion, if allowBreakage=False and cohesionBroken=False.

property isSliding

Check if the contact is sliding (useful to calculate the ratio of sliding contacts)

property jointLength

Approximated contact length

property jointType

jointType

property kn

Normal stiffness

property knVol

Volumetric normal stiffness = Knormal

property kn_i

Currently, we assume kn_i and Knormal are adopting the same value in Ip2 initialisation

property ks

Shear stiffness

property ksVol

Volumetric shear stiffness = Kshear

property ks_i

Currently, we assume ks_i and Kshear are adopting the same value in Ip2 initialisation

property maxClosure

not fully in use, vmi

property mobilizedShear

Percentage of mobilized shear force as the ratio of the current shear force to the current frictional limit. Represents a quantified measure of the isSliding parameter

property normalForce

Normal force after previous step (in global coordinates), as sustained by particle #2 (from particle #1).

property normalViscous

Viscous normal force

property phi_b

Basic friction angle (degrees)

property phi_r

Residual friction angle (degrees)

property prevNormal

Previous normal

property prevSigma

Previous normal stress

property ptOnP1

Point on particle 1

property ptOnP2

Point on particle 2

property shearDir

Shear direction

property shearForce

Shear force after previous step (in global coordinates), as sustained by particle #2 (from particle #1).

property shearIncrementForCD

toSeeWhether it is necessary to update contactArea

property shearViscous

Viscous shear force (assumed zero at the moment)

property tangensOfFrictionAngle

tan of angle of friction

property tension

Tension

property tensionBroken

Whether tension is already broken. Considered true for particles with isBoundary=True

property u_cumulative

Cumulative translation

property u_elastic

Elastic shear displacement, not fully in use

updateAttrs((Serializable)arg1, (dict)arg2) None :

Update object attributes from given dictionary

property useFaceProperties

Whether to get face properties from the intersecting particles

property viscousDamping

Viscous damping ratio, taken equal to Ip2_FrictMat_FrictMat_KnKsPhys.viscousDamping

property warmstart

Warmstart for SOCP, not fully in use

class yade.wrapper.LubricationPhys(inherits ViscElPhys FrictPhys NormShearPhys NormPhys IPhys Serializable)

IPhys class for Lubrication w/o FlowEngine. Used by Law2_ScGeom_ImplicitLubricationPhys.

property Fn

Linear-elastic part of the normal force of the contact

property Fv

Viscous part of the normal force of the contact

property a

Mean radius [m]

property cn

Normal viscous constant

property contact

The spheres are in contact

property cs

Shear viscous constant

property delta

\(\log(u)\) - used for scheme with \(\delta=\log(u)\) variable change

dict((Serializable)arg1) dict :

Return dictionary of attributes.

dispHierarchy((IPhys)arg1[, (bool)names=True]) list :

Return list of dispatch classes (from down upwards), starting with the class instance itself, top-level indexable at last. If names is true (default), return class names rather than numerical indices.

property dispIndex

Return class index of this instance.

property eps

Roughness: fraction of radius used as roughness [-]

property eta

Fluid viscosity [Pa.s]

property keps

stiffness coefficient of the asperities [N/m]. Only used with resolution method=0, with resolution>0 it is always equal to kn.

property kn

Normal stiffness

property kno

Coefficient for normal stiffness (Hertzian-like contact) [N/m^(3/2)]