Flow123d
Classes | Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
HeatTransferModel Class Referenceabstract

#include <heat_model.hh>

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

Classes

class  ModelEqData
 

Public Member Functions

 HeatTransferModel ()
 
void init_data (unsigned int n_subst_) override
 Initialize model data. E.g. set vector field dimensions. More...
 
void set_component_names (std::vector< string > &names, const Input::Record &in_rec) override
 Temporary solution for sharing data from other equations. More...
 
bool mass_matrix_changed () override
 Check if mass matrix coefficients have changed. More...
 
bool stiffness_matrix_changed () override
 Check if stiffness matrix coefficients have changed. More...
 
bool rhs_changed () override
 Check if right hand side coefficients have changed. 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_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
 
 ~HeatTransferModel () override
 
- Public Member Functions inherited from AdvectionDiffusionModel
virtual ~AdvectionDiffusionModel ()
 Destructor. More...
 

Protected Member Functions

virtual ModelEqDatadata ()=0
 Derived class should implement getter for ModelEqData instance. More...
 

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

Detailed Description

Definition at line 38 of file heat_model.hh.

Constructor & Destructor Documentation

HeatTransferModel::HeatTransferModel ( )

Definition at line 94 of file heat_model.cc.

HeatTransferModel::~HeatTransferModel ( )
override

Definition at line 300 of file heat_model.cc.

Member Function Documentation

void HeatTransferModel::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 176 of file heat_model.cc.

void HeatTransferModel::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 227 of file heat_model.cc.

void HeatTransferModel::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 216 of file heat_model.cc.

void HeatTransferModel::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 153 of file heat_model.cc.

void HeatTransferModel::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 238 of file heat_model.cc.

void HeatTransferModel::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 277 of file heat_model.cc.

virtual ModelEqData& HeatTransferModel::data ( )
protectedpure virtual

Derived class should implement getter for ModelEqData instance.

Here is the caller graph for this function:

IT::Record & HeatTransferModel::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 76 of file heat_model.cc.

void HeatTransferModel::init_data ( unsigned int  n_subst_)
overridevirtual

Initialize model data. E.g. set vector field dimensions.

Implements AdvectionDiffusionModel.

Definition at line 99 of file heat_model.cc.

bool HeatTransferModel::mass_matrix_changed ( )
overridevirtual

Check if mass matrix coefficients have changed.

Implements AdvectionDiffusionModel.

Definition at line 116 of file heat_model.cc.

bool HeatTransferModel::rhs_changed ( )
overridevirtual

Check if right hand side coefficients have changed.

Implements AdvectionDiffusionModel.

Definition at line 141 of file heat_model.cc.

void HeatTransferModel::set_component_names ( std::vector< string > &  names,
const Input::Record in_rec 
)
overridevirtual

Temporary solution for sharing data from other equations.

Read or set names of solution components.

Implements AdvectionDiffusionModel.

Definition at line 109 of file heat_model.cc.

bool HeatTransferModel::stiffness_matrix_changed ( )
overridevirtual

Check if stiffness matrix coefficients have changed.

Implements AdvectionDiffusionModel.

Definition at line 127 of file heat_model.cc.

Member Data Documentation

bool HeatTransferModel::flux_changed
protected

Indicator of change in advection vector field.

Definition at line 112 of file heat_model.hh.


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