CoupledTHFemPhysics
The GeMA Coupled Thermo-Hydraulic FEM Physics Plugin
Loading...
Searching...
No Matches
gmpCoupledTHFemPhysics.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_TH_FEM_PHYSICS_H_
25#define _GEMA_PLUGIN_COUPLED_TH_FEM_PHYSICS_H_
26
27#include "gmpCoupledTHConfig.h"
28
29#include <gmpFemPhysicsCoupled.h>
30
31class GmpHydraulic;
32class GmpThermoFemPhysics;
33
36class GMP_COUPLED_TH_PHYSICS_API_EXPORT GmpCoupledTHFemPhysics : public GmpFemPhysicsCoupled
37{
38public:
39
40 // constructor
41 GmpCoupledTHFemPhysics(const char* pluginType, GmSimulationData* simulation, QString id, QString description,
42 const GmpFemPhysicsCommonMaterialFactory* matFactory, const GmLogCategory& logger);
43
44 // destructor
46
47 // Comments on the base class
48 virtual const char* pluginName() const { return "CoupledTHFemPhysics"; }
49
50 // Comments on the base class
51 virtual const char* pluginType() const { return _pluginType; }
52
53 // Comments on the base class
54 virtual const QVariantMap* physicsMetaDataMap();
55 // fill fluid conductivity matrix
56 void fillFluidConductivityMatrix(GmMatrix& Kf, const GmElement* e, const GmVector* ip, int ipIndex);
57 // Comments on the base class
58 virtual bool fixedNodalForcesBc(QVector<int>& nodes, QVector<int>&dof, QVector<double>& values) const;
59 // Comments on the base class
60 virtual bool fixedNodalDofsBc(QVector<int>& nodes, QVector<int>&dof, QVector<double>& values, bool* constantValues) const;
61
62protected:
63 // Comments on the base class
64 virtual bool checkAndLoadPrivateData(LuaTable& table);
65
68 {
71
72 // ------ NO ADDING BELOW THIS LINE
74 };
75
78 {
81
82 // ------ NO ADDING BELOW THIS LINE
84 };
85
88 {
90
91 // ------ NO ADDING BELOW THIS LINE
93 };
94
97 {
103
104 // --- NO ADDING BELOW THIS LINE
106 };
107
108//private:
109 const char* _pluginType;
110 GmpThermoFemPhysics* _thermoPhys;
111 GmpHydraulic* _hydroPhys;
112};
113
114#endif
115
Basic class for the coupled thermo-hydraulic physics plugin object.
Definition gmpCoupledTHFemPhysics.h:37
ElementPropertyIds
IDs for physics element properties.
Definition gmpCoupledTHFemPhysics.h:97
@ NUM_PROPER_IDS
The number of property ids above.
Definition gmpCoupledTHFemPhysics.h:105
@ RHOF_ID
Id for retrieving the accessor of the density of the pore fluid.
Definition gmpCoupledTHFemPhysics.h:101
@ ALPHA_ID
Id for retrieving the accessor of thermal expansion coef. of the solid.
Definition gmpCoupledTHFemPhysics.h:99
@ KF_ID
Id for retrieving the thermal expansion factor accessor.
Definition gmpCoupledTHFemPhysics.h:98
@ ALPHAF_ID
Id for retrieving the accessor of the thermal expansion coef. of the pore fluid.
Definition gmpCoupledTHFemPhysics.h:100
@ CPF_ID
Id for retrieving the accessor of specific heat capacity of the pore fluid (transient analysis)
Definition gmpCoupledTHFemPhysics.h:102
PhysicsAttributeIds
IDs for physics attributes.
Definition gmpCoupledTHFemPhysics.h:68
@ ISOPARAMETRIC_ID
Id for retrieving the isoParametric physics attribute.
Definition gmpCoupledTHFemPhysics.h:69
@ REFERENCE_T_ID
Id for retrieving the referenceT physics attribute.
Definition gmpCoupledTHFemPhysics.h:70
@ NUM_ATTRI_IDS
The number of physics attribute ids above.
Definition gmpCoupledTHFemPhysics.h:73
NodeAttributeIds
IDs for thermo-mechanical node attributes.
Definition gmpCoupledTHFemPhysics.h:88
@ NUM_NA_IDS
The number of node attribute ids above.
Definition gmpCoupledTHFemPhysics.h:92
@ TREF_NA_ID
Base Id for node attribute(s) used to store the reference temperature.
Definition gmpCoupledTHFemPhysics.h:89
GmpHydraulic * _hydroPhys
The hydraulic physics providing parameters and B matrix to the coupling TH equation.
Definition gmpCoupledTHFemPhysics.h:111
const char * _pluginType
The plugin type name.
Definition gmpCoupledTHFemPhysics.h:109
GmpThermoFemPhysics * _thermoPhys
The thermo physics providing parameters and matrices to the coupling TH equation.
Definition gmpCoupledTHFemPhysics.h:110
StateVarIds
IDs for thermic and hydraulic physics state vars.
Definition gmpCoupledTHFemPhysics.h:78
@ T_ID
Id for retrieving the accessor to the temperature state var.
Definition gmpCoupledTHFemPhysics.h:80
@ P_ID
Id for retrieving the accessor to the displacement state var.
Definition gmpCoupledTHFemPhysics.h:79
@ NUM_STATEVAR_IDS
The number of state var ids above.
Definition gmpCoupledTHFemPhysics.h:83
arma::mat GmMatrix
arma::vec GmVector
Declaration of useful configuration definitions for the plugin library.