Flow123d
JS_before_hm-2198-g122e1f2e2
|
Go to the documentation of this file.
24 #ifndef SORPTION_BASE_H
25 #define SORPTION_BASE_H
68 <<
" does not match the number of substances.");
70 <<
"Scaling parameter in sorption is not positive. Check the input for rock density and molar mass of " << EI_Subst::val <<
". substance.\n" );
91 EqFields(
const string &output_field_name,
const string &output_field_desc);
260 #endif //SORPTION_BASE_H
std::vector< double > table_limit_
MultiField< 3, FieldValue< 3 >::Enum > sorption_type
Discrete need Selection for initialization.
static const Input::Type::Record & get_input_type()
FieldFEScalarVec conc_solid_fe
Underlaying FieldFE for each substance of conc_solid.
Field< 3, FieldValue< 3 >::Scalar > no_sorbing_surface_cond
std::shared_ptr< ReactionTerm > reaction_liquid
void initialize_substance_ids()
Reads names of substances from input and creates indexing to global vector of substance.
std::shared_ptr< ReactionTerm > reaction_solid
MultiField< 3, FieldValue< 3 >::Scalar > distribution_coefficient
Multiplication coefficients (k, omega) for all types of isotherms.
DECLARE_INPUT_EXCEPTION(ExcSubstanceCountMatch,<< "The size of the input array "<< EI_ArrayName::qval<< " does not match the number of substances.")
void clear_max_conc()
Sets max conc to zeros on all regins.
virtual void init_field_models()=0
Initialize FieldModels, method is implemented in descendants.
unsigned int n_substances_
number of substances that take part in the sorption mode
void initialize_from_input()
Initializes private members of sorption from the input record.
std::shared_ptr< EqFields > eq_fields_
Pointer to equation fields. The object is constructed in descendants.
void initialize_fields()
Initializes field sets.
unsigned int n_interpolation_steps_
void update_max_conc()
Computes maximal aqueous concentration at the current step.
std::vector< double > solubility_vec_
void isotherm_reinit(unsigned int i_subst, const ElementAccessor< 3 > &elm)
Reinitializes the isotherm.
void compute_reaction(const DHCellAccessor &dh_cell) override
Compute reaction on a single element.
void output_data(void) override
Output method.
static const Input::Type::Selection & get_sorption_type_selection()
const Input::Type::Instance & make_output_type(const string &equation_name, const string &aditional_description="")
MultiField< 3, FieldValue< 3 >::Scalar > isotherm_other
Langmuir sorption coeficients alpha (in fraction c_s = omega * (alpha*c_a)/(1- alpha*c_a)).
MultiField< 3, FieldValue< 3 >::Scalar > init_conc_solid
Initial sorbed concentrations.
static Input::Type::Instance make_output_type(const string &equation_name, const string &output_field_name, const string &output_field_desc)
std::vector< unsigned int > substance_global_idx_
Mapping from local indexing of substances to global.
void zero_time_step() override
virtual ~SorptionBase(void)
MultiField< 3, FieldValue< 3 >::Scalar > conc_solid
Calculated sorbed concentrations, for output only.
Container for various descendants of FieldCommonBase.
std::shared_ptr< EqData > eq_data_
Equation data.
std::vector< std::vector< Isotherm > > isotherms
void update_solution(void) override
Updates the solution.
Field< 3, FieldValue< 3 >::Scalar > rock_density
Rock matrix density.
EquationOutput output_fields
Fields indended for output, i.e. all input fields plus those representing solution.
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")
TYPEDEF_ERR_INFO(EI_ArrayName, std::string)
Cell accessor allow iterate over DOF handler cells.
EqData()
Collect all fields.
Class for representation of a vector of fields of the same physical quantity.
void isotherm_reinit_all(const ElementAccessor< 3 > &elm)
Calls isotherm_reinit for all isotherms.
Field< 3, FieldValue< 3 >::Scalar > scale_aqua
Instances of FieldModel used in assembly methods.
std::vector< std::vector< double > > max_conc
GenericAssembly< InitConditionAssemblySorp > * init_condition_assembly_
general assembly objects, hold assembly objects of appropriate dimension
void initialize() override
Prepares the object to usage.
Class template representing a field with values dependent on: point, element, and region.
Class ReactionTerm is an abstract class representing reaction term in transport.
Field< 3, FieldValue< 3 >::Scalar > porosity
Porosity field copied from transport.
FieldSet input_field_set_
Input data set - fields in this set are read from the input file.
Generic class of assemblation.
Field< 3, FieldValue< 3 >::Scalar > scale_sorbed
unsigned int IntDim
A dimension index type.