26#ifndef _GEMA_PLUGIN_IPHREEQC_BASALTREACTION_H_
27#define _GEMA_PLUGIN_IPHREEQC_BASALTREACTION_H_
32#pragma warning( push )
33#include <IPhreeqc.hpp>
45 virtual const char* pluginType()
const {
return "iphreeqcBasalt"; }
54 bool checksCellAccessors();
57 virtual bool beforeElementStiffnessLoop(
const GmpFemMatrixSet& elemMatrices,
const GmpFemVectorSet& elemVectors);
59 bool createIPhreeqcInput(IPhreeqc& R,
const char* dump,
int node);
62 bool runIPhreeqc(IPhreeqc& R);
65 bool evaluateInitialConditions(
QString& input);
68 virtual bool setsInitialConditions(
const GmCell* c, IPhreeqc& R);
71 bool getSelectedPhreeqcOutputs(IPhreeqc& phreeqc,
GmVector& data,
int id);
74 bool saveIPhreeqcValuesToNode(IPhreeqc& R,
int node);
83 bool updatesEquilibrium(IPhreeqc& R,
GmValueAccessor* ionAcc,
int node);
86 bool loadsChemicalParameters(
QString& inputPhreeqc);
98 bool runIphreeqcNodes();
111 virtual bool checkAndLoadPrivateData(
LuaTable& table);
115 bool needsFe,
bool needsK);
117 bool fillElementalMass();
Basic class for chemical fem physics. Treats the diffusion and convective terms of the transport equa...
Definition gmpChemicalFemPhysics.h:35
virtual const QVariantMap * physicsMetaDataMap()
Returns a pointer to the basic chemical physics attribute map, built when the function is called for ...
Definition gmpChemicalFemPhysics.cpp:95
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...
@ NUM_ATTRIBUTE_IDS
The number of attribute ids above.
Definition gmpChemicalFemPhysics.h:84
virtual bool calcDerivedResults(bool nonLinearSolver)
Calc velocity and flow on nodes and/or Gauss points.
Definition gmpChemicalFemPhysics.cpp:1030
virtual bool checkLoadedData()
Checks the existance of the velocity accessor, and also sizes for the dispersion and retardation coef...
Definition gmpChemicalFemPhysics.cpp:176
@ NUM_GA_IDS
The number of gauss attribute ids above.
Definition gmpChemicalFemPhysics.h:107
@ NUM_NA_IDS
The number of node attribute ids above.
Definition gmpChemicalFemPhysics.h:97
Extends the basic chemical physics transport equation by providing reaction rates based on the Iphree...
Definition gmpIphreeqcBasaltReaction.h:39
iPhreeqcReactionPhysicsAttributeIds
Additional IDs for physics attributes.
Definition gmpIphreeqcBasaltReaction.h:121
@ NUM_ATTRIBUTE_IDS
The number of attribute ids above.
Definition gmpIphreeqcBasaltReaction.h:127
GaussAttributeIds
Definition gmpIphreeqcBasaltReaction.h:146
@ NUM_GA_IDS
The number of gauss attributes.
Definition gmpIphreeqcBasaltReaction.h:151
CellAttributeIds
Definition gmpIphreeqcBasaltReaction.h:155
@ SIndex_CA_ID
Base Id for Saturation index.
Definition gmpIphreeqcBasaltReaction.h:158
@ EqM_CA_ID
Base Id for Reaction in equillibrium.
Definition gmpIphreeqcBasaltReaction.h:159
@ KiM_CA_ID
Base Id for mineral for reaction.
Definition gmpIphreeqcBasaltReaction.h:160
@ Sol_CA_ID
Base Id for ion solution cell attributes.
Definition gmpIphreeqcBasaltReaction.h:156
@ poroM_CA_ID
Base Id for porosity variation.
Definition gmpIphreeqcBasaltReaction.h:161
@ NUM_CA_IDS
The number of cell attributes.
Definition gmpIphreeqcBasaltReaction.h:165
@ SolOld_CA_ID
Base Id for history of Ion transport node attribute(s)
Definition gmpIphreeqcBasaltReaction.h:157
NodeAttributeIds
IDs for physics node attributes.
Definition gmpIphreeqcBasaltReaction.h:132
@ NUM_NA_IDS
The number of node attribute ids above.
Definition gmpIphreeqcBasaltReaction.h:142
@ SIndex_NA_ID
Base Id for Saturation index.
Definition gmpIphreeqcBasaltReaction.h:135
@ IonSolOld_NA_ID
Base Id for history of Ion transport node attribute(s)
Definition gmpIphreeqcBasaltReaction.h:134
@ EqM_NA_ID
Base Id for Reaction in equillibrium.
Definition gmpIphreeqcBasaltReaction.h:136
@ poroM_NA_ID
Base Id for porosity variation.
Definition gmpIphreeqcBasaltReaction.h:138
@ KiM_NA_ID
Base Id for mineral for reaction.
Definition gmpIphreeqcBasaltReaction.h:137
Declaration of the GmpChemicalFemPhysics classes.