1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | foam-extend: Open Source CFD
4 \\ / O peration | Version: 3.2
5 \\ / A nd | Web: http://www.foam-extend.org
6 \\/ M anipulation | For copyright notice see file Copyright
7 -------------------------------------------------------------------------------
9 This file is part of foam-extend.
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.
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.
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/>.
28 Simple mixer mesh using an ggi interfaces
30 This tool is used to have multiple rotating regions around the same origin
31 with different rpms. Creating the cellZones is not implemented
33 The steps to obtain the cellZones and faceZones are:
35 1) use regionCellSets utility. With this command you can have different
36 cellSets for each region.
38 2) run command "setsToZones -noFlipMap". After this command the
39 cellSets are transformed to cellZones.
41 4) for each rotating cellZone add an entry in rpm subDict of
42 constant/dynamicMeshDict
44 5) in parallel you need to create from all rotating coupled-interface
45 patches faceZones (if you use a ggi interface between you have already
46 created these faceZones), Then you need to specify these faceZones with
47 the corresponding rpm in the additional "slider" subDict in
48 constant/dynamicMeshDict
51 Hrvoje Jasak, Wikki Ltd. All rights reserved.
52 Fethi Tekin, All rights reserved.
53 Oliver Borm, All rights reserved.
58 \*---------------------------------------------------------------------------*/
63 #include "dynamicFvMesh.H"
64 #include "cylindricalCS.H"
66 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
71 /*---------------------------------------------------------------------------*\
72 Class turboFvMesh Declaration
73 \*---------------------------------------------------------------------------*/
87 //- Markup field for points.
88 mutable vectorField* movingPointsPtr_;
91 // Private Member Functions
93 //- Disallow default bitwise copy construct
94 turboFvMesh(const turboFvMesh&);
96 //- Disallow default bitwise assignment
97 void operator=(const turboFvMesh&);
99 //- Calculate moving Points
100 void calcMovingPoints() const;
102 //- Return moving points
103 const vectorField& movingPoints() const;
108 //- Runtime type information
109 TypeName("turboFvMesh");
114 //- Construct from IOobject
115 explicit turboFvMesh(const IOobject& io);
120 virtual ~turboFvMesh();
125 //- Return coordinate system
126 const cylindricalCS& cs() const
131 //- Update the mesh for both mesh motion
132 virtual bool update();
136 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
138 } // End namespace Foam
140 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
144 // ************************************************************************* //