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-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::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  );
78 
79 
80  //- Destructor
81  virtual ~isotropic()
82  {}
83 
84 
85  // Member Functions
86 
87  //- Const access to the coefficients dictionary
88  virtual const dictionary& coeffDict() const;
89 
90  //- Read thermophysicalTransport dictionary
91  virtual bool read();
92 
93  //- Return the heat flux [W/m^2]
94  virtual tmp<surfaceScalarField> q() const;
95 
96  //- Return null patch heat flux correction [W/m^2]
97  virtual tmp<scalarField> qCorr(const label patchi) const;
98 
99  //- Return the source term for the energy equation
100  virtual tmp<fvScalarMatrix> divq(volScalarField& he) const;
101 
102  //- Correct the isotropic viscosity
103  virtual void predict();
104 };
105 
106 
107 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
108 
109 } // End namespace solidThermophysicalTransportModels
110 } // End namespace Foam
111 
112 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
113 
114 #ifdef NoRepository
115  #include "isotropic.C"
116 #endif
117 
118 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
119 
120 #endif
121 
122 // ************************************************************************* //
Generic GeometricField class.
A list of keyword definitions, which are a keyword followed by any number of values (e....
Definition: dictionary.H:162
Base-class for solid thermodynamic properties.
Definition: solidThermo.H:59
Solid thermophysical transport model for isotropic thermal conductivity.
Definition: isotropic.H:58
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:91
virtual void predict()
Correct the isotropic viscosity.
Definition: isotropic.C:119
virtual const dictionary & coeffDict() const
Const access to the coefficients dictionary.
Definition: isotropic.C:59
isotropic(const alphaField &alpha, const solidThermo &thermo)
Construct from solid thermophysical properties.
Definition: isotropic.C:37
virtual tmp< surfaceScalarField > q() const
Return the heat flux [W/m^2].
Definition: isotropic.C:76
TypeName("isotropic")
Runtime type information.
virtual bool read()
Read thermophysicalTransport dictionary.
Definition: isotropic.C:67
virtual tmp< fvScalarMatrix > divq(volScalarField &he) const
Return the source term for the energy equation.
Definition: isotropic.C:103
A class for managing temporary objects.
Definition: tmp.H:55
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
thermo he()
fluidMulticomponentThermo & thermo
Definition: createFields.H:31