DESModelBase.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration |
5  \\ / A nd | www.openfoam.com
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8  Copyright (C) 2015 OpenFOAM Foundation
9  Copyright (C) 2019-2022 OpenCFD Ltd.
10 -------------------------------------------------------------------------------
11 License
12  This file is part of OpenFOAM.
13 
14  OpenFOAM is free software: you can redistribute it and/or modify it
15  under the terms of the GNU General Public License as published by
16  the Free Software Foundation, either version 3 of the License, or
17  (at your option) any later version.
18 
19  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
20  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
21  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22  for more details.
23 
24  You should have received a copy of the GNU General Public License
25  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
26 
27 Class
28  Foam::DESModelBase
29 
30 Description
31  Base class for DES models providing an interfaces to DES fields.
32 
33 SourceFiles
34  DESModelBase.C
35 
36 \*---------------------------------------------------------------------------*/
37 
38 #ifndef Foam_DESModelBase_H
39 #define Foam_DESModelBase_H
40 
41 #include "className.H"
42 #include "tmp.H"
43 #include "volFieldsFwd.H"
44 
45 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
46 
47 namespace Foam
48 {
49 
50 /*---------------------------------------------------------------------------*\
51  class DESModelBase Declaration
52 \*---------------------------------------------------------------------------*/
53 
54 class DESModelBase
55 {
56 public:
57 
58  //- Runtime type information
59  ClassName("DESModelBase");
60 
61  // Constructors
62 
63  //- Constructor
64  DESModelBase() noexcept = default;
65 
66 
67  //- Destructor
68  virtual ~DESModelBase() = default;
69 
70 
71  // Public Member Functions
72 
73  //- Return the LES field indicator
74  virtual tmp<volScalarField> LESRegion() const = 0;
75 
76  //- Return the shielding function
77  virtual tmp<volScalarField> fd() const = 0;
78 };
79 
80 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
81 
82 } // End namespace Foam
83 
84 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
85 
86 #endif
87 
88 // ************************************************************************* //
Forwards and collection of common volume field types.
Base class for DES models providing an interfaces to DES fields.
Definition: DESModelBase.H:49
ClassName("DESModelBase")
Runtime type information.
DESModelBase() noexcept=default
Constructor.
const direction noexcept
Definition: Scalar.H:258
virtual ~DESModelBase()=default
Destructor.
virtual tmp< volScalarField > LESRegion() const =0
Return the LES field indicator.
Macro definitions for declaring ClassName(), NamespaceName(), etc.
A class for managing temporary objects.
Definition: HashPtrTable.H:50
virtual tmp< volScalarField > fd() const =0
Return the shielding function.
Namespace for OpenFOAM.