1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 \\ / A nd | Copyright (C) 2006-7 H. Jasak All rights reserved
7 -------------------------------------------------------------------------------
9 This file is part of OpenFOAM.
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 the
13 Free Software Foundation; either version 2 of the License, or (at your
14 option) any later version.
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
21 You should have received a copy of the GNU General Public License
22 along with OpenFOAM; if not, write to the Free Software Foundation,
23 Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
29 Simple mixer mesh using an ggi interfaces
31 This tool is used to have multiple rotating regions around the same origin
32 with different rpms. Creating the cellZones is not implemented
34 The steps to obtain the cellZones and faceZones are:
36 1) use regionCellSets utility. With this command you can have different
37 cellSets for each region.
39 2) run command "setsToZones -noFlipMap". After this command the
40 cellSets are transformed to cellZones.
42 4) for each rotating cellZone add an entry in rpm subDict of
43 constant/dynamicMeshDict
45 5) in parallel you need to create from all rotating coupled-interface
46 patches faceZones (if you use a ggi interface between you have already
47 created these faceZones), Then you need to specify these faceZones with
48 the corresponding rpm in the additional "slider" subDict in
49 constant/dynamicMeshDict
52 Hrvoje Jasak, Wikki Ltd. All rights reserved.
53 Fethi Tekin, All rights reserved.
54 Oliver Borm, All rights reserved.
59 \*---------------------------------------------------------------------------*/
64 #include "dynamicFvMesh.H"
65 #include "cylindricalCS.H"
67 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
72 /*---------------------------------------------------------------------------*\
73 Class turboFvMesh Declaration
74 \*---------------------------------------------------------------------------*/
88 //- Markup field for points.
89 mutable vectorField* movingPointsPtr_;
92 // Private Member Functions
94 //- Disallow default bitwise copy construct
95 turboFvMesh(const turboFvMesh&);
97 //- Disallow default bitwise assignment
98 void operator=(const turboFvMesh&);
100 //- Calculate moving Points
101 void calcMovingPoints() const;
103 //- Return moving points
104 const vectorField& movingPoints() const;
109 //- Runtime type information
110 TypeName("turboFvMesh");
115 //- Construct from IOobject
116 explicit turboFvMesh(const IOobject& io);
121 virtual ~turboFvMesh();
126 //- Return coordinate system
127 const cylindricalCS& cs() const
132 //- Update the mesh for both mesh motion
133 virtual bool update();
137 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
139 } // End namespace Foam
141 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
145 // ************************************************************************* //