Flow123d  master-f44eb46
Classes | Public Types | Public Member Functions | Static Public Member Functions | List of all members
ReactionTerm Class Referenceabstract

#include <reaction_term.hh>

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

Classes

class  EqData
 Reaction data. More...
 
class  EqFields
 Reaction data. More...
 

Public Types

typedef std::vector< std::shared_ptr< FieldFE< 3, FieldValue< 3 >::Scalar > > > FieldFEScalarVec
 

Public Member Functions

 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...
 
- Public Member Functions inherited from EquationBase
 EquationBase ()
 
 EquationBase (Mesh &mesh, const Input::Record in_rec)
 
virtual void initialize ()
 
virtual void zero_time_step ()
 
virtual ~EquationBase ()
 
virtual void update_solution ()
 
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 ()
 
std::shared_ptr< FieldSeteq_fieldset_ptr ()
 
void init_user_fields (Input::Array user_fields, FieldSet &output_fields)
 

Static Public Member Functions

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...
 
static Input::Type::Recorduser_fields_template (std::string equation_name)
 Template Record with common key user_fields for derived equations. More...
 

Setters

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...
 
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)
 
virtual void output_data (void) override
 Output method. More...
 
void choose_next_time (void) override
 Disable changes in TimeGovernor by empty method. More...
 
virtual void compute_reaction (const DHCellAccessor &dh_cell)=0
 Compute reaction on a single element. More...
 

Additional Inherited Members

- Protected Attributes inherited from EquationBase
bool equation_empty_
 flag is true if only default constructor was called More...
 
Meshmesh_
 
TimeGovernortime_
 
Input::Record input_record_
 
std::shared_ptr< FieldSeteq_fieldset_
 
std::shared_ptr< Balancebalance_
 object for calculation and writing the mass balance to file. More...
 

Detailed Description

Definition at line 46 of file reaction_term.hh.

Member Typedef Documentation

◆ FieldFEScalarVec

typedef std::vector<std::shared_ptr<FieldFE< 3, FieldValue<3>::Scalar> > > ReactionTerm::FieldFEScalarVec

Definition at line 54 of file reaction_term.hh.

Constructor & Destructor Documentation

◆ ReactionTerm()

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

Constructor.

Parameters
init_meshis the reference to the computational mesh
in_recis the input record

Definition at line 51 of file reaction_term.cc.

Here is the caller graph for this function:

◆ ~ReactionTerm()

ReactionTerm::~ReactionTerm ( void  )

Destructor.

Definition at line 55 of file reaction_term.cc.

Member Function Documentation

◆ choose_next_time()

void ReactionTerm::choose_next_time ( void  )
overridevirtual

Disable changes in TimeGovernor by empty method.

Reimplemented from EquationBase.

Definition at line 66 of file reaction_term.cc.

◆ compute_reaction()

virtual void ReactionTerm::compute_reaction ( const DHCellAccessor dh_cell)
protectedpure virtual

Compute reaction on a single element.

Implemented in SorptionBase, FirstOrderReactionBase, and DualPorosity.

◆ concentration_fields()

ReactionTerm& ReactionTerm::concentration_fields ( FieldFEScalarVec conc_mobile)
inline

Sets the pointer to concentration matrix for the mobile zone, all substances and on all elements (given by transport).

Definition at line 120 of file reaction_term.hh.

◆ DECLARE_INPUT_EXCEPTION() [1/2]

ReactionTerm::DECLARE_INPUT_EXCEPTION ( ExcUnknownSubstance  ,
<< "Unknown substance name: "<< EI_Substance::qval   
)

◆ DECLARE_INPUT_EXCEPTION() [2/2]

ReactionTerm::DECLARE_INPUT_EXCEPTION ( ExcWrongDescendantModel  ,
<< "Impossible descendant model: "<< EI_Model::qval   
)

◆ it_abstract_immobile_term()

Abstract & ReactionTerm::it_abstract_immobile_term ( )
static

Definition at line 37 of file reaction_term.cc.

Here is the caller graph for this function:

◆ it_abstract_mobile_term()

Abstract & ReactionTerm::it_abstract_mobile_term ( )
static

Definition at line 31 of file reaction_term.cc.

Here is the caller graph for this function:

◆ it_abstract_reaction()

Abstract & ReactionTerm::it_abstract_reaction ( )
static

Definition at line 43 of file reaction_term.cc.

Here is the caller graph for this function:

◆ it_abstract_term()

Abstract & ReactionTerm::it_abstract_term ( )
static

Static variable for definition of common input record in reaction term.

Definition at line 25 of file reaction_term.cc.

Here is the caller graph for this function:

◆ output_data()

virtual void ReactionTerm::output_data ( void  )
inlineoverridevirtual

Output method.

Some reaction models have their own data to output (sorption, dual porosity)

  • this is where it must be reimplemented. On the other hand, some do not have (linear reaction, pade approximant)
  • that is why it is not pure virtual.

Reimplemented from EquationBase.

Reimplemented in SorptionBase, and DualPorosity.

Definition at line 136 of file reaction_term.hh.

◆ output_stream()

ReactionTerm& ReactionTerm::output_stream ( std::shared_ptr< OutputTime ostream)
inline

Sets the output stream which is given from transport class.

Definition at line 113 of file reaction_term.hh.

◆ substances()

ReactionTerm& ReactionTerm::substances ( SubstanceList substances)
inline

Sets the names of substances considered in transport.

Definition at line 109 of file reaction_term.hh.

◆ TYPEDEF_ERR_INFO() [1/2]

ReactionTerm::TYPEDEF_ERR_INFO ( EI_Model  ,
std::string   
)

◆ TYPEDEF_ERR_INFO() [2/2]

ReactionTerm::TYPEDEF_ERR_INFO ( EI_Substance  ,
std::string   
)

Member Data Documentation

◆ eq_data_base_

std::shared_ptr<EqData> ReactionTerm::eq_data_base_
protected

Equation data - all data needs in assembly class.

Definition at line 152 of file reaction_term.hh.

◆ eq_fields_base_

std::shared_ptr<EqFields> ReactionTerm::eq_fields_base_
protected

Equation data - all fields needs in assembly class.

Definition at line 149 of file reaction_term.hh.

◆ output_stream_

std::shared_ptr<OutputTime> ReactionTerm::output_stream_
protected

Pointer to a transport output stream.

Definition at line 146 of file reaction_term.hh.


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