Flow123d
jenkins-Flow123d-windows32-release-multijob-51
|
#include <pade_approximant.hh>
Public Member Functions | |
PadeApproximant (Mesh &mesh, Input::Record in_rec) | |
Constructor. More... | |
~PadeApproximant (void) | |
Destructor. More... | |
void | initialize () override |
Prepares the object to usage. More... | |
void | zero_time_step () override |
![]() | |
LinearReaction (Mesh &init_mesh, Input::Record in_rec) | |
Constructor. More... | |
~LinearReaction (void) | |
Destructor. More... | |
void | update_solution (void) override |
Updates the solution. More... | |
![]() | |
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 & | names (const std::vector< string > &names) |
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) |
![]() | |
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 |
static Input::Type::Record | input_type_one_decay_substep |
![]() | |
static Input::Type::Record | input_type |
static Input::Type::Record | input_type_one_decay_substep |
![]() | |
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 | modify_reaction_matrix (void) override |
void | compute_exp_coefs (unsigned int nominator_degree, unsigned int denominator_degree, std::vector< double > &nominator_coefs, std::vector< double > &denominator_coefs) |
Evaluates nominator and denominator coeficients of PadeApproximant for exponencial function. More... | |
void | evaluate_matrix_polynomial (mat &polynomial_matrix, const mat &reaction_matrix, const std::vector< double > &coefs) |
Evaluates the matrix polynomial by Horner scheme. More... | |
![]() | |
virtual double ** | compute_reaction (double **concentrations, int loc_el) override |
void | reset_reaction_matrix () |
Resets reaction matrix as eye matrix. More... | |
void | initialize_from_input () |
Initializes private members of sorption from the input record. More... | |
void | print_reaction_matrix (void) |
void | print_indices (int dec_nr, int n_subst) |
void | print_half_lives () |
unsigned int | find_subst_name (const std::string &name) |
![]() | |
virtual void | output_vector_gather (void) |
Protected Attributes | |
int | nominator_degree_ |
Degree of the polynomial in the nominator. More... | |
int | denominator_degree_ |
Degree of the polynomial in the denominator. More... | |
![]() | |
std::vector< std::vector < double > > | reaction_matrix_ |
std::vector< double > | prev_conc_ |
std::vector< double > | half_lives_ |
std::vector< std::vector < unsigned int > > | substance_ids_ |
std::vector< std::vector < double > > | bifurcation_ |
unsigned int | n_substances_ |
![]() | |
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... | |
vector< string > | names_ |
Names belonging to substances. More... | |
OutputTime * | output_stream_ |
Pointer to a transport output stream. More... | |
![]() | |
bool | equation_empty_ |
flag is true if only default constructor was called More... | |
Mesh * | mesh_ |
TimeGovernor * | time_ |
Input::Record | input_record_ |
FieldSet * | eq_data_ |
Definition at line 19 of file pade_approximant.hh.
PadeApproximant::PadeApproximant | ( | Mesh & | mesh, |
Input::Record | in_rec | ||
) |
Constructor.
Definition at line 38 of file pade_approximant.cc.
PadeApproximant::~PadeApproximant | ( | void | ) |
Destructor.
Definition at line 43 of file pade_approximant.cc.
|
protected |
Evaluates nominator and denominator coeficients of PadeApproximant for exponencial function.
nominator_degree | is the degree of polynomial in the nominator |
denominator_degree | is the degree of polynomial in the denominator |
nominator_coefs | is the vector of coeficients of the polynomial in the nominator |
denominator_coefs | is the vector of coeficients of the polynomial in the denominator |
Definition at line 113 of file pade_approximant.cc.
|
protected |
Evaluates the matrix polynomial by Horner scheme.
polynomial_matrix | is the output matrix |
reaction_matrix | is the reaction matrix (with elements -kt) |
coefs | is the vector of coeficients of the polynomial |
Horner scheme for evaluating polynomial a0 + [a1 + [a2 + [a3 +...]*R(t)]*R(t)]*R(t)
Definition at line 142 of file pade_approximant.cc.
|
overridevirtual |
Prepares the object to usage.
Allocating memory, reading input, initialization of fields.
Reimplemented from LinearReaction.
Definition at line 47 of file pade_approximant.cc.
|
overrideprotectedvirtual |
Evaluates Pade approximant from Reaction_matrix.
Reimplemented from LinearReaction.
Definition at line 64 of file pade_approximant.cc.
|
overridevirtual |
Initialization of the solution in the zero time. There is lot of things that can not be done in the constructor since we have not fully initialized fields yet. Fields coming from coupling has to be set after the constructor and before zero_time_step.
Reimplemented from LinearReaction.
Definition at line 59 of file pade_approximant.cc.
|
protected |
Degree of the polynomial in the denominator.
Definition at line 65 of file pade_approximant.hh.
|
static |
Input record for class PadeApproximant.
Definition at line 25 of file pade_approximant.hh.
|
static |
Input record which defines particular decay step.
Definition at line 29 of file pade_approximant.hh.
|
protected |
Degree of the polynomial in the nominator.
Definition at line 64 of file pade_approximant.hh.