Flow123d
JS_before_hm-1576-g4d0b70e
|
Abstract class of sorption model in case dual porosity is considered. More...
#include <sorption.hh>
Public Member Functions | |
SorptionDual (Mesh &init_mesh, Input::Record in_rec, const string &output_conc_name, const string &output_conc_desc) | |
Constructor. More... | |
~SorptionDual (void) | |
Destructor. More... | |
void | set_porosity_immobile (Field< 3, FieldValue< 3 >::Scalar > &por_imm) |
Sets the immobile porosity field. More... | |
Public Member Functions inherited from SorptionBase | |
TYPEDEF_ERR_INFO (EI_ArrayName, std::string) | |
DECLARE_INPUT_EXCEPTION (ExcSubstanceCountMatch,<< "The size of the input array "<< EI_ArrayName::qval<< " does not match the number of substances.") | |
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... | |
bool | evaluate_time_constraint (FMT_UNUSED double &time_constraint) override |
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) | |
Constructor. More... | |
~ReactionTerm (void) | |
Destructor. More... | |
void | choose_next_time (void) override |
Disable changes in TimeGovernor by empty method. 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... | |
virtual bool | evaluate_time_constraint (double &time_constraint)=0 |
Computes a constraint for time step. More... | |
ReactionTerm & | concentration_fields (FieldFEScalarVec &conc_mobile) |
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 () |
double | solved_time () |
Mesh & | mesh () |
std::shared_ptr< Balance > | balance () const |
TimeMark::Type | mark_type () |
FieldSet & | eq_fieldset () |
Protected Member Functions | |
virtual void | compute_common_ele_data (const ElementAccessor< 3 > &elem)=0 |
Computes CommonElementData . Pure virtual. More... | |
Protected Member Functions inherited from SorptionBase | |
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 | set_initial_condition () |
Reads and sets initial condition for concentration in solid. More... | |
void | compute_reaction (const DHCellAccessor &dh_cell) override |
Compute reaction on a single element. More... | |
void | isotherm_reinit (unsigned int i_subst, const ElementAccessor< 3 > &elm) |
Reinitializes the isotherm. More... | |
void | isotherm_reinit_all (const ElementAccessor< 3 > &elm) |
Calls isotherm_reinit for all isotherms. 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... | |
Protected Attributes | |
Field< 3, FieldValue< 3 >::Scalar > | immob_porosity_ |
Protected Attributes inherited from SorptionBase | |
EqData * | data_ |
Pointer to equation data. The object is constructed in descendants. More... | |
unsigned int | n_interpolation_steps_ |
double | solvent_density_ |
std::vector< double > | solubility_vec_ |
std::vector< double > | table_limit_ |
std::vector< std::vector< double > > | max_conc |
std::vector< std::vector< Isotherm > > | isotherms |
unsigned int | n_substances_ |
std::vector< unsigned int > | substance_global_idx_ |
Mapping from local indexing of substances to global. More... | |
std::shared_ptr< ReactionTerm > | reaction_liquid |
std::shared_ptr< ReactionTerm > | reaction_solid |
struct SorptionBase::CommonElementData | common_ele_data |
Protected Attributes inherited from ReactionTerm | |
FieldFEScalarVec | conc_mobile_fe |
FieldFEs representing P0 interpolation of mobile concentration (passed from transport). More... | |
SubstanceList | substances_ |
Names belonging to substances. More... | |
std::shared_ptr< OutputTime > | output_stream_ |
Pointer to a transport output stream. More... | |
std::shared_ptr< DOFHandlerMultiDim > | dof_handler_ |
Pointer to DOF handler used through the reaction tree. 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_ |
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 |
Static Public Member Functions inherited from SorptionBase | |
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... | |
Abstract class of sorption model in case dual porosity is considered.
Definition at line 78 of file sorption.hh.
SorptionDual::SorptionDual | ( | Mesh & | init_mesh, |
Input::Record | in_rec, | ||
const string & | output_conc_name, | ||
const string & | output_conc_desc | ||
) |
Constructor.
Definition at line 76 of file sorption.cc.
SorptionDual::~SorptionDual | ( | void | ) |
Destructor.
Definition at line 89 of file sorption.cc.
|
protectedpure virtual |
Computes CommonElementData
. Pure virtual.
Implements SorptionBase.
Implemented in SorptionImmob, and SorptionMob.
|
inline |
Sets the immobile porosity field.
Definition at line 90 of file sorption.hh.
|
protected |
Definition at line 99 of file sorption.hh.