9 #ifndef DUAL_POROSITY_H
10 #define DUAL_POROSITY_H
138 #endif //DUAL_POROSITY_H
Container for various descendants of FieldCommonBase.
void set_initial_condition()
Sets initial condition from input.
VecScatter vconc_out_scatter
Output vector scatter.
void output_data(void) override
Main output routine.
MultiField< 3, FieldValue< 3 >::Scalar > conc_immobile
Calculated concentrations in the immobile zone.
FieldSet output_fields
Fields indended for output, i.e. all input fields plus those representing solution.
Class template representing a field with values dependent on: point, element, and region...
void zero_time_step() override
Field< 3, FieldValue< 3 >::Scalar > porosity_immobile
Immobile porosity field.
~DualPorosity(void)
Destructor.
Field< 3, FieldValue< 3 >::Vector > diffusion_rate_immobile
Mass transfer coefficients between mobile and immobile pores.
void allocate_output_mpi(void)
Allocates petsc vectors, prepares them for output and creates output vector scatter.
void update_solution(void) override
Input::Array output_array
double scheme_tolerance_
Dual porosity computational scheme tolerance.
void make_reactions()
Resolves construction of following reactions.
void initialize() override
Prepares the object to usage.
static Input::Type::Selection output_selection
void initialize_fields()
Initializes field sets.
EqData()
Collect all fields.
static Input::Type::Record input_type
Class representing dual porosity model in transport.
ReactionTerm * reaction_immobile
Reaction running in immobile zone.
void output_vector_gather(void) override
Gathers all the parallel vectors to enable them to be output.
Field< 3, FieldValue< 3 >::Vector > init_conc_immobile
Initial concentrations in the immobile zone.
double ** conc_immobile_out
concentration array output for immobile phase (gathered - sequential)
double ** compute_reaction(double **concentrations, int loc_el) override
ReactionTerm * reaction_mobile
Reaction running in mobile zone.
Field< 3, FieldValue< 3 >::Scalar > porosity
Porosity field.
Class for representation of a vector of fields of the same physical quantity.
Vec * vconc_immobile
PETSC concentration vector for immobile phase (parallel).
Vec * vconc_immobile_out
PETSC concentration vector output for immobile phase (gathered - sequential)