Flow123d  jenkins-Flow123d-linux-release-multijob-282
Classes | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
ConcentrationTransportModel Class Referenceabstract

#include <concentration_model.hh>

Inheritance diagram for ConcentrationTransportModel:
Inheritance graph
[legend]
Collaboration diagram for ConcentrationTransportModel:
Collaboration graph
[legend]

Classes

class  ModelEqData
 

Public Member Functions

 ConcentrationTransportModel ()
 
UnitSI balance_units ()
 
void init_from_input (const Input::Record &in_rec, SubstanceList &substances) override
 Read necessary data from input record. More...
 
void compute_mass_matrix_coefficient (const std::vector< arma::vec3 > &point_list, const ElementAccessor< 3 > &ele_acc, std::vector< double > &mm_coef) override
 
void compute_retardation_coefficient (const std::vector< arma::vec3 > &point_list, const ElementAccessor< 3 > &ele_acc, std::vector< std::vector< double > > &ret_coef) override
 
void compute_advection_diffusion_coefficients (const std::vector< arma::vec3 > &point_list, const std::vector< arma::vec3 > &velocity, const ElementAccessor< 3 > &ele_acc, std::vector< std::vector< arma::vec3 > > &ad_coef, std::vector< std::vector< arma::mat33 > > &dif_coef) override
 
void compute_init_cond (const std::vector< arma::vec3 > &point_list, const ElementAccessor< 3 > &ele_acc, std::vector< arma::vec > &init_values) override
 
void compute_dirichlet_bc (const std::vector< arma::vec3 > &point_list, const ElementAccessor< 3 > &ele_acc, std::vector< arma::vec > &bc_values) override
 
void compute_source_coefficients (const std::vector< arma::vec3 > &point_list, const ElementAccessor< 3 > &ele_acc, std::vector< arma::vec > &sources_conc, std::vector< arma::vec > &sources_density, std::vector< arma::vec > &sources_sigma) override
 
void compute_sources_sigma (const std::vector< arma::vec3 > &point_list, const ElementAccessor< 3 > &ele_acc, std::vector< arma::vec > &sources_sigma) override
 
 ~ConcentrationTransportModel () override
 
- Public Member Functions inherited from AdvectionDiffusionModel
virtual ~AdvectionDiffusionModel ()
 Destructor. More...
 

Static Public Member Functions

static string balance_prefix ()
 

Protected Member Functions

virtual ModelEqDatadata ()=0
 Derived class should implement getter for ModelEqData instance. More...
 
void calculate_dispersivity_tensor (const arma::vec3 &velocity, double Dm, double alphaL, double alphaT, double porosity, double cross_cut, arma::mat33 &K)
 

Static Protected Member Functions

static IT::Recordget_input_type (const string &implementation, const string &description)
 

Protected Attributes

bool flux_changed
 Indicator of change in advection vector field. More...
 
SubstanceListsubstances_
 Pointer to list of substances (needed e.g. for access to molar masses). More...
 
double solvent_density_
 Density of liquid (a global constant). More...
 

Detailed Description

Definition at line 39 of file concentration_model.hh.

Constructor & Destructor Documentation

ConcentrationTransportModel::ConcentrationTransportModel ( )

Definition at line 136 of file concentration_model.cc.

ConcentrationTransportModel::~ConcentrationTransportModel ( )
override

Definition at line 289 of file concentration_model.cc.

Member Function Documentation

static string ConcentrationTransportModel::balance_prefix ( )
inlinestatic

Definition at line 119 of file concentration_model.hh.

UnitSI ConcentrationTransportModel::balance_units ( )

Definition at line 104 of file concentration_model.cc.

void ConcentrationTransportModel::calculate_dispersivity_tensor ( const arma::vec3 velocity,
double  Dm,
double  alphaL,
double  alphaT,
double  porosity,
double  cross_cut,
arma::mat33 K 
)
protected

Formula to calculate the dispersivity tensor.

Parameters
velocityFluid velocity.
DmMolecular diffusivity.
alphaLLongitudal dispersivity.
alphaTTransversal dispersivity.
porosityPorosity.
cross_cutCross-section.
KDispersivity tensor (output).

Definition at line 190 of file concentration_model.cc.

Here is the caller graph for this function:

void ConcentrationTransportModel::compute_advection_diffusion_coefficients ( const std::vector< arma::vec3 > &  point_list,
const std::vector< arma::vec3 > &  velocity,
const ElementAccessor< 3 > &  ele_acc,
std::vector< std::vector< arma::vec3 > > &  ad_coef,
std::vector< std::vector< arma::mat33 > > &  dif_coef 
)
overridevirtual

Compute coefficients of stiffness matrix.

Parameters
point_listPoints at which to evaluate.
velocityVelocity field (input). Temporary solution before we can pass data from other equations.
ele_accElement accessor.
ad_coefCoefficients of advection (output).
dif_coefCoefficients of diffusion (output).

Implements AdvectionDiffusionModel.

Definition at line 210 of file concentration_model.cc.

void ConcentrationTransportModel::compute_dirichlet_bc ( const std::vector< arma::vec3 > &  point_list,
const ElementAccessor< 3 > &  ele_acc,
std::vector< arma::vec > &  bc_values 
)
overridevirtual

Computes the Dirichlet boundary condition values.

Parameters
point_listPoints at which to evaluate.
ele_accElement accessor.
bc_valuesVector of b.c. values (output).

Implements AdvectionDiffusionModel.

Definition at line 246 of file concentration_model.cc.

void ConcentrationTransportModel::compute_init_cond ( const std::vector< arma::vec3 > &  point_list,
const ElementAccessor< 3 > &  ele_acc,
std::vector< arma::vec > &  init_values 
)
overridevirtual

Compute initial conditions.

Parameters
point_listPoints at which to evaluate.
ele_accElement accessor.
init_valuesVector of intial values (output).

Implements AdvectionDiffusionModel.

Definition at line 238 of file concentration_model.cc.

void ConcentrationTransportModel::compute_mass_matrix_coefficient ( const std::vector< arma::vec3 > &  point_list,
const ElementAccessor< 3 > &  ele_acc,
std::vector< double > &  mm_coef 
)
overridevirtual

Compute coefficients of mass matrix.

Parameters
point_listPoints at which to evaluate.
ele_accElement accessor.
mm_coefCoefficient vector (output).

Implements AdvectionDiffusionModel.

Definition at line 151 of file concentration_model.cc.

void ConcentrationTransportModel::compute_retardation_coefficient ( const std::vector< arma::vec3 > &  point_list,
const ElementAccessor< 3 > &  ele_acc,
std::vector< std::vector< double > > &  ret_coef 
)
overridevirtual

Compute retardation coefficients due to sorption.

Parameters
point_listPoints at which to evaluate.
ele_accElement accessor.
ret_coefCoefficient vector (output).

Implements AdvectionDiffusionModel.

Definition at line 165 of file concentration_model.cc.

void ConcentrationTransportModel::compute_source_coefficients ( const std::vector< arma::vec3 > &  point_list,
const ElementAccessor< 3 > &  ele_acc,
std::vector< arma::vec > &  sources_conc,
std::vector< arma::vec > &  sources_density,
std::vector< arma::vec > &  sources_sigma 
)
overridevirtual

Compute coefficients of volume sources.

Parameters
point_listPoints at which to evaluate.
ele_accElement accessor.
sources_concSource concentrations (output).
sources_densitySource densities (output).
sources_sigmaSource sigmas (output).

Implements AdvectionDiffusionModel.

Definition at line 254 of file concentration_model.cc.

void ConcentrationTransportModel::compute_sources_sigma ( const std::vector< arma::vec3 > &  point_list,
const ElementAccessor< 3 > &  ele_acc,
std::vector< arma::vec > &  sources_sigma 
)
overridevirtual

Compute coefficients of volume sources.

Parameters
point_listPoints at which to evaluate.
ele_accElement accessor.
sources_sigmaSource sigmas (output).

Implements AdvectionDiffusionModel.

Definition at line 275 of file concentration_model.cc.

virtual ModelEqData& ConcentrationTransportModel::data ( )
protectedpure virtual

Derived class should implement getter for ModelEqData instance.

Here is the caller graph for this function:

IT::Record & ConcentrationTransportModel::get_input_type ( const string &  implementation,
const string &  description 
)
staticprotected

Create input type that can be passed to the derived class.

Parameters
implementationString characterizing the numerical method, e.g. DG, FEM, FVM.
descriptionComment used to describe the record key.
Returns

Definition at line 112 of file concentration_model.cc.

void ConcentrationTransportModel::init_from_input ( const Input::Record in_rec,
SubstanceList substances 
)
overridevirtual

Read necessary data from input record.

Implements AdvectionDiffusionModel.

Definition at line 141 of file concentration_model.cc.

Member Data Documentation

bool ConcentrationTransportModel::flux_changed
protected

Indicator of change in advection vector field.

Definition at line 106 of file concentration_model.hh.

double ConcentrationTransportModel::solvent_density_
protected

Density of liquid (a global constant).

Definition at line 112 of file concentration_model.hh.

SubstanceList* ConcentrationTransportModel::substances_
protected

Pointer to list of substances (needed e.g. for access to molar masses).

Definition at line 109 of file concentration_model.hh.


The documentation for this class was generated from the following files: