Flow123d
release_3.0.0-1263-g7cf53c1
|
Class implements the radioactive decay chain. More...
#include <radioactive_decay.hh>
Public Types | |
typedef ReactionTerm | FactoryBaseType |
Public Member Functions | |
RadioactiveDecay (Mesh &mesh, Input::Record in_rec) | |
Constructor. More... | |
~RadioactiveDecay (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... | |
bool | evaluate_time_constraint (double &time_constraint) override |
Computes a constraint for time step. 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) override |
Output method. More... | |
void | choose_next_time (void) override |
Disable changes in TimeGovernor by empty method. More... | |
ReactionTerm & | set_dh (std::shared_ptr< DOFHandlerMultiDim > dof_handler) |
Sets the pointer to DOF handler (shared through the reaction tree) More... | |
ReactionTerm & | substances (SubstanceList &substances) |
Sets the names of substances considered in transport. More... | |
ReactionTerm & | output_stream (std::shared_ptr< OutputTime > ostream) |
Sets the output stream which is given from transport class. More... | |
ReactionTerm & | concentration_matrix (double **concentration, Distribution *conc_distr, LongIdx *el_4_loc, LongIdx *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, std::string message) |
virtual void | set_time_lower_constraint (double dt, std::string message) |
TimeGovernor & | 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 (FMT_UNUSED double *&vector, FMT_UNUSED unsigned int &size) |
virtual void | get_parallel_solution_vector (FMT_UNUSED Vec &vector) |
Static Public Member Functions | |
static const Input::Type::Record & | get_input_type () |
Input record for class RadioactiveDecay. More... | |
static const Input::Type::Record & | get_input_type_single_decay () |
Input record which defines particular decay step. More... | |
static const Input::Type::Record & | get_input_type_product () |
Input record for a product of a radioactive decay. More... | |
Static Public Member Functions inherited from ReactionTerm | |
static Input::Type::Abstract & | it_abstract_term () |
static Input::Type::Abstract & | it_abstract_mobile_term () |
static Input::Type::Abstract & | it_abstract_immobile_term () |
static Input::Type::Abstract & | it_abstract_reaction () |
Protected Member Functions | |
void | initialize_from_input () override |
Initializes private members of sorption from the input record. More... | |
void | assemble_ode_matrix (void) override |
Implements the assembly of the system matrix of the ODEs. 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 Attributes | |
std::vector< double > | half_lives_ |
Half-lives of the 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... | |
std::shared_ptr< LinearODESolver > | linear_ode_solver_ |
Protected Attributes inherited from ReactionTerm | |
double ** | concentration_matrix_ |
LongIdx * | el_4_loc_ |
Indices of elements belonging to local dofs. More... | |
LongIdx * | 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... | |
std::shared_ptr< OutputTime > | output_stream_ |
Pointer to a transport output stream. More... | |
std::shared_ptr< DOFHandlerMultiDim > | dof_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... | |
Mesh * | mesh_ |
TimeGovernor * | time_ |
Input::Record | input_record_ |
FieldSet * | eq_data_ |
std::shared_ptr< Balance > | balance_ |
object for calculation and writing the mass balance to file. More... | |
Static Private Attributes | |
static const int | registrar |
Registrar of class to factory. More... | |
Class implements the radioactive decay chain.
This class implements the user interface for radioactive decay chain and prepares the reaction matrix, The decay behaves like the linear reaction thus everything else is inherited from the FirstOrderReactionBase
class.
TODO: fix the mass balance - we do not take in account the emitted particles.
Definition at line 43 of file radioactive_decay.hh.
Definition at line 46 of file radioactive_decay.hh.
RadioactiveDecay::RadioactiveDecay | ( | Mesh & | mesh, |
Input::Record | in_rec | ||
) |
Constructor.
Definition at line 78 of file radioactive_decay.cc.
RadioactiveDecay::~RadioactiveDecay | ( | void | ) |
Destructor.
Definition at line 83 of file radioactive_decay.cc.
|
overrideprotectedvirtual |
Implements the assembly of the system matrix of the ODEs.
Implements FirstOrderReactionBase.
Definition at line 149 of file radioactive_decay.cc.
|
static |
Input record for class RadioactiveDecay.
Definition at line 61 of file radioactive_decay.cc.
|
static |
Input record for a product of a radioactive decay.
Definition at line 35 of file radioactive_decay.cc.
|
static |
Input record which defines particular decay step.
Definition at line 50 of file radioactive_decay.cc.
|
overrideprotectedvirtual |
Initializes private members of sorption from the input record.
Implements FirstOrderReactionBase.
Definition at line 88 of file radioactive_decay.cc.
|
protected |
Half-lives of the substances.
Definition at line 66 of file radioactive_decay.hh.
|
staticprivate |
Registrar of class to factory.
Definition at line 70 of file radioactive_decay.hh.