Flow123d
release_3.0.0-973-g92f55e826
|
Go to the documentation of this file.
19 #ifndef HEAT_MODEL_HH_
20 #define HEAT_MODEL_HH_
44 namespace Input {
class Record; }
68 static Input::Type::Abstract & get_input_type() {
69 return Input::Type::Abstract("Heat",
70 "Equation for heat transfer.")
163 static constexpr
const char *
name() {
return "Heat_AdvectionDiffusion"; }
198 arma::uvec &bc_types)
override;
249 virtual ModelEqData &
data() = 0;
Field< 3, FieldValue< 3 >::Scalar > water_content
Water content passed from Darcy flow model.
vector< unsigned int > subst_idx
List of indices used to call balance methods for a set of quantities.
Field< 3, FieldValue< 3 >::Scalar > fluid_ref_temperature
Reference temperature in fluid.
BCMultiField< 3, FieldValue< 3 >::Scalar > bc_dirichlet_value
Dirichlet boundary condition for temperature.
SubstanceList & substances()
Returns reference to the vector of substance names.
virtual void calculate_cumulative_balance()=0
Field< 3, FieldValue< 3 >::Scalar > disp_t
Transversal heat dispersivity.
Field< 3, FieldValue< 3 >::Scalar > porosity
Porosity of solid.
Classes for storing substance data.
Field< 3, FieldValue< 3 >::Scalar > solid_density
Density of solid.
static const Input::Type::Selection & get_bc_type_selection()
Discontinuous Galerkin method for equation of transport with dispersion.
BCField< 3, FieldValue< 3 >::Scalar > bc_flux
Flux value in total/diffusive flux b.c.
Field< 3, FieldValue< 3 >::Scalar > fluid_thermal_source
Thermal source in fluid.
std::shared_ptr< OutputTime > & output_stream()
Field< 3, FieldValue< 3 >::Scalar > disp_l
Longitudal heat dispersivity.
Field< 3, FieldValue< 3 >::Scalar > init_temperature
Initial temperature.
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) override
Return transition coefficient for flux b.c.
Field< 3, FieldValue< 3 >::Scalar > fluid_heat_capacity
Heat capacity of fluid.
MultiField< 3, FieldValue< 3 >::Scalar > output_field
Field< 3, FieldValue< 3 >::Scalar > fluid_density
Density of fluid.
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) override
Return data for diffusive or total flux b.c.
const MH_DofHandler * mh_dh
The class for outputting data during time.
void get_bc_type(const ElementAccessor< 3 > &ele_acc, arma::uvec &bc_types) override
Field< 3, FieldValue< 3 >::Scalar > solid_heat_capacity
Heat capacity of solid.
static Input::Type::Abstract & get_input_type()
Common specification of the input record for secondary equations.
Container for various descendants of FieldCommonBase.
void compute_init_cond(const std::vector< arma::vec3 > &point_list, const ElementAccessor< 3 > &ele_acc, std::vector< std::vector< double > > &init_values) override
static constexpr const char * name()
void compute_mass_matrix_coefficient(const std::vector< arma::vec3 > &point_list, const ElementAccessor< 3 > &ele_acc, std::vector< double > &mm_coef) override
bool flux_changed
Indicator of change in advection vector field.
void set_velocity_field(const MH_DofHandler &dh) override
Updates the velocity field which determines some coefficients of the transport equation.
BCField< 3, FieldValue< 3 >::Scalar > bc_robin_sigma
Transition coefficient in total/diffusive flux b.c.
Field< 3, FieldValue< 3 >::Scalar > solid_thermal_source
Thermal source in solid.
unsigned int n_substances()
Returns number of transported substances.
Class for representation of a vector of fields of the same physical quantity.
void compute_retardation_coefficient(const std::vector< arma::vec3 > &point_list, const ElementAccessor< 3 > &ele_acc, std::vector< std::vector< double > > &ret_coef) override
Field< 3, FieldValue< 3 >::Scalar > cross_section
Pointer to DarcyFlow field cross_section.
Field< 3, FieldValue< 3 >::Scalar > solid_heat_exchange_rate
Heat exchange rate in solid.
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_sources_sigma(const std::vector< arma::vec3 > &point_list, const ElementAccessor< 3 > &ele_acc, std::vector< std::vector< double > > &sources_sigma) override
SubstanceList substances_
Transported substances.
Field< 3, FieldValue< 3 >::Scalar > solid_ref_temperature
Reference temperature in solid.
static IT::Selection get_output_selection()
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) override
static string default_output_field()
virtual ModelEqData & data()=0
Derived class should implement getter for ModelEqData instance.
void output_data() override
Write computed fields.
AdvectionProcessBase FactoryBaseType
Class template representing a field with values dependent on: point, element, and region.
Field< 3, FieldValue< 3 >::Scalar > fluid_heat_exchange_rate
Heat exchange rate in fluid.
~HeatTransferModel() override
std::shared_ptr< OutputTime > output_stream_
BCField< 3, FieldValue< 3 >::Enum > bc_type
Type of boundary condition (see also BC_Type)
Field< 3, FieldValue< 3 >::Scalar > fluid_heat_conductivity
Heat conductivity of fluid.
Field< 3, FieldValue< 3 >::Scalar > solid_heat_conductivity
Heat conductivity of solid.
HeatTransferModel(Mesh &mesh, const Input::Record in_rec)
void init_from_input(const Input::Record &in_rec) override
Read necessary data from input record.