Flow123d  JS_before_hm-1008-g3dab983
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | 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]

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)
 Constructor. More...
 
 ~ReactionTerm (void)
 Destructor. More...
 
virtual void output_data (void) override
 Output method. More...
 
void choose_next_time (void) override
 Disable changes in TimeGovernor by empty method. More...
 
Setters
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)
 
- 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 ()
 
double solved_time ()
 
Meshmesh ()
 
std::shared_ptr< Balancebalance () const
 
TimeMark::Type mark_type ()
 
FieldSetdata ()
 

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

Protected Member Functions

virtual void compute_reaction (const DHCellAccessor &dh_cell)=0
 Compute reaction on a single element. More...
 

Protected Attributes

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_data_
 
std::shared_ptr< Balancebalance_
 object for calculation and writing the mass balance to file. More...
 

Detailed Description

Definition at line 45 of file reaction_term.hh.

Member Typedef Documentation

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

Definition at line 53 of file reaction_term.hh.

Constructor & Destructor Documentation

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

Destructor.

Definition at line 56 of file reaction_term.cc.

Member Function Documentation

void ReactionTerm::choose_next_time ( void  )
overridevirtual

Disable changes in TimeGovernor by empty method.

Reimplemented from EquationBase.

Definition at line 63 of file reaction_term.cc.

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

Compute reaction on a single element.

Implemented in SorptionBase, DualPorosity, and FirstOrderReactionBase.

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 90 of file reaction_term.hh.

ReactionTerm::DECLARE_INPUT_EXCEPTION ( ExcUnknownSubstance  ,
<< "Unknown substance name: "<< EI_Substance::qval   
)
ReactionTerm::DECLARE_INPUT_EXCEPTION ( ExcWrongDescendantModel  ,
<< "Impossible descendant model: "<< EI_Model::qval   
)
virtual bool ReactionTerm::evaluate_time_constraint ( double &  time_constraint)
pure virtual

Computes a constraint for time step.

Implemented in DualPorosity, and FirstOrderReactionBase.

Abstract & ReactionTerm::it_abstract_immobile_term ( )
static

Definition at line 37 of file reaction_term.cc.

Here is the caller graph for this function:

Abstract & ReactionTerm::it_abstract_mobile_term ( )
static

Definition at line 31 of file reaction_term.cc.

Here is the caller graph for this function:

Abstract & ReactionTerm::it_abstract_reaction ( )
static

Definition at line 43 of file reaction_term.cc.

Here is the caller graph for this function:

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:

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 105 of file reaction_term.hh.

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

Sets the output stream which is given from transport class.

Definition at line 80 of file reaction_term.hh.

ReactionTerm& ReactionTerm::substances ( SubstanceList substances)
inline

Sets the names of substances considered in transport.

Definition at line 76 of file reaction_term.hh.

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

Member Data Documentation

FieldFEScalarVec ReactionTerm::conc_mobile_fe
protected

FieldFEs representing P0 interpolation of mobile concentration (passed from transport).

Definition at line 115 of file reaction_term.hh.

std::shared_ptr<DOFHandlerMultiDim> ReactionTerm::dof_handler_
protected

Pointer to DOF handler used through the reaction tree.

Definition at line 127 of file reaction_term.hh.

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

Pointer to a transport output stream.

Definition at line 124 of file reaction_term.hh.

SubstanceList ReactionTerm::substances_
protected

Names belonging to substances.

Must be same as in the transport.

Definition at line 121 of file reaction_term.hh.


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