#include <sorption_base.hh>
|
| TYPEDEF_ERR_INFO (EI_ArrayName, std::string) |
|
| TYPEDEF_ERR_INFO (EI_Subst, unsigned int) |
|
| DECLARE_INPUT_EXCEPTION (ExcSubstanceCountMatch,<< "The size of the input array "<< EI_ArrayName::qval<< " does not match the number of substances.") |
|
| DECLARE_EXCEPTION (ExcNotPositiveScaling,<< "Scaling parameter in sorption is not positive. Check the input for rock density and molar mass of "<< EI_Subst::val<< ". substance.\n") |
|
| SorptionBase (Mesh &init_mesh, Input::Record in_rec) |
|
virtual | ~SorptionBase (void) |
|
void | initialize () override |
| Prepares the object to usage. More...
|
|
void | zero_time_step () override |
|
void | update_solution (void) override |
| Updates the solution. More...
|
|
void | output_data (void) override |
| Output method. More...
|
|
| TYPEDEF_ERR_INFO (EI_Substance, std::string) |
|
| TYPEDEF_ERR_INFO (EI_Model, std::string) |
|
| DECLARE_INPUT_EXCEPTION (ExcUnknownSubstance,<< "Unknown substance name: "<< EI_Substance::qval) |
|
| DECLARE_INPUT_EXCEPTION (ExcWrongDescendantModel,<< "Impossible descendant model: "<< EI_Model::qval) |
|
| ReactionTerm (Mesh &init_mesh, Input::Record in_rec) |
| Constructor. More...
|
|
| ~ReactionTerm (void) |
| Destructor. More...
|
|
ReactionTerm & | substances (SubstanceList &substances) |
| Sets the names of substances considered in transport. More...
|
|
ReactionTerm & | output_stream (std::shared_ptr< OutputTime > ostream) |
| Sets the output stream which is given from transport class. More...
|
|
ReactionTerm & | concentration_fields (FieldFEScalarVec &conc_mobile) |
|
void | choose_next_time (void) override |
| Disable changes in TimeGovernor by empty method. More...
|
|
| EquationBase () |
|
| EquationBase (Mesh &mesh, const Input::Record in_rec) |
|
virtual | ~EquationBase () |
|
virtual void | set_time_upper_constraint (double dt, std::string message) |
|
virtual void | set_time_lower_constraint (double dt, std::string message) |
|
TimeGovernor & | time () |
|
virtual void | set_time_governor (TimeGovernor &time) |
|
double | planned_time () |
|
virtual double | solved_time () |
|
Mesh & | mesh () |
|
std::shared_ptr< Balance > | balance () const |
|
TimeMark::Type | mark_type () |
|
FieldSet & | eq_fieldset () |
|
Definition at line 59 of file sorption_base.hh.
◆ SorptionBase() [1/2]
Constructor with parameter for initialization of a new declared class member
Definition at line 124 of file sorption_base.cc.
◆ ~SorptionBase()
SorptionBase::~SorptionBase |
( |
void |
| ) |
|
|
virtual |
◆ SorptionBase() [2/2]
SorptionBase::SorptionBase |
( |
| ) |
|
|
protected |
This method disables to use constructor without parameters.
◆ clear_max_conc()
void SorptionBase::clear_max_conc |
( |
| ) |
|
|
protected |
◆ compute_common_ele_data()
virtual void SorptionBase::compute_common_ele_data |
( |
const ElementAccessor< 3 > & |
elem | ) |
|
|
protectedpure virtual |
◆ compute_reaction()
◆ DECLARE_EXCEPTION()
SorptionBase::DECLARE_EXCEPTION |
( |
ExcNotPositiveScaling |
, |
|
|
<< "Scaling parameter in sorption is not positive. Check the input for rock density and molar mass of "<< EI_Subst::val<< ". substance.\n" |
|
|
) |
| |
◆ DECLARE_INPUT_EXCEPTION()
SorptionBase::DECLARE_INPUT_EXCEPTION |
( |
ExcSubstanceCountMatch |
, |
|
|
<< "The size of the input array "<< EI_ArrayName::qval<< " does not match the number of substances." |
|
|
) |
| |
◆ get_input_type()
const Record & SorptionBase::get_input_type |
( |
| ) |
|
|
static |
Static variable for new input data types input
Definition at line 54 of file sorption_base.cc.
◆ initialize()
void SorptionBase::initialize |
( |
| ) |
|
|
overridevirtual |
Prepares the object to usage.
Allocating memory, reading input, initialization of fields.
Reimplemented from EquationBase.
Definition at line 165 of file sorption_base.cc.
◆ initialize_fields()
void SorptionBase::initialize_fields |
( |
| ) |
|
|
protected |
◆ initialize_from_input()
void SorptionBase::initialize_from_input |
( |
| ) |
|
|
protected |
Initializes private members of sorption from the input record.
Definition at line 253 of file sorption_base.cc.
◆ initialize_substance_ids()
void SorptionBase::initialize_substance_ids |
( |
| ) |
|
|
protected |
Reads names of substances from input and creates indexing to global vector of substance.
Also creates the local vector of molar masses.
Definition at line 207 of file sorption_base.cc.
◆ isotherm_reinit()
void SorptionBase::isotherm_reinit |
( |
unsigned int |
i_subst, |
|
|
const ElementAccessor< 3 > & |
elm |
|
) |
| |
|
protected |
Reinitializes the isotherm.
On data change the isotherm is recomputed, possibly new interpolation table is made. NOTE: Be sure to update common element data (porosity, rock density etc.) by compute_common_ele_data()
, before calling reinitialization!
Definition at line 400 of file sorption_base.cc.
◆ isotherm_reinit_all()
◆ make_output_type()
static Input::Type::Instance SorptionBase::make_output_type |
( |
const string & |
equation_name, |
|
|
const string & |
output_field_name, |
|
|
const string & |
output_field_desc |
|
) |
| |
|
inlinestatic |
◆ make_reactions()
void SorptionBase::make_reactions |
( |
| ) |
|
|
protected |
Initializes possible following reactions from input record. It should be called after setting mesh, time_governor, distribution and concentration_matrix if there are some setting methods for reactions called (they are not at the moment, so it could be part of init_from_input).
Definition at line 138 of file sorption_base.cc.
◆ make_tables()
void SorptionBase::make_tables |
( |
void |
| ) |
|
|
protected |
◆ output_data()
void SorptionBase::output_data |
( |
void |
| ) |
|
|
overridevirtual |
Output method.
Some reaction models have their own data to output (sorption, dual porosity)
- this is where it must be reimplemented. On the other hand, some do not have (linear reaction, pade approximant)
- that is why it is not pure virtual.
Reimplemented from ReactionTerm.
Definition at line 583 of file sorption_base.cc.
◆ set_initial_condition()
void SorptionBase::set_initial_condition |
( |
| ) |
|
|
protected |
Reads and sets initial condition for concentration in solid.
Definition at line 364 of file sorption_base.cc.
◆ TYPEDEF_ERR_INFO() [1/2]
SorptionBase::TYPEDEF_ERR_INFO |
( |
EI_ArrayName |
, |
|
|
std::string |
|
|
) |
| |
◆ TYPEDEF_ERR_INFO() [2/2]
SorptionBase::TYPEDEF_ERR_INFO |
( |
EI_Subst |
, |
|
|
unsigned int |
|
|
) |
| |
◆ update_max_conc()
void SorptionBase::update_max_conc |
( |
| ) |
|
|
protected |
Computes maximal aqueous concentration at the current step.
Definition at line 449 of file sorption_base.cc.
◆ update_solution()
void SorptionBase::update_solution |
( |
void |
| ) |
|
|
overridevirtual |
Updates the solution.
Goes through local distribution of elements and calls compute_reaction
.
Reimplemented from EquationBase.
Definition at line 380 of file sorption_base.cc.
◆ zero_time_step()
void SorptionBase::zero_time_step |
( |
| ) |
|
|
overridevirtual |
Does first computation after initialization process. The time is set and initial condition is set and output.
Reimplemented from EquationBase.
Definition at line 338 of file sorption_base.cc.
◆ common_ele_data
◆ data_
Pointer to equation data. The object is constructed in descendants.
Definition at line 194 of file sorption_base.hh.
◆ isotherms
Three dimensional array contains intersections between isotherms and mass balance lines. It describes behaviour of sorbents in mobile pores of various rock matrix enviroments. Up to |nr_of_region x nr_of_substances x n_points| doubles. Because of equidistant step lenght in cocidered system of coordinates, just function values are stored.
Definition at line 224 of file sorption_base.hh.
◆ max_conc
Maximum concentration per region. It is used for optimization of interpolation table.
Definition at line 217 of file sorption_base.hh.
◆ n_interpolation_steps_
unsigned int SorptionBase::n_interpolation_steps_ |
|
protected |
Temporary nr_of_points can be computed using step_length. Should be |nr_of_region x nr_of_substances| matrix later.
Definition at line 199 of file sorption_base.hh.
◆ n_substances_
unsigned int SorptionBase::n_substances_ |
|
protected |
◆ reaction_liquid
◆ reaction_solid
◆ solubility_vec_
Critical concentrations of species dissolved in water.
Definition at line 208 of file sorption_base.hh.
◆ solvent_density_
double SorptionBase::solvent_density_ |
|
protected |
Density of the solvent. TODO: Could be done region dependent, easily.
Definition at line 204 of file sorption_base.hh.
◆ substance_global_idx_
std::vector<unsigned int> SorptionBase::substance_global_idx_ |
|
protected |
◆ table_limit_
Concentration table limits of species dissolved in water.
Definition at line 212 of file sorption_base.hh.
The documentation for this class was generated from the following files: