Loading...
Searching...
No Matches
surfaceMesh.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 OpenFOAM Foundation
9 Copyright (C) 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::surfaceMesh
29
30Description
31 Mesh data needed to do the Finite Volume discretisation.
32
33\*---------------------------------------------------------------------------*/
34
35#ifndef Foam_surfaceMesh_H
36#define Foam_surfaceMesh_H
37
38#include "GeoMesh.H"
39#include "fvMesh.H"
40#include "primitiveMesh.H"
41
42// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
43
44namespace Foam
45{
46
47/*---------------------------------------------------------------------------*\
48 Class surfaceMesh Declaration
49\*---------------------------------------------------------------------------*/
50
51class surfaceMesh
52:
53 public GeoMesh<fvMesh>
54{
55public:
56
57 // Constructors
58
59 //- Construct surface mesh from fvMesh reference
60 explicit surfaceMesh(const fvMesh& mesh)
61 :
63 {}
64
65
66 // Static Functions
67
68 //- The geometric (internal) size - number of internal faces.
69 // Method name expected by GeoMesh interface
70 static label size(const polyMesh& mesh) noexcept
71 {
72 return mesh.nInternalFaces();
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 mesh size - number of internal faces.
86 // Method name expected by GeoMesh interface
87 label size() const noexcept
88 {
89 return size(mesh_);
90 }
92
93 //- Field of face centres
94 const surfaceVectorField& C() const
95 {
96 return mesh_.Cf();
97 }
98};
99
101// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
102
103} // End namespace Foam
104
105// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
106
107#endif
108
109// ************************************************************************* //
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
static label boundary_size(const polyMesh &mesh) noexcept
The geometric boundary size - number of boundary faces.
Definition surfaceMesh.H:78
const surfaceVectorField & C() const
Field of face centres.
static label size(const polyMesh &mesh) noexcept
The geometric (internal) size - number of internal faces.
Definition surfaceMesh.H:68
label size() const noexcept
The geometric mesh size - number of internal faces.
Definition surfaceMesh.H:91
surfaceMesh(const fvMesh &mesh)
Construct surface mesh from fvMesh reference.
Definition surfaceMesh.H:55
dynamicFvMesh & mesh
Namespace for OpenFOAM.
GeometricField< vector, fvsPatchField, surfaceMesh > surfaceVectorField
const direction noexcept
Definition scalarImpl.H:265