Loading...
Searching...
No Matches
volMesh.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) 2011-2016 OpenFOAM Foundation
9 Copyright (C) 2021,2025 OpenCFD Ltd.
10-------------------------------------------------------------------------------
11License
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
27Class
28 Foam::volMesh
29
30Description
31 Mesh data needed to do the Finite Volume discretisation.
32
33\*---------------------------------------------------------------------------*/
34
35#ifndef Foam_volMesh_H
36#define Foam_volMesh_H
37
38#include "GeoMesh.H"
39#include "fvMesh.H"
40#include "primitiveMesh.H"
41
42// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
43
44namespace Foam
45{
46
47/*---------------------------------------------------------------------------*\
48 Class volMesh Declaration
49\*---------------------------------------------------------------------------*/
50
51class volMesh
52:
53 public GeoMesh<fvMesh>
54{
55public:
56
57 // Constructors
58
59 //- Construct from fvMesh reference
60 explicit volMesh(const fvMesh& mesh)
61 :
63 {}
64
65
66 // Static Functions
67
68 //- The geometric (internal) mesh size - number of cells.
69 // Method name expected by GeoMesh interface
70 static label size(const polyMesh& mesh) noexcept
71 {
72 return mesh.nCells();
73 }
74
75 //- The geometric boundary size - number of boundary faces.
76 // Method name expected by GeoMesh interface
77 static label boundary_size(const polyMesh& mesh) noexcept
78 {
79 return mesh.nBoundaryFaces();
80 }
81
82
83 // Member Functions
84
85 //- The geometric (internal) mesh size - number of cells.
86 // Method name expected by GeoMesh interface
87 label size() const noexcept
88 {
89 return size(mesh_);
90 }
92 //- Field of cell centres
93 const volVectorField& C() const
94 {
95 return mesh_.C();
96 }
97};
98
100/*---------------------------------------------------------------------------*\
101 Class isVolMesh Declaration
102\*---------------------------------------------------------------------------*/
103
104//- Template argument for type volMesh.
105template<class> struct isVolMesh : std::false_type {};
106
107template<> struct isVolMesh<volMesh> : std::true_type {};
108
109
110// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
111
112} // End namespace Foam
114// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
116#endif
117
118// ************************************************************************* //
const fvMesh & mesh_
Definition GeoMesh.H:54
GeoMesh(const fvMesh &mesh)
Definition GeoMesh.H:70
Mesh data needed to do the Finite Volume discretisation.
Definition fvMesh.H:85
Mesh consisting of general polyhedral cells.
Definition polyMesh.H:79
Mesh data needed to do the Finite Volume discretisation.
Definition volMesh.H:47
static label boundary_size(const polyMesh &mesh) noexcept
The geometric boundary size - number of boundary faces.
Definition volMesh.H:78
const volVectorField & C() const
Field of cell centres.
Definition volMesh.H:99
static label size(const polyMesh &mesh) noexcept
The geometric (internal) mesh size - number of cells.
Definition volMesh.H:68
label size() const noexcept
The geometric (internal) mesh size - number of cells.
Definition volMesh.H:91
volMesh(const fvMesh &mesh)
Construct from fvMesh reference.
Definition volMesh.H:55
dynamicFvMesh & mesh
Namespace for OpenFOAM.
GeometricField< vector, fvPatchField, volMesh > volVectorField
const direction noexcept
Definition scalarImpl.H:265
Template argument for type volMesh.
Definition volMesh.H:113