48 ASSERT(
time_ !=
nullptr).error(
"Time governor has not been set yet.\n");
73 ASSERT(
time_ !=
nullptr).error(
"Time governor has not been set yet.\n");
135 DebugOut().fmt(
"CFL constraint(first order reaction): {}.\n", time_constraint);
virtual void initialize_from_input()=0
Initializes private members of sorption from the input record.
arma::mat molar_matrix_
Diagonal matrix with molar masses of substances.
void initialize() override
Prepares the object to usage.
void zero_time_step() override
Moves the model to zero time.
SubstanceList substances_
Names belonging to substances.
Cell accessor allow iterate over DOF handler cells.
unsigned int find_subst_name(const std::string &name)
LocDofVec get_loc_dof_indices() const
Returns the local indices of dofs associated to the cell on the local process.
#define ASSERT(expr)
Allow use shorter versions of macro names if these names is not used with external library...
virtual void assemble_ode_matrix(void)=0
Assembles the matrix of the ODEs.
unsigned int size() const
Class ReactionTerm is an abstract class representing reaction term in transport.
void update_solution(void) override
Updates the solution.
Global macros to enhance readability and debugging, general constants.
arma::mat reaction_matrix_
Reaction matrix.
FirstOrderReactionBase(Mesh &init_mesh, Input::Record in_rec)
Constructor.
bool is_changed_dt() const
#define START_TIMER(tag)
Starts a timer with specified tag.
virtual void compute_reaction(const DHCellAccessor &dh_cell) override
Computes the reaction on a specified element.
Support classes for parallel programing.
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_.
#define ASSERT_LT(a, b)
Definition of comparative assert macro (Less Than)
FieldFEScalarVec conc_mobile_fe
FieldFEs representing P0 interpolation of mobile concentration (passed from transport).
std::shared_ptr< DOFHandlerMultiDim > dof_handler_
Pointer to DOF handler used through the reaction tree.
#define END_TIMER(tag)
Ends a timer with specified tag.
unsigned int n_substances_
Number of all transported substances. It is the dimension of the reaction matrix. ...
#define DebugOut()
Macro defining 'debug' record of log.
~FirstOrderReactionBase(void)
Destructor.
bool evaluate_time_constraint(double &time_constraint) override
Computes a constraint for time step.