Description

Class for data structures for the per-node and per-materialpoint properties of some material, that contain some type of ChVariable that should be automatically integrated.

A child class of this type inherit an automatic bookkeeping of its ChVariable (ex. scattering and gathering for mapping to global vectors used by timesteppers is automatic).

#include <ChFieldData.h>

Inheritance diagram for chrono::fea::ChFieldDataState:
Collaboration diagram for chrono::fea::ChFieldDataState:

Public Member Functions

virtual ChVectorRef State ()=0
 
virtual ChVectorRef StateDt ()=0
 
virtual ChVectorRef Load ()=0
 Access the applied load term (ex. the atomic load/source in a Poisson equation).
 
virtual ChVariablesGetVariable ()=0
 Access the contained ChVariable.
 
virtual void SetFixed (bool fixed)=0
 Fix/release this state. More...
 
virtual bool IsFixed () const =0
 
virtual unsigned int GetNumCoordsPosLevel ()
 Get the number of degrees of freedom of this state.
 
virtual unsigned int GetNumCoordsVelLevel ()
 
unsigned int DataGetOffsetPosLevel ()
 
unsigned int DataGetOffsetVelLevel ()
 
void DataSetOffsetPosLevel (const unsigned int moff)
 
void DataSetOffsetVelLevel (const unsigned int moff)
 
virtual void DataIntStateGather (const unsigned int off_x, ChState &x, const unsigned int off_v, ChStateDelta &v, double &T)
 
virtual void DataIntStateScatter (const unsigned int off_x, const ChState &x, const unsigned int off_v, const ChStateDelta &v, const double T)
 
virtual void DataIntStateGatherAcceleration (const unsigned int off_a, ChStateDelta &a)
 
virtual void DataIntStateScatterAcceleration (const unsigned int off_a, const ChStateDelta &a)
 
virtual void DataIntStateIncrement (const unsigned int off_x, ChState &x_new, const ChState &x, const unsigned int off_v, const ChStateDelta &Dv)
 
virtual void DataIntStateGetIncrement (const unsigned int off_x, const ChState &x_new, const ChState &x, const unsigned int off_v, ChStateDelta &Dv)
 
virtual void DataIntLoadResidual_F (const unsigned int off, ChVectorDynamic<> &R, const double c)
 
virtual void DataIntLoadResidual_Mv (const unsigned int off, ChVectorDynamic<> &R, const ChVectorDynamic<> &w, const double c)
 
virtual void DataIntLoadLumpedMass_Md (const unsigned int off, ChVectorDynamic<> &Md, double &error, const double c)
 
virtual void DataIntToDescriptor (const unsigned int off_v, const ChStateDelta &v, const ChVectorDynamic<> &R)
 
virtual void DataIntFromDescriptor (const unsigned int off_v, ChStateDelta &v)
 
virtual void InjectVariables (ChSystemDescriptor &descriptor)
 
- Public Member Functions inherited from chrono::fea::ChFieldData
virtual ChFieldDataGetNthSubData (int n)
 Optionally, a ChFieldData could have children ChFieldData objects, like a tree structure. More...
 
template<typename VisitorFunc >
void VisitTree (VisitorFunc &&visitor)
 
template<typename VisitorFunc >
void ForEach (VisitorFunc &&visitor)
 

Static Public Member Functions

static bool IsFirstOrder ()
 By default all ChFieldDataState are ment for 2nd order ODE, i.e. More...
 
static unsigned int StaticGetNumCoordsPosLevel ()
 
static unsigned int StaticGetNumCoordsVelLevel ()
 

Member Function Documentation

◆ IsFirstOrder()

static bool chrono::fea::ChFieldDataState::IsFirstOrder ( )
inlinestatic

By default all ChFieldDataState are ment for 2nd order ODE, i.e.

they have both state and state derivative, ex.{pos, dpos/dt}. In some cases, however, they might be used for 1st order ODE, ex for temperature T, in which case T is the StateDt() and State() is just a dummy variable to provide compatibility with 2nd order integrators of chrono.

◆ SetFixed()

virtual void chrono::fea::ChFieldDataState::SetFixed ( bool  fixed)
pure virtual

Fix/release this state.

If fixed, its state variables are not changed by the solver.

Implemented in chrono::fea::ChFieldDataPos3D, chrono::fea::ChFieldDataGeneric< T_nstates >, chrono::fea::ChFieldDataGeneric< 1 >, and chrono::fea::ChFieldDataGeneric< 3 >.


The documentation for this class was generated from the following file:
  • /builds/uwsbel/chrono/src/chrono/fea/ChFieldData.h