1 #ifndef TRANSPORT_OPERATOR_SPLITTING_HH_
2 #define TRANSPORT_OPERATOR_SPLITTING_HH_
227 #endif // TRANSPORT_OPERATOR_SPLITTING_HH_
virtual unsigned int n_substances()=0
Returns number of trnasported substances.
Abstract base class for equation clasess.
Container for various descendants of FieldCommonBase.
void calc_elem_sources(vector< vector< double > > &mass, vector< vector< double > > &src_balance) override
Header: The functions for all outputs.
static Input::Type::AbstractRecord input_type
Common specification of the input record for secondary equations.
void zero_time_step() override
const RegionDB * region_db()
Returns the region database.
Field< 3, FieldValue< 3 >::Scalar > cross_section
Pointer to DarcyFlow field cross_section.
void calc_fluxes(vector< vector< double > > &bcd_balance, vector< vector< double > > &bcd_plus_balance, vector< vector< double > > &bcd_minus_balance) override
virtual ~TransportEqData()
virtual void set_velocity_field(const MH_DofHandler &dh) override
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 ~TransportNothing()
TransportNothing(Mesh &mesh_in)
const MH_DofHandler * mh_dh
MassBalance * mass_balance_
object for calculation and writing the mass balance to file.
Coupling of a transport model with a reaction model by operator splitting.
Field< 3, FieldValue< 3 >::Vector > sources_conc
Field< 3, FieldValue< 3 >::Scalar > porosity
Mobile porosity.
const RegionDB & region_db() const
virtual void set_velocity_field(const MH_DofHandler &dh) override
Basic time management functionality for unsteady (and steady) solvers (class Equation).
MassBalance * mass_balance()
Specification of transport model interface.
Class for calculation and writing the balance of mass, volume sources and fluxes. ...
virtual void output_data() override
Write computed fields.
TimeIntegrationScheme time_scheme() override
Returns the time integration scheme of the equation.
ConvectionTransport * convection
unsigned int n_subst_
Number of transported substances.
static Input::Type::Record input_type_output_record
vector< string > & substance_names() override
Returns reference to the vector of substnace names.
void calc_fluxes(vector< vector< double > > &bcd_balance, vector< vector< double > > &bcd_plus_balance, vector< vector< double > > &bcd_minus_balance) override
virtual void set_concentration_vector(Vec &vec)
void update_solution() override
void compute_until_save_time()
std::vector< string > subst_names_
Names of transported substances.
Field< 3, FieldValue< 3 >::Vector > sources_sigma
Concentration sources - Robin type, in_flux = sources_sigma * (sources_conc - mobile_conc) ...
void calc_elem_sources(vector< vector< double > > &mass, vector< vector< double > > &src_balance) override
void output_data() override
Write computed fields.
Semchem_interface * Semchem_reactions
Field< 3, FieldValue< 3 >::Vector > sources_density
Concentration sources - density of substance source, only positive part is used.
void compute_internal_step()
TimeIntegrationScheme time_scheme() override
Returns the time integration scheme of the equation.
virtual vector< string > & substance_names()=0
Returns reference to the vector of substnace names.
AdvectionProcessBase(Mesh &mesh, const Input::Record in_rec)
virtual void set_velocity_field(const MH_DofHandler &dh)=0
mixed-hybrid model of linear Darcy flow, possibly unsteady.
TransportBase(Mesh &mesh, const Input::Record in_rec)
unsigned int n_substances() override
Returns number of trnasported substances.
static Input::Type::Record input_type
Declare input record type for the equation TransportOperatorSplittiong.
TransportOperatorSplitting(Mesh &init_mesh, const Input::Record &in_rec)
Constructor.
virtual ~TransportOperatorSplitting()
Destructor.