Flow123d
master-92884d111
|
Go to the documentation of this file.
144 std::shared_ptr<DOFHandlerMultiDim>
dh_;
272 {
return eq_data_->substances_.size(); }
void set_balance_object(std::shared_ptr< Balance > balance) override
Field< 3, FieldValue< 3 >::Scalar > region_id
ConcentrationTransportBase FactoryBaseType
Vec * bcvcorr
Boundary condition correction vector.
vector< VectorMPI > tm_diag
additions to PETSC transport matrix on the diagonal - from sources (for each substance)
static const Input::Type::Record & get_input_type()
SubstanceList & substances() override
Returns reference to the vector of substance names.
vector< unsigned int > subst_idx
List of indices used to call balance methods for a set of quantities.
unsigned int size() const
GenericAssembly< MatrixMpiAssemblyConvection > * matrix_mpi_assembly_
arma::vec::fixed< spacedim > normal_vector(unsigned int point_no)
Returns the normal vector to a side at given quadrature point.
Field< 3, FieldValue< 3 >::VectorFixed > flow_flux
Flow flux, can be result of water flow model.
void update_after_reactions(bool) override
Not used in this class.
double JxW(const unsigned int point_no)
Return the product of Jacobian determinant and the quadrature weight at given quadrature point.
VectorMPI cfl_source_
Parallel vector for source term contribution to CFL condition.
EquationOutput output_fields
Fields indended for output, i.e. all input fields plus those representing solution.
MultiField< 3, FieldValue< 3 >::Scalar > conc_mobile
Calculated concentrations in the mobile zone.
Class FEValues calculates finite element data on the actual cells such as shape function values,...
bool is_mass_diag_changed
Flag indicates that porosity or cross_section changed during last time.
void resize(unsigned int local_size)
Classes for storing substance data.
vector< VectorMPI > corr_vec
virtual ~ConvectionTransport()
std::shared_ptr< EqData > eq_data_
double side_flux(SidePoint &side_p, FEValues< 3 > &fe_side_values)
Calculate flux on given side point.
unsigned int n_substances() override
Returns number of transported substances.
BCMultiField< 3, FieldValue< 3 >::Scalar > bc_conc
General point a+ side_begin_ + ccessor allow iterate over quadrature points of given side defined in ...
std::shared_ptr< OutputTime > output_stream_
GenericAssembly< InitCondAssemblyConvection > * init_cond_assembly_
void alloc_transport_structs_mpi(unsigned int lsize)
MultiField< 3, FieldValue< 3 >::Scalar > init_conc
Initial concentrations.
std::shared_ptr< Balance > balance_
object for calculation and writing the mass balance to file, shared with EquationBase.
std::shared_ptr< Balance > balance() const
void alloc_transport_structs_mpi()
double transport_matrix_time
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.
unsigned int max_edg_sides
Maximal number of edge sides (evaluate from dim 1,2,3)
void zero_time_step() override
Definitions of particular quadrature rules on simplices.
unsigned int n_substances()
Returns number of transported substances.
Basic time management functionality for unsteady (and steady) solvers (class Equation).
virtual void output_data() override
Write computed fields.
GenericAssembly< ConcSourcesBdrAssemblyConvection > * conc_sources_bdr_assembly_
The class for outputting data during time.
double transport_bc_time
Time of the last update of the boundary condition terms.
std::shared_ptr< EqFields > eq_fields_
FieldFEScalarVec conc_mobile_fe
Underlaying FieldFE for each substance of conc_mobile.
void set_time_governor(TimeGovernor *time)
Vec get_component_vec(unsigned int sbi) override
Return PETSc vector with solution for sbi-th substance.
FieldFEScalarVec & get_p0_interpolation() override
Getter for P0 interpolation by FieldFE.
Coupling of a transport model with a reaction model by operator splitting.
Field< 3, FieldValue< 3 >::Scalar > subdomain
bool sources_changed_
Flag indicates that sources part of equation was changed during last time.
TimeMark::Type target_mark_type
TimeMark type for time marks denoting end of every time interval where transport matrix remains const...
Mat tm
PETSc transport matrix.
Class for representation of a vector of fields of the same physical quantity.
void update_solution() override
VectorMPI cfl_flow_
Parallel vector for flow contribution to CFL condition.
const vector< unsigned int > & get_subst_idx() override
Return substance indices used in balance.
SubstanceList substances_
Transported substances.
ConvectionTransport(Mesh &init_mesh, const Input::Record in_rec)
GenericAssembly< MassAssemblyConvection > * mass_assembly_
general assembly objects, hold assembly objects of appropriate dimension
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()
bool is_convection_matrix_scaled
Flag indicates the state of object.
VecScatter vconc_out_scatter
Class template representing a field with values dependent on: point, element, and region.
#define ASSERT_PTR(ptr)
Definition of assert macro checking non-null pointer (PTR) only for debug mode.
double cfl_max_step
Time step constraint coming from CFL condition.
void initialize() override
std::shared_ptr< DOFHandlerMultiDim > dh_
Generic class of assemblation.
std::vector< std::shared_ptr< FieldFE< 3, FieldValue< 3 >::Scalar > > > FieldFEScalarVec
void compute_p0_interpolation() override
unsigned int IntDim
A dimension index type.