nonUniformField.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) 2012-2015 OpenFOAM Foundation
9 Copyright (C) 2019-2020 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::nonUniformField
29
30Description
31
32SourceFiles
33 nonUniformField.C
34
35\*---------------------------------------------------------------------------*/
36
37#ifndef nonUniformField_H
38#define nonUniformField_H
39
40#include "triSurfaceFields.H"
44
45// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
46
47namespace Foam
48{
49
50class triSurfaceMesh;
51class searchableSurface;
52
53/*---------------------------------------------------------------------------*\
54 Class nonUniformField Declaration
55\*---------------------------------------------------------------------------*/
58:
60{
61
62protected:
63
64 // Typedefs
65
67 <
70
71
72 // Private data
79
80
81public:
82
83 //- Runtime type information
84 TypeName("nonUniformField");
85
86
87 // Constructors
88
89 //- Construct from components
91 (
92 const dictionary& cellSizeFunctionDict,
93 const searchableSurface& surface,
94 const scalar& defaultCellSize
95 );
96
97
98 //- Destructor
99 virtual ~nonUniformField() = default;
100
101
102 // Member Functions
103
104 // Query
105
106 //- Return the interpolated cell size for a point in the given
107 // surface triangle
108 virtual scalar interpolate
109 (
110 const point& pt,
111 const label index
112 ) const;
113};
114
115
116// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
117
118} // End namespace Foam
119
120// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
121
122#endif
123
124// ************************************************************************* //
Interpolation class within a primitive patch. Allows interpolation from points to faces and vice vers...
A list of faces which address into the list of points.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Definition: autoPtr.H:66
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:126
virtual ~nonUniformField()=default
Destructor.
TypeName("nonUniformField")
Runtime type information.
const triSurfaceMesh & surfaceTriMesh_
virtual scalar interpolate(const point &pt, const label index) const
Return the interpolated cell size for a point in the given.
nonUniformField(const dictionary &cellSizeFunctionDict, const searchableSurface &surface, const scalar &defaultCellSize)
Construct from components.
triSurfacePointScalarField pointCellSize_
PrimitivePatchInterpolation< PrimitivePatch<::Foam::List< labelledTri >, pointField > > primitivePatchInterpolation
autoPtr< cellSizeCalculationType > cellSizeCalculationType_
Base class of (analytical or triangulated) surface. Encapsulates all the search routines....
Abstract base class for specifying target cell sizes.
IOoject and searching on triSurface.
Namespace for OpenFOAM.
Fields for triSurface.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition: typeInfo.H:73