33 virtual void execute()
override;
37 virtual const std::stringstream &
getSolverOutput(dof_id_type node_id)
const override;
40 virtual const DenseVector<Real> &
getMoleAdditions(dof_id_type node_id)
const override;
41 virtual Real
getMolesDumped(dof_id_type node_id,
const std::string & species)
const override;
This class contains methods to solve the algebraic system in GeochemicalSystem.
This class holds information about bulk composition, molalities, activities, activity coefficients,...
Base class that controls the spatio-temporal solution of geochemistry reactions.
Class that controls the space-dependent and time-dependent geochemistry reactions.
unsigned _nthreads
number of threads used to execute this UserObject
virtual void initialize() override
std::vector< const VariableValue * > _source_species_rates
Rates of the source species.
virtual Real getMolesDumped(dof_id_type node_id, const std::string &species) const override
const Real _dt_min
minimum value of dt allowed during adpative timestepping. This is set to a large number if _adaptive_...
std::vector< GeochemicalSystem > _egs_at_node
GeochemicalSystem at each node.
GeochemicalSystem _egs_copy
GeochemicalSystem into which the nodal GeochemicalSystem is copied to enable recovery during adaptive...
std::unordered_map< dof_id_type, unsigned > _my_node_number
_my_node_number[_current_node->id()] = node number used in this object that corresponds to _current_n...
GeochemicalSolver _solver
The solver.
const Real _dt_inc
value to multiply dt my in the case of a successful solve
DenseVector< Real > _mole_rates
Rate of mole additions.
const VariableValue & _temperature
Temperature specified by user.
std::vector< bool > _execute_done
whether execute has been called using this thread
std::vector< DenseMatrix< Real > > _dmole_additions
Derivative of moles_added.
std::vector< DenseVector< Real > > _mole_additions
Moles of each basis species added at each node at the current timestep, along with kinetic rates.
virtual Real getSolverResidual(dof_id_type node_id) const override
std::vector< ModelGeochemicalDatabase > _mgd_at_node
ModelGeochemicalDatabase at each node.
virtual void finalize() override
the main-thread information is used to set the other-thread information in finalize()
std::vector< const VariableValue * > _controlled_activity_species_values
Activity or fugacity of the species with controlled activity or fugacity.
void buildMyNodeNumber()
Build the _my_node_number map.
static InputParameters sharedParams()
params that are shared with AddTimeDependentReactionSolverAction
const unsigned _num_kin
Number of kinetic species.
virtual void initialSetup() override
const bool _adaptive_timestepping
Whether to use adaptive timestepping at the nodes.
virtual unsigned getSolverIterations(dof_id_type node_id) const override
const Real _initial_temperature
Initial equilibration temperature.
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...
const unsigned _num_removed_fixed
Number of elements in the vector _remove_fixed_activity_name;.
virtual void meshChanged() override
const std::vector< std::string > _remove_fixed_activity_name
Names of species to remove the fixed activity or fugacity constraint from.
virtual void execute() override
virtual const GeochemicalSystem & getGeochemicalSystem(dof_id_type node_id) const override
const Real _close_system_at_time
Defines the time at which to close the system.
const std::vector< std::string > _controlled_activity_species_names
Names of the species with controlled activity or fugacity.
const Real _dt_dec
value to multiply dt my in the case of a failed solve
std::vector< std::vector< bool > > _removed_fixed_activity
Whether the activity or activity constraint has been removed at each node.
virtual void threadJoin(const UserObject &uo) override
virtual const std::stringstream & getSolverOutput(dof_id_type node_id) const override
const std::vector< std::string > _source_species_names
Names of the source species.
static InputParameters validParams()
const unsigned _num_controlled_activity
Number of species with controlled activity or fugacity.
const unsigned _num_source_species
Number of source species.
virtual const DenseVector< Real > & getMoleAdditions(dof_id_type node_id) const override
bool _closed_system
Whether the system has been closed.
const unsigned _ramp_subsequent
the ramp_max_ionic_strength to use during time-stepping
const InputParameters & parameters() const
VariableValueTempl< false > VariableValue