ChemicalFemPhysics
The GeMA Standard Chemical FEM Physics Plugin
Loading...
Searching...
No Matches
gmpPipeNonLinearReaction.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_PIPE_NONLINEAR_REACTION_H_
26#define _GEMA_PLUGIN_PIPE_NONLINEAR_REACTION_H_
27
28#include "gmpChemicalPipe.h"
29
31class GMP_CHEMICAL_FEM_PHYSICS_API_EXPORT GmpPipeNonLinearReaction : public GmpChemicalPipe
32{
33public:
34 GmpPipeNonLinearReaction(GmSimulationData* simulation, QString id, QString description, const GmLogCategory& logger);
36
37 // Comments on the base class
38 virtual const char* pluginType() const { return "pipeNonLinearReaction"; }
39
40 virtual const QVariantMap* physicsMetaDataMap();
41
42 virtual bool checkLoadedData();
43
44protected:
53
54 virtual bool reactionRate(const GmElement* e, const GmVector* ip, int ipIndex, const GmVector& N,
55 const GmVector& C, double wtJ, GmVector& elemFe, GmMatrix& elemK,
56 bool needsFe, bool needsK);
57
58private:
59};
60
61#endif
virtual bool reactionRate(const GmElement *e, const GmVector *ip, int ipIndex, const GmVector &N, const GmVector &C, double wtJ, GmVector &elemFe, GmMatrix &elemK, bool needsFe, bool needsK)=0
Virtual function called by fillElementData() for each integration point so that derived classes can a...
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 bool checkLoadedData()
Checks the existance of the velocity accessor, and also sizes for the dispersion and retardation coef...
Definition gmpChemicalPipe.cpp:104
@ NUM_PROPERTY_IDS
The number of property ids above.
Definition gmpChemicalPipe.h:59
Extends the basic chemical physics transport equation by providing multi-species, coupled linear reac...
Definition gmpPipeNonLinearReaction.h:32
NonLinearReactionElementPropertyIds
Additional IDs for physics element properties.
Definition gmpPipeNonLinearReaction.h:47
@ Ceq_ID
Id for retrieving the equilibrium concentration accessor.
Definition gmpPipeNonLinearReaction.h:50
@ M_ID
Id for retrieving the flux-rate regime coefficient accessor.
Definition gmpPipeNonLinearReaction.h:51
@ Ko_ID
Id for retrieving the Dissolution rate accessor.
Definition gmpPipeNonLinearReaction.h:49
arma::mat GmMatrix
arma::vec GmVector
Declaration of the GmpChemicalPipe classes.