https://mooseframework.inl.gov
HeatConductionModel.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #pragma once
11 
12 class THMProblem;
14 class Factory;
17 
18 #include "MooseObject.h"
19 #include "NamingInterface.h"
20 #include "libmesh/fe_type.h"
21 
28 {
29 public:
30  HeatConductionModel(const InputParameters & params);
31 
35  virtual void addVariables();
36 
40  virtual void addInitialConditions();
41 
45  virtual void addMaterials();
46 
50  virtual void addHeatEquationXYZ();
51 
55  virtual void addHeatEquationRZ();
56 
61  static const libMesh::FEType & feType() { return _fe_type; }
62 
63 protected:
72  const std::string _comp_name;
73 
74 public:
75  // variable names
76  static const std::string DENSITY;
77  static const std::string TEMPERATURE;
78  static const std::string THERMAL_CONDUCTIVITY;
79  static const std::string SPECIFIC_HEAT_CONSTANT_PRESSURE;
80 
82 
83 protected:
84  // FE type used for heat conduction
86 
87  friend class Simulation;
88 };
virtual void addHeatEquationXYZ()
Add heat conduction equation for cartesian coordinate system.
Specialization of FEProblem to run with component subsystem.
Definition: THMProblem.h:18
Interface for handling names.
static const std::string DENSITY
Main class for simulation (the driver of the simulation)
Definition: Simulation.h:29
HeatConductionModel(const InputParameters &params)
virtual void addInitialConditions()
Add initial conditions.
const std::string _comp_name
Name of the component.
virtual void addMaterials()
Add materials used by this model.
static const std::string THERMAL_CONDUCTIVITY
static const std::string TEMPERATURE
virtual void addHeatEquationRZ()
Add heat conduction equation for RZ coordinate system.
Factory & _factory
The Factory associated with the MooseApp.
static InputParameters validParams()
Interface class for heat structure components.
GeometricalComponent & _geometrical_component
The geometrical component that built this class.
virtual void addVariables()
Add field variables used by this model.
static const std::string SPECIFIC_HEAT_CONSTANT_PRESSURE
static const libMesh::FEType & feType()
Get the FE type used for heat conduction.
HeatStructureInterface & _hs_interface
The heat structure interface that built this class.
Intermediate class for components that have mesh.
static libMesh::FEType _fe_type
Provides functions to setup the heat conduction model.