Flow123d  JS_before_hm-2074-g7860a8b45
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Private Attributes | List of all members
SorptionSimple Class Reference

Simple sorption model without dual porosity. More...

#include <sorption.hh>

Inheritance diagram for SorptionSimple:
Inheritance graph
[legend]
Collaboration diagram for SorptionSimple:
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

 SorptionSimple (Mesh &init_mesh, Input::Record in_rec)
 Constructor. More...
 
 ~SorptionSimple (void)
 Destructor. 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)
 Constructor. More...
 
 ~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 ()
 
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 compute_common_ele_data (const ElementAccessor< 3 > &elem) override
 Computes CommonElementData. 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 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 SorptionBase
EqDatadata_
 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< ReactionTermreaction_liquid
 
std::shared_ptr< ReactionTermreaction_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< OutputTimeoutput_stream_
 Pointer to a transport output stream. More...
 
std::shared_ptr< DOFHandlerMultiDimdof_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...
 
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

Simple sorption model without dual porosity.

Definition at line 52 of file sorption.hh.

Member Typedef Documentation

◆ FactoryBaseType

Definition at line 55 of file sorption.hh.

Constructor & Destructor Documentation

◆ SorptionSimple()

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

Constructor.

Definition at line 47 of file sorption.cc.

◆ ~SorptionSimple()

SorptionSimple::~SorptionSimple ( void  )

Destructor.

Definition at line 58 of file sorption.cc.

Member Function Documentation

◆ compute_common_ele_data()

void SorptionSimple::compute_common_ele_data ( const ElementAccessor< 3 > &  elem)
overrideprotectedvirtual

Computes CommonElementData.

Implements SorptionBase.

Definition at line 61 of file sorption.cc.

◆ get_input_type()

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

Definition at line 36 of file sorption.cc.

Member Data Documentation

◆ registrar

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

Registrar of class to factory.

Definition at line 71 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
SorptionSimple::get_input_type
static const Input::Type::Record & get_input_type()
Definition: sorption.cc:36