Flow123d  JS_before_hm-1712-g4d968e368
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
SorptionDual Class Referenceabstract

Abstract class of sorption model in case dual porosity is considered. More...

#include <sorption.hh>

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

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)
 
 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...
 
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...
 
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...
 
virtual bool evaluate_time_constraint (double &time_constraint)=0
 Computes a constraint for time step. 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 ()
 

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 Member Functions inherited from ReactionTerm

Protected Attributes

Field< 3, FieldValue< 3 >::Scalar > immob_porosity_
 
- 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...
 

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::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...
 

Detailed Description

Abstract class of sorption model in case dual porosity is considered.

Definition at line 78 of file sorption.hh.

Constructor & Destructor Documentation

◆ SorptionDual()

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::~SorptionDual ( void  )

Destructor.

Definition at line 89 of file sorption.cc.

Member Function Documentation

◆ compute_common_ele_data()

virtual void SorptionDual::compute_common_ele_data ( const ElementAccessor< 3 > &  elem)
protectedpure virtual

Computes CommonElementData. Pure virtual.

Implements SorptionBase.

Implemented in SorptionImmob, and SorptionMob.

◆ set_porosity_immobile()

void SorptionDual::set_porosity_immobile ( Field< 3, FieldValue< 3 >::Scalar > &  por_imm)
inline

Sets the immobile porosity field.

Definition at line 90 of file sorption.hh.

Member Data Documentation

◆ immob_porosity_

Field<3, FieldValue<3>::Scalar > SorptionDual::immob_porosity_
protected

Definition at line 99 of file sorption.hh.


The documentation for this class was generated from the following files: