24#ifndef _GEMA_PLUGIN_DG_FEM_PHYSICS_H_
25#define _GEMA_PLUGIN_DG_FEM_PHYSICS_H_
28#include <gmpFemPhysicsCommon.h>
55 virtual const char * pluginName()
const {
return "DGFemPhysics"; }
56 virtual const char * pluginType()
const {
return "Galerkin"; };
105 enum BoundaryConditionsValueIds {
111 BC_C_PERIODIC_CELL_ID,
118 virtual bool loadPrivateData(
LuaTable & table);
120 virtual const QVariantMap* physicsMetaDataMap();
121 virtual FemResultType fillElementData(
const GmElement* e, GmpFemMatrixSet& elemMatrices, GmpFemVectorSet& elemVectors);
123 int border, GmpFemMatrixSet& elemMatrices, GmpFemVectorSet& elemVectors);
125 bool calcDerivedResults(
bool);
126 bool calcElementDerivedResults();
130 double TOLERANCE = +1.e-3;
143 bool setNumFunctions();
146 int getNumFunctions()
const {
return numShapeFunctions;};
148 GmMatrix getAffineTransformationMAT() {
return AffineTransformationMAT; };
150 GmMatrix getInvAffineTransformationMAT() {
return InvAffineTransformationMAT; };
152 double getDetAffineTransformMatrix() {
return detAffineTransformationMAT; };
154 bool TopologyMeshSetup();
155 bool TopologyMeshSetup1D();
156 bool TopologyMeshSetup2D();
157 bool TopologyMeshSetup3D();
159 bool AffineTransformationSetup();
160 bool InitialConditionProjection();
166 bool LinearLimeter();
169 int TClassicElementToHigher(
const GmElement * e,
int)
const;
170 int ElemPosition(
int i,
int j,
int k);
171 int Edge_Face_Ngh(
int border);
174 bool ErrorAnalysis();
176 bool Projection(
void);
177 int EdgeVd(
int i,
int border);
Basic class for discontinuous Galerkin fem physics.
Definition gmpDGFemPhysics.h:48
BoundaryContidionsIds
Definition gmpDGFemPhysics.h:95
@ BC_C_Inflow_ID
Id for retrieving the acessor to the Inflow Boundary Condition Type.
Definition gmpDGFemPhysics.h:99
@ BC_C_Outflow_ID
Id for retrieving the acessor to the Concentration Free Boundary Condition.
Definition gmpDGFemPhysics.h:100
@ BC_C_Inflow_1D_ID
Id for retrieving the acesso to the Inflow Boundary Condition in 1D Domain.
Definition gmpDGFemPhysics.h:96
@ BC_C_Outflow_1D_ID
Id for retrieving the acessor to the Concentration Free Boundary in 1D Domain.
Definition gmpDGFemPhysics.h:97
@ BC_Periodic_ID
Id for retrieving the acessor to the Periodic Boundary Condtion.
Definition gmpDGFemPhysics.h:101
int numShapeFunctions
Number of Shape functions for each element.
Definition gmpDGFemPhysics.h:133
QList< GmVector > SNeighborhood
Set of Element CellId's ... Please see DG Fem Physics Documentation.
Definition gmpDGFemPhysics.h:140
StateVarIds
IDs fo physics state vars.
Definition gmpDGFemPhysics.h:60
@ C_ID
Id for retrieving the acessor to the concentration state var.
Definition gmpDGFemPhysics.h:61
QList< GmVector > TNeighborhood
Set of Element CellId's ... Please see DG Fem Physics Documentation.
Definition gmpDGFemPhysics.h:141
PhysicsAttributeIds
IDs for physics attributes.
Definition gmpDGFemPhysics.h:67
@ Periodic_Bnd_ID
Id for retrieving if there is a Periodic Bnd Condition.
Definition gmpDGFemPhysics.h:75
@ Upwind_ID
Id for retrieving if is Upwind Numerical Flux.
Definition gmpDGFemPhysics.h:71
@ NodsX_ID
Id for retrieving the number of nods in the x direction.
Definition gmpDGFemPhysics.h:68
@ Regular_Mesh_ID
Id for retrieving if is a regular mesh of elements.
Definition gmpDGFemPhysics.h:74
@ Implicit_ID
Id for retrieving if of temporal solver is or not implicit.
Definition gmpDGFemPhysics.h:72
@ Limiter_ID
Id for retrieving if limiter of coefficient is setup.
Definition gmpDGFemPhysics.h:73
@ Couple_ID
Id for retrieving if there a coupled with diffusive physics.
Definition gmpDGFemPhysics.h:76
@ NodsZ_ID
Id for retrieving the number of nods in the z direction.
Definition gmpDGFemPhysics.h:70
@ NodsY_ID
Id for retrieving the number of nods in the y direction.
Definition gmpDGFemPhysics.h:69
double detAffineTransformationMAT
Determinant of Affine Transformation Matrix.
Definition gmpDGFemPhysics.h:134
GaussAttributeIds
IDs for physics Gauss attributes.
Definition gmpDGFemPhysics.h:90
@ V_D_ID
Id for retrieving the Gauss attribute providing the Darcy fluid velocity.
Definition gmpDGFemPhysics.h:91
ElementPropertyIds
Definition gmpDGFemPhysics.h:79
@ PHI_ID
Id for retrieving the acessor to the Porosity Scalar Value Function
Definition gmpDGFemPhysics.h:80
@ R_ID
Id for retrieving the accesor to the Reaction Scalar Value Function.
Definition gmpDGFemPhysics.h:82
@ F_ID
Id for retrieving the acessor to Source/Sink term
Definition gmpDGFemPhysics.h:83
@ A_ID
Id for retrieving the accesor to Analytic Solution
Definition gmpDGFemPhysics.h:85
@ IC_ID
Id for retrieving the accesor to Initial condition.
Definition gmpDGFemPhysics.h:84
@ V_ID
Id for retrieving the acessor to the Velocity Vector Value Function.
Definition gmpDGFemPhysics.h:81
GmMatrix InvAffineTransformationMAT
Inverse of Affine Transformation Matrix used in regular mesh.
Definition gmpDGFemPhysics.h:136
QList< GmVector > FNeighborhood
Set of Element CellId's closest to geometric element E, using the euclidian norm.
Definition gmpDGFemPhysics.h:139
GmMatrix AffineTransformationMAT
Affine Transformation Matrix used in regular mesh.
Definition gmpDGFemPhysics.h:135
Declaration of useful configuration definitions for the plugin library.