CoupledHMFemPhysics
The GeMA Coupled Hydro-Mechanical FEM Physics Plugin
Loading...
Searching...
No Matches
gmpHMInterfaceMaterial.h
1/************************************************************************
2**
3** Copyright (C) 2016 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_HM_INTERFACE_MATERIAL_H_
25#define _GEMA_PLUGIN_HM_INTERFACE_MATERIAL_H_
26
27#include <gmpFemPhysicsCommonMaterial.h>
29#include <gmpHydraulicMaterial.h>
30
31#include "gmpMechanicalMaterial.h"
32#include "gmpMechanicPoint.h"
33
35{
36protected:
39 {
41
42 // --- NO ADDING BELOW THIS LINE
44 };
45
46public:
47
49 GmpHMInterfaceMaterial(int typeIndex, QString typeName, const GmLogCategory& logger)
50 : GmpCoupledHMMaterial(typeIndex, typeName, logger)
51 {
52 }
53
56
58 static GmpFemPhysicsCommonMaterial* instance(GmSimulationData* simulation, int typeIndex, QString typeName, const GmLogCategory& logger)
59 {
60 Q_UNUSED(simulation);
61 return new GmpHMInterfaceMaterial(typeIndex, typeName, logger);
62 }
63
64 // Sets initial conditions for HM interface element
65 virtual void setInitialConditions(const GmElement* e, GmpMechanicPoint* mp, const GmVector* coord, int ip, const double open) const;
66
67 // Returns the longitudinal conductivity according to cubic's law.
68 //virtual double cubicLaw(const GmElement* e, GmpMechanicPoint* mp, int nc, const GmVector* coord, int ip) const;
69
70 //Updates the normal aperture used by the cubic law
71 virtual void updateNormalAperture(const GmElement* e, GmpMechanicPoint* mp, int nc, const GmVector* coord, int ip) const;
72
73 // Returns the hydraulic conductivity parameters flowParam =[kl, lkt, lkb]
74 virtual bool hydraulicConstitutiveModel(const GmElement* e, GmVector& flowParam, GmpMechanicPoint* mp, const GmVector* coord, int ip) const;
75
76
77//private:
78
79};
80
81#endif
Basic class for a coupled hydro-mechanical material object, storing references for a mechanical and a...
Definition gmpCoupledHMMaterial.h:41
Definition gmpHMInterfaceMaterial.h:35
virtual void updateNormalAperture(const GmElement *e, GmpMechanicPoint *mp, int nc, const GmVector *coord, int ip) const
Updates the normal fracture aperture. An = An_old + (e_new - e_old) where: An = normal Fracture apert...
Definition gmpHMInterfaceMaterial.cpp:142
virtual void setInitialConditions(const GmElement *e, GmpMechanicPoint *mp, const GmVector *coord, int ip, const double open) const
Sets the initial conditions for HM interface element.
Definition gmpHMInterfaceMaterial.cpp:39
virtual ~GmpHMInterfaceMaterial()
Destructor.
Definition gmpHMInterfaceMaterial.h:55
static GmpFemPhysicsCommonMaterial * instance(GmSimulationData *simulation, int typeIndex, QString typeName, const GmLogCategory &logger)
A "factory" function used to register the material with the physics material factory.
Definition gmpHMInterfaceMaterial.h:58
GmpHMInterfaceMaterial(int typeIndex, QString typeName, const GmLogCategory &logger)
Constructor. Gets as parameters the material index and its name.
Definition gmpHMInterfaceMaterial.h:49
ElementPropertyIds
IDs for material element properties.
Definition gmpHMInterfaceMaterial.h:39
@ NUM_PROPERTY_IDS
The number of property ids above.
Definition gmpHMInterfaceMaterial.h:43
@ KSS_ID
Id for retrieving the solid bulk's Modulus accessor.
Definition gmpHMInterfaceMaterial.h:40
virtual bool hydraulicConstitutiveModel(const GmElement *e, GmVector &flowParam, GmpMechanicPoint *mp, const GmVector *coord, int ip) const
Returns the fluid flow parameters according to the constitutive model adopted Fills the element state...
Definition gmpHMInterfaceMaterial.cpp:195
arma::vec GmVector
Declaration of the GmpCoupledHMMaterial class.