Flow123d
release_3.0.0-973-g92f55e826
|
Go to the documentation of this file.
18 #ifndef TRANSPORT_OPERATOR_SPLITTING_HH_
19 #define TRANSPORT_OPERATOR_SPLITTING_HH_
262 #endif // TRANSPORT_OPERATOR_SPLITTING_HH_
MultiField< 3, FieldValue< 3 >::Scalar > sources_sigma
Concentration sources - Robin type, in_flux = sources_sigma * (sources_conc - mobile_conc)
static const int registrar
Registrar of class to factory.
TimeMark::Type new_mark_type()
virtual const Vec & get_solution(unsigned int sbi)=0
Return PETSc vector with solution for sbi-th substance.
MultiField< 3, FieldValue< 3 >::Scalar > sources_density
Concentration sources - density of substance source, only positive part is used.
Basic time management class.
virtual void set_velocity_field(const MH_DofHandler &dh) override
int LongIdx
Define type that represents indices of large arrays (elements, nodes, dofs etc.)
void zero_time_step() override
virtual unsigned int n_substances()=0
Returns number of trnasported substances.
MultiField< 3, FieldValue< 3 >::Scalar > sources_conc
AdvectionProcessBase FactoryBaseType
virtual void calculate_concentration_matrix()=0
Calculate the array of concentrations per element (for reactions).
virtual const vector< unsigned int > & get_subst_idx()=0
Return substance indices used in balance.
Field< 3, FieldValue< 3 >::Scalar > porosity
Mobile porosity - usually saturated water content in the case of unsaturated flow model.
virtual LongIdx * get_row_4_el()=0
Return global array of order of elements within parallel vector.
virtual void set_output_stream(std::shared_ptr< OutputTime > stream)=0
Setter for output stream.
void initialize() override
TransportOperatorSplitting(Mesh &init_mesh, const Input::Record in_rec)
Constructor.
virtual bool evaluate_time_constraint(double &time_constraint)=0
Computes a constraint for time step.
virtual void get_par_info(LongIdx *&el_4_loc, Distribution *&el_ds)=0
Return array of indices of local elements and parallel distribution of elements.
virtual ~TransportEqData()
void compute_internal_step()
static const Input::Type::Record & get_input_type()
Declare input record type for the equation TransportOperatorSplittiong.
Basic time management functionality for unsteady (and steady) solvers (class Equation).
void update_solution() override
std::shared_ptr< ReactionTerm > reaction
void output_data() override
Write computed fields.
The class for outputting data during time.
virtual ~TransportNothing()
Field< 3, FieldValue< 3 >::Scalar > cross_section
Pointer to DarcyFlow field cross_section.
Container for various descendants of FieldCommonBase.
Abstract base class for equation clasess.
virtual double ** get_concentration_matrix()=0
Getter for array of concentrations per element.
virtual void output_data() override
Write computed fields.
double cfl_convection
Time restriction due to transport.
virtual void set_target_time(double target_time)=0
Coupling of a transport model with a reaction model by operator splitting.
virtual void set_balance_object(std::shared_ptr< Balance > balance)=0
virtual void set_velocity_field(const MH_DofHandler &dh)=0
Pass velocity from flow to transport.
static TimeMarks & marks()
Field< 3, FieldValue< 3 >::Scalar > water_content
Water content - result of unsaturated water flow model or porosity.
void compute_until_save_time()
ConcentrationTransportBase(Mesh &init_mesh, const Input::Record in_rec)
Class for representation of a vector of fields of the same physical quantity.
std::shared_ptr< ConcentrationTransportBase > convection
virtual std::shared_ptr< OutputTime > output_stream()=0
Getter for output stream.
static const double inf_time
Infinity time used for steady case.
static Input::Type::Abstract & get_input_type()
Common specification of the input record for secondary equations.
double cfl_reaction
Time restriction due to reactions.
Class template representing a field with values dependent on: point, element, and region.
void next_time()
Proceed to the next time according to current estimated time step.
virtual SubstanceList & substances()=0
Returns reference to the vector of substnace names.
virtual void update_after_reactions(bool solution_changed)=0
Perform changes to transport solution after reaction step.
void set_velocity_field(const MH_DofHandler &dh) override
virtual ~TransportOperatorSplitting()
Destructor.
TransportNothing(Mesh &mesh_in)