Test-volPointInterpolation.C
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration |
5  \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8 License
9  This file is part of OpenFOAM.
10 
11  OpenFOAM is free software: you can redistribute it and/or modify it
12  under the terms of the GNU General Public License as published by
13  the Free Software Foundation, either version 3 of the License, or
14  (at your option) any later version.
15 
16  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
19  for more details.
20 
21  You should have received a copy of the GNU General Public License
22  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
23 
24 Application
25  volPointInterpolationTest
26 
27 \*---------------------------------------------------------------------------*/
28 
29 #include "fvCFD.H"
30 #include "volPointInterpolation.H"
31 
32 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
33 
34 int main(int argc, char *argv[])
35 {
36  #include "setRootCase.H"
37 
38  #include "createTime.H"
39  #include "createMesh.H"
40 
41  Info<< "Reading field p\n" << endl;
43  (
44  IOobject
45  (
46  "p",
47  runTime.timeName(),
48  mesh,
49  IOobject::MUST_READ,
50  IOobject::AUTO_WRITE
51  ),
52  mesh
53  );
54 
55  Info<< "Reading field U\n" << endl;
57  (
58  IOobject
59  (
60  "U",
61  runTime.timeName(),
62  mesh,
63  IOobject::MUST_READ,
64  IOobject::AUTO_WRITE
65  ),
66  mesh
67  );
68 
69  const pointMesh& pMesh = pointMesh::New(mesh);
70  const pointBoundaryMesh& pbm = pMesh.boundary();
71 
72  Info<< "pointMesh boundary" << nl;
73  forAll(pbm, patchI)
74  {
75  Info<< "patch=" << pbm[patchI].name()
76  << ", type=" << pbm[patchI].type()
77  << ", coupled=" << pbm[patchI].coupled()
78  << endl;
79  }
80 
82 
83 
84  pointScalarField pp(pInterp.interpolate(p));
85  Info<< pp.name() << " boundary" << endl;
86  forAll(pp.boundaryField(), patchI)
87  {
88  Info<< pbm[patchI].name() << " coupled="
89  << pp.boundaryField()[patchI].coupled()<< endl;
90  }
91 
92  pp.write();
93 
94  pointVectorField pU(pInterp.interpolate(U));
95  pU.write();
96 
97  return 0;
98 }
99 
100 
101 // ************************************************************************* //
Foam::IOobject
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
Definition: IOobject.H:91
Foam::pointMesh::boundary
const pointBoundaryMesh & boundary() const
Return reference to boundary mesh.
Definition: pointMesh.H:106
p
p
Definition: pEqn.H:62
Foam::compressible::New
autoPtr< BasicCompressibleTurbulenceModel > New(const volScalarField &rho, const volVectorField &U, const surfaceScalarField &phi, const typename BasicCompressibleTurbulenceModel::transportModel &transport, const word &propertiesName)
Definition: turbulentFluidThermoModel.C:36
forAll
#define forAll(list, i)
Loop across all elements in list.
Definition: UList.H:406
Foam::GeometricField::boundaryField
GeometricBoundaryField & boundaryField()
Return reference to GeometricBoundaryField.
Definition: GeometricField.C:735
Foam::endl
Ostream & endl(Ostream &os)
Add newline and flush stream.
Definition: Ostream.H:251
U
U
Definition: pEqn.H:46
main
int main(int argc, char *argv[])
Definition: Test-volPointInterpolation.C:31
Foam::nl
static const char nl
Definition: Ostream.H:260
Foam::Info
messageStream Info
mesh
dynamicFvMesh & mesh
Definition: createDynamicFvMesh.H:18
Foam::pointMesh
Mesh representing a set of points created from polyMesh.
Definition: pointMesh.H:48
Foam::volPointInterpolation::interpolate
tmp< GeometricField< Type, pointPatchField, pointMesh > > interpolate(const GeometricField< Type, fvPatchField, volMesh > &) const
Interpolate volField using inverse distance weighting.
Definition: volPointInterpolate.C:502
Foam::pointBoundaryMesh
Foam::pointBoundaryMesh.
Definition: pointBoundaryMesh.H:52
volPointInterpolation.H
setRootCase.H
createMesh.H
createTime.H
fvCFD.H
Foam::GeometricField
Generic GeometricField class.
Definition: surfaceFieldsFwd.H:52
Foam::volPointInterpolation
Interpolate from cell centres to points (vertices) using inverse distance weighting.
Definition: volPointInterpolation.H:56