Flow123d
jenkins-Flow123d-windows32-release-multijob-51
|
Class representing dual porosity model in transport. More...
#include <dual_por_exchange.hh>
Classes | |
class | EqData |
DualPorosity data. More... | |
Public Member Functions | |
DualPorosity (Mesh &init_mesh, Input::Record in_rec) | |
Constructor. More... | |
~DualPorosity (void) | |
Destructor. More... | |
void | initialize () override |
Prepares the object to usage. More... | |
void | zero_time_step () override |
void | update_solution (void) override |
void | output_data (void) override |
Main output routine. More... | |
Public Member Functions inherited from ReactionTerm | |
ReactionTerm (Mesh &init_mesh, Input::Record in_rec) | |
Constructor. More... | |
~ReactionTerm (void) | |
Destructor. 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 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 | |
DualPorosity () | |
void | make_reactions () |
Resolves construction of following reactions. More... | |
void | set_initial_condition () |
Sets initial condition from input. More... | |
void | initialize_fields () |
Initializes field sets. More... | |
void | allocate_output_mpi (void) |
Allocates petsc vectors, prepares them for output and creates output vector scatter. More... | |
double ** | compute_reaction (double **concentrations, int loc_el) override |
void | output_vector_gather (void) override |
Gathers all the parallel vectors to enable them to be output. More... | |
Protected Attributes | |
double ** | conc_immobile |
EqData | data_ |
Input::Array | output_array |
FieldSet | input_data_set_ |
ReactionTerm * | reaction_mobile |
Reaction running in mobile zone. More... | |
ReactionTerm * | reaction_immobile |
Reaction running in immobile zone. More... | |
double | scheme_tolerance_ |
Dual porosity computational scheme tolerance. More... | |
members used in output routines | |
VecScatter | vconc_out_scatter |
Output vector scatter. More... | |
Vec * | vconc_immobile |
PETSC concentration vector for immobile phase (parallel). More... | |
Vec * | vconc_immobile_out |
PETSC concentration vector output for immobile phase (gathered - sequential) More... | |
double ** | conc_immobile_out |
concentration array output for immobile phase (gathered - sequential) More... | |
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_ |
Class representing dual porosity model in transport.
Definition at line 24 of file dual_por_exchange.hh.
DualPorosity::DualPorosity | ( | Mesh & | init_mesh, |
Input::Record | in_rec | ||
) |
Constructor.
Definition at line 77 of file dual_por_exchange.cc.
DualPorosity::~DualPorosity | ( | void | ) |
Destructor.
Definition at line 89 of file dual_por_exchange.cc.
|
protected |
This method disables to use constructor without parameters.
|
protected |
Allocates petsc vectors, prepares them for output and creates output vector scatter.
Definition at line 370 of file dual_por_exchange.cc.
|
overrideprotectedvirtual |
Computation of reaction term on a single element. Inputs should be loc_el and local copies of concentrations of the element, which is then returned.
Implements ReactionTerm.
Definition at line 308 of file dual_por_exchange.cc.
|
overridevirtual |
Prepares the object to usage.
Allocating memory, reading input, initialization of fields.
Reimplemented from EquationBase.
Definition at line 169 of file dual_por_exchange.cc.
|
protected |
Initializes field sets.
Definition at line 208 of file dual_por_exchange.cc.
|
protected |
Resolves construction of following reactions.
Definition at line 110 of file dual_por_exchange.cc.
|
overridevirtual |
Main output routine.
Reimplemented from ReactionTerm.
Definition at line 408 of file dual_por_exchange.cc.
|
overrideprotectedvirtual |
Gathers all the parallel vectors to enable them to be output.
Reimplemented from ReactionTerm.
Definition at line 397 of file dual_por_exchange.cc.
|
protected |
Sets initial condition from input.
Definition at line 276 of file dual_por_exchange.cc.
|
overridevirtual |
Updates the solution according to the dual porosity model.
Reimplemented from EquationBase.
Definition at line 292 of file dual_por_exchange.cc.
|
overridevirtual |
Does first computation after initialization process. The time is set and initial condition is set and output.
Reimplemented from EquationBase.
Definition at line 240 of file dual_por_exchange.cc.
|
protected |
Pointer to twodimensional array[substance][elements] containing concentrations either in immobile.
Definition at line 105 of file dual_por_exchange.hh.
|
protected |
concentration array output for immobile phase (gathered - sequential)
Definition at line 133 of file dual_por_exchange.hh.
|
protected |
Equation data - all data fields are in this set.
Definition at line 110 of file dual_por_exchange.hh.
|
protected |
Input data set - fields in this set are read from the input file.
Definition at line 117 of file dual_por_exchange.hh.
|
static |
Static variable for new input data types input
Definition at line 30 of file dual_por_exchange.hh.
|
protected |
Definition at line 112 of file dual_por_exchange.hh.
|
protected |
Reaction running in immobile zone.
Definition at line 120 of file dual_por_exchange.hh.
|
protected |
Reaction running in mobile zone.
Definition at line 119 of file dual_por_exchange.hh.
|
protected |
Dual porosity computational scheme tolerance.
According to this tolerance the analytical solution of dual porosity concentrations or simple forward difference approximation of concentrations is chosen for computation.
Definition at line 126 of file dual_por_exchange.hh.
|
protected |
PETSC concentration vector for immobile phase (parallel).
Definition at line 131 of file dual_por_exchange.hh.
|
protected |
PETSC concentration vector output for immobile phase (gathered - sequential)
Definition at line 132 of file dual_por_exchange.hh.
|
protected |
Output vector scatter.
Definition at line 130 of file dual_por_exchange.hh.