25#ifndef _GEMA_PLUGIN_HYDRAULIC_ENHANCEDDUALFLOW_H_
26#define _GEMA_PLUGIN_HYDRAULIC_ENHANCEDDUALFLOW_H_
29#include <gmpFemPhysicsData.h>
30#include <gmpFemPhysicsCommon.h>
47 const GmpFemPhysicsCommonMaterialFactory* matFactory,
const GmLogCategory& logger);
64 virtual FemResultType
fillElementData(
const GmElement* e, GmpFemMatrixSet& elemMatrices, GmpFemVectorSet& elemVectors);
Dual flow hydraulic 2D & 3D for Quad, Tri, Hex and Tet.
Definition gmpHydraulicDualFlow.h:41
Dual flow hydraulic 2D & 3D for Quad, Tri, Hex and Tet.
Definition gmpHydraulicEnhancedDualFlow.h:43
virtual bool setInitialConditions()
Sets the initial conditions required by interface elements. An = normal aperture.
Definition gmpHydraulicEnhancedDualFlow.cpp:120
double getEquivalentDistance(const GmElement *e, const GmElement *ef)
get the equivalent distance
Definition gmpHydraulicEnhancedDualFlow.cpp:639
void getPermeabilityAndShapeFactor(const GmElement *e, GmMatrix &Km, double &Gw, double &factor)
Fill the permeability and shape factor.
Definition gmpHydraulicEnhancedDualFlow.cpp:596
virtual bool checkAndLoadDiscontinuitySetAccessors(LuaTable &table)
Reimplementation of the common function to set initial gauss attributes.
Definition gmpHydraulicEnhancedDualFlow.cpp:98
EmbeddedElemPropertyIds
Definition gmpHydraulicEnhancedDualFlow.h:53
@ NUM_PROPER_IDS
The number of property ids above.
Definition gmpHydraulicEnhancedDualFlow.h:57
@ UFw_ID
Id for retrieving the initial fracture aperture.
Definition gmpHydraulicEnhancedDualFlow.h:54
bool fillDiscontinuityNodesGlobalToLocalMap(const GmElement *e, QMap< int, int > &globalToLocal)
Fill the map with the global to local ids of the discontinuity elements nodes.
Definition gmpHydraulicEnhancedDualFlow.cpp:661
void getDiscontinuityGeometry(const GmElement *e, int idiscontinuity, GmVector &Xref, GmMatrix &mn)
Get the discontinuity geometric properties.
Definition gmpHydraulicEnhancedDualFlow.cpp:741
int getNumberOfDiscontinuities(const GmElement *e)
Returns the number of discontinuities that intersect a given element.
Definition gmpHydraulicEnhancedDualFlow.cpp:181
FemResultType fillDiscontinuitySetElementData(const GmElement *e, GmMatrix &Hd, GmMatrix &Wf, GmMatrix &Sd, GmMatrix &Tcd, const QMap< int, int > &globalToLocal)
Fills the element matrices and vectors of the discontinuity elements.
Definition gmpHydraulicEnhancedDualFlow.cpp:397
const char * _pluginType
The plugin type name.
Definition gmpHydraulicEnhancedDualFlow.h:98
void assembleDiscontinuityElementMatrix(GmMatrix &Kg, const GmMatrix &Kl, const QVector< int > &dof) const
Assemble the contribution of the discontinuity element.
Definition gmpHydraulicEnhancedDualFlow.cpp:856
void get3DDiscontinuityGeometry(const GmElement *e, int idiscontinuity, GmVector &Xref, GmMatrix &mn)
Get the 3D discontinuity geometric properties.
Definition gmpHydraulicEnhancedDualFlow.cpp:795
virtual FemResultType fillElementData(const GmElement *e, GmpFemMatrixSet &elemMatrices, GmpFemVectorSet &elemVectors)
Fills the element matrices and vectors for a generic dual flow element.
Definition gmpHydraulicEnhancedDualFlow.cpp:235
int getNumberOfDiscontinuityElements(const GmElement *e)
Returns the number of discontinuity subelements (bar (2D)/triangle (3D)) that intersect a given eleme...
Definition gmpHydraulicEnhancedDualFlow.cpp:209
virtual const QVariantMap * physicsMetaDataMap()
Returns a reference for the Hydraulics dual flow attribute map, built when the function is called for...
Definition gmpHydraulicEnhancedDualFlow.cpp:62
void get2DDiscontinuityGeometry(const GmElement *e, int idiscontinuity, GmVector &Xref, GmMatrix &mn)
Get the 2D discontinuity geometric properties.
Definition gmpHydraulicEnhancedDualFlow.cpp:757
void getDiscontinuitySubElementLocalData(const GmElement *e, int k, int &idDiscontinuityElem, QVector< int > &dof, const GmElement *ef, const QMap< int, int > &dNodesGlobalToLocal)
Get the ids of the discontinuity sub-element (bar (2D)/triangle (3D)) k locally in the element and fi...
Definition gmpHydraulicEnhancedDualFlow.cpp:711
void getIdDiscontinuitySubElementInMesh(const GmElement *e, int k, int &idDiscontinuityMesh)
Get the id of the discontinuity sub-element (bar (2D)/triangle (3D)) k in the mesh.
Definition gmpHydraulicEnhancedDualFlow.cpp:691
virtual ~GmpHydraulicEnhancedDualFlow()
Destructor.
Definition gmpHydraulicEnhancedDualFlow.cpp:56
virtual FemResultType fillContinuousEnrichedElementData(const GmElement *e, GmpFemMatrixSet &elemMatrices, GmpFemVectorSet &elemVectors)
Fills the element matrices and vectors for a enriched element.
Definition gmpHydraulicEnhancedDualFlow.cpp:276
@ NUM_PROPER_IDS
The number of property ids above.
Definition gmpHydraulic.h:189
Declaration of the GmpHydraulicDualFlow classes.