Flow123d  jenkins-Flow123d-windows-release-multijob-285
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 set_components (SubstanceList &substances, const Input::Record &in_rec)=0
 Read or set names of solution components. 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_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 122 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 HeatTransferModel, and ConcentrationTransportModel.

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 HeatTransferModel, and ConcentrationTransportModel.

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 HeatTransferModel, and ConcentrationTransportModel.

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 HeatTransferModel, and ConcentrationTransportModel.

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 HeatTransferModel, and ConcentrationTransportModel.

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 HeatTransferModel, and ConcentrationTransportModel.

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

Read or set names of solution components.

Implemented in HeatTransferModel, and ConcentrationTransportModel.


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