19 #ifndef HEAT_MODEL_HH_ 20 #define HEAT_MODEL_HH_ 22 #include <boost/exception/info.hpp> 43 namespace Input {
class Record; }
162 static constexpr
const char *
name() {
return "Heat_AdvectionDiffusion"; }
178 void compute_mass_matrix_coefficient(
const Armor::array &point_list,
186 void compute_advection_diffusion_coefficients(
const Armor::array &point_list,
197 arma::uvec &bc_types)
override;
199 void get_flux_bc_data(
unsigned int index,
206 void get_flux_bc_sigma(
unsigned int index,
211 void compute_source_coefficients(
const Armor::array &point_list,
217 void compute_sources_sigma(
const Armor::array &point_list,
232 velocity_field_ptr_ = flux_field;
242 {
return substances_; }
245 {
return subst_idx; }
248 return this->velocity_field_ptr_;
263 static IT::Record get_input_type(
const string &implementation,
const string &description);
265 void output_data()
override;
268 {
return output_stream_; }
270 virtual void calculate_cumulative_balance() = 0;
vector< unsigned int > subst_idx
List of indices used to call balance methods for a set of quantities.
Field< 3, FieldValue< 3 >::Scalar > solid_heat_capacity
Heat capacity of solid.
Container for various descendants of FieldCommonBase.
Field< 3, FieldValue< 3 >::Scalar > fluid_density
Density of fluid.
void compute_retardation_coefficient(const Armor::array &, const ElementAccessor< 3 > &, std::vector< std::vector< double > > &) override
Field< 3, FieldValue< 3 >::Scalar > water_content
Water content passed from Darcy flow model.
Field< 3, FieldValue< 3 >::Scalar > disp_t
Transversal heat dispersivity.
Field< 3, FieldValue< 3 >::Scalar > cross_section
Pointer to DarcyFlow field cross_section.
std::shared_ptr< FieldFE< 3, FieldValue< 3 >::VectorFixed > > velocity_field_ptr() const
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.
Field< 3, FieldValue< 3 >::Scalar > solid_heat_exchange_rate
Heat exchange rate in solid.
SubstanceList & substances()
Returns reference to the vector of substance names.
void init_from_input(const Input::Record &) override
Read necessary data from input record.
std::shared_ptr< OutputTime > & output_stream()
BCMultiField< 3, FieldValue< 3 >::Scalar > bc_dirichlet_value
Dirichlet boundary condition for temperature.
BCField< 3, FieldValue< 3 >::Enum > bc_type
Type of boundary condition (see also BC_Type)
Field< 3, FieldValue< 3 >::Scalar > fluid_heat_capacity
Heat capacity of fluid.
std::shared_ptr< FieldFE< 3, FieldValue< 3 >::VectorFixed > > velocity_field_ptr_
Pointer to velocity field given from Flow equation.
BCField< 3, FieldValue< 3 >::Scalar > bc_flux
Flux value in total/diffusive flux b.c.
Field< 3, FieldValue< 3 >::Scalar > porosity
Porosity of solid.
Field< 3, FieldValue< 3 >::Scalar > fluid_thermal_source
Thermal source in fluid.
Field< 3, FieldValue< 3 >::Scalar > fluid_heat_conductivity
Heat conductivity of fluid.
Field< 3, FieldValue< 3 >::Scalar > fluid_ref_temperature
Reference temperature in fluid.
Field< 3, FieldValue< 3 >::Scalar > init_temperature
Initial temperature.
static constexpr const char * name()
Field< 3, FieldValue< 3 >::Scalar > solid_thermal_source
Thermal source in solid.
Field< 3, FieldValue< 3 >::Scalar > solid_heat_conductivity
Heat conductivity of solid.
SubstanceList substances_
Transported substances.
The class for outputting data during time.
const vector< unsigned int > & get_subst_idx()
MultiField< 3, FieldValue< 3 >::Scalar > output_field
Field< 3, FieldValue< 3 >::Scalar > solid_ref_temperature
Reference temperature in solid.
Discontinuous Galerkin method for equation of transport with dispersion.
AdvectionProcessBase FactoryBaseType
bool flux_changed
Indicator of change in advection vector field.
void set_velocity_field(std::shared_ptr< FieldFE< 3, FieldValue< 3 >::VectorFixed >> flux_field) override
Updates the velocity field which determines some coefficients of the transport equation.
Classes for storing substance data.
Field< 3, FieldValue< 3 >::Scalar > solid_density
Density of solid.
unsigned int n_substances()
Returns number of transported substances.
static string default_output_field()
BCField< 3, FieldValue< 3 >::Scalar > bc_robin_sigma
Transition coefficient in total/diffusive flux b.c.
Class for representation of a vector of fields of the same physical quantity.
std::shared_ptr< OutputTime > output_stream_
Field< 3, FieldValue< 3 >::Scalar > disp_l
Longitudal heat dispersivity.