18 #ifndef FIRST_ORDER_REACTION_BASE_H_
19 #define FIRST_ORDER_REACTION_BASE_H_
30 namespace Input {
class Record; }
Cell accessor allow iterate over DOF handler cells.
Base class for linear reactions and decay chain.
arma::mat molar_mat_inverse_
Inverse of molar_matrix_.
arma::vec prev_conc_
Column vector storing previous concetrations on an element.
std::shared_ptr< LinearODESolver > linear_ode_solver_
unsigned int n_substances_
Number of all transported substances. It is the dimension of the reaction matrix.
void zero_time_step() override
Moves the model to zero time.
arma::mat molar_matrix_
Diagonal matrix with molar masses of substances.
virtual void compute_reaction(const DHCellAccessor &dh_cell) override
Computes the reaction on a specified element.
std::vector< std::vector< unsigned int > > substance_ids_
arma::mat reaction_matrix_
Reaction matrix.
std::vector< std::vector< double > > bifurcation_
unsigned int find_subst_name(const std::string &name)
virtual void assemble_ode_matrix(void)=0
Assembles the matrix of the ODEs.
~FirstOrderReactionBase(void)
Destructor.
void update_solution(void) override
Updates the solution.
void initialize() override
Prepares the object to usage.
FirstOrderReactionBase(Mesh &init_mesh, Input::Record in_rec)
Constructor.
virtual void initialize_from_input()=0
Initializes private members of sorption from the input record.
Class for linear ODE solver.
ArmaMat< double, N, M > mat
Class ReactionTerm is an abstract class representing reaction term in transport.