![]() |
FemProcess
The GeMA Fem Process Plugin
|
A class that implements a common behaviour for physics materials. More...
#include <gmpFemPhysicsCommonMaterial.h>
Public Member Functions | |
GmpFemPhysicsCommonMaterial (int typeIndex, QString typeName, const GmLogCategory &logger) | |
Common material constructor. Receives its type name and index in order for a class to be able to handle multiple types. | |
virtual | ~GmpFemPhysicsCommonMaterial () |
Virtual destructor. | |
int | typeIndex () const |
Returns the material type index. | |
QString | typeName () const |
Returns the material type name. | |
const GmLogCategory & | logger () const |
Returns the material logger. | |
virtual const QVariantMap * | materialMetaDataMap ()=0 |
Virtual function reponsible for returning material associated properties. More... | |
virtual bool | vectorPropertyValue (const GmElement *e, GmCellAccessor *propAcc, GmVector &data, const GmVector *coord, int ip) const |
Returns the vector values of material properties. More... | |
virtual bool | checkLoadedData (const GmElement *e) const |
Additional checking function, called after all attributes and accessors from physicsMetaDataMap() have already been loaded and validated. Should be implemented in derived classes for conducting additional checks that can't be expressed by the options on the tables in physicsMetaDataMap(). More... | |
virtual bool | addStateItemsToGroup (GmStateDump *state, GmElementMesh *mesh, bool fixedHint, int groupId) |
Initialization method, called once, allowing the object to add material state items to the given group of the sate dump object. More... | |
GmValueAccessor * | nodeAc () const |
Returns the accessor for retrieving node coordinates. | |
int | nodeDim () const |
Returns the node dimension (number of node coordinates) | |
GmCellAccessor * | propertyAc (int id) const |
Returns the accessor for the given cell property. | |
bool | constantProperty (int id) const |
Returns true if the given cell property is not a function (so its value is unique for an element and does not need to be evaluated for each Gauss point) | |
GmValueAccessor * | nodeAttrAc (int id) const |
Returns the accessor for the given node attribute. | |
GmGaussAccessor * | gaussAttrAc (int id) const |
Returns the accessor for the given Gauss attribute. | |
Protected Attributes | |
int | _typeIndex |
The material type index, used for indexing into the materials vector inside the physics. | |
int | _nodeDim |
Node dimension. | |
QString | _typeName |
The material type name. | |
const GmLogCategory & | _logger |
The material logger. | |
QVector< GmCellAccessor * > | _propertyAccessors |
List with property accessors. | |
QVector< bool > | _constantProperties |
List with flags defining if the properties in _propertyAccessors can have functions or not. | |
QVector< GmValueAccessor * > | _nodeAttrAccessors |
List with node attribute accessors. | |
QVector< GmGaussAccessor * > | _gaussAttrAccessors |
List with Gauss attribute accessors. | |
GmValueAccessor * | _nodeAccessor |
An accessor for retrieving node coordinate values. | |
QVector< int > | _savedGaussAccessorIds |
The list with gauss accessor ids that need to be saved on addStateItemsToGroup() | |
Friends | |
class | GmpFemPhysicsCommon |
A class that implements a common behaviour for physics materials.
|
virtual |
Initialization method, called once, allowing the object to add material state items to the given group of the sate dump object.
This function can be reimplemented on derived classes. By default, it adds to the group the set of accessors described by the "savedGaussAttributes" entry on the material metadata map, using the prefix defined by "savedGaussAttributesPrefix".
Should return false on error, using the state logger to explain it.
|
inlinevirtual |
Additional checking function, called after all attributes and accessors from physicsMetaDataMap() have already been loaded and validated. Should be implemented in derived classes for conducting additional checks that can't be expressed by the options on the tables in physicsMetaDataMap().
TODO: The current implementation works by element, but the checks should really be done for the property lines...
|
pure virtual |
Virtual function reponsible for returning material associated properties.
Analog to GmFemPhysicsCommon::physicsMetaDataMap(), the map returned by this function will complement the map returned by the physics object. It should consist of a "properties" entry and an optional gaussAttributes entry, as described in the GmFemPhysicsCommon class documentation.
Returned properties/attributes required conditions can depend on attributes declared on the physics.
When building the map, please keep in mind that property ids (enums) are private for the material since their accessors are stored inside the material.
|
virtual |
Returns the vector values of material properties.
Returns vector values of material properties.