Flow123d
JS_before_hm-1621-g63a12c7
|
#include <concentration_model.hh>
Classes | |
class | ModelEqData |
class | ModelEqFields |
Public Types | |
typedef ConcentrationTransportBase | FactoryBaseType |
Public Types inherited from AdvectionDiffusionModel | |
enum | Abstract_bc_types { abc_inflow, abc_dirichlet, abc_total_flux, abc_diffusive_flux } |
Public Types inherited from ConcentrationTransportBase | |
typedef std::vector< std::shared_ptr< FieldFE< 3, FieldValue< 3 >::Scalar > > > | FieldFEScalarVec |
Public Member Functions | |
ConcentrationTransportModel (Mesh &mesh, const Input::Record &in_rec) | |
void | init_from_input (const Input::Record &in_rec) override |
Read necessary data from input record. More... | |
~ConcentrationTransportModel () override | |
unsigned int | n_substances () override |
Returns number of transported substances. More... | |
SubstanceList & | substances () override |
Returns reference to the vector of substance names. More... | |
void | set_target_time (double) override |
void | set_balance_object (std::shared_ptr< Balance > balance) override |
const vector< unsigned int > & | get_subst_idx () override |
Return substance indices used in balance. More... | |
void | set_output_stream (std::shared_ptr< OutputTime > stream) |
Setter for output stream. More... | |
virtual ModelEqFields & | eq_fields ()=0 |
Derived class should implement getter for ModelEqFields instance. More... | |
virtual ModelEqData & | eq_data ()=0 |
Derived class should implement getter for ModelEqData instance. More... | |
Public Member Functions inherited from AdvectionDiffusionModel | |
virtual | ~AdvectionDiffusionModel () |
Destructor. More... | |
Public Member Functions inherited from ConcentrationTransportBase | |
ConcentrationTransportBase (Mesh &init_mesh, const Input::Record in_rec) | |
virtual bool | evaluate_time_constraint (double &time_constraint)=0 |
Computes a constraint for time step. More... | |
virtual void | compute_p0_interpolation ()=0 |
Compute P0 interpolation of the solution (used in reaction term). More... | |
virtual void | update_after_reactions (bool solution_changed)=0 |
Perform changes to transport solution after reaction step. More... | |
virtual FieldFEScalarVec & | get_p0_interpolation ()=0 |
Getter for P0 interpolation by FieldFE. More... | |
virtual Vec | get_component_vec (unsigned int sbi)=0 |
Return PETSc vector with solution for sbi-th substance. More... | |
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. More... | |
virtual LongIdx * | get_row_4_el ()=0 |
Return global array of order of elements within parallel vector. More... | |
Public Member Functions inherited from EquationBase | |
EquationBase () | |
EquationBase (Mesh &mesh, const Input::Record in_rec) | |
virtual void | initialize () |
virtual void | zero_time_step () |
virtual | ~EquationBase () |
virtual void | update_solution () |
virtual void | choose_next_time () |
virtual void | set_time_upper_constraint (double dt, std::string message) |
virtual void | set_time_lower_constraint (double dt, std::string message) |
TimeGovernor & | time () |
virtual void | set_time_governor (TimeGovernor &time) |
double | planned_time () |
double | solved_time () |
Mesh & | mesh () |
std::shared_ptr< Balance > | balance () const |
TimeMark::Type | mark_type () |
FieldSet & | eq_fieldset () |
virtual void | output_data () |
Write computed fields. More... | |
Protected Member Functions | |
void | init_balance (const Input::Record &in_rec) |
Static Protected Member Functions | |
static IT::Record | get_input_type (const string &implementation, const string &description) |
Protected Attributes | |
double | solvent_density_ |
Density of liquid (a global constant). More... | |
std::shared_ptr< OutputTime > | output_stream_ |
Protected Attributes inherited from EquationBase | |
bool | equation_empty_ |
flag is true if only default constructor was called More... | |
Mesh * | mesh_ |
TimeGovernor * | time_ |
Input::Record | input_record_ |
FieldSet * | eq_fieldset_ |
std::shared_ptr< Balance > | balance_ |
object for calculation and writing the mass balance to file. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from ConcentrationTransportBase | |
static Input::Type::Abstract & | get_input_type () |
Common specification of the input record for secondary equations. More... | |
Static Public Member Functions inherited from EquationBase | |
static Input::Type::Record & | record_template () |
Template Record with common keys for derived equations. More... | |
Definition at line 48 of file concentration_model.hh.
Definition at line 155 of file concentration_model.hh.
ConcentrationTransportModel::ConcentrationTransportModel | ( | Mesh & | mesh, |
const Input::Record & | in_rec | ||
) |
Definition at line 335 of file concentration_model.cc.
|
override |
Definition at line 346 of file concentration_model.cc.
|
pure virtual |
Derived class should implement getter for ModelEqData instance.
|
pure virtual |
Derived class should implement getter for ModelEqFields instance.
|
staticprotected |
Create input type that can be passed to the derived class.
implementation | String characterizing the numerical method, e.g. DG, FEM, FVM. |
description | Comment used to describe the record key. |
Definition at line 324 of file concentration_model.cc.
|
inlineoverridevirtual |
Return substance indices used in balance.
Implements ConcentrationTransportBase.
Definition at line 181 of file concentration_model.hh.
|
protected |
Empty temporary method (must be implemented for continuity with HeatTransferModel)
Definition at line 357 of file concentration_model.cc.
|
overridevirtual |
Read necessary data from input record.
Implements AdvectionDiffusionModel.
Definition at line 340 of file concentration_model.cc.
|
inlineoverridevirtual |
Returns number of transported substances.
Implements ConcentrationTransportBase.
Definition at line 166 of file concentration_model.hh.
|
overridevirtual |
Use Balance object from upstream equation (e.g. in various couplings) instead of own instance.
Implements ConcentrationTransportBase.
Definition at line 350 of file concentration_model.cc.
|
inlinevirtual |
Setter for output stream.
Implements ConcentrationTransportBase.
Definition at line 184 of file concentration_model.hh.
|
inlineoverridevirtual |
Set time interval which is considered as one time step by TransportOperatorSplitting. In particular the velocity field dosn't change over this interval.
Dependencies:
velocity, porosity -> matrix, source_vector matrix -> time_step
data_read_times -> time_step (not necessary if we won't stick to jump times) data -> source_vector time_step -> scaling
Implements ConcentrationTransportBase.
Definition at line 177 of file concentration_model.hh.
|
inlineoverridevirtual |
Returns reference to the vector of substance names.
Implements ConcentrationTransportBase.
Definition at line 170 of file concentration_model.hh.
|
protected |
Definition at line 212 of file concentration_model.hh.
|
protected |
Density of liquid (a global constant).
Definition at line 210 of file concentration_model.hh.