CoupledHMFemPhysics
The GeMA Coupled Hydro-Mechanical FEM Physics Plugin
Loading...
Searching...
No Matches
gmpCoupledHMFemPhysics.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_HM_FEM_PHYSICS_H_
25#define _GEMA_PLUGIN_COUPLED_HM_FEM_PHYSICS_H_
26
27#include "gmpCoupledHMConfig.h"
28
29#include <gmpFemPhysicsCoupled.h>
30
31class GmpMechanicalPhysics;
32class GmpHydraulic;
33
36class GMP_COUPLED_HM_PHYSICS_API_EXPORT GmpCoupledHMFemPhysics : public GmpFemPhysicsCoupled
37{
38public:
39
40 // constructor
41 GmpCoupledHMFemPhysics(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 "CoupledHMFemPhysics"; }
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
56 // \brief The hydraulicmechanical physics supports state dumping.
57 virtual bool supportsStateDumping() { return true; }
58
59 virtual bool fixedNodalForcesBc(QVector<int>& nodes, QVector<int>&dof, QVector<double>& values) const;
60
61 virtual bool fixedNodalDofsBc(QVector<int>& nodes, QVector<int>&dof, QVector<double>& values, bool* constantValues) const;
62
63 virtual FemResultType fillElementDataForBc(const GmElement* e, const GmBoundaryCondition* bc, int bcIndex, int bcListIndex,
64 int border, GmpFemMatrixSet& elemMatrices, GmpFemVectorSet& elemVectors);
65
66protected:
69 {
71
72 // ------ NO ADDING BELOW THIS LINE
74 };
75
78 {
81
82 // ------ NO ADDING BELOW THIS LINE
84 };
85
86 virtual bool checkAndLoadPrivateData(LuaTable& table);
87
88 const char* _pluginType;
90 GmpMechanicalPhysics* _mechPhys;
91 GmpHydraulic* _hydroPhys;
92
93};
94
95#endif
96
Basic class for the coupled hydro-mechanical physics plugin object.
Definition gmpCoupledHMFemPhysics.h:37
GmpMechanicalPhysics * _mechPhys
The mechanical physics providing parameters and matrices to the coupling equation.
Definition gmpCoupledHMFemPhysics.h:90
PhysicsAttributeIds
IDs for physics attributes.
Definition gmpCoupledHMFemPhysics.h:69
@ NUM_ATTRI_IDS
The number of physics attribute ids above.
Definition gmpCoupledHMFemPhysics.h:73
@ ISOPARAMETRIC_ID
Id for retrieving the isoParametric physics attribute.
Definition gmpCoupledHMFemPhysics.h:70
StateVarIds
IDs for Mechanical and Hydro physics state vars.
Definition gmpCoupledHMFemPhysics.h:78
@ NUM_STATEVAR_IDS
The number of state var ids above.
Definition gmpCoupledHMFemPhysics.h:83
@ U_ID
Id for retrieving the accessor to the displacement state var.
Definition gmpCoupledHMFemPhysics.h:79
@ P_ID
Id for retrieving the accessor to the pore pressure state var.
Definition gmpCoupledHMFemPhysics.h:80
const char * _pluginType
The plugin type name.
Definition gmpCoupledHMFemPhysics.h:88
GmpHydraulic * _hydroPhys
The hydraulic physics providing parameters and matrices to the coupling equation.
Definition gmpCoupledHMFemPhysics.h:91
bool _setInitialCond
Sets the initial conditions required by the physics.
Definition gmpCoupledHMFemPhysics.h:89
Declaration of useful configuration definitions for the plugin library.