Flow123d
jenkins-Flow123d-linux-release-multijob-282
|
Class implements the linear reactions. More...
#include <first_order_reaction.hh>
Public Member Functions | |
FirstOrderReaction (Mesh &init_mesh, Input::Record in_rec) | |
Constructor. More... | |
~FirstOrderReaction (void) | |
Destructor. More... | |
Public Member Functions inherited from FirstOrderReactionBase | |
FirstOrderReactionBase (Mesh &init_mesh, Input::Record in_rec) | |
Constructor. More... | |
~FirstOrderReactionBase (void) | |
Destructor. More... | |
void | initialize () override |
Prepares the object to usage. More... | |
void | zero_time_step () override |
Moves the model to zero time. More... | |
void | update_solution (void) override |
Updates the solution. 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... | |
virtual void | output_data (void) |
Output method. More... | |
void | choose_next_time (void) override |
Disable changes in TimeGovernor by empty method. More... | |
ReactionTerm & | substances (SubstanceList &substances) |
Sets the names of substances considered in transport. More... | |
ReactionTerm & | output_stream (OutputTime &ostream) |
Sets the output stream which is given from transport class. More... | |
ReactionTerm & | concentration_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) |
virtual void | set_time_lower_constraint (double dt) |
TimeGovernor const & | time () |
virtual void | set_time_governor (TimeGovernor &time) |
double | planned_time () |
double | solved_time () |
Mesh & | mesh () |
TimeMark::Type | mark_type () |
FieldSet & | data () |
virtual void | get_solution_vector (double *&vector, unsigned int &size) |
virtual void | get_parallel_solution_vector (Vec &vector) |
Static Public Attributes | |
static Input::Type::Record | input_type |
Input record for class FirstOrderReaction. More... | |
static Input::Type::Record | input_type_single_reaction |
Input record which defines particular reaction. More... | |
static Input::Type::Record | input_type_reactant |
Input record for a reactant of a reaction. More... | |
static Input::Type::Record | input_type_product |
Input record for a product of a reaction. More... | |
Static Public Attributes inherited from ReactionTerm | |
static Input::Type::AbstractRecord | input_type = AbstractRecord("ReactionTerm", "Equation for reading information about simple chemical reactions.") |
static Input::Type::Record | input_type_output_record |
Specification of the output record. More... | |
Protected Member Functions | |
void | assemble_ode_matrix (void) override |
Implements the assembly of the system matrix of the ODEs. More... | |
void | initialize_from_input () override |
Initializes private members of sorption from the input record. More... | |
Protected Member Functions inherited from FirstOrderReactionBase | |
virtual double ** | compute_reaction (double **concentrations, int loc_el) override |
Computes the reaction on a specified element. More... | |
unsigned int | find_subst_name (const std::string &name) |
Protected Member Functions inherited from ReactionTerm | |
virtual void | output_vector_gather (void) |
Protected Attributes | |
std::vector< double > | reaction_rates_ |
Vector of reaction rates of the transported substances. More... | |
Protected Attributes inherited from FirstOrderReactionBase | |
std::vector< std::vector < unsigned int > > | substance_ids_ |
std::vector< std::vector < double > > | bifurcation_ |
unsigned int | n_substances_ |
Number of all transported substances. It is the dimension of the reaction matrix. More... | |
arma::mat | reaction_matrix_ |
Reaction matrix. More... | |
arma::vec | prev_conc_ |
Column vector storing previous concetrations on an element. More... | |
arma::mat | molar_matrix_ |
Diagonal matrix with molar masses of substances. More... | |
arma::mat | molar_mat_inverse_ |
Inverse of molar_matrix_ . More... | |
LinearODESolverBase * | linear_ode_solver_ |
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... | |
Distribution * | distribution_ |
Pointer to reference to distribution of elements between processors. More... | |
SubstanceList | substances_ |
Names belonging to substances. More... | |
OutputTime * | output_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... | |
Mesh * | mesh_ |
TimeGovernor * | time_ |
Input::Record | input_record_ |
FieldSet * | eq_data_ |
Class implements the linear reactions.
This class implements the user interface for linear reactions and prepares the reaction matrix. Common features are inherited from the FirstOrderReactionBase
class.
Definition at line 16 of file first_order_reaction.hh.
FirstOrderReaction::FirstOrderReaction | ( | Mesh & | init_mesh, |
Input::Record | in_rec | ||
) |
Constructor.
Definition at line 50 of file first_order_reaction.cc.
FirstOrderReaction::~FirstOrderReaction | ( | void | ) |
Destructor.
Definition at line 55 of file first_order_reaction.cc.
|
overrideprotectedvirtual |
Implements the assembly of the system matrix of the ODEs.
Implements FirstOrderReactionBase.
Definition at line 59 of file first_order_reaction.cc.
|
overrideprotectedvirtual |
Initializes private members of sorption from the input record.
Implements FirstOrderReactionBase.
Definition at line 78 of file first_order_reaction.cc.
|
static |
Input record for class FirstOrderReaction.
Definition at line 19 of file first_order_reaction.hh.
|
static |
Input record for a product of a reaction.
Definition at line 22 of file first_order_reaction.hh.
|
static |
Input record for a reactant of a reaction.
Definition at line 21 of file first_order_reaction.hh.
|
static |
Input record which defines particular reaction.
Definition at line 20 of file first_order_reaction.hh.
|
protected |
Vector of reaction rates of the transported substances.
Definition at line 38 of file first_order_reaction.hh.