AGX Dynamics 2.42.3.0
Loading...
Searching...
No Matches
agxTerrain::TerrainMaterial::ParticleProperties Class Reference

Class containing the properties of the created soil particles in the Terrain, such as particle density and contact parameters amongst soil particles and between soil particles and the terrain surface. More...

#include <TerrainMaterial.h>

+ Inheritance diagram for agxTerrain::TerrainMaterial::ParticleProperties:

Classes

struct  ParticleParticleParameters
 
struct  ParticleTerrainParameters
 

Public Member Functions

 ParticleProperties (TerrainMaterial *terrainMaterial)
 
agx::Real getAdhesionOverlapFactor () const
 
agx::Real getParticleCohesion () const
 
agx::Real getParticleDensity () const
 
agx::Real getParticleRestitution () const
 
agx::Real getParticleRollingResistance () const
 
agx::Real getParticleSurfaceFriction () const
 
agx::Real getParticleTerrainCohesion () const
 
agx::Real getParticleTerrainRestitution () const
 
agx::Real getParticleTerrainRollingResistance () const
 
agx::Real getParticleTerrainSurfaceFriction () const
 
agx::Real getParticleTerrainYoungsModulus () const
 
agx::Real getParticleYoungsModulus () const
 
void setAdhesionOverlapFactor (agx::Real adhesionOverlapFactor)
 Set the adhesion overlap factor of particle contacts, i.e what fraction of the particle radius is allowed to overlap to simulate adhesion.
 
void setParticleCohesion (agx::Real cohesion)
 Set the particle cohesion (Pa) of the bulk material.
 
void setParticleRestitution (agx::Real restitution)
 Set the particle restitution of the bulk material.
 
void setParticleRollingResistance (agx::Real rollingResistance)
 Set the particle rolling resistance of the bulk material.
 
void setParticleSurfaceFriction (agx::Real friction)
 Set the particle surface friction of the bulk material.
 
void setParticleTerrainCohesion (agx::Real cohesion)
 Set the particle <-> terrain cohesion (Pa) of the bulk material.
 
void setParticleTerrainRestitution (agx::Real restitution)
 Set particle <-> terrain restitution of the bulk material.
 
void setParticleTerrainRollingResistance (agx::Real rollingResistance)
 Set the particle <-> terrain rolling resistance of the bulk material.
 
void setParticleTerrainSurfaceFriction (agx::Real friction)
 Set the particle <-> terrain surface friction of the bulk material.
 
void setParticleTerrainYoungsModulus (agx::Real youngsModulus)
 Set particle <-> Terrain Young's modulus (Pa) of the bulk material.
 
void setParticleYoungsModulus (agx::Real youngsModulus)
 Set the particle Young's modulus (Pa) of the bulk material.
 
- Public Member Functions inherited from agx::Referenced
 Referenced ()
 Default constructor.
 
 Referenced (const Referenced &)
 
template<typename T >
T * as ()
 Subclass casting.
 
template<typename T >
const T * as () const
 
template<typename T >
T * asSafe ()
 Safe subclass casting, return nullptr if template type does not match.
 
template<typename T >
const T * asSafe () const
 
int getReferenceCount () const
 
template<typename T >
bool is () const
 Subclass test.
 
Referenced & operator= (const Referenced &)
 Assignment operator. Will increment the number of references to the referenced object.
 
void reference (void *ptr=nullptr) const
 Explicitly increment the reference count by one, indicating that this object has another pointer which is referencing it.
 
void unreference (void *ptr=nullptr) const
 Decrement the reference count by one, indicating that a pointer to this object is referencing it.
 
void unreference_nodelete () const
 Decrement the reference count by one, indicating that a pointer to this object is referencing it.
 

Public Attributes

 AGXTERRAIN_STORE_RESTORE_INTERFACE
 

Protected Member Functions

virtual ~ParticleProperties ()
 
void onChanged ()
 
- Protected Member Functions inherited from agx::Referenced
virtual ~Referenced ()
 Destructor.
 
void allocateObserverVector () const
 
void deleteUsingDeleteHandler () const
 

Protected Attributes

agx::Real m_adhesionOverlapFactor
 
ParticleParticleParameters m_particleParticleParameters
 
ParticleTerrainParameters m_particleTerrainParameters
 
TerrainMaterial * m_terrainMaterial
 
- Protected Attributes inherited from agx::Referenced
Mutex m_mutex
 
ObserverContainer m_observers
 
AtomicValue m_refCount
 

Additional Inherited Members

- Static Public Member Functions inherited from agx::Referenced
template<typename T >
static bool ValidateCast (const Referenced *object)
 
- Static Protected Member Functions inherited from agx::Referenced
static DeleteHandler * getDeleteHandler ()
 
static void setDeleteHandler (DeleteHandler *handler)
 Internal: Set a DeleteHandler to which deletion of all referenced counted objects will be delegated to.
 

Detailed Description

Class containing the properties of the created soil particles in the Terrain, such as particle density and contact parameters amongst soil particles and between soil particles and the terrain surface.

Definition at line 505 of file TerrainMaterial.h.

Constructor & Destructor Documentation

◆ ParticleProperties()

agxTerrain::TerrainMaterial::ParticleProperties::ParticleProperties ( TerrainMaterial *  terrainMaterial)

◆ ~ParticleProperties()

virtual agxTerrain::TerrainMaterial::ParticleProperties::~ParticleProperties ( )
inlineprotectedvirtual

Definition at line 642 of file TerrainMaterial.h.

Member Function Documentation

◆ getAdhesionOverlapFactor()

agx::Real agxTerrain::TerrainMaterial::ParticleProperties::getAdhesionOverlapFactor ( ) const
inline
Returns
adhesion overlap factor of the particle properties.

Definition at line 1145 of file TerrainMaterial.h.

◆ getParticleCohesion()

agx::Real agxTerrain::TerrainMaterial::ParticleProperties::getParticleCohesion ( ) const
Returns
particle cohesion (Pa) of the bulk material used in the contacts between particles.

◆ getParticleDensity()

agx::Real agxTerrain::TerrainMaterial::ParticleProperties::getParticleDensity ( ) const
Returns
the specific density of the generated soil particles. This is automatically derived from the terrain bulk density and the resulting packing fraction.

◆ getParticleRestitution()

agx::Real agxTerrain::TerrainMaterial::ParticleProperties::getParticleRestitution ( ) const
Returns
the particle restitution of the bulk material used in the contacts between particles.

◆ getParticleRollingResistance()

agx::Real agxTerrain::TerrainMaterial::ParticleProperties::getParticleRollingResistance ( ) const
Returns
particle rolling resistance of the bulk material used in the contacts between particles.

◆ getParticleSurfaceFriction()

agx::Real agxTerrain::TerrainMaterial::ParticleProperties::getParticleSurfaceFriction ( ) const
Returns
particle-particle surface friction of the bulk material used in the contacts between particles.

◆ getParticleTerrainCohesion()

agx::Real agxTerrain::TerrainMaterial::ParticleProperties::getParticleTerrainCohesion ( ) const
Returns
the cohesion of the particle <-> terrain contacts.

◆ getParticleTerrainRestitution()

agx::Real agxTerrain::TerrainMaterial::ParticleProperties::getParticleTerrainRestitution ( ) const
Returns
the restitution of the particle <-> terrain contacts.

◆ getParticleTerrainRollingResistance()

agx::Real agxTerrain::TerrainMaterial::ParticleProperties::getParticleTerrainRollingResistance ( ) const
Returns
the rolling resistance of the particle <-> terrain contacts.

◆ getParticleTerrainSurfaceFriction()

agx::Real agxTerrain::TerrainMaterial::ParticleProperties::getParticleTerrainSurfaceFriction ( ) const
Returns
the friction of the particle <-> terrain contacts.

◆ getParticleTerrainYoungsModulus()

agx::Real agxTerrain::TerrainMaterial::ParticleProperties::getParticleTerrainYoungsModulus ( ) const
Returns
particle Young's modulus of against the contacts on the terrain surface.

◆ getParticleYoungsModulus()

agx::Real agxTerrain::TerrainMaterial::ParticleProperties::getParticleYoungsModulus ( ) const
Returns
particle Young's modulus (Pa) of the bulk material used in the contacts between particles.

◆ onChanged()

void agxTerrain::TerrainMaterial::ParticleProperties::onChanged ( )
protected

◆ setAdhesionOverlapFactor()

void agxTerrain::TerrainMaterial::ParticleProperties::setAdhesionOverlapFactor ( agx::Real  adhesionOverlapFactor)

Set the adhesion overlap factor of particle contacts, i.e what fraction of the particle radius is allowed to overlap to simulate adhesion.

Parameters
adhesionOverlapFactor- The specified adhesion overlap factor to set to the material. (Default: 0.05)

◆ setParticleCohesion()

void agxTerrain::TerrainMaterial::ParticleProperties::setParticleCohesion ( agx::Real  cohesion)

Set the particle cohesion (Pa) of the bulk material.

Parameters
cohesion- the specified particle rolling resistance to set to the bulk material. (Default: 0.0 Pa)

◆ setParticleRestitution()

void agxTerrain::TerrainMaterial::ParticleProperties::setParticleRestitution ( agx::Real  restitution)

Set the particle restitution of the bulk material.

Parameters
restitution- the specified particle restitution to set to the bulk material. (Default: 0.5)

◆ setParticleRollingResistance()

void agxTerrain::TerrainMaterial::ParticleProperties::setParticleRollingResistance ( agx::Real  rollingResistance)

Set the particle rolling resistance of the bulk material.

Parameters
rollingResistance- the specified particle rolling resistance to set to the bulk material. (Default: 0.3)

◆ setParticleSurfaceFriction()

void agxTerrain::TerrainMaterial::ParticleProperties::setParticleSurfaceFriction ( agx::Real  friction)

Set the particle surface friction of the bulk material.

Parameters
friction- the specified particle surface friction to set to the bulk material. (Default: 0.4)

◆ setParticleTerrainCohesion()

void agxTerrain::TerrainMaterial::ParticleProperties::setParticleTerrainCohesion ( agx::Real  cohesion)

Set the particle <-> terrain cohesion (Pa) of the bulk material.

Parameters
cohesion- the specified particle <-> terrain cohesion to set to the bulk material. (Default: 0.0 Pa)

◆ setParticleTerrainRestitution()

void agxTerrain::TerrainMaterial::ParticleProperties::setParticleTerrainRestitution ( agx::Real  restitution)

Set particle <-> terrain restitution of the bulk material.

Parameters
restitution- the specified particle <-> terrain restitution to set to the bulk material. (Default: 0.0)

◆ setParticleTerrainRollingResistance()

void agxTerrain::TerrainMaterial::ParticleProperties::setParticleTerrainRollingResistance ( agx::Real  rollingResistance)

Set the particle <-> terrain rolling resistance of the bulk material.

Set the particle rolling resistance of the bulk material.

Parameters
rollingResistance- the specified particle rolling resistance to set to the bulk material. (Default: 0.3)

◆ setParticleTerrainSurfaceFriction()

void agxTerrain::TerrainMaterial::ParticleProperties::setParticleTerrainSurfaceFriction ( agx::Real  friction)

Set the particle <-> terrain surface friction of the bulk material.

Parameters
friction- the specified particle surface friction to set to the bulk material. (Default: 0.8)

◆ setParticleTerrainYoungsModulus()

void agxTerrain::TerrainMaterial::ParticleProperties::setParticleTerrainYoungsModulus ( agx::Real  youngsModulus)

Set particle <-> Terrain Young's modulus (Pa) of the bulk material.

Parameters
youngsModulus- the specified particle <-> terrain Young's modulus to set to the bulk material. (Default: 1e8 Pa)

◆ setParticleYoungsModulus()

void agxTerrain::TerrainMaterial::ParticleProperties::setParticleYoungsModulus ( agx::Real  youngsModulus)

Set the particle Young's modulus (Pa) of the bulk material.

Parameters
youngsModulus- the specified particle Young's modulus to set to the bulk material. (Default: 1e9 Pa)

Member Data Documentation

◆ AGXTERRAIN_STORE_RESTORE_INTERFACE

agxTerrain::TerrainMaterial::ParticleProperties::AGXTERRAIN_STORE_RESTORE_INTERFACE

Definition at line 639 of file TerrainMaterial.h.

◆ m_adhesionOverlapFactor

agx::Real agxTerrain::TerrainMaterial::ParticleProperties::m_adhesionOverlapFactor
protected

Definition at line 671 of file TerrainMaterial.h.

◆ m_particleParticleParameters

ParticleParticleParameters agxTerrain::TerrainMaterial::ParticleProperties::m_particleParticleParameters
protected

Definition at line 669 of file TerrainMaterial.h.

◆ m_particleTerrainParameters

ParticleTerrainParameters agxTerrain::TerrainMaterial::ParticleProperties::m_particleTerrainParameters
protected

Definition at line 670 of file TerrainMaterial.h.

◆ m_terrainMaterial

TerrainMaterial* agxTerrain::TerrainMaterial::ParticleProperties::m_terrainMaterial
protected

Definition at line 673 of file TerrainMaterial.h.


The documentation for this class was generated from the following file: