isotropic.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) 2022-2026 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::solidThermophysicalTransportModels::isotropic
26 
27 Description
28  Solid thermophysical transport model for isotropic thermal conductivity
29 
30  This is the default transport model for solids and selected automatically if
31  the thermophysicalTransport dictionary is not present in the constant or
32  region directory.
33 
34 SourceFiles
35  isotropic.C
36 
37 \*---------------------------------------------------------------------------*/
38 
39 #ifndef isotropic_H
40 #define isotropic_H
41 
43 
44 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
45 
46 namespace Foam
47 {
48 namespace solidThermophysicalTransportModels
49 {
50 
51 /*---------------------------------------------------------------------------*\
52  Class isotropic Declaration
53 \*---------------------------------------------------------------------------*/
54 
55 template<class SolidThermophysicalTransportModel>
56 class isotropic
57 :
58  public SolidThermophysicalTransportModel
59 {
60 
61 public:
62 
63  typedef typename SolidThermophysicalTransportModel::alphaField
64  alphaField;
65 
66  //- Runtime type information
67  TypeName("isotropic");
68 
69 
70  // Constructors
71 
72  //- Construct from solid thermophysical properties
73  isotropic
74  (
75  const alphaField& alpha,
76  const solidThermo& thermo,
77  const word& type = typeName
78  );
79 
80 
81  //- Destructor
82  virtual ~isotropic()
83  {}
84 
85 
86  // Member Functions
87 
88  //- Read thermophysicalTransport dictionary
89  virtual bool read();
90 
91  //- Return the heat flux [W/m^2]
92  virtual tmp<surfaceScalarField> q() const;
93 
94  //- Return the patch heat flux [W/m^2]
95  virtual tmp<scalarField> q(const label patchi) const;
96 
97  //- Return null patch heat flux correction [W/m^2]
98  virtual tmp<scalarField> qCorr(const label patchi) const;
99 
100  //- Return the source term for the energy equation
101  virtual tmp<fvScalarMatrix> divq(volScalarField& he) const;
102 
103  //- Correct the isotropic viscosity
104  virtual void predict();
105 };
106 
107 
108 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
109 
110 } // End namespace solidThermophysicalTransportModels
111 } // End namespace Foam
112 
113 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
114 
115 #ifdef NoRepository
116  #include "isotropic.C"
117 #endif
118 
119 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
120 
121 #endif
122 
123 // ************************************************************************* //
Generic GeometricField class.
Base-class for solid thermodynamic properties.
Definition: solidThermo.H:59
Solid thermophysical transport model for isotropic thermal conductivity.
Definition: isotropic.H:58
isotropic(const alphaField &alpha, const solidThermo &thermo, const word &type=typeName)
Construct from solid thermophysical properties.
Definition: isotropic.C:37
SolidThermophysicalTransportModel::alphaField alphaField
Definition: isotropic.H:63
virtual tmp< scalarField > qCorr(const label patchi) const
Return null patch heat flux correction [W/m^2].
Definition: isotropic.C:97
virtual void predict()
Correct the isotropic viscosity.
Definition: isotropic.C:125
virtual tmp< surfaceScalarField > q() const
Return the heat flux [W/m^2].
Definition: isotropic.C:68
TypeName("isotropic")
Runtime type information.
virtual bool read()
Read thermophysicalTransport dictionary.
Definition: isotropic.C:59
virtual tmp< fvScalarMatrix > divq(volScalarField &he) const
Return the source term for the energy equation.
Definition: isotropic.C:109
A class for managing temporary objects.
Definition: tmp.H:55
Template function which returns the un-mangled name of a given type. Useful for types which do not ha...
A class for handling words, derived from string.
Definition: word.H:63
label patchi
volScalarField alpha(IOobject("alpha", runTime.name(), mesh, IOobject::READ_IF_PRESENT, IOobject::AUTO_WRITE), lambda *max(Ua &U, zeroSensitivity))
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
fileType type(const fileName &, const bool checkVariants=true, const bool followLink=true)
Return the file type: directory or file.
Definition: POSIX.C:488
fluidMulticomponentThermo & thermo
Definition: createFields.H:15