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

Class containing the soil bulk properties of and agxTerrain object. More...

#include <TerrainMaterial.h>

+ Inheritance diagram for agxTerrain::TerrainMaterial::BulkProperties:

Public Member Functions

 BulkProperties (TerrainMaterial *terrainMaterial)
 Default constructor.
 
agx::Real getCohesion () const
 
agx::Real getDeltaReposeAngle () const
 
agx::Real getDensity () const
 
agx::Real getDilatancyAngle () const
 
agx::Real getFrictionAngle () const
 
agx::Real getMaximumDensity () const
 
agx::Real getPoissonsRatio () const
 
agx::Real getSwellFactor () const
 
agx::Real getTangentialCohesion () const
 
agx::Real getYoungsModulus () const
 
void setCohesion (agx::Real cohesion)
 Set the bulk cohesion (Pa) of the bulk material.
 
void setDeltaReposeAngle (agx::Real deltaReposeAngle)
 Set the delta repose angle.
 
void setDensity (agx::Real density)
 Set the bulk density (kg/m^3) of the bulk material.
 
void setDilatancyAngle (agx::Real dilatancyAngle)
 Set the dilatancy angle (rad) of the bulk material.
 
void setFrictionAngle (agx::Real frictionAngle)
 Set the internal friction angle (rad) of the bulk material.
 
void setMaximumDensity (agx::Real maxDensity)
 Set the maximum density (kg/m^3) of the bulk material.
 
void setPoissonsRatio (agx::Real poissonsRatio)
 Set the bulk Poisson's ratio of the bulk material.
 
void setSwellFactor (agx::Real swellFactor)
 Set the swell factor of the material, i.e how much the material will expand during excavation.
 
void setTangentialCohesion (agx::Real tangentialCohesion)
 
void setYoungsModulus (agx::Real youngsModulus)
 Set the bulk 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
 
agx::Real m_cohesion
 
agx::Real m_deltaReposeAngle
 
agx::Real m_density
 
agx::Real m_dilatancyAngle
 
agx::Real m_frictionAngle
 
agx::Real m_maxDensity
 
agx::Real m_poissonsRatio
 
agx::Real m_swellFactor
 
agx::Real m_tangentialCohesion
 
TerrainMaterial * m_terrainMaterial
 
agx::Real m_youngsModulus
 

Protected Member Functions

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

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.
 
- Protected Attributes inherited from agx::Referenced
Mutex m_mutex
 
ObserverContainer m_observers
 
AtomicValue m_refCount
 

Detailed Description

Class containing the soil bulk properties of and agxTerrain object.

These properties typically affect the shape and force feedback of the failure zones that appear during excavation but also affect the shovel penetration resistance.

The bulk material properties governs the following internal contact material parameters:

YoungsModulus - The stiffness of the material in Pa. This affects the Young's Modulus parameter of the contact materials. Cohesion - Describes the internal cohesion of the material in Newton. This translates to the adhesion parameter of the internal contact material. Density - Describes the density of the soil in kg/m3. This translates to the specific density of the solid soil material and the bulk density of the dynamic soil (i.e Soil Particles). FrictionAngle - Describes the internal friction angle of the material. This affects the angle of repose in a 1-to 1 ration for the avalanching algorithm. PoissonsRatio - Describes the Poisson's ratio of the material. This affects the soil penetration force calculations. DilatancyAngle - Describes the dilatancy angle of the material. This affects the soil penetration force calculations.

Definition at line 152 of file TerrainMaterial.h.

Constructor & Destructor Documentation

◆ BulkProperties()

agxTerrain::TerrainMaterial::BulkProperties::BulkProperties ( TerrainMaterial *  terrainMaterial)

Default constructor.

◆ ~BulkProperties()

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

Definition at line 287 of file TerrainMaterial.h.

Member Function Documentation

◆ getCohesion()

agx::Real agxTerrain::TerrainMaterial::BulkProperties::getCohesion ( ) const
inline
Returns
the bulk cohesion (Pa) of the bulk material.

Definition at line 1125 of file TerrainMaterial.h.

◆ getDeltaReposeAngle()

agx::Real agxTerrain::TerrainMaterial::BulkProperties::getDeltaReposeAngle ( ) const
inline
Returns
the delta repose angle of the material, used to caluclate the angle of repose for a material. See setDeltaReposeAngle.

Definition at line 1140 of file TerrainMaterial.h.

◆ getDensity()

agx::Real agxTerrain::TerrainMaterial::BulkProperties::getDensity ( ) const
inline
Returns
the bulk density (kg/m3) of the bulk material.

Definition at line 1091 of file TerrainMaterial.h.

◆ getDilatancyAngle()

agx::Real agxTerrain::TerrainMaterial::BulkProperties::getDilatancyAngle ( ) const
inline
Returns
the dilatancy angle (rad) of the bulk material.

Definition at line 1120 of file TerrainMaterial.h.

◆ getFrictionAngle()

agx::Real agxTerrain::TerrainMaterial::BulkProperties::getFrictionAngle ( ) const
inline
Returns
the friction angle (rad) of the bulk material.

Definition at line 1115 of file TerrainMaterial.h.

◆ getMaximumDensity()

agx::Real agxTerrain::TerrainMaterial::BulkProperties::getMaximumDensity ( ) const
inline
Returns
the maximum density (kg/m3) of the bulk material.

Definition at line 1097 of file TerrainMaterial.h.

◆ getPoissonsRatio()

agx::Real agxTerrain::TerrainMaterial::BulkProperties::getPoissonsRatio ( ) const
inline
Returns
the bulk Poisson's ratio of the bulk material.

Definition at line 1109 of file TerrainMaterial.h.

◆ getSwellFactor()

agx::Real agxTerrain::TerrainMaterial::BulkProperties::getSwellFactor ( ) const
inline
Returns
the swell factor of the material, i.e the volume expansion of created dynamic soil during excavation.

Definition at line 1135 of file TerrainMaterial.h.

◆ getTangentialCohesion()

agx::Real agxTerrain::TerrainMaterial::BulkProperties::getTangentialCohesion ( ) const
inline

Definition at line 1130 of file TerrainMaterial.h.

◆ getYoungsModulus()

agx::Real agxTerrain::TerrainMaterial::BulkProperties::getYoungsModulus ( ) const
inline
Returns
the bulk Young's modulus (Pa) of the bulk material.

Definition at line 1103 of file TerrainMaterial.h.

◆ onChanged()

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

◆ setCohesion()

void agxTerrain::TerrainMaterial::BulkProperties::setCohesion ( agx::Real  cohesion)

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

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

◆ setDeltaReposeAngle()

void agxTerrain::TerrainMaterial::BulkProperties::setDeltaReposeAngle ( agx::Real  deltaReposeAngle)

Set the delta repose angle.

This will increase the angle of repose of the material according to the following formula:

angle_of_repose = atan( tan(internal_friction angle + delta_repose_angle) * compaction_factor )

Parameters
deltaReposeAngle- the specified delta repose to set to the material.

◆ setDensity()

void agxTerrain::TerrainMaterial::BulkProperties::setDensity ( agx::Real  density)

Set the bulk density (kg/m^3) of the bulk material.

Parameters
density- the specified bulk density to set to the bulk material. (Default: 1.4e3 kg/m^3)

◆ setDilatancyAngle()

void agxTerrain::TerrainMaterial::BulkProperties::setDilatancyAngle ( agx::Real  dilatancyAngle)

Set the dilatancy angle (rad) of the bulk material.

This determines the material properties during expansion and compression. This affects the soil penetration force calculations.

Parameters
dilatancyAngle- the specified dilatancy angle to set to the bulk material. (Default: 15.0 * agx::PI / 180.0 radians)

◆ setFrictionAngle()

void agxTerrain::TerrainMaterial::BulkProperties::setFrictionAngle ( agx::Real  frictionAngle)

Set the internal friction angle (rad) of the bulk material.

This affects the shape of the active zones during excavations and also the angle of repose in a 1-to 1 ration for the avalanching algorithm.

Parameters
frictionAngle- the specified internal friction angle to set to the bulk material. (Default: 45.0 * agx::PI / 180.0 radians)

◆ setMaximumDensity()

void agxTerrain::TerrainMaterial::BulkProperties::setMaximumDensity ( agx::Real  maxDensity)

Set the maximum density (kg/m^3) of the bulk material.

This is the upper limit for the soil compaction.

Parameters
maxDensity- the specified density to set to the bulk material. (Default: 1.6e3 kg/m^3)

◆ setPoissonsRatio()

void agxTerrain::TerrainMaterial::BulkProperties::setPoissonsRatio ( agx::Real  poissonsRatio)

Set the bulk Poisson's ratio of the bulk material.

This affects the soil penetration force calculations.

Parameters
poissonsRatio- the specified bulk Poisson's ratio to set to the bulk material. (Default: 0.1)

◆ setSwellFactor()

void agxTerrain::TerrainMaterial::BulkProperties::setSwellFactor ( agx::Real  swellFactor)

Set the swell factor of the material, i.e how much the material will expand during excavation.

The volume of the dynamic material created will increase according to the swell factor: volume dynamic = volume excavated * swellFactor

Parameters
swellFactor- The specified swell factor to set to the material. (Default: 1.0)

◆ setTangentialCohesion()

void agxTerrain::TerrainMaterial::BulkProperties::setTangentialCohesion ( agx::Real  tangentialCohesion)

◆ setYoungsModulus()

void agxTerrain::TerrainMaterial::BulkProperties::setYoungsModulus ( agx::Real  youngsModulus)

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

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

Member Data Documentation

◆ AGXTERRAIN_STORE_RESTORE_INTERFACE

agxTerrain::TerrainMaterial::BulkProperties::AGXTERRAIN_STORE_RESTORE_INTERFACE

Definition at line 284 of file TerrainMaterial.h.

◆ m_cohesion

agx::Real agxTerrain::TerrainMaterial::BulkProperties::m_cohesion

Definition at line 296 of file TerrainMaterial.h.

◆ m_deltaReposeAngle

agx::Real agxTerrain::TerrainMaterial::BulkProperties::m_deltaReposeAngle

Definition at line 300 of file TerrainMaterial.h.

◆ m_density

agx::Real agxTerrain::TerrainMaterial::BulkProperties::m_density

Definition at line 291 of file TerrainMaterial.h.

◆ m_dilatancyAngle

agx::Real agxTerrain::TerrainMaterial::BulkProperties::m_dilatancyAngle

Definition at line 298 of file TerrainMaterial.h.

◆ m_frictionAngle

agx::Real agxTerrain::TerrainMaterial::BulkProperties::m_frictionAngle

Definition at line 295 of file TerrainMaterial.h.

◆ m_maxDensity

agx::Real agxTerrain::TerrainMaterial::BulkProperties::m_maxDensity

Definition at line 292 of file TerrainMaterial.h.

◆ m_poissonsRatio

agx::Real agxTerrain::TerrainMaterial::BulkProperties::m_poissonsRatio

Definition at line 294 of file TerrainMaterial.h.

◆ m_swellFactor

agx::Real agxTerrain::TerrainMaterial::BulkProperties::m_swellFactor

Definition at line 299 of file TerrainMaterial.h.

◆ m_tangentialCohesion

agx::Real agxTerrain::TerrainMaterial::BulkProperties::m_tangentialCohesion

Definition at line 297 of file TerrainMaterial.h.

◆ m_terrainMaterial

TerrainMaterial* agxTerrain::TerrainMaterial::BulkProperties::m_terrainMaterial

Definition at line 302 of file TerrainMaterial.h.

◆ m_youngsModulus

agx::Real agxTerrain::TerrainMaterial::BulkProperties::m_youngsModulus

Definition at line 293 of file TerrainMaterial.h.


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