Loading...
Searching...
No Matches
RBFFunction.H
Go to the documentation of this file.
1/*---------------------------------------------------------------------------*\
2 ========= |
3 \\ / F ield | foam-extend: Open Source CFD
4 \\ / O peration | Version: 4.0
5 \\ / A nd | Web: http://www.foam-extend.org
6 \\/ M anipulation | For copyright notice see file Copyright
7-------------------------------------------------------------------------------
8License
9 This file is part of foam-extend.
10
11 foam-extend is free software: you can redistribute it and/or modify it
12 under the terms of the GNU General Public License as published by the
13 Free Software Foundation, either version 3 of the License, or (at your
14 option) any later version.
15
16 foam-extend is distributed in the hope that it will be useful, but
17 WITHOUT ANY WARRANTY; without even the implied warranty of
18 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19 General Public License for more details.
20
21 You should have received a copy of the GNU General Public License
22 along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
23
24Class
25 RBFFunction
26
27Description
28 Radial basis function virtual base class
29
30Author
31 Frank Bos, TU Delft. All rights reserved.
32
33SourceFiles
34 RBFFunction.C
35 newRBFFunction.C
36
37\*---------------------------------------------------------------------------*/
38
39#ifndef RBFFunction_H
40#define RBFFunction_H
41
42#include "typeInfo.H"
43#include "runTimeSelectionTables.H"
44#include "tmp.H"
45#include "autoPtr.H"
46#include "primitiveFields.H"
47
48// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
49
50namespace Foam
51{
52
53/*---------------------------------------------------------------------------*\
54 Class RBFFunction Declaration
55\*---------------------------------------------------------------------------*/
56
58{
59 // Private Member Functions
60
61 //- Disallow copy construct
63
64 //- Disallow default bitwise assignment
65 void operator=(const RBFFunction&);
66
67
68 public:
69
70 //- Runtime type information
71 TypeName("RBFFunction");
72
73
74 // Declare run-time constructor selection table
75
77 (
78 autoPtr,
80 dictionary,
81 (
82 const dictionary& dict
83 ),
84 (dict)
85 );
86
87
88 // Selectors
89
90 //- Return a pointer to the selected RBF function
91 static autoPtr<RBFFunction> New
92 (
93 const word& type,
94 const dictionary& dict
95 );
96
97
98 // Constructors
99
100 //- Construct null
102 {}
103
104 //- Create and return a clone
105 virtual autoPtr<RBFFunction> clone() const = 0;
106
107
108 // Destructor
109
110 virtual ~RBFFunction()
111 {}
112
113
114 // Member Functions
115
116 //- Return RBF weights
117 virtual scalarField weights
118 (
119 const vectorField& controlPoints,
120 const vector& dataPoint
121 ) const = 0;
122};
123
124
125// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
126
127} // End namespace Foam
128
129// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
130
131#endif
132
133// ************************************************************************* //
TypeName("RBFFunction")
virtual autoPtr< RBFFunction > clone() const =0
virtual scalarField weights(const vectorField &controlPoints, const vector &dataPoint) const =0
static autoPtr< RBFFunction > New(const word &type, const dictionary &dict)
declareRunTimeSelectionTable(autoPtr, RBFFunction, dictionary,(const dictionary &dict),(dict))
virtual ~RBFFunction()