|
Flow123d
release_3.0.0-1193-g9220a69
|
#include <advection_diffusion_model.hh>

Public Types | |
| enum | Abstract_bc_types { abc_inflow, abc_dirichlet, abc_total_flux, abc_diffusive_flux } |
Public Member Functions | |
| virtual void | init_from_input (const Input::Record &in_rec)=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< std::vector< double > > &init_values)=0 |
| virtual void | get_bc_type (const ElementAccessor< 3 > &ele_acc, arma::uvec &bc_types)=0 |
| virtual void | get_flux_bc_data (unsigned int index, const std::vector< arma::vec3 > &point_list, const ElementAccessor< 3 > &ele_acc, std::vector< double > &bc_flux, std::vector< double > &bc_sigma, std::vector< double > &bc_ref_value)=0 |
| Return data for diffusive or total flux b.c. More... | |
| virtual void | get_flux_bc_sigma (unsigned int index, const std::vector< arma::vec3 > &point_list, const ElementAccessor< 3 > &ele_acc, std::vector< double > &bc_sigma)=0 |
| Return transition coefficient for flux b.c. More... | |
| virtual void | compute_source_coefficients (const std::vector< arma::vec3 > &point_list, const ElementAccessor< 3 > &ele_acc, std::vector< std::vector< double > > &sources_conc, std::vector< std::vector< double > > &sources_density, std::vector< std::vector< double > > &sources_sigma)=0 |
| virtual void | compute_sources_sigma (const std::vector< arma::vec3 > &point_list, const ElementAccessor< 3 > &ele_acc, std::vector< std::vector< double > > &sources_sigma)=0 |
| virtual | ~AdvectionDiffusionModel () |
| Destructor. More... | |
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 35 of file advection_diffusion_model.hh.
| Enumerator | |
|---|---|
| abc_inflow | |
| abc_dirichlet | |
| abc_total_flux | |
| abc_diffusive_flux | |
Definition at line 38 of file advection_diffusion_model.hh.
|
inlinevirtual |
Destructor.
Definition at line 165 of file advection_diffusion_model.hh.
|
pure virtual |
Compute coefficients of stiffness matrix.
| point_list | Points at which to evaluate. |
| velocity | Velocity field (input). Temporary solution before we can pass data from other equations. |
| ele_acc | Element accessor. |
| ad_coef | Coefficients of advection (output). |
| dif_coef | Coefficients of diffusion (output). |
Implemented in HeatTransferModel, and ConcentrationTransportModel.
|
pure virtual |
Compute initial conditions.
| point_list | Points at which to evaluate. |
| ele_acc | Element accessor. |
| init_values | Vector of intial values (output). |
Implemented in HeatTransferModel, and ConcentrationTransportModel.
|
pure virtual |
Compute coefficients of mass matrix.
| point_list | Points at which to evaluate. |
| ele_acc | Element accessor. |
| mm_coef | Coefficient vector (output). |
Implemented in HeatTransferModel, and ConcentrationTransportModel.
|
pure virtual |
Compute retardation coefficients due to sorption.
| point_list | Points at which to evaluate. |
| ele_acc | Element accessor. |
| ret_coef | Coefficient vector (output). |
Implemented in HeatTransferModel, and ConcentrationTransportModel.
|
pure virtual |
Compute coefficients of volume sources.
| point_list | Points at which to evaluate. |
| ele_acc | Element accessor. |
| sources_conc | Source concentrations (output). |
| sources_density | Source densities (output). |
| sources_sigma | Source sigmas (output). |
Implemented in HeatTransferModel, and ConcentrationTransportModel.
|
pure virtual |
Compute coefficients of volume sources.
| point_list | Points at which to evaluate. |
| ele_acc | Element accessor. |
| sources_sigma | Source sigmas (output). |
Implemented in HeatTransferModel, and ConcentrationTransportModel.
|
pure virtual |
Return types of boundary conditions for each solution component.
| ele_acc | Element accessor. |
| bc_types | Vector of bc. types (output, see BC_Type) |
Implemented in HeatTransferModel, and ConcentrationTransportModel.
|
pure virtual |
Return data for diffusive or total flux b.c.
The flux can in general take the form
cross_section*(flux + sigma*(solution - ref_value))
| index | Component index. |
| point_list | Points at which to evaluate. |
| ele_acc | Element accessor. |
| bc_flux | Neumann flux (output). |
| bc_sigma | Transition parameter (output). |
| bc_ref_value | Reference value (output). |
Implemented in HeatTransferModel, and ConcentrationTransportModel.
|
pure virtual |
Return transition coefficient for flux b.c.
In assembly of system matrix one does not teed all data for total/diffusive flux b.c. This method therefore returns only the sigma coefficient.
| index | Component index. |
| point_list | Points at which to evaluate. |
| ele_acc | Element accessor. |
| bc_sigma | Transition parameter (output). |
Implemented in HeatTransferModel, and ConcentrationTransportModel.
|
pure virtual |
Read necessary data from input record.
Implemented in HeatTransferModel, and ConcentrationTransportModel.
1.8.11