Flow123d  3.9.0-9663d1cde
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Private Attributes | List of all members
DualPorosity Class Reference

Class representing dual porosity model in transport. More...

#include <dual_porosity.hh>

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

Classes

class  EqData
 DualPorosity data. More...
 
class  EqFields
 DualPorosity fields. More...
 

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

 DualPorosity (Mesh &init_mesh, Input::Record in_rec)
 Constructor. More...
 
 ~DualPorosity (void)
 Destructor. More...
 
void initialize () override
 Prepares the object to usage. More...
 
void zero_time_step () override
 
void update_solution (void) override
 
void output_data (void) override
 Main output routine. 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 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

 DualPorosity ()
 
void make_reactions ()
 Resolves construction of following reactions. More...
 
void initialize_fields ()
 Initializes field sets. More...
 
void compute_reaction (const DHCellAccessor &dh_cell) override
 Compute reaction on a single element. More...
 
- Protected Member Functions inherited from ReactionTerm

Protected Attributes

std::shared_ptr< EqFieldseq_fields_
 Equation fields - all fields are in this set. More...
 
std::shared_ptr< EqDataeq_data_
 Equation data. More...
 
FieldSet input_field_set_
 
std::shared_ptr< ReactionTermreaction_mobile
 Reaction running in mobile zone. More...
 
std::shared_ptr< ReactionTermreaction_immobile
 Reaction running in immobile zone. More...
 
GenericAssembly< InitConditionAssemblyDp > * init_condition_assembly_
 general assembly objects, hold assembly objects of appropriate dimension More...
 
GenericAssembly< ReactionAssemblyDp > * reaction_assembly_
 
- 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...
 

Static Private Attributes

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

Detailed Description

Class representing dual porosity model in transport.

Definition at line 53 of file dual_porosity.hh.

Member Typedef Documentation

◆ FactoryBaseType

Definition at line 56 of file dual_porosity.hh.

Constructor & Destructor Documentation

◆ DualPorosity() [1/2]

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

Constructor.

Definition at line 114 of file dual_porosity.cc.

◆ ~DualPorosity()

DualPorosity::~DualPorosity ( void  )

Destructor.

Definition at line 134 of file dual_porosity.cc.

◆ DualPorosity() [2/2]

DualPorosity::DualPorosity ( )
protected

This method disables to use constructor without parameters.

Member Function Documentation

◆ compute_reaction()

void DualPorosity::compute_reaction ( const DHCellAccessor dh_cell)
overrideprotectedvirtual

Compute reaction on a single element.

Implements ReactionTerm.

Definition at line 279 of file dual_porosity.cc.

◆ get_input_type()

const Record & DualPorosity::get_input_type ( )
static

Static variable for new input data types input

Definition at line 48 of file dual_porosity.cc.

◆ initialize()

void DualPorosity::initialize ( )
overridevirtual

Prepares the object to usage.

Allocating memory, reading input, initialization of fields.

Reimplemented from EquationBase.

Definition at line 166 of file dual_porosity.cc.

◆ initialize_fields()

void DualPorosity::initialize_fields ( )
protected

Initializes field sets.

Definition at line 199 of file dual_porosity.cc.

Here is the caller graph for this function:

◆ make_reactions()

void DualPorosity::make_reactions ( )
protected

Resolves construction of following reactions.

Definition at line 141 of file dual_porosity.cc.

Here is the caller graph for this function:

◆ output_data()

void DualPorosity::output_data ( void  )
overridevirtual

Main output routine.

Reimplemented from ReactionTerm.

Definition at line 284 of file dual_porosity.cc.

Here is the caller graph for this function:

◆ update_solution()

void DualPorosity::update_solution ( void  )
overridevirtual

Updates the solution according to the dual porosity model.

Reimplemented from EquationBase.

Definition at line 266 of file dual_porosity.cc.

◆ zero_time_step()

void DualPorosity::zero_time_step ( )
overridevirtual

Does first computation after initialization process. The time is set and initial condition is set and output.

Reimplemented from EquationBase.

Definition at line 229 of file dual_porosity.cc.

Member Data Documentation

◆ eq_data_

std::shared_ptr<EqData> DualPorosity::eq_data_
protected

Equation data.

Definition at line 147 of file dual_porosity.hh.

◆ eq_fields_

std::shared_ptr<EqFields> DualPorosity::eq_fields_
protected

Equation fields - all fields are in this set.

Definition at line 146 of file dual_porosity.hh.

◆ init_condition_assembly_

GenericAssembly< InitConditionAssemblyDp >* DualPorosity::init_condition_assembly_
protected

general assembly objects, hold assembly objects of appropriate dimension

Definition at line 158 of file dual_porosity.hh.

◆ input_field_set_

FieldSet DualPorosity::input_field_set_
protected

Input data set - fields in this set are read from the input file.

Definition at line 152 of file dual_porosity.hh.

◆ reaction_assembly_

GenericAssembly< ReactionAssemblyDp >* DualPorosity::reaction_assembly_
protected

Definition at line 159 of file dual_porosity.hh.

◆ reaction_immobile

std::shared_ptr<ReactionTerm> DualPorosity::reaction_immobile
protected

Reaction running in immobile zone.

Definition at line 155 of file dual_porosity.hh.

◆ reaction_mobile

std::shared_ptr<ReactionTerm> DualPorosity::reaction_mobile
protected

Reaction running in mobile zone.

Definition at line 154 of file dual_porosity.hh.

◆ registrar

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

Registrar of class to factory.

Definition at line 163 of file dual_porosity.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
DualPorosity::get_input_type
static const Input::Type::Record & get_input_type()
Definition: dual_porosity.cc:48