Flow123d
release_3.0.0-968-gc87a28e79
|
Go to the documentation of this file.
57 template <
int spacedim,
class Value>
class FieldFE;
195 {
return vconc[sbi]; }
void set_balance_object(std::shared_ptr< Balance > balance) override
std::vector< VectorMPI > out_conc
MultiField< 3, FieldValue< 3 >::Scalar > conc_mobile
Calculated concentrations in the mobile zone.
Vec vcfl_flow_
Parallel vector for flow contribution to CFL condition.
ConcentrationTransportBase FactoryBaseType
void create_mass_matrix()
MultiField< 3, FieldValue< 3 >::Scalar > init_conc
Initial concentrations.
RegionSet read_boundary_list_item(Input::Record rec)
Override generic method in order to allow specification of the boundary conditions through the old bc...
static const Input::Type::Record & get_input_type()
SubstanceList & substances() override
Returns reference to the vector of substance names.
std::shared_ptr< OutputTime > output_stream() override
unsigned int size() const
double transport_matrix_time
int LongIdx
Define type that represents indices of large arrays (elements, nodes, dofs etc.)
std::vector< std::shared_ptr< FieldFE< 3, FieldValue< 3 >::Scalar > > > output_field_ptr
Fields correspond with out_conc.
const Vec & get_solution(unsigned int sbi) override
Return PETSc vector with solution for sbi-th substance.
Classes for storing substance data.
virtual ~ConvectionTransport()
LongIdx * get_row_4_el() override
Return global array of order of elements within parallel vector.
unsigned int n_substances() override
Returns number of transported substances.
void output_vector_gather()
void set_velocity_field(const MH_DofHandler &dh) override
Pass velocity from flow to transport.
std::shared_ptr< OutputTime > output_stream_
double transport_bc_time
Time of the last update of the boundary condition terms.
bool is_mass_diag_changed
Flag indicates that porosity or cross_section changed during last time.
double ** cumulative_corr
Vec * vconc
Concentration vectors for mobile phase.
void read_concentration_sources()
void alloc_transport_structs_mpi()
bool is_convection_matrix_scaled
const Input::Record input_rec
Record with input specification.
bool evaluate_time_constraint(double &time_constraint) override
static const int registrar
Registrar of class to factory.
void zero_time_step() override
void set_initial_condition()
const MH_DofHandler * mh_dh
Vec vcfl_source_
Parallel vector for source term contribution to CFL condition.
virtual void output_data() override
Write computed fields.
EquationOutput output_fields
Fields indended for output, i.e. all input fields plus those representing solution.
vector< unsigned int > subst_idx
List of indices used to call balance methods for a set of quantities.
BCMultiField< 3, FieldValue< 3 >::Scalar > bc_conc
The class for outputting data during time.
double ** conc
Concentrations for phase, substance, element.
SubstanceList substances_
Transported substances.
void calculate_concentration_matrix() override
Calculate the array of concentrations per element (for reactions).
Field< 3, FieldValue< 3 >::Scalar > subdomain
void update_after_reactions(bool solution_changed) override
Perform changes to transport solution after reaction step.
void make_transport_partitioning()
double ** get_concentration_matrix() override
Getter for array of concentrations per element.
Coupling of a transport model with a reaction model by operator splitting.
TimeMark::Type target_mark_type
TimeMark type for time marks denoting end of every time interval where transport matrix remains const...
Class for representation of a vector of fields of the same physical quantity.
void update_solution() override
const vector< unsigned int > & get_subst_idx() override
Return substance indices used in balance.
void compute_concentration_sources()
Assembles concentration sources for each substance. note: the source of concentration is multiplied b...
ConvectionTransport(Mesh &init_mesh, const Input::Record in_rec)
void get_par_info(LongIdx *&el_4_loc, Distribution *&el_ds) override
Return array of indices of local elements and parallel distribution of elements.
void set_target_time(double target_time) override
static const IT::Selection & get_output_selection()
void set_output_stream(std::shared_ptr< OutputTime > stream) override
Setter for output stream.
void alloc_transport_vectors()
VecScatter vconc_out_scatter
Class template representing a field with values dependent on: point, element, and region.
double cfl_max_step
Time step constraint coming from CFL condition.
void initialize() override
void set_boundary_conditions()
Field< 3, FieldValue< 3 >::Scalar > region_id
void transport_matrix_step_mpi(double time_step)
void create_transport_matrix_mpi()