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 |
Public Member Functions inherited from LinearReaction | |
LinearReaction (Mesh &init_mesh, Input::Record in_rec) | |
Constructor. More... | |
~LinearReaction (void) | |
Destructor. More... | |
void | update_solution (void) override |
Updates the solution. More... | |
Public Member Functions inherited from ReactionTerm | |
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) |
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) |
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 Public Attributes inherited from LinearReaction | |
static Input::Type::Record | input_type |
static Input::Type::Record | input_type_one_decay_substep |
Static Public Attributes inherited from ReactionTerm | |
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... | |
Protected Member Functions inherited from LinearReaction | |
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) |
Protected Member Functions inherited from ReactionTerm | |
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... | |
Protected Attributes inherited from LinearReaction | |
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_ |
Protected Attributes inherited from ReactionTerm | |
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... | |
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_ |
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.