CoupledTMFemPhysics
The GeMA Coupled Thermo-Mechanical FEM Physics Plugin
Loading...
Searching...
No Matches
GmpCoupledTMFemPhysics Class Reference

Basic class for the coupled thermo-mechanical physics plugin object. More...

#include <gmpCoupledTMFemPhysics.h>

Inheritance diagram for GmpCoupledTMFemPhysics:
Collaboration diagram for GmpCoupledTMFemPhysics:

Public Member Functions

 GmpCoupledTMFemPhysics (const char *pluginType, GmSimulationData *simulation, QString id, QString description, const GmLogCategory &logger)
 Constructor. Will be called by the plugin loading code.
 
virtual ~GmpCoupledTMFemPhysics ()
 Destructor.
 
virtual const char * pluginName () const
 
virtual const char * pluginType () const
 
virtual const QVariantMap * physicsMetaDataMap ()
 Returns a reference for the single thermo-mechanical physics attribute map, built when the function is called for the first time.
 
virtual FemResultType fillElementData (const GmElement *e, GmpFemMatrixSet &elemMatrices, GmpFemVectorSet &elemVectors)
 
virtual bool calcDerivedResults (bool nonLinearSolver)
 Calc temperature stress component on nodes and/or Gauss points, ADDING the calculated value to the current result.
 
virtual bool checkPhysicsDependencies (const QVector< GmpFemPhysics * > &physicsList, int index)
 The coupled TM physics was created to work TOGETHER with a mechanic and a temperature physics. It can't operate alone, and this function checks that both are present AND appear before the coupling physics in the physics list. This is required since the stress recovery function adds its calculated result to the one seted by the mechanical physics.
 
virtual bool checkLoadedData ()
 The current physics implementation requires the material to be isotropic. It also requires it to be elastic for the plane strain case (rquires the poisson ratio).

 

Protected Types

enum  PhysicsAttributeIds { REFERENCE_T_ID }
 IDs for physics attributes. More...
 
enum  StateVarIds { T_ID , U_ID }
 IDs for Mechanical physics state vars. More...
 
enum  ElementPropertyIds { ALPHA_ID }
 IDs for physics element properties. More...
 

Protected Member Functions

virtual void calcElementDerivedResultAtPoints (const GmElement *e, int resultId, const GmMatrix &evalPoints, bool evalAtIp, GmMatrix &result)
 The virtual function used by calcDerivedResults() to effectivelly calculate thermal stresses at the given evaluation points.
 

Private Attributes

const char * _pluginType
 The plugin type name.
 
GmpMechanicalPhysics * _mechPhys
 The mechanical physics providing parameters and B matrix to the coupling equation.
 

Detailed Description

Basic class for the coupled thermo-mechanical physics plugin object.

Member Enumeration Documentation

◆ ElementPropertyIds

IDs for physics element properties.

Enumerator
ALPHA_ID 

Id for retrieving the expansion factor accessor.

◆ PhysicsAttributeIds

IDs for physics attributes.

Enumerator
REFERENCE_T_ID 

Id for retrieving the referenceT physics attribute.

◆ StateVarIds

IDs for Mechanical physics state vars.

Enumerator
T_ID 

Id for retrieving the accessor to the temperature state var.

U_ID 

Id for retrieving the accessor to the displacement state var.

Member Function Documentation

◆ calcElementDerivedResultAtPoints()

void GmpCoupledTMFemPhysics::calcElementDerivedResultAtPoints ( const GmElement * e,
int resultId,
const GmMatrix & evalPoints,
bool evalAtIp,
GmMatrix & result )
protectedvirtual

The virtual function used by calcDerivedResults() to effectivelly calculate thermal stresses at the given evaluation points.

See the base class for a parameter description.

The thermal stress is calculated as: st = - E * (alpha * (T - _Tr) * [1 1 1 0]t) for a plane stress formulation, st = - E * ((1+nu) * alpha * (T - _Tr) * [1 1 1 0]t) for a plane strain formulation.


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