All Classes Namespaces Files Functions Variables Typedefs Friends Macros Groups
leastSquaresStencil.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) 2019 OpenCFD Ltd.
10  Copyright (C) 2016-2019 ISP RAS (www.ispras.ru) UniCFD Group (www.unicfd.ru)
11 -------------------------------------------------------------------------------
12 License
13  This file is part of QGDsolver library, based on OpenFOAM+.
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  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21  for more details.
22  You should have received a copy of the GNU General Public License
23  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
24 Class
25  Foam::fvsc::leastSquares::leastSquaresStencil
26 Description
27  Realisation least squares method for calculationg of differential operators
28 Source file
29  leastSquaresStencil.C
30 \*---------------------------------------------------------------------------*/
31 
32 
33 #ifndef leastSquaresStencil_H
34 #define leastSquaresStencil_H
35 
36 #include "fvscStencil.H"
37 #include "regIOobject.H"
38 #include "labelList.H"
39 
40 #include "volFields.H"
41 #include "surfaceFields.H"
42 #include "surfaceMesh.H"
43 
44 #include "fvCFD.H"
45 #include "zeroGradientFvPatchFields.H"
46 #include "vector.H"
47 #include "List.H"
48 
49 #include "processorFvPatch.H"
50 #include "leastSquaresBase.H"
51 
52 namespace Foam
53 {
54 
55 namespace fvsc
56 {
57 
58 /*---------------------------------------------------------------------------*\
59  Class leastSquares Declaration
60 \*---------------------------------------------------------------------------*/
61 
62 class leastSquares
63 :
64  public fvscStencil, public leastSquaresBase
65 {
66 
67 public:
68 
69  TypeName ("leastSquares");
70 
71 // Constructors
72 
73  //- Construct from IOobject. Optional flag for if IOobject is the
74  // top level regIOobject.
75  leastSquares(const IOobject&);
76 
77  //- Destructor
78  ~leastSquares();
79 
80  tmp<surfaceVectorField> Grad(const volScalarField& iF);
81 
82  tmp<surfaceTensorField> Grad(const volVectorField& iVF);
83 
84  tmp<surfaceScalarField> Div(const volVectorField& iVF);
85 
86  tmp<surfaceVectorField> Div(const volTensorField& iTF);
87 };
88 
89 } //fvsc
90 
91 } //Foam
92 
93 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
94 
95 #endif
96 
TypeName("leastSquares")
tmp< surfaceVectorField > Grad(const volScalarField &iF)
Calculate gradient of volume scalar function on the faces.
tmp< surfaceScalarField > Div(const volVectorField &iVF)
Calculate divergence of volume vector field on the faces.
Base methods for calculating weights and finding neighbours.
leastSquares(const IOobject &)
Construct from IOobject. Optional flag for if IOobject is the.
fvscStencil(const IOobject &io)
Construct from components.
Methods calculating of differential operators.