Flow123d
release_3.0.0-1094-g626f1a1
|
#include <heat_model.hh>
Classes | |
class | ModelEqData |
Public Types | |
typedef AdvectionProcessBase | FactoryBaseType |
Public Types inherited from AdvectionDiffusionModel | |
enum | Abstract_bc_types { abc_inflow, abc_dirichlet, abc_total_flux, abc_diffusive_flux } |
Public Member Functions | |
HeatTransferModel (Mesh &mesh, const Input::Record in_rec) | |
void | init_from_input (const Input::Record &in_rec) override |
Read necessary data from input record. 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_retardation_coefficient (const std::vector< arma::vec3 > &point_list, const ElementAccessor< 3 > &ele_acc, std::vector< std::vector< double > > &ret_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< std::vector< double > > &init_values) override |
void | get_bc_type (const ElementAccessor< 3 > &ele_acc, arma::uvec &bc_types) override |
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. More... | |
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. More... | |
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 |
void | compute_sources_sigma (const std::vector< arma::vec3 > &point_list, const ElementAccessor< 3 > &ele_acc, std::vector< std::vector< double > > &sources_sigma) override |
~HeatTransferModel () override | |
void | set_velocity_field (const MH_DofHandler &dh) override |
Updates the velocity field which determines some coefficients of the transport equation. More... | |
unsigned int | n_substances () |
Returns number of transported substances. More... | |
SubstanceList & | substances () |
Returns reference to the vector of substance names. More... | |
Public Member Functions inherited from AdvectionDiffusionModel | |
virtual | ~AdvectionDiffusionModel () |
Destructor. More... | |
Public Member Functions inherited from AdvectionProcessBase | |
AdvectionProcessBase (Mesh &mesh, const Input::Record in_rec) | |
Public Member Functions inherited from EquationBase | |
EquationBase () | |
EquationBase (Mesh &mesh, const Input::Record in_rec) | |
virtual void | initialize () |
virtual void | zero_time_step () |
virtual | ~EquationBase () |
virtual void | update_solution () |
virtual void | choose_next_time () |
virtual void | set_time_upper_constraint (double dt, std::string message) |
virtual void | set_time_lower_constraint (double dt, std::string message) |
TimeGovernor & | time () |
virtual void | set_time_governor (TimeGovernor &time) |
double | planned_time () |
double | solved_time () |
Mesh & | mesh () |
TimeMark::Type | mark_type () |
FieldSet & | data () |
virtual void | get_solution_vector (double *&vector, unsigned int &size) |
virtual void | get_parallel_solution_vector (Vec &vector) |
Protected Member Functions | |
virtual ModelEqData & | data ()=0 |
Derived class should implement getter for ModelEqData instance. More... | |
void | output_data () override |
Write computed fields. More... | |
std::shared_ptr< OutputTime > & | output_stream () |
virtual void | calculate_cumulative_balance ()=0 |
Static Protected Member Functions | |
static IT::Record | get_input_type (const string &implementation, const string &description) |
Protected Attributes | |
bool | flux_changed |
Indicator of change in advection vector field. More... | |
SubstanceList | substances_ |
Transported substances. More... | |
const MH_DofHandler * | mh_dh |
vector< unsigned int > | subst_idx |
List of indices used to call balance methods for a set of quantities. More... | |
std::shared_ptr< OutputTime > | output_stream_ |
Protected Attributes inherited from EquationBase | |
bool | equation_empty_ |
flag is true if only default constructor was called More... | |
Mesh * | mesh_ |
TimeGovernor * | time_ |
Input::Record | input_record_ |
FieldSet * | eq_data_ |
std::shared_ptr< Balance > | balance_ |
object for calculation and writing the mass balance to file. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from AdvectionProcessBase | |
static Input::Type::Abstract & | get_input_type () |
Common specification of the input record for secondary equations. More... | |
Definition at line 97 of file heat_model.hh.
Definition at line 172 of file heat_model.hh.
HeatTransferModel::HeatTransferModel | ( | Mesh & | mesh, |
const Input::Record | in_rec | ||
) |
Definition at line 252 of file heat_model.cc.
|
override |
Definition at line 442 of file heat_model.cc.
|
protectedpure virtual |
|
overridevirtual |
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). |
Implements AdvectionDiffusionModel.
Definition at line 300 of file heat_model.cc.
|
overridevirtual |
Compute initial conditions.
point_list | Points at which to evaluate. |
ele_acc | Element accessor. |
init_values | Vector of intial values (output). |
Implements AdvectionDiffusionModel.
Definition at line 340 of file heat_model.cc.
|
overridevirtual |
Compute coefficients of mass matrix.
point_list | Points at which to evaluate. |
ele_acc | Element accessor. |
mm_coef | Coefficient vector (output). |
Implements AdvectionDiffusionModel.
Definition at line 277 of file heat_model.cc.
|
inlineoverridevirtual |
Compute retardation coefficients due to sorption.
point_list | Points at which to evaluate. |
ele_acc | Element accessor. |
ret_coef | Coefficient vector (output). |
Implements AdvectionDiffusionModel.
Definition at line 183 of file heat_model.hh.
|
overridevirtual |
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). |
Implements AdvectionDiffusionModel.
Definition at line 381 of file heat_model.cc.
|
overridevirtual |
Compute coefficients of volume sources.
point_list | Points at which to evaluate. |
ele_acc | Element accessor. |
sources_sigma | Source sigmas (output). |
Implements AdvectionDiffusionModel.
Definition at line 419 of file heat_model.cc.
|
protectedpure virtual |
Derived class should implement getter for ModelEqData instance.
|
overridevirtual |
Return types of boundary conditions for each solution component.
ele_acc | Element accessor. |
bc_types | Vector of bc. types (output, see BC_Type) |
Implements AdvectionDiffusionModel.
Definition at line 348 of file heat_model.cc.
|
overridevirtual |
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). |
Implements AdvectionDiffusionModel.
Definition at line 357 of file heat_model.cc.
|
overridevirtual |
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). |
Implements AdvectionDiffusionModel.
Definition at line 372 of file heat_model.cc.
|
staticprotected |
Create input type that can be passed to the derived class.
implementation | String characterizing the numerical method, e.g. DG, FEM, FVM. |
description | Comment used to describe the record key. |
Definition at line 227 of file heat_model.cc.
|
inlineoverridevirtual |
Read necessary data from input record.
Implements AdvectionDiffusionModel.
Definition at line 177 of file heat_model.hh.
|
inline |
Returns number of transported substances.
Definition at line 238 of file heat_model.hh.
|
overrideprotectedvirtual |
Write computed fields.
Reimplemented from EquationBase.
Definition at line 271 of file heat_model.cc.
|
inlineprotected |
Definition at line 261 of file heat_model.hh.
|
inlineoverridevirtual |
Updates the velocity field which determines some coefficients of the transport equation.
dh | mixed hybrid dof handler |
(So far it does not work since the flow module returns a vector of zeros.)
Implements AdvectionProcessBase.
Definition at line 231 of file heat_model.hh.
|
inline |
Returns reference to the vector of substance names.
Definition at line 242 of file heat_model.hh.
|
protected |
Indicator of change in advection vector field.
Definition at line 267 of file heat_model.hh.
|
protected |
Temporary solution how to pass velocity field form the flow model. TODO: introduce FieldDiscrete -containing true DOFHandler and data vector and pass such object together with other data. Possibly make more general set_data method, allowing setting data given by name. needs support from EqDataBase.
Definition at line 277 of file heat_model.hh.
|
protected |
Definition at line 282 of file heat_model.hh.
|
protected |
List of indices used to call balance methods for a set of quantities.
Definition at line 280 of file heat_model.hh.
|
protected |
Transported substances.
Definition at line 270 of file heat_model.hh.