Flow123d
JS_before_hm-937-g93502c2
|
#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 &) override |
Read necessary data from input record. More... | |
void | compute_mass_matrix_coefficient (const Armor::array &point_list, const ElementAccessor< 3 > &ele_acc, std::vector< double > &mm_coef) override |
void | compute_retardation_coefficient (const Armor::array &, const ElementAccessor< 3 > &, std::vector< std::vector< double > > &) override |
void | compute_advection_diffusion_coefficients (const Armor::array &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 Armor::array &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 Armor::array &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 Armor::array &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 Armor::array &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 Armor::array &point_list, const ElementAccessor< 3 > &ele_acc, std::vector< std::vector< double > > &sources_sigma) override |
~HeatTransferModel () override | |
unsigned int | n_substances () |
Returns number of transported substances. More... | |
SubstanceList & | substances () |
Returns reference to the vector of substance names. More... | |
const vector< unsigned int > & | get_subst_idx () |
virtual ModelEqData & | data ()=0 |
Derived class should implement getter for ModelEqData instance. 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 () |
std::shared_ptr< Balance > | balance () const |
TimeMark::Type | mark_type () |
FieldSet & | data () |
Protected Member Functions | |
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 | |
SubstanceList | substances_ |
Transported substances. More... | |
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... | |
Static Public Member Functions inherited from EquationBase | |
static Input::Type::Record & | record_template () |
Template Record with common keys for derived equations. More... | |
This method takes sequential PETSc vector of side velocities and update transport matrix. The ordering is same as ordering of sides in the mesh. We just keep the pointer, but do not destroy the object.
TODO: We should pass whole velocity field object (description of base functions and dof numbering) and vector.
Definition at line 96 of file heat_model.hh.
Definition at line 173 of file heat_model.hh.
HeatTransferModel::HeatTransferModel | ( | Mesh & | mesh, |
const Input::Record | in_rec | ||
) |
Definition at line 254 of file heat_model.cc.
|
override |
Definition at line 443 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 301 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 341 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 278 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 184 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 382 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 420 of file heat_model.cc.
|
pure 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 349 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 358 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 373 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 230 of file heat_model.cc.
|
inline |
Definition at line 233 of file heat_model.hh.
|
inlineoverridevirtual |
Read necessary data from input record.
Implements AdvectionDiffusionModel.
Definition at line 178 of file heat_model.hh.
|
inline |
Returns number of transported substances.
Definition at line 226 of file heat_model.hh.
|
overrideprotectedvirtual |
Write computed fields.
Reimplemented from EquationBase.
Definition at line 272 of file heat_model.cc.
|
inlineprotected |
Definition at line 252 of file heat_model.hh.
|
inline |
Returns reference to the vector of substance names.
Definition at line 230 of file heat_model.hh.
|
protected |
Definition at line 263 of file heat_model.hh.
|
protected |
List of indices used to call balance methods for a set of quantities.
Definition at line 261 of file heat_model.hh.
|
protected |
Transported substances.
Definition at line 258 of file heat_model.hh.