Flow123d  jenkins-Flow123d-linux-release-multijob-282
Public Member Functions | List of all members
AdvectionDiffusionModel Class Referenceabstract

#include <advection_diffusion_model.hh>

Inheritance diagram for AdvectionDiffusionModel:
Inheritance graph
[legend]

Public Member Functions

virtual void init_from_input (const Input::Record &in_rec, SubstanceList &substances)=0
 Read necessary data from input record. More...
 
virtual void compute_mass_matrix_coefficient (const std::vector< arma::vec3 > &point_list, const ElementAccessor< 3 > &ele_acc, std::vector< double > &mm_coef)=0
 
virtual void compute_retardation_coefficient (const std::vector< arma::vec3 > &point_list, const ElementAccessor< 3 > &ele_acc, std::vector< std::vector< double > > &ret_coef)=0
 
virtual 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)=0
 
virtual void compute_init_cond (const std::vector< arma::vec3 > &point_list, const ElementAccessor< 3 > &ele_acc, std::vector< arma::vec > &init_values)=0
 
virtual void compute_dirichlet_bc (const std::vector< arma::vec3 > &point_list, const ElementAccessor< 3 > &ele_acc, std::vector< arma::vec > &bc_values)=0
 
virtual 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)=0
 
virtual void compute_sources_sigma (const std::vector< arma::vec3 > &point_list, const ElementAccessor< 3 > &ele_acc, std::vector< arma::vec > &sources_sigma)=0
 
virtual ~AdvectionDiffusionModel ()
 Destructor. More...
 

Detailed Description

AdvectionDiffusionModel is a base class for description of a physical process described by the advection-diffusion partial differential equation (PDE). The derived classes define input parameters and implement methods that calculate coefficients of the PDE. These methods are then used by a template class for numerical solution, whose specialization derives from the model class.

Definition at line 46 of file advection_diffusion_model.hh.

Constructor & Destructor Documentation

virtual AdvectionDiffusionModel::~AdvectionDiffusionModel ( )
inlinevirtual

Destructor.

Definition at line 133 of file advection_diffusion_model.hh.

Member Function Documentation

virtual void AdvectionDiffusionModel::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 
)
pure virtual

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).

Implemented in ConcentrationTransportModel, and HeatTransferModel.

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

Computes the Dirichlet boundary condition values.

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

Implemented in ConcentrationTransportModel, and HeatTransferModel.

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

Compute initial conditions.

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

Implemented in ConcentrationTransportModel, and HeatTransferModel.

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

Compute coefficients of mass matrix.

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

Implemented in ConcentrationTransportModel, and HeatTransferModel.

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

Compute retardation coefficients due to sorption.

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

Implemented in ConcentrationTransportModel, and HeatTransferModel.

virtual void AdvectionDiffusionModel::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 
)
pure virtual

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).

Implemented in ConcentrationTransportModel, and HeatTransferModel.

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

Compute coefficients of volume sources.

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

Implemented in ConcentrationTransportModel, and HeatTransferModel.

virtual void AdvectionDiffusionModel::init_from_input ( const Input::Record in_rec,
SubstanceList substances 
)
pure virtual

Read necessary data from input record.

Implemented in ConcentrationTransportModel, and HeatTransferModel.


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