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 Group
25  grpleastSquares
26 Class
27  Foam::fvsc::leastSquares::leastSquaresStencil
28 Description
29  Realisation least squares method for calculationg of differential operators
30 Source file
31  leastSquaresStencil.C
32 \*---------------------------------------------------------------------------*/
33 
34 
35 #ifndef leastSquaresStencil_H
36 #define leastSquaresStencil_H
37 
38 #include "fvscStencil.H"
39 #include "regIOobject.H"
40 #include "labelList.H"
41 
42 #include "volFields.H"
43 #include "surfaceFields.H"
44 #include "surfaceMesh.H"
45 
46 #include "fvCFD.H"
47 #include "zeroGradientFvPatchFields.H"
48 #include "vector.H"
49 #include "List.H"
50 
51 #include "processorFvPatch.H"
52 #include "leastSquaresBase.H"
53 
54 namespace Foam
55 {
56 
57 namespace fvsc
58 {
59 
60 /*---------------------------------------------------------------------------*\
61  Class leastSquares Declaration
62 \*---------------------------------------------------------------------------*/
63 
64 class leastSquares
65 :
66  public fvscStencil, public leastSquaresBase
67 {
68 
69 public:
70 
71  TypeName ("leastSquares");
72 
73 // Constructors
74 
75  //- Construct from IOobject. Optional flag for if IOobject is the
76  // top level regIOobject.
77  leastSquares(const IOobject&);
78 
79  //- Destructor
80  ~leastSquares();
81 
82  tmp<surfaceVectorField> Grad(const volScalarField& iF);
83 
84  tmp<surfaceTensorField> Grad(const volVectorField& iVF);
85 
86  tmp<surfaceScalarField> Div(const volVectorField& iVF);
87 
88  tmp<surfaceVectorField> Div(const volTensorField& iTF);
89 };
90 
91 } //fvsc
92 
93 } //Foam
94 
95 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
96 
97 #endif
98 
This is a method for calculation the differential operators without tangential derivatives. They are further used in the calculation of the QGD terms.
Definition: fvscStencil.H:38
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.
Methods calculating of differential operators.