18 #ifndef FIRST_ORDER_REACTION_BASE_H_ 19 #define FIRST_ORDER_REACTION_BASE_H_ 30 namespace Input {
class Record; }
54 void initialize()
override;
59 void zero_time_step()
override;
65 void update_solution(
void)
override;
67 bool evaluate_time_constraint(
double &time_constraint)
override;
82 virtual void assemble_ode_matrix(
void) = 0;
85 virtual double **compute_reaction(
double **concentrations,
int loc_el)
override;
88 virtual void initialize_from_input() = 0;
93 unsigned int find_subst_name(
const std::string &name);
118 #endif // FIRST_ORDER_REACTION_BASE_H_ arma::mat molar_matrix_
Diagonal matrix with molar masses of substances.
Class for linear ODE solver.
Base class for linear reactions and decay chain.
Class ReactionTerm is an abstract class representing reaction term in transport.
arma::mat reaction_matrix_
Reaction matrix.
std::shared_ptr< LinearODESolver > linear_ode_solver_
arma::vec prev_conc_
Column vector storing previous concetrations on an element.
arma::mat molar_mat_inverse_
Inverse of molar_matrix_.
std::vector< std::vector< unsigned int > > substance_ids_
unsigned int n_substances_
Number of all transported substances. It is the dimension of the reaction matrix. ...
std::vector< std::vector< double > > bifurcation_