31 virtual void execute()
override;
GeochemicalSolver _solver
The solver.
virtual const std::stringstream & getSolverOutput(dof_id_type node_id) const override
const unsigned _num_source_species
Number of source species.
std::vector< bool > _removed_fixed_activity
Whether the activity or activity constraint has been removfed.
bool _closed_system
Whether the system has been closed.
void preSolveFlush()
Activate the special "flush" mode prior to solving the geochemical system:
void preSolveDump()
Activate the special "dump" mode prior to solving the geochemical system:
virtual const DenseVector< Real > & getMoleAdditions(dof_id_type node_id) const override
const std::vector< Real > _remove_fixed_activity_time
Times at which to remove the fixed activity or fugacity from the species in _remove_fixed_activity_na...
virtual void finalize() override
const VariableValue & _mode
Mode of the system (flush, flow-through, etc)
const unsigned _num_removed_fixed
Number of elements in the vector _remove_fixed_activity_name;.
Class that controls the time-dependent (but not space-dependent) geochemistry reactions.
GeochemistryTimeDependentReactor(const InputParameters ¶meters)
void removeCurrentSpecies()
Alter _mole_additions so that it will represent the situation in which all current species are remove...
virtual void execute() override
const VariableValue & _temperature
Temperature specified by user.
const std::vector< std::string > _remove_fixed_activity_name
Names of species to remove the fixed activity or fugacity constraint from.
const unsigned _num_kin
Number of kinetic species.
static InputParameters validParams()
Real _previous_temperature
Temperature at which the _egs was last made consistent.
std::unordered_map< std::string, Real > _minerals_dumped
Moles of mineral removed by dump and flow-through.
const VariableValue & _cold_temperature
Cold temperature specified by user, which is used only when mode==4.
void postSolveFlowThrough()
Activate the special "flow-through" mode after solving the geochemical system:
const std::vector< const VariableValue * > _source_species_rates
Rates of the source species.
const std::vector< std::string > _controlled_activity_species_names
Names of the species with controlled activity or fugacity.
const std::vector< std::string > _source_species_names
Names of the source species.
virtual Real getSolverResidual(dof_id_type node_id) const override
virtual Real getMolesDumped(dof_id_type node_id, const std::string &species) const override
GeochemicalSystem _egs
The equilibrium geochemical system that holds all the molalities, activities, etc.
OutputTools< Real >::VariableValue VariableValue
DenseVector< Real > _mole_additions
Moles of each basis species added at the current timestep, along with kinetic rates.
const unsigned _num_controlled_activity
Number of species with controlled activity or fugacity.
Real _new_temperature
Temperature at which the solution is required.
static InputParameters sharedParams()
params that are shared with AddTimeDependentReactionSolverAction
virtual void initialize() override
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual unsigned getSolverIterations(dof_id_type node_id) const override
virtual void initialSetup() override
This class holds information about bulk composition, molalities, activities, activity coefficients...
virtual const GeochemicalSystem & getGeochemicalSystem(dof_id_type node_id) const override
Real newTemperature(const DenseVector< Real > &mole_additions) const
Based on _temperature[0], mole_additions, the current mass of the system and the current temperature ...
const unsigned _ramp_subsequent
the ramp_max_ionic_strength to use during time-stepping
const InputParameters & parameters() const
const unsigned _heating_increments
If mode=4 then temperature is ramped from _cold_temperature to _temperature in heating_increments inc...
Base class that controls the spatio-temporal solution of geochemistry reactions.
const std::vector< const VariableValue * > _controlled_activity_species_values
Activity or fugacity of the species with controlled activity or fugacity.
void postSolveExchanger()
This is relevant for mode=4 simulations (heat-exchanger simulations).
This class contains methods to solve the algebraic system in GeochemicalSystem.
const Real _close_system_at_time
Defines the time at which to close the system.
DenseMatrix< Real > _dmole_additions
Derivative of moles_added.