CoupledTMFemPhysics
The GeMA Coupled Thermo-Mechanical FEM Physics Plugin
Loading...
Searching...
No Matches
gmpCoupledTMFemPhysics.h
Go to the documentation of this file.
1/************************************************************************
2**
3** Copyright (C) 2014 by Carlos Augusto Teixera Mendes
4** All rights reserved.
5**
6** This file is part of the "GeMA" software. It's use should respect
7** the terms in the license agreement that can be found together
8** with this source code.
9** It is provided AS IS, with NO WARRANTY OF ANY KIND,
10** INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR
11** A PARTICULAR PURPOSE.
12**
13************************************************************************/
14
24#ifndef _GEMA_PLUGIN_COUPLED_TM_FEM_PHYSICS_H_
25#define _GEMA_PLUGIN_COUPLED_TM_FEM_PHYSICS_H_
26
27#include "gmpCoupledTMConfig.h"
28
29#include <gmpFemPhysicsCoupled.h>
30
31class GmpMechanicalPhysics;
32
35class GMP_COUPLED_TM_PHYSICS_API_EXPORT GmpCoupledTMFemPhysics : public GmpFemPhysicsCoupled
36{
37public:
38
39 // constructor
40 GmpCoupledTMFemPhysics(const char* pluginType, GmSimulationData* simulation, QString id, QString description, const GmLogCategory& logger);
41
42 // destructor
44
45 // Comments on the base class
46 virtual const char* pluginName() const { return "CoupledTMFemPhysics"; }
47
48 // Comments on the base class
49 virtual const char* pluginType() const { return _pluginType; }
50
51 // Comments on the base class
52 virtual const QVariantMap* physicsMetaDataMap();
53
54 virtual FemResultType fillElementData(const GmElement* e, GmpFemMatrixSet& elemMatrices, GmpFemVectorSet& elemVectors);
55
56 virtual bool calcDerivedResults(bool nonLinearSolver);
57
58 virtual bool checkPhysicsDependencies(const QVector<GmpFemPhysics*>& physicsList, int index);
59 virtual bool checkLoadedData();
60
61protected:
62
68
71 {
74 };
75
81
82 virtual void calcElementDerivedResultAtPoints(const GmElement* e, int resultId, const GmMatrix& evalPoints, bool evalAtIp, GmMatrix& result);
83
84private:
85 const char* _pluginType;
86 GmpMechanicalPhysics* _mechPhys;
87};
88
89#endif
90
Basic class for the coupled thermo-mechanical physics plugin object.
Definition gmpCoupledTMFemPhysics.h:36
const char * _pluginType
The plugin type name.
Definition gmpCoupledTMFemPhysics.h:85
ElementPropertyIds
IDs for physics element properties.
Definition gmpCoupledTMFemPhysics.h:78
@ ALPHA_ID
Id for retrieving the expansion factor accessor.
Definition gmpCoupledTMFemPhysics.h:79
StateVarIds
IDs for Mechanical physics state vars.
Definition gmpCoupledTMFemPhysics.h:71
@ T_ID
Id for retrieving the accessor to the temperature state var.
Definition gmpCoupledTMFemPhysics.h:72
@ U_ID
Id for retrieving the accessor to the displacement state var.
Definition gmpCoupledTMFemPhysics.h:73
PhysicsAttributeIds
IDs for physics attributes.
Definition gmpCoupledTMFemPhysics.h:65
@ REFERENCE_T_ID
Id for retrieving the referenceT physics attribute.
Definition gmpCoupledTMFemPhysics.h:66
GmpMechanicalPhysics * _mechPhys
The mechanical physics providing parameters and B matrix to the coupling equation.
Definition gmpCoupledTMFemPhysics.h:86
arma::mat GmMatrix
Declaration of useful configuration definitions for the plugin library.