chrono::vehicle::FEADeformableTerrain Class Reference

Description

FEA Deformable terrain model.

This class implements a terrain made up of isoparametric finite elements. It features Drucker-Prager plasticity and capped Drucker-Prager plasticity.

#include <FEADeformableTerrain.h>

Inheritance diagram for chrono::vehicle::FEADeformableTerrain:
Collaboration diagram for chrono::vehicle::FEADeformableTerrain:

Public Member Functions

 FEADeformableTerrain (ChSystem *system)
 Construct a default DeformableSoil. More...
 
virtual double GetHeight (double x, double y) const override
 Get the terrain height at the specified (x,y) location.
 
virtual chrono::ChVector GetNormal (double x, double y) const override
 Get the terrain normal at the specified (x,y) location.
 
void SetSoilParametersFEA (double rho, double Emod, double nu, double yield_stress, double hardening_slope, double friction_angle, double dilatancy_angle)
 Set the properties of the Drucker-Prager FEA soil. More...
 
void Initialize (const ChVector<> &start_point, const ChVector<> &terrain_dimension, const ChVector< int > &terrain_discretization)
 Initialize the terrain system (flat). More...
 
std::shared_ptr< fea::ChMeshGetMesh () const
 Get the underlying FEA mesh.
 
- Public Member Functions inherited from chrono::vehicle::ChTerrain
virtual void Synchronize (double time)
 Update the state of the terrain system at the specified time.
 
virtual void Advance (double step)
 Advance the state of the terrain system by the specified duration.
 

Constructor & Destructor Documentation

chrono::vehicle::FEADeformableTerrain::FEADeformableTerrain ( ChSystem system)

Construct a default DeformableSoil.

The user is responsible for calling various Set methods before Initialize. [in/out] pointer to the containing system);

Member Function Documentation

void chrono::vehicle::FEADeformableTerrain::Initialize ( const ChVector<> &  start_point,
const ChVector<> &  terrain_dimension,
const ChVector< int > &  terrain_discretization 
)

Initialize the terrain system (flat).

This version creates a flat array of points. [in] Number of finite elements in the 3 directions

Parameters
[in]start_pointBase point to build terrain box
[in]terrain_dimensionterrain dimensions in the 3 directions
void chrono::vehicle::FEADeformableTerrain::SetSoilParametersFEA ( double  rho,
double  Emod,
double  nu,
double  yield_stress,
double  hardening_slope,
double  friction_angle,
double  dilatancy_angle 
)

Set the properties of the Drucker-Prager FEA soil.

Parameters
[in]rhoSoil density
[in]EmodSoil modulus of elasticity
[in]nuSoil Poisson ratio
[in]yield_stressSoil yield stress, for plasticity
[in]hardening_slopeSoil hardening slope, for plasticity
[in]friction_angleSoil internal friction angle
[in]dilatancy_angleSoil dilatancy angle