Flow123d
master-46b78a5
|
#include <sorption_base.hh>
Classes | |
class | EqData |
DualPorosity data. More... | |
class | EqFields |
Public Member Functions | |
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... | |
Public Member Functions inherited from ReactionTerm | |
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) | |
~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... | |
Public Member Functions inherited from EquationBase | |
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 () |
std::shared_ptr< FieldSet > | eq_fieldset_ptr () |
void | init_user_fields (Input::Array user_fields, FieldSet &output_fields) |
Static Public Member Functions | |
static const Input::Type::Record & | get_input_type () |
static Input::Type::Instance | make_output_type (const string &equation_name, const string &output_field_name, const string &output_field_desc) |
Static Public Member Functions inherited from ReactionTerm | |
static Input::Type::Abstract & | it_abstract_term () |
static Input::Type::Abstract & | it_abstract_mobile_term () |
static Input::Type::Abstract & | it_abstract_immobile_term () |
static Input::Type::Abstract & | it_abstract_reaction () |
Static Public Member Functions inherited from EquationBase | |
static Input::Type::Record & | record_template () |
Template Record with common keys for derived equations. More... | |
static Input::Type::Record & | user_fields_template (std::string equation_name) |
Template Record with common key user_fields for derived equations. More... | |
Protected Member Functions | |
SorptionBase () | |
void | make_reactions () |
void | initialize_substance_ids () |
Reads names of substances from input and creates indexing to global vector of substance. More... | |
void | initialize_from_input () |
Initializes private members of sorption from the input record. More... | |
void | initialize_fields () |
Initializes field sets. More... | |
void | compute_reaction (const DHCellAccessor &dh_cell) override |
Compute reaction on a single element. More... | |
void | make_tables (void) |
void | update_max_conc () |
Computes maximal aqueous concentration at the current step. More... | |
void | clear_max_conc () |
Sets max conc to zeros on all regins. More... | |
virtual void | init_field_models ()=0 |
Initialize FieldModels, method is implemented in descendants. More... | |
Protected Member Functions inherited from ReactionTerm |
Protected Attributes | |
std::shared_ptr< EqFields > | eq_fields_ |
Pointer to equation fields. The object is constructed in descendants. More... | |
std::shared_ptr< EqData > | eq_data_ |
Equation data. More... | |
unsigned int | n_interpolation_steps_ |
std::shared_ptr< ReactionTerm > | reaction_liquid |
std::shared_ptr< ReactionTerm > | reaction_solid |
GenericAssembly< InitConditionAssemblySorp > * | init_condition_assembly_ |
general assembly objects, hold assembly objects of appropriate dimension More... | |
GenericAssembly< ReactionAssemblySorp > * | reaction_assembly_ |
Protected Attributes inherited from ReactionTerm | |
std::shared_ptr< OutputTime > | output_stream_ |
Pointer to a transport output stream. More... | |
std::shared_ptr< EqFields > | eq_fields_base_ |
Equation data - all fields needs in assembly class. More... | |
std::shared_ptr< EqData > | eq_data_base_ |
Equation data - all data needs in assembly class. More... | |
Protected Attributes inherited from EquationBase | |
bool | equation_empty_ |
flag is true if only default constructor was called More... | |
Mesh * | mesh_ |
TimeGovernor * | time_ |
Input::Record | input_record_ |
std::shared_ptr< FieldSet > | eq_fieldset_ |
std::shared_ptr< Balance > | balance_ |
object for calculation and writing the mass balance to file. More... | |
Additional Inherited Members | |
Public Types inherited from ReactionTerm | |
typedef std::vector< std::shared_ptr< FieldFE< 3, FieldValue< 3 >::Scalar > > > | FieldFEScalarVec |
Definition at line 63 of file sorption_base.hh.
SorptionBase::SorptionBase | ( | Mesh & | init_mesh, |
Input::Record | in_rec | ||
) |
Constructor with parameter for initialization of a new declared class member
Definition at line 146 of file sorption_base.cc.
|
virtual |
Destructor.
Definition at line 159 of file sorption_base.cc.
|
protected |
This method disables to use constructor without parameters.
|
protected |
Sets max conc to zeros on all regins.
Definition at line 466 of file sorption_base.cc.
|
overrideprotectedvirtual |
Compute reaction on a single element.
Implements ReactionTerm.
Definition at line 557 of file sorption_base.cc.
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" | |||
) |
SorptionBase::DECLARE_INPUT_EXCEPTION | ( | ExcSubstanceCountMatch | , |
<< "The size of the input array "<< EI_ArrayName::qval<< " does not match the number of substances." | |||
) |
|
static |
Static variable for new input data types input
Definition at line 54 of file sorption_base.cc.
|
protectedpure virtual |
Initialize FieldModels, method is implemented in descendants.
Implemented in SorptionImmob, SorptionMob, and SorptionSimple.
|
overridevirtual |
Prepares the object to usage.
Allocating memory, reading input, initialization of fields.
Reimplemented from EquationBase.
Definition at line 192 of file sorption_base.cc.
|
protected |
Initializes field sets.
Definition at line 333 of file sorption_base.cc.
|
protected |
Initializes private members of sorption from the input record.
Definition at line 284 of file sorption_base.cc.
|
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 238 of file sorption_base.cc.
|
inlinestatic |
|
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 165 of file sorption_base.cc.
|
protected |
Creates interpolation table for isotherms.
Definition at line 493 of file sorption_base.cc.
|
overridevirtual |
Output method.
Some reaction models have their own data to output (sorption, dual porosity)
Reimplemented from ReactionTerm.
Definition at line 605 of file sorption_base.cc.
SorptionBase::TYPEDEF_ERR_INFO | ( | EI_ArrayName | , |
std::string | |||
) |
SorptionBase::TYPEDEF_ERR_INFO | ( | EI_Subst | , |
unsigned int | |||
) |
|
protected |
Computes maximal aqueous concentration at the current step.
Definition at line 477 of file sorption_base.cc.
|
overridevirtual |
Updates the solution.
Goes through local distribution of elements and calls compute_reaction
.
Reimplemented from EquationBase.
Definition at line 396 of file sorption_base.cc.
|
overridevirtual |
Does first computation after initialization process. The time is set and initial condition is set and output.
Reimplemented from EquationBase.
Definition at line 369 of file sorption_base.cc.
|
protected |
Equation data.
Definition at line 242 of file sorption_base.hh.
|
protected |
Pointer to equation fields. The object is constructed in descendants.
Definition at line 241 of file sorption_base.hh.
|
protected |
general assembly objects, hold assembly objects of appropriate dimension
Definition at line 256 of file sorption_base.hh.
|
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 247 of file sorption_base.hh.
|
protected |
Definition at line 257 of file sorption_base.hh.
|
protected |
Reaction model that follows the sorption.
Definition at line 252 of file sorption_base.hh.
|
protected |
Definition at line 253 of file sorption_base.hh.