ChemicalFemPhysics
The GeMA Standard Chemical FEM Physics Plugin
Loading...
Searching...
No Matches
gmpChemicalPipe.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
25#ifndef _GEMA_PLUGIN_CHEMICAL_PIPE_H_
26#define _GEMA_PLUGIN_CHEMICAL_PIPE_H_
27
28
29#include <gmpFemPhysicsCommon.h>
31#include <gmTrace.h>
32
33class GmGaussAccessor;
34
35
39{
40public:
41 // constructor
42 GmpChemicalPipe(GmSimulationData* simulation, QString id, QString description, const GmLogCategory& logger);
43
44 // destructor
45 virtual ~GmpChemicalPipe();
46
52
61
63 {
65 DpOLD_GA_ID,
66
67 // ------ NO ADDING BELOW THIS LINE
69 };
70
71 virtual const QVariantMap* physicsMetaDataMap();
72
73 virtual bool checkLoadedData();
74
75 virtual bool checkAndLoadAttributeAccessors(LuaTable& nodeTable, LuaTable& cellTable, LuaTable& gaussTable);
76
77 virtual GmpFemPhysics::FemResultType fillElementData(const GmElement* e, GmpFemMatrixSet& elemMatrices, GmpFemVectorSet& elemVectors);
78
79 virtual FemResultType fillElementDataForBc(const GmElement* e, const GmBoundaryCondition* bc, int bcIndex, int bcListIndex,
80 int border, GmpFemMatrixSet& elemMatrices, GmpFemVectorSet& elemVectors);
81
82 virtual bool fixedNodalDofsBc(QVector<int>& nodes, QVector<int>&dof, QVector<double>& values, bool* constantValues) const;
83
84 //virtual bool calcDerivedResults(bool nonLinearSolver);
85
88 //virtual bool setInitialGaussAttributes(const GmElement* e, const GmVector* coord, int ip) const;
89 virtual bool setInitialGaussAttributes() const;
90 virtual double pipeSize(const GmElement* e, int i, GmVector & ip);
91
103
117
118
119protected:
120 virtual const GmElementDof* dofMapping(GmCellType type) const;
121
122};
123
124#endif
Basic class for chemical fem physics. Treats the diffusion and convective terms of the transport equa...
Definition gmpChemicalFemPhysics.h:35
@ NUM_BCV_IDS
The number of BC ids above.
Definition gmpChemicalFemPhysics.h:145
@ NUM_PROPERTY_IDS
The number of property ids above.
Definition gmpChemicalFemPhysics.h:120
@ NUM_ATTRIBUTE_IDS
The number of attribute ids above.
Definition gmpChemicalFemPhysics.h:84
@ NUM_BC_IDS
The number of BC ids above.
Definition gmpChemicalFemPhysics.h:132
@ NUM_GA_IDS
The number of gauss attribute ids above.
Definition gmpChemicalFemPhysics.h:107
Basic class for the chemical interface element plugin object.
Definition gmpChemicalPipe.h:39
virtual const QVariantMap * physicsMetaDataMap()
Returns a reference for the Hydraulic Pipe attribute map, built when the function is called for the f...
Definition gmpChemicalPipe.cpp:57
virtual ~GmpChemicalPipe()
Destructor.
Definition gmpChemicalPipe.cpp:51
virtual bool setInitialGaussAttributes() const
sets the initial value of hydraulic gauss attributes.
Definition gmpChemicalPipe.cpp:735
PipeGaussAttributeIds
Definition gmpChemicalPipe.h:63
@ Dp_GA_ID
Base Id for Gauss attribute(s) used to store the pipe diameter.
Definition gmpChemicalPipe.h:64
@ NUM_GA_IDS
The number of Gauss attribute ids above.
Definition gmpChemicalPipe.h:68
virtual bool checkAndLoadAttributeAccessors(LuaTable &nodeTable, LuaTable &cellTable, LuaTable &gaussTable)
Reimplementation of the common function to set initial gauss attributes.
Definition gmpChemicalPipe.cpp:221
virtual GmpFemPhysics::FemResultType fillElementData(const GmElement *e, GmpFemMatrixSet &elemMatrices, GmpFemVectorSet &elemVectors)
Fills the element matrices and vectors for a generic Pipe element.
Definition gmpChemicalPipe.cpp:239
virtual FemResultType fillElementDataForBc(const GmElement *e, const GmBoundaryCondition *bc, int bcIndex, int bcListIndex, int border, GmpFemMatrixSet &elemMatrices, GmpFemVectorSet &elemVectors)
Fills the element force vector elemF for element 'e', taking into account fixed flux boundary conditi...
Definition gmpChemicalPipe.cpp:448
virtual bool checkLoadedData()
Checks the existance of the velocity accessor, and also sizes for the dispersion and retardation coef...
Definition gmpChemicalPipe.cpp:104
BoundaryConditionValueIds
IDs for property values from accepted boundary condition types.
Definition gmpChemicalPipe.h:106
@ BC_Q_PIPE_ID
BC Id for node on cell where is prescribed the flux.
Definition gmpChemicalPipe.h:111
@ NUM_BCV_IDS
The number of BC ids above
Definition gmpChemicalPipe.h:115
@ BC_MX_PIPE_ID
BC Id for node on cell where is prescribed the thrid kind boundary condition.
Definition gmpChemicalPipe.h:112
@ BC_C_PIPE_ID
BC Id for node on cell where is prescribed the concentration.
Definition gmpChemicalPipe.h:110
@ BC_MX_VAL_ID
Third Kind Boundary Condition. Robin/Cauchy.
Definition gmpChemicalPipe.h:109
@ BC_Q_VAL_ID
Flux for prescribed flux boundary condition on cell.
Definition gmpChemicalPipe.h:108
@ BC_C_VAL_ID
Nodal concentration for prescribed concentration boundary condition on cell.
Definition gmpChemicalPipe.h:107
ElementPropertyIds
IDs for physics element properties.
Definition gmpChemicalPipe.h:55
@ Dp_ID
Id for retrieving the pipe diameter accessor.
Definition gmpChemicalPipe.h:56
@ NUM_PROPERTY_IDS
The number of property ids above.
Definition gmpChemicalPipe.h:59
virtual bool fixedNodalDofsBc(QVector< int > &nodes, QVector< int > &dof, QVector< double > &values, bool *constantValues) const
See comments on base class. Fills vectors with prescribed node concentrations
Definition gmpChemicalPipe.cpp:663
BoundaryConditionIds
IDs for accepted boundary condition types.
Definition gmpChemicalPipe.h:94
@ NUM_BC_IDS
The number of BC ids above
Definition gmpChemicalPipe.h:101
@ PRESCRIBED_FLUX_BC_PIPE_ID
Id for prescribed flux boundary condition on cell.
Definition gmpChemicalPipe.h:96
@ PRESCRIBED_MIXED_BC_PIPE_ID
Id for third kind boundary condition on cell.
Definition gmpChemicalPipe.h:97
@ PRESCRIBED_C_BC_PIPE_ID
Id for prescribed concentration boundary condition on cell.
Definition gmpChemicalPipe.h:95
PhysicsAttributeIds
Additional IDs for physics attributes.
Definition gmpChemicalPipe.h:49
@ MULTI_REACTION_ID
Id for retrieving the multiReaction physics attribute.
Definition gmpChemicalPipe.h:50
GmCellType
arma::vec GmVector
Declaration of the GmpChemicalFemPhysics classes.