1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
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
13 the Free Software Foundation, either version 3 of the License, or
14 (at your 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, see <http://www.gnu.org/licenses/>.
28 A rotating slider mesh
33 \*---------------------------------------------------------------------------*/
38 #include "topoChangerFvMesh.H"
39 #include "cylindricalCS.H"
41 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
46 // Forward declaration of classes
48 /*---------------------------------------------------------------------------*\
49 Class mixerFvMesh Declaration
50 \*---------------------------------------------------------------------------*/
54 public topoChangerFvMesh
59 dictionary motionDict_;
62 autoPtr<coordinateSystem> csPtr_;
64 // - Rotational speed in rotations per minute (rpm)
67 //- Markup field for points. Moving points marked with 1
68 mutable scalarField* movingPointsMaskPtr_;
71 // Private Member Functions
73 //- Disallow default bitwise copy construct
74 mixerFvMesh(const mixerFvMesh&);
76 //- Disallow default bitwise assignment
77 void operator=(const mixerFvMesh&);
80 //- Add mixer zones and modifiers
81 void addZonesAndModifiers();
83 //- Calculate moving masks
84 void calcMovingMasks() const;
86 //- Return moving points mask
87 const scalarField& movingPointsMask() const;
92 //- Runtime type information
93 TypeName("mixerFvMesh");
98 //- Construct from IOobject
99 explicit mixerFvMesh(const IOobject& io);
103 virtual ~mixerFvMesh();
108 //- Return coordinate system
109 const coordinateSystem& cs() const
114 //- Update the mesh for both mesh motion and topology change
115 virtual bool update();
119 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
121 } // End namespace Foam
123 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
127 // ************************************************************************* //