chrono::fea::ChFieldData Class Reference

Description

Base interface for the per-node and per-materialpoint properties of some material.

Used, among others, in ChField and ChDomain. Suggestion: if you want to inherit from this, rather consider to inherit from these ready-to-use helping subclasses: ChFieldDataStateless (if you just want to attach some generic data structures) or ChFieldDataGeneric<int n> (if you want a n-dimensional state, with its ChVariable, with automatic bookkeeping etc.)

#include <ChFieldData.h>

Inheritance diagram for chrono::fea::ChFieldData:

Public Member Functions

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)
 

Member Function Documentation

◆ GetNthSubData()

virtual ChFieldData* chrono::fea::ChFieldData::GetNthSubData ( int  n)
inlinevirtual

Optionally, a ChFieldData could have children ChFieldData objects, like a tree structure.

This can be useful in cases when one has a compound material like plastic law + viscous law, each willing to introduce their own ChFieldData per material point, hence per each material point the viscoplastic material will generate a ChFieldDataCompound with two children: a ChFieldDataForPlasticity and a ChFieldDataForViscosity, for example. When using ChFieldData in a ChField, instead, we require that there are no sub data. Return nullptr for n=0 to tell that there are no sub data.


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