Flow123d  JS_before_hm-2212-gb8d94e0c1
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Private Attributes | List of all members
SorptionImmob Class Reference

Sorption model in immobile zone in case dual porosity is considered. More...

#include <sorption.hh>

Inheritance diagram for SorptionImmob:
Inheritance graph
[legend]
Collaboration diagram for SorptionImmob:
Collaboration graph
[legend]

Public Types

typedef ReactionTerm FactoryBaseType
 
- Public Types inherited from ReactionTerm
typedef std::vector< std::shared_ptr< FieldFE< 3, FieldValue< 3 >::Scalar > > > FieldFEScalarVec
 

Public Member Functions

 SorptionImmob (Mesh &init_mesh, Input::Record in_rec)
 Constructor. More...
 
 ~SorptionImmob (void)
 Destructor. More...
 
- Public Member Functions inherited from SorptionDual
 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)
 
 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...
 
ReactionTermsubstances (SubstanceList &substances)
 Sets the names of substances considered in transport. More...
 
ReactionTermoutput_stream (std::shared_ptr< OutputTime > ostream)
 Sets the output stream which is given from transport class. More...
 
ReactionTermconcentration_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)
 
TimeGovernortime ()
 
virtual void set_time_governor (TimeGovernor &time)
 
double planned_time ()
 
virtual double solved_time ()
 
Meshmesh ()
 
std::shared_ptr< Balancebalance () const
 
TimeMark::Type mark_type ()
 
FieldSeteq_fieldset ()
 

Static Public Member Functions

static const Input::Type::Recordget_input_type ()
 
- Static Public Member Functions inherited from SorptionBase
static const Input::Type::Recordget_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::Abstractit_abstract_term ()
 
static Input::Type::Abstractit_abstract_mobile_term ()
 
static Input::Type::Abstractit_abstract_immobile_term ()
 
static Input::Type::Abstractit_abstract_reaction ()
 
- Static Public Member Functions inherited from EquationBase
static Input::Type::Recordrecord_template ()
 Template Record with common keys for derived equations. More...
 

Protected Member Functions

void init_field_models () override
 Implements SorptionBase::init_field_models. 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 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 Member Functions inherited from ReactionTerm

Static Private Attributes

static const int registrar
 Registrar of class to factory. More...
 

Additional Inherited Members

- Protected Attributes inherited from SorptionDual
std::shared_ptr< EqFieldseq_fields_dual_
 Overwrites SorptionBase::eq_fields_. More...
 
- Protected Attributes inherited from SorptionBase
std::shared_ptr< EqFieldseq_fields_
 Pointer to equation fields. The object is constructed in descendants. More...
 
std::shared_ptr< EqDataeq_data_
 Equation data. 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
 
std::shared_ptr< ReactionTermreaction_liquid
 
std::shared_ptr< ReactionTermreaction_solid
 
GenericAssembly< InitConditionAssemblySorp > * init_condition_assembly_
 general assembly objects, hold assembly objects of appropriate dimension More...
 
- Protected Attributes inherited from ReactionTerm
std::shared_ptr< OutputTimeoutput_stream_
 Pointer to a transport output stream. More...
 
std::shared_ptr< EqFieldseq_fields_base_
 Equation data - all fields needs in assembly class. More...
 
std::shared_ptr< EqDataeq_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...
 
Meshmesh_
 
TimeGovernortime_
 
Input::Record input_record_
 
FieldSeteq_fieldset_
 
std::shared_ptr< Balancebalance_
 object for calculation and writing the mass balance to file. More...
 

Detailed Description

Sorption model in immobile zone in case dual porosity is considered.

Definition at line 136 of file sorption.hh.

Member Typedef Documentation

◆ FactoryBaseType

Definition at line 139 of file sorption.hh.

Constructor & Destructor Documentation

◆ SorptionImmob()

SorptionImmob::SorptionImmob ( Mesh init_mesh,
Input::Record  in_rec 
)

Constructor.

Definition at line 220 of file sorption.cc.

◆ ~SorptionImmob()

SorptionImmob::~SorptionImmob ( void  )

Destructor.

Definition at line 224 of file sorption.cc.

Member Function Documentation

◆ get_input_type()

const IT::Record & SorptionImmob::get_input_type ( )
static

Definition at line 205 of file sorption.cc.

◆ init_field_models()

void SorptionImmob::init_field_models ( )
overrideprotectedvirtual

Implements SorptionBase::init_field_models.

Implements SorptionBase.

Definition at line 227 of file sorption.cc.

Member Data Documentation

◆ registrar

const int SorptionImmob::registrar
staticprivate
Initial value:
=
Input::register_class< SorptionImmob, Mesh &, Input::Record >("SorptionImmobile") +

Registrar of class to factory.

Definition at line 155 of file sorption.hh.


The documentation for this class was generated from the following files:
Input::Type::Record::size
unsigned int size() const
Returns number of keys in the Record.
Definition: type_record.hh:602
SorptionImmob::get_input_type
static const Input::Type::Record & get_input_type()
Definition: sorption.cc:205