Yade wrapper class reference¶
Bodies¶
Body¶
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"];
"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)"];
"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)"];
"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)"];
"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)"];
"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)"];
"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)"];
"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)"];
"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)"];
"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)"];
"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)"];
"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)"];
"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)"];
"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)"];
"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)"];
"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)"];
"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)"];
"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)"];
"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)"];
"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)"];
}](_images/graphviz-20016f7a6c6d9da5818a3786ae5557b85aa75ba8.png)
Inheritance graph of Shape.¶
- 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
- getVolume((Box)arg1) float :¶
Returns the shape volume.
- 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).
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"];
"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)"];
"SegmentedState" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.SegmentedState"];
"SegmentedState" -> "State" [arrowsize=0.5,style="setlinewidth(0.5)"];
"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)"];
"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)"];
"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)"];
"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)"];
"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)"];
}](_images/graphviz-d90bd40d3b83987c23ab7cf638450106286d2888.png)
Inheritance graph of State.¶
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"];
"CohFrictMatSeg" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.CohFrictMatSeg"];
"CohFrictMatSeg" -> "CohFrictMat" [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)"];
"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)"];
"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)"];
"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)"];
"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)"];
"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)"];
"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)"];
"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)"];
"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)"];
"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)"];
"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)"];
"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)"];
"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)"];
"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)"];
"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)"];
"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)"];
"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)"];
"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)"];
"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)"];
"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)"];
"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)"];
}](_images/graphviz-5a79dd30282a0515728fa5289bf99eaba3a654cb.png)
Inheritance graph of Material.¶
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)"];
}](_images/graphviz-48a8da181494e3b764845e2e15d59f23aec387fc.png)
Inheritance graph of Bound.¶
Interactions¶
Interaction¶
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"];
"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)"];
"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)"];
"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)"];
"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)"];
"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)"];
"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)"];
"LSnodeGeom" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.LSnodeGeom"];
"LSnodeGeom" -> "ScGeom" [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)"];
"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)"];
"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)"];
"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)"];
"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)"];
"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)"];
"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)"];
"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)"];
"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)"];
}](_images/graphviz-6d44a426c7f307e35b4adc7d3a87660725e8d481.png)
Inheritance graph of IGeom.¶
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"];
"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)"];
"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)"];
"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)"];
"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)"];
"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)"];
"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)"];
"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)"];
"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)"];
"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)"];
"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)"];
"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)"];
"MultiViscElPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.MultiViscElPhys"];
"MultiViscElPhys" -> "MultiPhys" [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)"];
"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)"];
"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)"];
"MultiPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.MultiPhys"];
"MultiPhys" -> "IPhys" [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)"];
"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)"];
"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)"];
"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)"];
"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)"];
"MultiFrictPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.MultiFrictPhys"];
"MultiFrictPhys" -> "MultiPhys" [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)"];
"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)"];
"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)"];
"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)"];
"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)"];
"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)"];
"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)"];
}](_images/graphviz-665114016512af73b8bfbbd554b4f745ff2353c1.png)
Inheritance graph of IPhys.¶
Global engines¶
GlobalEngine¶
![digraph GlobalEngine {
rankdir=RL;
margin="0.2,0.05";
"GlobalEngine" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.GlobalEngine"];
"TimeStepper" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.TimeStepper"];
"TimeStepper" -> "GlobalEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"MicroMacroAnalyser" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.MicroMacroAnalyser"];
"MicroMacroAnalyser" -> "GlobalEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"PeriodicEngine" [shape="box",fontsize=8,style="setlinewidth(0.5),filled,dashed",fillcolor=grey,height=0.2,URL="yade.wrapper.html#inheritancegraphperiodicengine"];
"PeriodicEngine" -> "GlobalEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"FieldApplier" [shape="box",fontsize=8,style="setlinewidth(0.5),filled,dashed",fillcolor=grey,height=0.2,URL="yade.wrapper.html#inheritancegraphfieldapplier"];
"FieldApplier" -> "GlobalEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"FoamCoupling" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.FoamCoupling"];
"FoamCoupling" -> "GlobalEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"CapillarityEngine" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.CapillarityEngine"];
"CapillarityEngine" -> "GlobalEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"NewtonIntegrator" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.NewtonIntegrator"];
"NewtonIntegrator" -> "GlobalEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Law2_ScGeom_CapillaryPhys_Capillarity" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Law2_ScGeom_CapillaryPhys_Capillarity"];
"Law2_ScGeom_CapillaryPhys_Capillarity" -> "GlobalEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"ElasticContactLaw" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.ElasticContactLaw"];
"ElasticContactLaw" -> "GlobalEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"BoundaryController" [shape="box",fontsize=8,style="setlinewidth(0.5),filled,dashed",fillcolor=grey,height=0.2,URL="yade.wrapper.html#inheritancegraphboundarycontroller"];
"BoundaryController" -> "GlobalEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"CohesiveFrictionalContactLaw" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.CohesiveFrictionalContactLaw"];
"CohesiveFrictionalContactLaw" -> "GlobalEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Collider" [shape="box",fontsize=8,style="setlinewidth(0.5),filled,dashed",fillcolor=grey,height=0.2,URL="yade.wrapper.html#inheritancegraphcollider"];
"Collider" -> "GlobalEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"TesselationWrapper" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.TesselationWrapper"];
"TesselationWrapper" -> "GlobalEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"HydrodynamicsLawLBM" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.HydrodynamicsLawLBM"];
"HydrodynamicsLawLBM" -> "GlobalEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"GlobalStiffnessTimeStepper" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.GlobalStiffnessTimeStepper"];
"GlobalStiffnessTimeStepper" -> "TimeStepper" [arrowsize=0.5,style="setlinewidth(0.5)"];
"BoxFactory" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.BoxFactory"];
"BoxFactory" -> "SpheresFactory" [arrowsize=0.5,style="setlinewidth(0.5)"];
"InteractionLoop" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.InteractionLoop"];
"InteractionLoop" -> "GlobalEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Integrator" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Integrator"];
"Integrator" -> "TimeStepper" [arrowsize=0.5,style="setlinewidth(0.5)"];
"RungeKuttaCashKarp54Integrator" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.RungeKuttaCashKarp54Integrator"];
"RungeKuttaCashKarp54Integrator" -> "Integrator" [arrowsize=0.5,style="setlinewidth(0.5)"];
"TetraVolumetricLaw" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.TetraVolumetricLaw"];
"TetraVolumetricLaw" -> "GlobalEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"FacetTopologyAnalyzer" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.FacetTopologyAnalyzer"];
"FacetTopologyAnalyzer" -> "GlobalEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"FEInternalForceEngine" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.FEInternalForceEngine"];
"FEInternalForceEngine" -> "GlobalEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"ForceResetter" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.ForceResetter"];
"ForceResetter" -> "GlobalEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"SpheresFactory" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.SpheresFactory"];
"SpheresFactory" -> "GlobalEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"CircularFactory" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.CircularFactory"];
"CircularFactory" -> "SpheresFactory" [arrowsize=0.5,style="setlinewidth(0.5)"];
}](_images/graphviz-d1d14a4c46532271b65cb2f1acca83c9a0df5db9.png)
Inheritance graph of GlobalEngine, gray dashed classes are discussed in their own sections: PeriodicEngine, FieldApplier, BoundaryController, Collider.¶
PeriodicEngine¶
![digraph PeriodicEngine {
rankdir=RL;
margin="0.2,0.05";
"PeriodicEngine" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.PeriodicEngine"];
"DomainLimiter" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.DomainLimiter"];
"DomainLimiter" -> "PeriodicEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"RockLiningGlobal" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.RockLiningGlobal"];
"RockLiningGlobal" -> "PeriodicEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"CapillaryStressRecorder" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.CapillaryStressRecorder"];
"CapillaryStressRecorder" -> "Recorder" [arrowsize=0.5,style="setlinewidth(0.5)"];
"PDFEngine" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.PDFEngine"];
"PDFEngine" -> "PeriodicEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"SnapshotEngine" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.SnapshotEngine"];
"SnapshotEngine" -> "PeriodicEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"TriaxialStateRecorder" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.TriaxialStateRecorder"];
"TriaxialStateRecorder" -> "Recorder" [arrowsize=0.5,style="setlinewidth(0.5)"];
"ForceRecorder" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.ForceRecorder"];
"ForceRecorder" -> "Recorder" [arrowsize=0.5,style="setlinewidth(0.5)"];
"PotentialBlockVTKRecorder" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.PotentialBlockVTKRecorder"];
"PotentialBlockVTKRecorder" -> "PeriodicEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"SegmentedMatSprinkler" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.SegmentedMatSprinkler"];
"SegmentedMatSprinkler" -> "PeriodicEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"ResetRandomPosition" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.ResetRandomPosition"];
"ResetRandomPosition" -> "PeriodicEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"SplitPolyMohrCoulomb" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.SplitPolyMohrCoulomb"];
"SplitPolyMohrCoulomb" -> "PolyhedraSplitter" [arrowsize=0.5,style="setlinewidth(0.5)"];
"PolyhedraSplitter" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.PolyhedraSplitter"];
"PolyhedraSplitter" -> "PeriodicEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Recorder" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Recorder"];
"Recorder" -> "PeriodicEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"PyRunner" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.PyRunner"];
"PyRunner" -> "PeriodicEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"SegmentedStateUpdater" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.SegmentedStateUpdater"];
"SegmentedStateUpdater" -> "PeriodicEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"CpmStateUpdater" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.CpmStateUpdater"];
"CpmStateUpdater" -> "PeriodicEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"MeasureCapStress" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.MeasureCapStress"];
"MeasureCapStress" -> "PeriodicEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"RockBolt" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.RockBolt"];
"RockBolt" -> "PeriodicEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"TorqueRecorder" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.TorqueRecorder"];
"TorqueRecorder" -> "Recorder" [arrowsize=0.5,style="setlinewidth(0.5)"];
"LubricationPDFEngine" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.LubricationPDFEngine"];
"LubricationPDFEngine" -> "PDFEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"PotentialParticleVTKRecorder" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.PotentialParticleVTKRecorder"];
"PotentialParticleVTKRecorder" -> "PeriodicEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"SplitPolyTauMax" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.SplitPolyTauMax"];
"SplitPolyTauMax" -> "PolyhedraSplitter" [arrowsize=0.5,style="setlinewidth(0.5)"];
"VTKRecorder" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.VTKRecorder"];
"VTKRecorder" -> "PeriodicEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
}](_images/graphviz-a86564fa306311bc61b1ecbc08f1544828d467e0.png)
Inheritance graph of PeriodicEngine.¶
BoundaryController¶
![digraph BoundaryController {
rankdir=RL;
margin="0.2,0.05";
"BoundaryController" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.BoundaryController"];
"VESupportEngine" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.VESupportEngine"];
"VESupportEngine" -> "BoundaryController" [arrowsize=0.5,style="setlinewidth(0.5)"];
"KinemSimpleShearBox" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.KinemSimpleShearBox"];
"KinemSimpleShearBox" -> "BoundaryController" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Disp2DPropLoadEngine" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Disp2DPropLoadEngine"];
"Disp2DPropLoadEngine" -> "BoundaryController" [arrowsize=0.5,style="setlinewidth(0.5)"];
"KinemCNSEngine" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.KinemCNSEngine"];
"KinemCNSEngine" -> "KinemSimpleShearBox" [arrowsize=0.5,style="setlinewidth(0.5)"];
"KinemCNLEngine" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.KinemCNLEngine"];
"KinemCNLEngine" -> "KinemSimpleShearBox" [arrowsize=0.5,style="setlinewidth(0.5)"];
"KinemCNDEngine" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.KinemCNDEngine"];
"KinemCNDEngine" -> "KinemSimpleShearBox" [arrowsize=0.5,style="setlinewidth(0.5)"];
"TriaxialStressController" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.TriaxialStressController"];
"TriaxialStressController" -> "BoundaryController" [arrowsize=0.5,style="setlinewidth(0.5)"];
"TriaxialCompressionEngine" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.TriaxialCompressionEngine"];
"TriaxialCompressionEngine" -> "TriaxialStressController" [arrowsize=0.5,style="setlinewidth(0.5)"];
"UniaxialStrainer" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.UniaxialStrainer"];
"UniaxialStrainer" -> "BoundaryController" [arrowsize=0.5,style="setlinewidth(0.5)"];
"PeriIsoCompressor" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.PeriIsoCompressor"];
"PeriIsoCompressor" -> "BoundaryController" [arrowsize=0.5,style="setlinewidth(0.5)"];
"PeriTriaxController" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.PeriTriaxController"];
"PeriTriaxController" -> "BoundaryController" [arrowsize=0.5,style="setlinewidth(0.5)"];
"ThreeDTriaxialEngine" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.ThreeDTriaxialEngine"];
"ThreeDTriaxialEngine" -> "TriaxialStressController" [arrowsize=0.5,style="setlinewidth(0.5)"];
"KinemCTDEngine" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.KinemCTDEngine"];
"KinemCTDEngine" -> "KinemSimpleShearBox" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Peri3dController" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Peri3dController"];
"Peri3dController" -> "BoundaryController" [arrowsize=0.5,style="setlinewidth(0.5)"];
}](_images/graphviz-ccfa97d973714475978c2e453beab631c0011365.png)
Inheritance graph of BoundaryController.¶
Collider¶
![digraph Collider {
rankdir=RL;
margin="0.2,0.05";
"Collider" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Collider"];
"InsertionSortCollider" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.InsertionSortCollider"];
"InsertionSortCollider" -> "Collider" [arrowsize=0.5,style="setlinewidth(0.5)"];
"GeneralIntegratorInsertionSortCollider" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.GeneralIntegratorInsertionSortCollider"];
"GeneralIntegratorInsertionSortCollider" -> "InsertionSortCollider" [arrowsize=0.5,style="setlinewidth(0.5)"];
"SpatialQuickSortCollider" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.SpatialQuickSortCollider"];
"SpatialQuickSortCollider" -> "Collider" [arrowsize=0.5,style="setlinewidth(0.5)"];
"FlatGridCollider" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.FlatGridCollider"];
"FlatGridCollider" -> "Collider" [arrowsize=0.5,style="setlinewidth(0.5)"];
}](_images/graphviz-ad10487a2c6b55cd9bb8925542df6123198f759e.png)
Inheritance graph of Collider.¶
FieldApplier¶
![digraph FieldApplier {
rankdir=RL;
margin="0.2,0.05";
"FieldApplier" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.FieldApplier"];
"CentralConstantAccelerationEngine" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.CentralConstantAccelerationEngine"];
"CentralConstantAccelerationEngine" -> "FieldApplier" [arrowsize=0.5,style="setlinewidth(0.5)"];
"GravityEngine" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.GravityEngine"];
"GravityEngine" -> "FieldApplier" [arrowsize=0.5,style="setlinewidth(0.5)"];
"HdapsGravityEngine" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.HdapsGravityEngine"];
"HdapsGravityEngine" -> "GravityEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"AxialGravityEngine" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.AxialGravityEngine"];
"AxialGravityEngine" -> "FieldApplier" [arrowsize=0.5,style="setlinewidth(0.5)"];
}](_images/graphviz-be8aa9040df71aae456ba4a3ca989702229ddee3.png)
Inheritance graph of FieldApplier.¶
Partial engines¶
![digraph PartialEngine {
rankdir=RL;
margin="0.2,0.05";
"PartialEngine" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.PartialEngine"];
"FlowEngineT" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.FlowEngineT"];
"FlowEngineT" -> "PartialEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"LawTester" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.LawTester"];
"LawTester" -> "PartialEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"HarmonicMotionEngine" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.HarmonicMotionEngine"];
"HarmonicMotionEngine" -> "KinematicEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"ForceEngine" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.ForceEngine"];
"ForceEngine" -> "PartialEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"CombinedKinematicEngine" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.CombinedKinematicEngine"];
"CombinedKinematicEngine" -> "PartialEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"InterpolatingDirectedForceEngine" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.InterpolatingDirectedForceEngine"];
"InterpolatingDirectedForceEngine" -> "ForceEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"StepDisplacer" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.StepDisplacer"];
"StepDisplacer" -> "PartialEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"UnsaturatedEngine" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.UnsaturatedEngine"];
"UnsaturatedEngine" -> "TwoPhaseFlowEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"PeriodicFlowEngine" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.PeriodicFlowEngine"];
"PeriodicFlowEngine" -> "FlowEngine_PeriodicInfo" [arrowsize=0.5,style="setlinewidth(0.5)"];
"PartialSatClayEngine" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.PartialSatClayEngine"];
"PartialSatClayEngine" -> "PartialSatClayEngineT" [arrowsize=0.5,style="setlinewidth(0.5)"];
"HydroForceEngine" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.HydroForceEngine"];
"HydroForceEngine" -> "PartialEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"HelixEngine" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.HelixEngine"];
"HelixEngine" -> "RotationEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"TimeAverager" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.TimeAverager"];
"TimeAverager" -> "PartialEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"FlowEngine" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.FlowEngine"];
"FlowEngine" -> "FlowEngineT" [arrowsize=0.5,style="setlinewidth(0.5)"];
"InterpolatingHelixEngine" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.InterpolatingHelixEngine"];
"InterpolatingHelixEngine" -> "HelixEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"DragEngine" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.DragEngine"];
"DragEngine" -> "PartialEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"TwoPhaseFlowEngine" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.TwoPhaseFlowEngine"];
"TwoPhaseFlowEngine" -> "TwoPhaseFlowEngineT" [arrowsize=0.5,style="setlinewidth(0.5)"];
"RadialForceEngine" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.RadialForceEngine"];
"RadialForceEngine" -> "PartialEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"HarmonicForceEngine" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.HarmonicForceEngine"];
"HarmonicForceEngine" -> "PartialEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"TranslationEngine" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.TranslationEngine"];
"TranslationEngine" -> "KinematicEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"FlowEngine_PeriodicInfo" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.FlowEngine_PeriodicInfo"];
"FlowEngine_PeriodicInfo" -> "PartialEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"PartialSatClayEngineT" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.PartialSatClayEngineT"];
"PartialSatClayEngineT" -> "PartialEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"BicyclePedalEngine" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.BicyclePedalEngine"];
"BicyclePedalEngine" -> "KinematicEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"ThermalEngine" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.ThermalEngine"];
"ThermalEngine" -> "PartialEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"HarmonicRotationEngine" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.HarmonicRotationEngine"];
"HarmonicRotationEngine" -> "RotationEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"ServoPIDController" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.ServoPIDController"];
"ServoPIDController" -> "TranslationEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"KinematicEngine" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.KinematicEngine"];
"KinematicEngine" -> "PartialEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"TwoPhaseFlowEngineT" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.TwoPhaseFlowEngineT"];
"TwoPhaseFlowEngineT" -> "PartialEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"TorqueEngine" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.TorqueEngine"];
"TorqueEngine" -> "PartialEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"LinearDragEngine" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.LinearDragEngine"];
"LinearDragEngine" -> "PartialEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
"RotationEngine" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.RotationEngine"];
"RotationEngine" -> "KinematicEngine" [arrowsize=0.5,style="setlinewidth(0.5)"];
}](_images/graphviz-ac5734e4af7a34287c9cd987298c57bf94e6bb12.png)
Inheritance graph of PartialEngine.¶
Dispatchers¶
![digraph Dispatcher {
rankdir=RL;
margin="0.2,0.05";
"Dispatcher" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Dispatcher"];
"GlBoundDispatcher" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.GlBoundDispatcher"];
"GlBoundDispatcher" -> "Dispatcher" [arrowsize=0.5,style="setlinewidth(0.5)"];
"LawDispatcher" [shape="box",fontsize=8,style="setlinewidth(0.5),filled,dashed",fillcolor=grey,height=0.2,URL="yade.wrapper.html#yade.wrapper.LawDispatcher"];
"LawDispatcher" -> "Dispatcher" [arrowsize=0.5,style="setlinewidth(0.5)"];
"IPhysDispatcher" [shape="box",fontsize=8,style="setlinewidth(0.5),filled,dashed",fillcolor=grey,height=0.2,URL="yade.wrapper.html#yade.wrapper.IPhysDispatcher"];
"IPhysDispatcher" -> "Dispatcher" [arrowsize=0.5,style="setlinewidth(0.5)"];
"IGeomDispatcher" [shape="box",fontsize=8,style="setlinewidth(0.5),filled,dashed",fillcolor=grey,height=0.2,URL="yade.wrapper.html#yade.wrapper.IGeomDispatcher"];
"IGeomDispatcher" -> "Dispatcher" [arrowsize=0.5,style="setlinewidth(0.5)"];
"BoundDispatcher" [shape="box",fontsize=8,style="setlinewidth(0.5),filled,dashed",fillcolor=grey,height=0.2,URL="yade.wrapper.html#yade.wrapper.BoundDispatcher"];
"BoundDispatcher" -> "Dispatcher" [arrowsize=0.5,style="setlinewidth(0.5)"];
"GlIGeomDispatcher" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.GlIGeomDispatcher"];
"GlIGeomDispatcher" -> "Dispatcher" [arrowsize=0.5,style="setlinewidth(0.5)"];
"GlShapeDispatcher" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.GlShapeDispatcher"];
"GlShapeDispatcher" -> "Dispatcher" [arrowsize=0.5,style="setlinewidth(0.5)"];
"GlIPhysDispatcher" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.GlIPhysDispatcher"];
"GlIPhysDispatcher" -> "Dispatcher" [arrowsize=0.5,style="setlinewidth(0.5)"];
"GlStateDispatcher" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.GlStateDispatcher"];
"GlStateDispatcher" -> "Dispatcher" [arrowsize=0.5,style="setlinewidth(0.5)"];
"InternalForceDispatcher" [shape="box",fontsize=8,style="setlinewidth(0.5),filled,dashed",fillcolor=grey,height=0.2,URL="yade.wrapper.html#yade.wrapper.InternalForceDispatcher"];
"InternalForceDispatcher" -> "Dispatcher" [arrowsize=0.5,style="setlinewidth(0.5)"];
}](_images/graphviz-70dd8a32bd20b5611d5d6ae1383a41b5fa0aac69.png)
Inheritance graph of Dispatcher, gray dashed classes are discussed in their own sections: LawDispatcher, IPhysDispatcher, IGeomDispatcher, BoundDispatcher, InternalForceDispatcher.¶
Functors¶
![digraph Functor {
rankdir=RL;
margin="0.2,0.05";
"Functor" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Functor"];
"GlBoundFunctor" [shape="box",fontsize=8,style="setlinewidth(0.5),filled,dashed",fillcolor=grey,height=0.2,URL="yade.wrapper.html#inheritancegraphglboundfunctor"];
"GlBoundFunctor" -> "Functor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"BoundFunctor" [shape="box",fontsize=8,style="setlinewidth(0.5),filled,dashed",fillcolor=grey,height=0.2,URL="yade.wrapper.html#inheritancegraphboundfunctor"];
"BoundFunctor" -> "Functor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"GlStateFunctor" [shape="box",fontsize=8,style="setlinewidth(0.5),filled,dashed",fillcolor=grey,height=0.2,URL="yade.wrapper.html#yade.wrapper.GlStateFunctor"];
"GlStateFunctor" -> "Functor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"GlIGeomFunctor" [shape="box",fontsize=8,style="setlinewidth(0.5),filled,dashed",fillcolor=grey,height=0.2,URL="yade.wrapper.html#inheritancegraphgligeomfunctor"];
"GlIGeomFunctor" -> "Functor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"LawFunctor" [shape="box",fontsize=8,style="setlinewidth(0.5),filled,dashed",fillcolor=grey,height=0.2,URL="yade.wrapper.html#inheritancegraphlawfunctor"];
"LawFunctor" -> "Functor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"IGeomFunctor" [shape="box",fontsize=8,style="setlinewidth(0.5),filled,dashed",fillcolor=grey,height=0.2,URL="yade.wrapper.html#inheritancegraphigeomfunctor"];
"IGeomFunctor" -> "Functor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"IPhysFunctor" [shape="box",fontsize=8,style="setlinewidth(0.5),filled,dashed",fillcolor=grey,height=0.2,URL="yade.wrapper.html#inheritancegraphiphysfunctor"];
"IPhysFunctor" -> "Functor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"GlShapeFunctor" [shape="box",fontsize=8,style="setlinewidth(0.5),filled,dashed",fillcolor=grey,height=0.2,URL="yade.wrapper.html#inheritancegraphglshapefunctor"];
"GlShapeFunctor" -> "Functor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"GlIPhysFunctor" [shape="box",fontsize=8,style="setlinewidth(0.5),filled,dashed",fillcolor=grey,height=0.2,URL="yade.wrapper.html#inheritancegraphgliphysfunctor"];
"GlIPhysFunctor" -> "Functor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"InternalForceFunctor" [shape="box",fontsize=8,style="setlinewidth(0.5),filled,dashed",fillcolor=grey,height=0.2,URL="yade.wrapper.html#inheritancegraphinternalforcefunctor"];
"InternalForceFunctor" -> "Functor" [arrowsize=0.5,style="setlinewidth(0.5)"];
}](_images/graphviz-6854fe12a0e371e18739efc9078d8d2280e32017.png)
Inheritance graph of Functor, gray dashed classes are discussed in their own sections: GlBoundFunctor, BoundFunctor, GlStateFunctor, GlIGeomFunctor, LawFunctor, IGeomFunctor, IPhysFunctor, GlShapeFunctor, GlIPhysFunctor, InternalForceFunctor.¶
Bounding volume creation¶
BoundFunctor¶
![digraph BoundFunctor {
rankdir=RL;
margin="0.2,0.05";
"BoundFunctor" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.BoundFunctor"];
"Bo1_GridConnection_Aabb" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Bo1_GridConnection_Aabb"];
"Bo1_GridConnection_Aabb" -> "BoundFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Bo1_Tetra_Aabb" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Bo1_Tetra_Aabb"];
"Bo1_Tetra_Aabb" -> "BoundFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Bo1_Wall_Aabb" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Bo1_Wall_Aabb"];
"Bo1_Wall_Aabb" -> "BoundFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Bo1_DeformableElement_Aabb" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Bo1_DeformableElement_Aabb"];
"Bo1_DeformableElement_Aabb" -> "BoundFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Bo1_Polyhedra_Aabb" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Bo1_Polyhedra_Aabb"];
"Bo1_Polyhedra_Aabb" -> "BoundFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Bo1_PFacet_Aabb" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Bo1_PFacet_Aabb"];
"Bo1_PFacet_Aabb" -> "BoundFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"PotentialBlock2AABB" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.PotentialBlock2AABB"];
"PotentialBlock2AABB" -> "BoundFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Bo1_Subdomain_Aabb" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Bo1_Subdomain_Aabb"];
"Bo1_Subdomain_Aabb" -> "BoundFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Bo1_LevelSet_Aabb" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Bo1_LevelSet_Aabb"];
"Bo1_LevelSet_Aabb" -> "BoundFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Bo1_ChainedCylinder_Aabb" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Bo1_ChainedCylinder_Aabb"];
"Bo1_ChainedCylinder_Aabb" -> "BoundFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Bo1_Cylinder_Aabb" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Bo1_Cylinder_Aabb"];
"Bo1_Cylinder_Aabb" -> "BoundFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Bo1_Box_Aabb" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Bo1_Box_Aabb"];
"Bo1_Box_Aabb" -> "BoundFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Bo1_Sphere_Aabb" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Bo1_Sphere_Aabb"];
"Bo1_Sphere_Aabb" -> "BoundFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Bo1_FluidDomainBbox_Aabb" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Bo1_FluidDomainBbox_Aabb"];
"Bo1_FluidDomainBbox_Aabb" -> "BoundFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"PotentialParticle2AABB" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.PotentialParticle2AABB"];
"PotentialParticle2AABB" -> "BoundFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Bo1_Facet_Aabb" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Bo1_Facet_Aabb"];
"Bo1_Facet_Aabb" -> "BoundFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Bo1_Node_Aabb" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Bo1_Node_Aabb"];
"Bo1_Node_Aabb" -> "BoundFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
}](_images/graphviz-b175ab12578b17493efb7d50f0e48cc3b7231dc9.png)
Inheritance graph of BoundFunctor.¶
BoundDispatcher¶
Interaction Geometry creation¶
IGeomFunctor¶
![digraph IGeomFunctor {
rankdir=RL;
margin="0.2,0.05";
"IGeomFunctor" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.IGeomFunctor"];
"Ig2_Sphere_Polyhedra_ScGeom" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ig2_Sphere_Polyhedra_ScGeom"];
"Ig2_Sphere_Polyhedra_ScGeom" -> "IGeomFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ig2_Wall_LevelSet_ScGeom" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ig2_Wall_LevelSet_ScGeom"];
"Ig2_Wall_LevelSet_ScGeom" -> "IGeomFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ig2_Sphere_Sphere_L6Geom" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ig2_Sphere_Sphere_L6Geom"];
"Ig2_Sphere_Sphere_L6Geom" -> "Ig2_Sphere_Sphere_L3Geom" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ig2_Sphere_ChainedCylinder_CylScGeom6D" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ig2_Sphere_ChainedCylinder_CylScGeom6D"];
"Ig2_Sphere_ChainedCylinder_CylScGeom6D" -> "Ig2_Sphere_ChainedCylinder_CylScGeom" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ig2_Tetra_Tetra_TTetraGeom" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ig2_Tetra_Tetra_TTetraGeom"];
"Ig2_Tetra_Tetra_TTetraGeom" -> "IGeomFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ig2_Box_Sphere_ScGeom6D" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ig2_Box_Sphere_ScGeom6D"];
"Ig2_Box_Sphere_ScGeom6D" -> "Ig2_Box_Sphere_ScGeom" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ig2_Facet_Polyhedra_PolyhedraGeom" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ig2_Facet_Polyhedra_PolyhedraGeom"];
"Ig2_Facet_Polyhedra_PolyhedraGeom" -> "IGeomFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ig2_PFacet_PFacet_ScGeom" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ig2_PFacet_PFacet_ScGeom"];
"Ig2_PFacet_PFacet_ScGeom" -> "Ig2_Sphere_PFacet_ScGridCoGeom" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ig2_Polyhedra_Polyhedra_PolyhedraGeomOrScGeom" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ig2_Polyhedra_Polyhedra_PolyhedraGeomOrScGeom"];
"Ig2_Polyhedra_Polyhedra_PolyhedraGeomOrScGeom" -> "IGeomFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ig2_Facet_Sphere_ScGeom6D" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ig2_Facet_Sphere_ScGeom6D"];
"Ig2_Facet_Sphere_ScGeom6D" -> "Ig2_Facet_Sphere_ScGeom" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ig2_ChainedCylinder_ChainedCylinder_ScGeom6D" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ig2_ChainedCylinder_ChainedCylinder_ScGeom6D"];
"Ig2_ChainedCylinder_ChainedCylinder_ScGeom6D" -> "IGeomFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ig2_Sphere_LevelSet_ScGeom" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ig2_Sphere_LevelSet_ScGeom"];
"Ig2_Sphere_LevelSet_ScGeom" -> "IGeomFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ig2_Tetra_Tetra_TTetraSimpleGeom" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ig2_Tetra_Tetra_TTetraSimpleGeom"];
"Ig2_Tetra_Tetra_TTetraSimpleGeom" -> "IGeomFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ig2_LevelSet_LevelSet_MultiScGeom" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ig2_LevelSet_LevelSet_MultiScGeom"];
"Ig2_LevelSet_LevelSet_MultiScGeom" -> "Ig2_LevelSet_LevelSet_ScGeom" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ig2_GridConnection_GridConnection_GridCoGridCoGeom" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ig2_GridConnection_GridConnection_GridCoGridCoGeom"];
"Ig2_GridConnection_GridConnection_GridCoGridCoGeom" -> "IGeomFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ig2_Wall_PFacet_ScGeom" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ig2_Wall_PFacet_ScGeom"];
"Ig2_Wall_PFacet_ScGeom" -> "Ig2_Wall_Sphere_ScGeom" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ig2_LevelSet_LevelSet_LSnodeGeom" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ig2_LevelSet_LevelSet_LSnodeGeom"];
"Ig2_LevelSet_LevelSet_LSnodeGeom" -> "Ig2_LevelSet_LevelSet_ScGeom" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ig2_Wall_Sphere_L3Geom" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ig2_Wall_Sphere_L3Geom"];
"Ig2_Wall_Sphere_L3Geom" -> "Ig2_Sphere_Sphere_L3Geom" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ig2_Facet_Sphere_L3Geom" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ig2_Facet_Sphere_L3Geom"];
"Ig2_Facet_Sphere_L3Geom" -> "Ig2_Sphere_Sphere_L3Geom" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ig2_Box_Sphere_ScGeom" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ig2_Box_Sphere_ScGeom"];
"Ig2_Box_Sphere_ScGeom" -> "IGeomFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ig2_Polyhedra_Polyhedra_PolyhedraGeom" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ig2_Polyhedra_Polyhedra_PolyhedraGeom"];
"Ig2_Polyhedra_Polyhedra_PolyhedraGeom" -> "IGeomFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ig2_Facet_Sphere_ScGeom" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ig2_Facet_Sphere_ScGeom"];
"Ig2_Facet_Sphere_ScGeom" -> "IGeomFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ig2_GridConnection_PFacet_ScGeom" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ig2_GridConnection_PFacet_ScGeom"];
"Ig2_GridConnection_PFacet_ScGeom" -> "Ig2_Sphere_GridConnection_ScGridCoGeom" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ig2_Sphere_Sphere_L3Geom" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ig2_Sphere_Sphere_L3Geom"];
"Ig2_Sphere_Sphere_L3Geom" -> "IGeomFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ig2_GridNode_GridNode_GridNodeGeom6D" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ig2_GridNode_GridNode_GridNodeGeom6D"];
"Ig2_GridNode_GridNode_GridNodeGeom6D" -> "Ig2_Sphere_Sphere_ScGeom" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ig2_Box_LevelSet_ScGeom" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ig2_Box_LevelSet_ScGeom"];
"Ig2_Box_LevelSet_ScGeom" -> "IGeomFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ig2_Wall_Polyhedra_PolyhedraGeom" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ig2_Wall_Polyhedra_PolyhedraGeom"];
"Ig2_Wall_Polyhedra_PolyhedraGeom" -> "IGeomFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ig2_Polyhedra_Polyhedra_ScGeom" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ig2_Polyhedra_Polyhedra_ScGeom"];
"Ig2_Polyhedra_Polyhedra_ScGeom" -> "IGeomFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ig2_LevelSet_LevelSet_ScGeom" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ig2_LevelSet_LevelSet_ScGeom"];
"Ig2_LevelSet_LevelSet_ScGeom" -> "IGeomFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ig2_Wall_Sphere_ScGeom" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ig2_Wall_Sphere_ScGeom"];
"Ig2_Wall_Sphere_ScGeom" -> "IGeomFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ig2_Sphere_ChainedCylinder_CylScGeom" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ig2_Sphere_ChainedCylinder_CylScGeom"];
"Ig2_Sphere_ChainedCylinder_CylScGeom" -> "IGeomFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ig2_LevelSet_LevelSet_VolumeGeom" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ig2_LevelSet_LevelSet_VolumeGeom"];
"Ig2_LevelSet_LevelSet_VolumeGeom" -> "IGeomFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ig2_Wall_LevelSet_MultiScGeom" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ig2_Wall_LevelSet_MultiScGeom"];
"Ig2_Wall_LevelSet_MultiScGeom" -> "IGeomFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ig2_Sphere_PFacet_ScGridCoGeom" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ig2_Sphere_PFacet_ScGridCoGeom"];
"Ig2_Sphere_PFacet_ScGridCoGeom" -> "Ig2_Sphere_GridConnection_ScGridCoGeom" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ig2_PB_PB_ScGeom" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ig2_PB_PB_ScGeom"];
"Ig2_PB_PB_ScGeom" -> "IGeomFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ig2_Sphere_Sphere_ScGeom6D" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ig2_Sphere_Sphere_ScGeom6D"];
"Ig2_Sphere_Sphere_ScGeom6D" -> "Ig2_Sphere_Sphere_ScGeom" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ig2_PP_PP_ScGeom" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ig2_PP_PP_ScGeom"];
"Ig2_PP_PP_ScGeom" -> "IGeomFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ig2_Wall_LevelSet_VolumeGeom" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ig2_Wall_LevelSet_VolumeGeom"];
"Ig2_Wall_LevelSet_VolumeGeom" -> "IGeomFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ig2_Sphere_GridConnection_ScGridCoGeom" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ig2_Sphere_GridConnection_ScGridCoGeom"];
"Ig2_Sphere_GridConnection_ScGridCoGeom" -> "IGeomFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ig2_Sphere_Sphere_ScGeom" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ig2_Sphere_Sphere_ScGeom"];
"Ig2_Sphere_Sphere_ScGeom" -> "IGeomFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
}](_images/graphviz-045506c9e9a018f0fe86a8ad078d77d7cce19161.png)
Inheritance graph of IGeomFunctor.¶
IGeomDispatcher¶
Interaction Physics creation¶
IPhysFunctor¶
![digraph IPhysFunctor {
rankdir=RL;
margin="0.2,0.05";
"IPhysFunctor" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.IPhysFunctor"];
"Ip2_FrictMat_FrictMat_MindlinCapillaryPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ip2_FrictMat_FrictMat_MindlinCapillaryPhys"];
"Ip2_FrictMat_FrictMat_MindlinCapillaryPhys" -> "IPhysFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ip2_FrictMat_FrictMat_ViscoFrictPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ip2_FrictMat_FrictMat_ViscoFrictPhys"];
"Ip2_FrictMat_FrictMat_ViscoFrictPhys" -> "Ip2_FrictMat_FrictMat_FrictPhys" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ip2_CpmMat_CpmMat_CpmPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ip2_CpmMat_CpmMat_CpmPhys"];
"Ip2_CpmMat_CpmMat_CpmPhys" -> "IPhysFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ip2_FrictMat_FrictMat_MindlinPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ip2_FrictMat_FrictMat_MindlinPhys"];
"Ip2_FrictMat_FrictMat_MindlinPhys" -> "IPhysFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ip2_FrictMat_PolyhedraMat_FrictPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ip2_FrictMat_PolyhedraMat_FrictPhys"];
"Ip2_FrictMat_PolyhedraMat_FrictPhys" -> "IPhysFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ip2_MortarMat_MortarMat_MortarPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ip2_MortarMat_MortarMat_MortarPhys"];
"Ip2_MortarMat_MortarMat_MortarPhys" -> "IPhysFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ip2_2xInelastCohFrictMat_InelastCohFrictPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ip2_2xInelastCohFrictMat_InelastCohFrictPhys"];
"Ip2_2xInelastCohFrictMat_InelastCohFrictPhys" -> "IPhysFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ip2_ViscElMat_ViscElMat_MultiViscElPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ip2_ViscElMat_ViscElMat_MultiViscElPhys"];
"Ip2_ViscElMat_ViscElMat_MultiViscElPhys" -> "IPhysFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ip2_FrictMat_FrictMat_CapillaryPhysDelaunay" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ip2_FrictMat_FrictMat_CapillaryPhysDelaunay"];
"Ip2_FrictMat_FrictMat_CapillaryPhysDelaunay" -> "Ip2_FrictMat_FrictMat_FrictPhys" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ip2_BubbleMat_BubbleMat_BubblePhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ip2_BubbleMat_BubbleMat_BubblePhys"];
"Ip2_BubbleMat_BubbleMat_BubblePhys" -> "IPhysFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ip2_FrictMat_FrictMat_LubricationPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ip2_FrictMat_FrictMat_LubricationPhys"];
"Ip2_FrictMat_FrictMat_LubricationPhys" -> "IPhysFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ip2_FrictMatCDM_FrictMatCDM_MindlinPhysCDM" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ip2_FrictMatCDM_FrictMatCDM_MindlinPhysCDM"];
"Ip2_FrictMatCDM_FrictMatCDM_MindlinPhysCDM" -> "IPhysFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ip2_FrictMat_FrictViscoMat_FrictViscoPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ip2_FrictMat_FrictViscoMat_FrictViscoPhys"];
"Ip2_FrictMat_FrictViscoMat_FrictViscoPhys" -> "IPhysFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ip2_ViscElMat_ViscElMat_ViscElPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ip2_ViscElMat_ViscElMat_ViscElPhys"];
"Ip2_ViscElMat_ViscElMat_ViscElPhys" -> "IPhysFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ip2_FrictMat_FrictMat_MultiFrictPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ip2_FrictMat_FrictMat_MultiFrictPhys"];
"Ip2_FrictMat_FrictMat_MultiFrictPhys" -> "IPhysFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ip2_LudingMat_LudingMat_LudingPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ip2_LudingMat_LudingMat_LudingPhys"];
"Ip2_LudingMat_LudingMat_LudingPhys" -> "IPhysFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ip2_ElastMat_ElastMat_NormPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ip2_ElastMat_ElastMat_NormPhys"];
"Ip2_ElastMat_ElastMat_NormPhys" -> "IPhysFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ip2_FrictMat_FrictMat_KnKsPBPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ip2_FrictMat_FrictMat_KnKsPBPhys"];
"Ip2_FrictMat_FrictMat_KnKsPBPhys" -> "IPhysFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ip2_WireMat_WireMat_WirePhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ip2_WireMat_WireMat_WirePhys"];
"Ip2_WireMat_WireMat_WirePhys" -> "IPhysFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ip2_CohFrictMatSeg_CohFrictMatSeg_CohFrictPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ip2_CohFrictMatSeg_CohFrictMatSeg_CohFrictPhys"];
"Ip2_CohFrictMatSeg_CohFrictMatSeg_CohFrictPhys" -> "IPhysFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ip2_FrictMat_FrictMat_KnKsPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ip2_FrictMat_FrictMat_KnKsPhys"];
"Ip2_FrictMat_FrictMat_KnKsPhys" -> "IPhysFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ip2_FrictMat_FrictMat_FrictPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ip2_FrictMat_FrictMat_FrictPhys"];
"Ip2_FrictMat_FrictMat_FrictPhys" -> "IPhysFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ip2_PartialSatMat_PartialSatMat_MindlinPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ip2_PartialSatMat_PartialSatMat_MindlinPhys"];
"Ip2_PartialSatMat_PartialSatMat_MindlinPhys" -> "IPhysFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ip2_FrictViscoMat_FrictViscoMat_FrictViscoPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ip2_FrictViscoMat_FrictViscoMat_FrictViscoPhys"];
"Ip2_FrictViscoMat_FrictViscoMat_FrictViscoPhys" -> "IPhysFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ip2_FrictMat_FrictMat_CapillaryPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ip2_FrictMat_FrictMat_CapillaryPhys"];
"Ip2_FrictMat_FrictMat_CapillaryPhys" -> "IPhysFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ip2_ElastMat_ElastMat_NormShearPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ip2_ElastMat_ElastMat_NormShearPhys"];
"Ip2_ElastMat_ElastMat_NormShearPhys" -> "IPhysFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ip2_ViscElCapMat_ViscElCapMat_ViscElCapPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ip2_ViscElCapMat_ViscElCapMat_ViscElCapPhys"];
"Ip2_ViscElCapMat_ViscElCapMat_ViscElCapPhys" -> "Ip2_ViscElMat_ViscElMat_ViscElPhys" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ip2_FrictMat_FrictMat_CapillaryMindlinPhysDelaunay" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ip2_FrictMat_FrictMat_CapillaryMindlinPhysDelaunay"];
"Ip2_FrictMat_FrictMat_CapillaryMindlinPhysDelaunay" -> "Ip2_FrictMat_FrictMat_MindlinPhys" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ip2_CohFrictMat_CohFrictMat_CohFrictPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ip2_CohFrictMat_CohFrictMat_CohFrictPhys"];
"Ip2_CohFrictMat_CohFrictMat_CohFrictPhys" -> "IPhysFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ip2_PolyhedraMat_PolyhedraMat_PolyhedraPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ip2_PolyhedraMat_PolyhedraMat_PolyhedraPhys"];
"Ip2_PolyhedraMat_PolyhedraMat_PolyhedraPhys" -> "IPhysFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ip2_FrictMat_CpmMat_FrictPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ip2_FrictMat_CpmMat_FrictPhys"];
"Ip2_FrictMat_CpmMat_FrictPhys" -> "IPhysFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ip2_JCFpmMat_JCFpmMat_JCFpmPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ip2_JCFpmMat_JCFpmMat_JCFpmPhys"];
"Ip2_JCFpmMat_JCFpmMat_JCFpmPhys" -> "IPhysFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Ip2_FrictMat_FrictMatCDM_MindlinPhysCDM" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Ip2_FrictMat_FrictMatCDM_MindlinPhysCDM"];
"Ip2_FrictMat_FrictMatCDM_MindlinPhysCDM" -> "IPhysFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
}](_images/graphviz-6c3f0b7183793dfe64ff9e2ea7b3264e3f47702a.png)
Inheritance graph of IPhysFunctor.¶
IPhysDispatcher¶
Constitutive laws¶
LawFunctor¶
![digraph LawFunctor {
rankdir=RL;
margin="0.2,0.05";
"LawFunctor" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.LawFunctor"];
"Law2_ScGeom_MindlinPhys_MindlinDeresiewitz" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Law2_ScGeom_MindlinPhys_MindlinDeresiewitz"];
"Law2_ScGeom_MindlinPhys_MindlinDeresiewitz" -> "LawFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Law2_ScGeom_WirePhys_WirePM" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Law2_ScGeom_WirePhys_WirePM"];
"Law2_ScGeom_WirePhys_WirePM" -> "LawFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Law2_SCG_KnKsPBPhys_KnKsPBLaw" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Law2_SCG_KnKsPBPhys_KnKsPBLaw"];
"Law2_SCG_KnKsPBPhys_KnKsPBLaw" -> "LawFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Law2_CylScGeom6D_CohFrictPhys_CohesionMoment" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Law2_CylScGeom6D_CohFrictPhys_CohesionMoment"];
"Law2_CylScGeom6D_CohFrictPhys_CohesionMoment" -> "LawFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Law2_ScGeom_VirtualLubricationPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Law2_ScGeom_VirtualLubricationPhys"];
"Law2_ScGeom_VirtualLubricationPhys" -> "LawFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Law2_CylScGeom_FrictPhys_CundallStrack" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Law2_CylScGeom_FrictPhys_CundallStrack"];
"Law2_CylScGeom_FrictPhys_CundallStrack" -> "LawFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Law2_ScGeom_BubblePhys_Bubble" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Law2_ScGeom_BubblePhys_Bubble"];
"Law2_ScGeom_BubblePhys_Bubble" -> "LawFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Law2_MultiScGeom_MultiViscElPhys_Basic" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Law2_MultiScGeom_MultiViscElPhys_Basic"];
"Law2_MultiScGeom_MultiViscElPhys_Basic" -> "Law2_ScGeom_ViscElPhys_Basic" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Law2_ScGeom_PotentialLubricationPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Law2_ScGeom_PotentialLubricationPhys"];
"Law2_ScGeom_PotentialLubricationPhys" -> "Law2_ScGeom_ImplicitLubricationPhys" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Law2_ScGeom_LudingPhys_Basic" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Law2_ScGeom_LudingPhys_Basic"];
"Law2_ScGeom_LudingPhys_Basic" -> "LawFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Law2_ScGeom6D_InelastCohFrictPhys_CohesionMoment" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Law2_ScGeom6D_InelastCohFrictPhys_CohesionMoment"];
"Law2_ScGeom6D_InelastCohFrictPhys_CohesionMoment" -> "LawFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Law2_MultiScGeom_MultiFrictPhys_CundallStrack" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Law2_MultiScGeom_MultiFrictPhys_CundallStrack"];
"Law2_MultiScGeom_MultiFrictPhys_CundallStrack" -> "Law2_ScGeom_FrictPhys_CundallStrack" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Law2_ScGridCoGeom_CohFrictPhys_CundallStrack" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Law2_ScGridCoGeom_CohFrictPhys_CundallStrack"];
"Law2_ScGridCoGeom_CohFrictPhys_CundallStrack" -> "LawFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Law2_ChCylGeom6D_CohFrictPhys_CohesionMoment" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Law2_ChCylGeom6D_CohFrictPhys_CohesionMoment"];
"Law2_ChCylGeom6D_CohFrictPhys_CohesionMoment" -> "LawFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Law2_ScGeom_MindlinPhys_HertzWithLinearShear" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Law2_ScGeom_MindlinPhys_HertzWithLinearShear"];
"Law2_ScGeom_MindlinPhys_HertzWithLinearShear" -> "LawFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Law2_L3Geom_FrictPhys_ElPerfPl" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Law2_L3Geom_FrictPhys_ElPerfPl"];
"Law2_L3Geom_FrictPhys_ElPerfPl" -> "LawFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Law2_ScGeom_MindlinPhysCDM_HertzMindlinCDM" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Law2_ScGeom_MindlinPhysCDM_HertzMindlinCDM"];
"Law2_ScGeom_MindlinPhysCDM_HertzMindlinCDM" -> "LawFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Law2_PolyhedraGeom_PolyhedraPhys_Volumetric" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Law2_PolyhedraGeom_PolyhedraPhys_Volumetric"];
"Law2_PolyhedraGeom_PolyhedraPhys_Volumetric" -> "LawFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Law2_ScGeom_CpmPhys_Cpm" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Law2_ScGeom_CpmPhys_Cpm"];
"Law2_ScGeom_CpmPhys_Cpm" -> "LawFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Law2_ScGeom_ViscoFrictPhys_CundallStrack" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Law2_ScGeom_ViscoFrictPhys_CundallStrack"];
"Law2_ScGeom_ViscoFrictPhys_CundallStrack" -> "Law2_ScGeom_FrictPhys_CundallStrack" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Law2_ScGeom_ImplicitLubricationPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Law2_ScGeom_ImplicitLubricationPhys"];
"Law2_ScGeom_ImplicitLubricationPhys" -> "Law2_ScGeom_VirtualLubricationPhys" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Law2_L6Geom_FrictPhys_Linear" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Law2_L6Geom_FrictPhys_Linear"];
"Law2_L6Geom_FrictPhys_Linear" -> "Law2_L3Geom_FrictPhys_ElPerfPl" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Law2_VolumeGeom_FrictPhys_Elastic" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Law2_VolumeGeom_FrictPhys_Elastic"];
"Law2_VolumeGeom_FrictPhys_Elastic" -> "LawFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Law2_TTetraSimpleGeom_NormPhys_Simple" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Law2_TTetraSimpleGeom_NormPhys_Simple"];
"Law2_TTetraSimpleGeom_NormPhys_Simple" -> "LawFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Law2_SCG_KnKsPhys_KnKsLaw" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Law2_SCG_KnKsPhys_KnKsLaw"];
"Law2_SCG_KnKsPhys_KnKsLaw" -> "LawFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Law2_ScGeom_ViscElPhys_Basic" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Law2_ScGeom_ViscElPhys_Basic"];
"Law2_ScGeom_ViscElPhys_Basic" -> "LawFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Law2_GridCoGridCoGeom_FrictPhys_CundallStrack" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Law2_GridCoGridCoGeom_FrictPhys_CundallStrack"];
"Law2_GridCoGridCoGeom_FrictPhys_CundallStrack" -> "Law2_ScGeom_FrictPhys_CundallStrack" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Law2_ScGeom_ViscElCapPhys_Basic" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Law2_ScGeom_ViscElCapPhys_Basic"];
"Law2_ScGeom_ViscElCapPhys_Basic" -> "LawFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Law2_ScGeom_MortarPhys_Lourenco" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Law2_ScGeom_MortarPhys_Lourenco"];
"Law2_ScGeom_MortarPhys_Lourenco" -> "LawFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Law2_ScGeom_JCFpmPhys_JointedCohesiveFrictionalPM" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Law2_ScGeom_JCFpmPhys_JointedCohesiveFrictionalPM"];
"Law2_ScGeom_JCFpmPhys_JointedCohesiveFrictionalPM" -> "LawFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Law2_ScGeom_FrictViscoPhys_CundallStrackVisco" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Law2_ScGeom_FrictViscoPhys_CundallStrackVisco"];
"Law2_ScGeom_FrictViscoPhys_CundallStrackVisco" -> "LawFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Law2_ScGridCoGeom_FrictPhys_CundallStrack" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Law2_ScGridCoGeom_FrictPhys_CundallStrack"];
"Law2_ScGridCoGeom_FrictPhys_CundallStrack" -> "LawFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Law2_VolumeGeom_ViscoFrictPhys_Elastic" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Law2_VolumeGeom_ViscoFrictPhys_Elastic"];
"Law2_VolumeGeom_ViscoFrictPhys_Elastic" -> "Law2_VolumeGeom_FrictPhys_Elastic" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Law2_ScGeom_FrictPhys_CundallStrack" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Law2_ScGeom_FrictPhys_CundallStrack"];
"Law2_ScGeom_FrictPhys_CundallStrack" -> "LawFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Law2_ScGeom6D_CohFrictPhys_CohesionMoment" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Law2_ScGeom6D_CohFrictPhys_CohesionMoment"];
"Law2_ScGeom6D_CohFrictPhys_CohesionMoment" -> "LawFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Law2_ScGeom_MindlinPhys_Mindlin" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Law2_ScGeom_MindlinPhys_Mindlin"];
"Law2_ScGeom_MindlinPhys_Mindlin" -> "LawFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
}](_images/graphviz-c7beb1469078738a18036ba5ced2184a71fdb240.png)
Inheritance graph of LawFunctor.¶
LawDispatcher¶
Internal forces¶
InternalForceFunctor¶
![digraph InternalForceFunctor {
rankdir=RL;
margin="0.2,0.05";
"InternalForceFunctor" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.InternalForceFunctor"];
"If2_Lin4NodeTetra_LinIsoRayleighDampElast" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.If2_Lin4NodeTetra_LinIsoRayleighDampElast"];
"If2_Lin4NodeTetra_LinIsoRayleighDampElast" -> "InternalForceFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"If2_2xLin4NodeTetra_LinCohesiveStiffPropDampElastMat" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.If2_2xLin4NodeTetra_LinCohesiveStiffPropDampElastMat"];
"If2_2xLin4NodeTetra_LinCohesiveStiffPropDampElastMat" -> "InternalForceFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
}](_images/graphviz-62d8750a54130af726071df393110365bf0d92a1.png)
Inheritance graph of InternalForceFunctor.¶
InternalForceDispatcher¶
Callbacks¶
![digraph IntrCallback {
rankdir=RL;
margin="0.2,0.05";
"IntrCallback" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.IntrCallback"];
"SumIntrForcesCb" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.SumIntrForcesCb"];
"SumIntrForcesCb" -> "IntrCallback" [arrowsize=0.5,style="setlinewidth(0.5)"];
}](_images/graphviz-2229ff17e0809d4899b6354fc9c97cac9602d1b0.png)
Inheritance graph of IntrCallback.¶
Preprocessors¶
![digraph FileGenerator {
rankdir=RL;
margin="0.2,0.05";
"FileGenerator" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.FileGenerator"];
"TriaxialTest" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.TriaxialTest"];
"TriaxialTest" -> "FileGenerator" [arrowsize=0.5,style="setlinewidth(0.5)"];
"SimpleShear" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.SimpleShear"];
"SimpleShear" -> "FileGenerator" [arrowsize=0.5,style="setlinewidth(0.5)"];
"BlockGen" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.BlockGen"];
"BlockGen" -> "FileGenerator" [arrowsize=0.5,style="setlinewidth(0.5)"];
}](_images/graphviz-1bc30546b352c6c213c2ebca4355e117969fcf98.png)
Inheritance graph of FileGenerator.¶
Rendering¶
OpenGLRenderer¶
GlShapeFunctor¶
![digraph GlShapeFunctor {
rankdir=RL;
margin="0.2,0.05";
"GlShapeFunctor" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.GlShapeFunctor"];
"Gl1_PotentialParticle" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Gl1_PotentialParticle"];
"Gl1_PotentialParticle" -> "GlShapeFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Gl1_Tetra" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Gl1_Tetra"];
"Gl1_Tetra" -> "GlShapeFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Gl1_DeformableElement" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Gl1_DeformableElement"];
"Gl1_DeformableElement" -> "GlShapeFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Gl1_Cylinder" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Gl1_Cylinder"];
"Gl1_Cylinder" -> "GlShapeFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Gl1_Wall" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Gl1_Wall"];
"Gl1_Wall" -> "GlShapeFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Gl1_Node" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Gl1_Node"];
"Gl1_Node" -> "GlShapeFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Gl1_ChainedCylinder" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Gl1_ChainedCylinder"];
"Gl1_ChainedCylinder" -> "Gl1_Cylinder" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Gl1_PFacet" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Gl1_PFacet"];
"Gl1_PFacet" -> "GlShapeFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Gl1_Facet" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Gl1_Facet"];
"Gl1_Facet" -> "GlShapeFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Gl1_Box" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Gl1_Box"];
"Gl1_Box" -> "GlShapeFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Gl1_LevelSet" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Gl1_LevelSet"];
"Gl1_LevelSet" -> "GlShapeFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Gl1_Polyhedra" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Gl1_Polyhedra"];
"Gl1_Polyhedra" -> "GlShapeFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Gl1_GridConnection" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Gl1_GridConnection"];
"Gl1_GridConnection" -> "GlShapeFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Gl1_Sphere" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Gl1_Sphere"];
"Gl1_Sphere" -> "GlShapeFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Gl1_PotentialBlock" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Gl1_PotentialBlock"];
"Gl1_PotentialBlock" -> "GlShapeFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
}](_images/graphviz-fde3d1322100bc2c6dc69aa6158f0268dd3a29d6.png)
Inheritance graph of GlShapeFunctor.¶
GlStateFunctor¶
GlBoundFunctor¶
![digraph GlBoundFunctor {
rankdir=RL;
margin="0.2,0.05";
"GlBoundFunctor" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.GlBoundFunctor"];
"Gl1_Aabb" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Gl1_Aabb"];
"Gl1_Aabb" -> "GlBoundFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
}](_images/graphviz-b48650d62feab7d7bc501555690900d6d58efc32.png)
Inheritance graph of GlBoundFunctor.¶
GlIGeomFunctor¶
![digraph GlIGeomFunctor {
rankdir=RL;
margin="0.2,0.05";
"GlIGeomFunctor" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.GlIGeomFunctor"];
"Gl1_L6Geom" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Gl1_L6Geom"];
"Gl1_L6Geom" -> "Gl1_L3Geom" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Gl1_PolyhedraGeom" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Gl1_PolyhedraGeom"];
"Gl1_PolyhedraGeom" -> "GlIGeomFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Gl1_L3Geom" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Gl1_L3Geom"];
"Gl1_L3Geom" -> "GlIGeomFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
}](_images/graphviz-d015cb32a4a80fe528f017f52b08dba709b3507a.png)
Inheritance graph of GlIGeomFunctor.¶
GlIPhysFunctor¶
![digraph GlIPhysFunctor {
rankdir=RL;
margin="0.2,0.05";
"GlIPhysFunctor" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.GlIPhysFunctor"];
"Gl1_PolyhedraPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Gl1_PolyhedraPhys"];
"Gl1_PolyhedraPhys" -> "GlIPhysFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Gl1_NormPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Gl1_NormPhys"];
"Gl1_NormPhys" -> "GlIPhysFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
"Gl1_CpmPhys" [shape="box",fontsize=8,style="setlinewidth(0.5),solid",height=0.2,URL="yade.wrapper.html#yade.wrapper.Gl1_CpmPhys"];
"Gl1_CpmPhys" -> "GlIPhysFunctor" [arrowsize=0.5,style="setlinewidth(0.5)"];
}](_images/graphviz-de13a8b3ee698660311ce82de41f5cfd2e76df9a.png)
Inheritance graph of GlIPhysFunctor.¶
Simulation data¶
Omega¶
- class yade.wrapper.Omega¶
The whole YADE world made of one or, possibly, several scenes serving as independent simulations. The Omega instance is accessed as O, e.g., O.bodies
- addScene((Omega)arg1) int :¶
Add new scene to Omega, returns its number
- property bodies¶
Bodies in the current simulation (container supporting index access by id and iteration)
- bufferFromIntrsct((Omega)arg1, (Subdomain)subdomain, (int)rank, (int)size, (bool)mirror) object :¶
returns a (char*) pointer to the underying buffer of intersections[rank], so that it can be overwritten. Size must be passed in advance. Pointer to mirrorIntersections[rank] is returned if mirror=True. Python syntax: bufferFromIntrsct(…)[:]=bytes(something)
- childClassesNonrecursive((Omega)arg1, (str)arg2) list :¶
Return list of all classes deriving from given class, as registered in the class factory
- disableGdb((Omega)arg1) None :¶
Revert SEGV and ABRT handlers to system defaults.
- property dt¶
Current timestep (Δt) value. See dynDt for enabling/disabling automatic Δt updates through a TimeStepper.
- property dynDt¶
Whether a TimeStepper (when present in O.engines) is used for dynamic Δt control.
- property dynDtAvailable¶
Whether a TimeStepper is amongst O.engines, activated or not.
- property energy¶
EnergyTracker of the current simulation. (meaningful only with O.trackEnergy)
- property engines¶
List of engines in the simulation (corresponds to Scene::engines in C++ source code).
- exitNoBacktrace((Omega)arg1[, (int)status=0]) None :¶
Disable SEGV handler and exit, optionally with given status number.
- property filename¶
Filename under which the current simulation was saved (None if never saved).
- property forceSyncCount¶
Counter for number of syncs in ForceContainer, for profiling purposes.
- property forces¶
ForceContainer (forces, torques) in the current simulation.
- property interactions¶
Access to interactions of simulation, by using
id’s of both Bodies of the interactions, e.g.
O.interactions[23,65]iteration over the whole container:
for i in O.interactions: print i.id1,i.id2
Note
Iteration silently skips interactions that are not real.
- intrsctToBytes((Omega)arg1, (Subdomain)subdomain, (int)rank, (bool)mirror) object :¶
returns a copy of intersections[rank] (a vector<int>) from a subdomain in the form of bytes. Returns a copy mirrorIntersections[rank] if mirror=True.
- isChildClassOf((Omega)arg1, (str)arg2, (str)arg3) bool :¶
Tells whether the first class derives from the second one (both given as strings).
- property iter¶
Get current step number
- labeledEngine((Omega)arg1, (str)arg2) object :¶
Return instance of engine/functor with the given label. This function shouldn’t be called by the user directly; every ehange in O.engines will assign respective global python variables according to labels.
For example:
O.engines=[InsertionSortCollider(label=’collider’)]
collider.nBins=5 # collider has become a variable after assignment to O.engines automatically
- load((Omega)arg1, (str)file[, (bool)quiet=False]) None :¶
Load simulation from file. The file should have been saved in the same version of Yade built or compiled with the same features, otherwise compatibility is not guaranteed. Compatibility may also be affected by different versions of external libraries such as Boost
- loadTmp((Omega)arg1[, (str)mark=''[, (bool)quiet=False]]) None :¶
Load simulation previously stored in memory by saveTmp. mark optionally distinguishes multiple saved simulations
- lsTmp((Omega)arg1) list :¶
Return list of all memory-saved simulations.
- property materials¶
Shared materials; they can be accessed by id or by label
- property miscParams¶
MiscParams in the simulation (Scene::mistParams), usually used to save serializables that don’t fit anywhere else, like GL functors
- property numThreads¶
Get maximum number of threads openMP can use.
- pause((Omega)arg1) None :¶
Stop simulation execution. (May be called from within the loop, and it will stop after the current step).
- property periodic¶
Get/set whether the current scene is periodic or not (True/False).
- plugins((Omega)arg1) list :¶
Return list of all plugins registered in the class factory.
- property realtime¶
Return clock (human world) time the simulation has been running, in seconds.
- reload((Omega)arg1[, (bool)quiet=False]) None :¶
Reload current simulation
- reset((Omega)arg1) None :¶
Reset simulations completely (including another scenes!).
- resetAllScenes((Omega)arg1) None :¶
Reset all scenes.
- resetCurrentScene((Omega)arg1) None :¶
Reset current scene.
- resetThisScene((Omega)arg1) None :¶
Reset current scene.
- resetTime((Omega)arg1) None :¶
Reset simulation time: step number, virtual and real time. (Doesn’t touch anything else, including timings).
- run((Omega)arg1[, (int)nSteps=-1[, (bool)wait=False]]) None :¶
Run the simulation. nSteps how many steps to run, then stop (if positive); wait will cause not returning to python until simulation will have stopped.
- runEngine((Omega)arg1, (Engine)arg2) None :¶
Run given engine exactly once; simulation time, step number etc. will not be incremented (use only if you know what you do).
- property running¶
Whether background thread is currently running a simulation.
- save((Omega)arg1, (str)file[, (bool)quiet=False]) None :¶
Save current simulation to file (should be .xml or .xml.bz2 or .yade or .yade.gz). .xml files are bigger than .yade, but can be more or less easily (due to their size) opened and edited, e.g. with text editors. .bz2 and .gz correspond both to compressed versions. There are software requirements for successful reloads, see O.load.
- saveTmp((Omega)arg1[, (str)mark=''[, (bool)quiet=False]]) None :¶
Save simulation to memory (disappears at shutdown), can be loaded later with loadTmp. mark optionally distinguishes different memory-saved simulations.
- sceneToString((Omega)arg1) object :¶
Return the entire scene as a string. Equivalent to using O.save(…) except that the scene goes to a string instead of a file. (see also stringToScene())
- property speed¶
Return current calculation speed [iter/sec].
- step((Omega)arg1) None :¶
Advance the simulation by one step. Returns after the step will have finished.
- property stopAtIter¶
Get/set number of iteration after which the simulation will stop.
- property stopAtTime¶
Get/set time after which the simulation will stop.
- stringToScene((Omega)arg1, (str)arg2[, (str)mark='']) None :¶
Load simulation from a string passed as argument (see also sceneToString).
- property subStep¶
Get the current subStep number (only meaningful if O.subStepping==True); -1 when outside the loop, otherwise either 0 (O.subStepping==False) or number of engine to be run (O.subStepping==True)
- property subStepping¶
Get/set whether subStepping is active.
- switchScene((Omega)arg1) None :¶
Switch to alternative simulation (while keeping the old one). Calling the function again switches back to the first one. Note that most variables from the first simulation will still refer to the first simulation even after the switch (e.g. b=O.bodies[4]; O.switchScene(); [b still refers to the body in the first simulation here])
- switchToScene((Omega)arg1, (int)arg2) None :¶
Switch to defined scene. Default scene has number 0, other scenes have to be created by addScene method.
- property tags¶
Tags (string=string dictionary) of the current simulation (container supporting string-index access/assignment)
- property thisScene¶
Return current scene’s id.
- property time¶
Return virtual (model world) time of the simulation.
- property timingEnabled¶
Globally enable/disable timing services (see documentation of the timing module).
- tmpFilename((Omega)arg1) str :¶
Return unique name of file in temporary directory which will be deleted when yade exits.
- tmpToFile((Omega)arg1, (str)fileName[, (str)mark='']) None :¶
Save XML of saveTmp’d simulation into fileName.
- property trackEnergy¶
When energy tracking is enabled or disabled in this simulation.
- wait((Omega)arg1) None :¶
Don’t return until the simulation will have been paused. (Returns immediately if not running).
BodyContainer¶
- class yade.wrapper.BodyContainer¶
- __init__((object)arg1, (BodyContainer)arg2) None¶
- addToClump((BodyContainer)arg1, (object)arg2, (int)arg3[, (int)discretization=0]) None :¶
Add body b (or a list of bodies) to an existing clump c. c must be clump and b may not be a clump member of c. Clump masses and inertia are adapted automatically (for details see clump()).
See examples/clumps/addToClump-example.py for an example script.
Note
If b is a clump itself, then all members will be added to c and b will be deleted. If b is a clump member of clump d, then all members from d will be added to c and d will be deleted. If you need to add just clump member b, release this member from d first.
- append((BodyContainer)arg1, (Body)arg2) int :¶
Append one Body instance, return its id.
- append( (BodyContainer)arg1, (object)arg2) -> object :
Append list of Body instance, return list of ids
- appendClumped((BodyContainer)arg1, (object)arg2[, (int)discretization=0]) tuple :¶
Append given list of bodies as a clump (rigid aggregate); returns a tuple of
(clumpId,[memberId1,memberId2,...]). Clump masses and inertia are computed automatically depending upon discretization (for details see clump()).
- clear((BodyContainer)arg1) None :¶
Remove all bodies (interactions not checked)
- clump((BodyContainer)arg1, (object)arg2[, (int)discretization=0]) int :¶
Clump given bodies together (creating a rigid aggregate); returns
clumpId. A precise definition of clump masses and inertia when clump members overlap requires spherical members together with discretization>0 and is achieved in this case by integration/summation over mass points using a regular grid of cells (grid cells length is defined as \(L_{min}/discretization\), where \(L_{min}\) is the minimum length of an Axis-Aligned Bounding Box. If *discretization*<=0 sum of inertias from members is simply used, which is faster but accurate only for non-overlapping members).
- deleteClumpBody((BodyContainer)arg1, (Body)arg2) None :¶
Erase clump member.
- deleteClumpMember((BodyContainer)arg1, (Body)arg2, (Body)arg3) None :¶
Erase clump member.
- property enableRedirection¶
let collider switch to optimized algorithm with body redirection when bodies are erased - true by default
- erase((BodyContainer)arg1, (int)arg2[, (bool)eraseClumpMembers=0]) bool :¶
Erase body with the given id; all interaction will be deleted by InteractionLoop in the next step. If a clump is erased use O.bodies.erase(clumpId,True) to erase the clump AND its members.
- getRoundness((BodyContainer)arg1[, (list)excludeList=[]]) float :¶
Returns roundness coefficient RC = R2/R1. R1 is the equivalent sphere radius of a clump. R2 is the minimum radius of a sphere, that imbeds the clump. If just spheres are present RC = 1. If clumps are present 0 < RC < 1. Bodies can be excluded from the calculation by giving a list of ids: O.bodies.getRoundness([ids]).
See examples/clumps/replaceByClumps-example.py for an example script.
- insertAtId((BodyContainer)arg1, (Body)arg2, (int)insertatid) int :¶
Insert a body at theid, (no body should exist in this id)
- releaseFromClump((BodyContainer)arg1, (int)arg2, (int)arg3[, (int)discretization=0]) None :¶
Release body b from clump c. b must be a clump member of c. Clump masses and inertia are adapted automatically (for details see clump()).
See examples/clumps/releaseFromClump-example.py for an example script.
Note
If c contains only 2 members b will not be released and a warning will appear. In this case clump c should be erased.
- replace((BodyContainer)arg1, (object)arg2) object¶
- replaceByClumps((BodyContainer)arg1, (list)arg2, (object)arg3[, (int)discretization=0]) list :¶
Replace spheres by clumps using a list of clump templates and a list of amounts; returns a list of tuples:
[(clumpId1,[memberId1,memberId2,...]),(clumpId2,[memberId1,memberId2,...]),...]. A new clump will have the same volume as the sphere, that was replaced. Clump masses and inertia are adapted automatically (for details see clump()).O.bodies.replaceByClumps( [utils.clumpTemplate([1,1],[.5,.5])] , [.9] ) #will replace 90 % of all standalone spheres by ‘dyads’
See examples/clumps/replaceByClumps-example.py for an example script.
- subdomainBodies((BodyContainer)arg1) object :¶
id’s of bodies with bounds in MPI subdomain
- updateClumpProperties((BodyContainer)arg1[, (list)excludeList=[][, (int)discretization=5]]) None :¶
Manually force Yade to update clump properties mass, volume and inertia (for details of ‘discretization’ value see clump()). Can be used, when clumps are modified or erased during a simulation. Clumps can be excluded from the calculation by giving a list of ids: O.bodies.updateProperties([ids]).
- property useRedirection¶
true if the scene uses up-to-date lists for boundedBodies and realBodies; turned true automatically 1/ after removal of bodies if enableRedirection=True , and 2/ in MPI execution. (auto-updated)
InteractionContainer¶
- class yade.wrapper.InteractionContainer¶
Access to interactions of simulation, by using
id’s of both Bodies of the interactions, e.g.
O.interactions[23,65]iteraction over the whole container:
for i in O.interactions: print i.id1,i.id2
Note
Iteration silently skips interactions that are virtual i.e. not real.
- __init__((object)arg1, (InteractionContainer)arg2) None¶
- all((InteractionContainer)arg1[, (bool)onlyReal=False]) list :¶
Return list of all interactions. Virtual interaction are filtered out if onlyReal=True, else (default) it dumps the full content.
- clear((InteractionContainer)arg1) None :¶
Remove all interactions, and invalidate persistent collider data (if the collider supports it).
- erase((InteractionContainer)arg1, (int)arg2, (int)arg3) None :¶
Erase one interaction, given by id1, id2 (internally,
requestEraseis called – the interaction might still exist as potential, if the Collider decides so).
- has((InteractionContainer)arg1, (int)id1, (int)id2[, (bool)onlyReal=False]) bool :¶
Tell if a pair of ids id1, id2 corresponds to an existing interaction (real or not depending on onlyReal)
- nth((InteractionContainer)arg1, (int)arg2) Interaction :¶
Return n-th interaction from the container (usable for picking random interaction). The virtual interactions are not reached.
- property serializeSorted¶
None( (yade.wrapper.InteractionContainer)arg1) -> bool
ForceContainer¶
- class yade.wrapper.ForceContainer¶
- __init__((object)arg1, (ForceContainer)arg2) None¶
- addF((ForceContainer)arg1, (int)id, (yade._minieigenHP.Vector3)f[, (bool)permanent=False]) None :¶
Apply force on body (accumulates). The force applies for one iteration, then it is reset by ForceResetter. # permanent parameter is deprecated, instead of addF(…,permanent=True) use setPermF(…).
- addT((ForceContainer)arg1, (int)id, (yade._minieigenHP.Vector3)t[, (bool)permanent=False]) None :¶
Apply torque on body (accumulates). The torque applies for one iteration, then it is reset by ForceResetter. # permanent parameter is deprecated, instead of addT(…,permanent=True) use setPermT(…).
- f((ForceContainer)arg1, (int)id[, (bool)sync=False]) yade._minieigenHP.Vector3 :¶
Resultant force on body, excluding gravity. For clumps in openMP, synchronize the force container with sync=True, else the value will be wrong.
- getPermForceUsed((ForceContainer)arg1) bool :¶
Check wether permanent forces are present.
- m((ForceContainer)arg1, (int)id[, (bool)sync=False]) yade._minieigenHP.Vector3 :¶
Deprecated alias for t (torque).
- permF((ForceContainer)arg1, (int)id) yade._minieigenHP.Vector3 :¶
read the value of permanent force on body (set with setPermF()).
- permT((ForceContainer)arg1, (int)id) yade._minieigenHP.Vector3 :¶
read the value of permanent torque on body (set with setPermT()).
- reset((ForceContainer)arg1[, (bool)resetAll=True]) None :¶
Reset the force container, including user defined permanent forces/torques. resetAll=False will keep permanent forces/torques unchanged.
- setPermF((ForceContainer)arg1, (int)arg2, (yade._minieigenHP.Vector3)arg3) None :¶
set the value of permanent force on body.
- setPermT((ForceContainer)arg1, (int)arg2, (yade._minieigenHP.Vector3)arg3) None :¶
set the value of permanent torque on body.
- property syncCount¶
Number of synchronizations of ForceContainer (cummulative); if significantly higher than number of steps, there might be unnecessary syncs hurting performance.
- t((ForceContainer)arg1, (int)id[, (bool)sync=False]) yade._minieigenHP.Vector3 :¶
Torque applied on body. For clumps in openMP, synchronize the force container with sync=True, else the value will be wrong.
MaterialContainer¶
- class yade.wrapper.MaterialContainer¶
Container for Materials. A material can be accessed using
numerical index in range(0,len(cont)), like cont[2];
textual label that was given to the material, like cont[‘steel’]. This entails traversing all materials and should not be used frequently.
- __init__((object)arg1, (MaterialContainer)arg2) None¶
- append((MaterialContainer)arg1, (Material)arg2) int :¶
Add new shared Material; changes its id and return it.
- append( (MaterialContainer)arg1, (object)arg2) -> object :
Append list of Material instances, return list of ids.
- index((MaterialContainer)arg1, (str)arg2) int :¶
Return id of material, given its label.