IsothermalSolidPhaseModel.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration | Website: https://openfoam.org
5  \\ / A nd | Copyright (C) 2023 OpenFOAM Foundation
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8 License
9  This file is part of OpenFOAM.
10 
11  OpenFOAM is free software: you can redistribute it and/or modify it
12  under the terms of the GNU General Public License as published by
13  the Free Software Foundation, either version 3 of the License, or
14  (at your option) any later version.
15 
16  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
19  for more details.
20 
21  You should have received a copy of the GNU General Public License
22  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
23 
24 Class
25  Foam::IsothermalSolidPhaseModel
26 
27 Description
28  Class which represents a solid phase for which the temperature (strictly
29  energy) remains constant. Returns an empty energy equation and does nothing
30  when correctThermo is called.
31 
32 SourceFiles
33  IsothermalSolidPhaseModel.C
34 
35 \*---------------------------------------------------------------------------*/
36 
37 #ifndef IsothermalSolidPhaseModel_H
38 #define IsothermalSolidPhaseModel_H
39 
40 #include "phaseModel.H"
41 
42 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
43 
44 namespace Foam
45 {
46 
47 /*---------------------------------------------------------------------------*\
48  Class IsothermalSolidPhaseModel Declaration
49 \*---------------------------------------------------------------------------*/
50 
51 template<class BasePhaseModel>
53 :
54  public BasePhaseModel
55 {
56 public:
57 
58  // Constructors
59 
61  (
62  const phaseSystem& fluid,
63  const word& phaseName,
64  const bool referencePhase,
65  const label index
66  );
67 
68 
69  //- Destructor
71 
72 
73  // Member Functions
74 
75  //- Correct the thermodynamics
76  virtual void correctThermo();
77 
78  //- Return whether the phase is isothermal
79  virtual bool isothermal() const;
80 
81  //- Return the effective thermal conductivity on a patch
82  virtual tmp<scalarField> kappaEff(const label patchi) const;
83 
84  //- Return the enthalpy equation
85  virtual tmp<fvScalarMatrix> heEqn();
86 };
87 
88 
89 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
90 
91 } // End namespace Foam
92 
93 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
94 
95 #ifdef NoRepository
97 #endif
98 
99 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
100 
101 #endif
102 
103 // ************************************************************************* //
Class which represents a solid phase for which the temperature (strictly energy) remains constant....
virtual void correctThermo()
Correct the thermodynamics.
virtual bool isothermal() const
Return whether the phase is isothermal.
virtual tmp< fvScalarMatrix > heEqn()
Return the enthalpy equation.
IsothermalSolidPhaseModel(const phaseSystem &fluid, const word &phaseName, const bool referencePhase, const label index)
virtual tmp< scalarField > kappaEff(const label patchi) const
Return the effective thermal conductivity on a patch.
Class to represent a system of phases and model interfacial transfers between them.
Definition: phaseSystem.H:73
A class for managing temporary objects.
Definition: tmp.H:55
A class for handling words, derived from string.
Definition: word.H:62
label patchi
Namespace for OpenFOAM.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Definition: label.H:59