Flow123d  release_2.2.0-37-g336ee74
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 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_selection_name)
 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 (double &time_constraint) override
 Computes a constraint for time step. 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...
 
void choose_next_time (void) override
 Disable changes in TimeGovernor by empty method. 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_matrix (double **concentration, Distribution *conc_distr, int *el_4_loc, int *row_4_el)
 
- 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 ()
 
TimeMark::Type mark_type ()
 
FieldSetdata ()
 
virtual void get_solution_vector (double *&vector, unsigned int &size)
 
virtual void get_parallel_solution_vector (Vec &vector)
 

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)
 
- 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 ()
 

Protected Member Functions

void isotherm_reinit (std::vector< Isotherm > &isotherms_vec, const ElementAccessor< 3 > &elem) override
 Reinitializes the isotherm. 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 allocate_output_mpi (void)
 Allocates petsc vectors, prepares them for output and creates vector scatter. More...
 
void output_vector_gather (void) override
 Gathers all the parallel vectors to enable them to be output. More...
 
double ** compute_reaction (double **concentrations, int loc_el) override
 
void make_tables (void)
 

Static Private Attributes

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

Additional Inherited Members

- Protected Attributes inherited from SorptionDual
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< Isotherm > > isotherms
 
unsigned int n_substances_
 
std::vector< unsigned int > substance_global_idx_
 Mapping from local indexing of substances to global. More...
 
double ** conc_solid
 
std::shared_ptr< ReactionTermreaction_liquid
 
std::shared_ptr< ReactionTermreaction_solid
 
VecScatter vconc_out_scatter
 Output vector scatter. More...
 
Vec * vconc_solid
 PETSC sorbed concentration vector (parallel). More...
 
std::vector< VectorSeqDoubleconc_solid_out
 sorbed concentration array output (gathered - sequential) More...
 
- Protected Attributes inherited from ReactionTerm
double ** concentration_matrix_
 
int * el_4_loc_
 Indices of elements belonging to local dofs. More...
 
int * row_4_el_
 Indices of rows belonging to elements. More...
 
Distributiondistribution_
 Pointer to reference to distribution of elements between processors. More...
 
SubstanceList substances_
 Names belonging to substances. More...
 
std::shared_ptr< OutputTimeoutput_stream_
 Pointer to a transport output stream. 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_data_
 
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 123 of file sorption.hh.

Member Typedef Documentation

Definition at line 126 of file sorption.hh.

Constructor & Destructor Documentation

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

Constructor.

Definition at line 240 of file sorption.cc.

SorptionImmob::~SorptionImmob ( void  )

Destructor.

Definition at line 244 of file sorption.cc.

Member Function Documentation

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

Definition at line 223 of file sorption.cc.

void SorptionImmob::isotherm_reinit ( std::vector< Isotherm > &  isotherms_vec,
const ElementAccessor< 3 > &  elem 
)
overrideprotectedvirtual

Reinitializes the isotherm.

Implements SorptionDual.

Definition at line 255 of file sorption.cc.

Member Data Documentation

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

Registrar of class to factory.

Definition at line 144 of file sorption.hh.


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