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 Automatic simplified mesh motion for "box-in-mesh" cases. Here,
29 a direction of motion is defined, together with motion amplitude
30 and frequency. The domain is separated into three parts, where
31 the middle part moves according to the prescribed motion law.
32 Parts of the mesh before and after the obstacle are scaled.
38 Hrvoje Jasak, Wikki Ltd. All rights reserved
40 \*---------------------------------------------------------------------------*/
42 #ifndef movingBoxFvMesh_H
43 #define movingBoxFvMesh_H
45 #include "dynamicFvMesh.H"
46 #include "dictionary.H"
47 #include "pointIOField.H"
49 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
54 /*---------------------------------------------------------------------------*\
55 Class movingBoxFvMesh Declaration
56 \*---------------------------------------------------------------------------*/
64 //- Moving mesh dictionary
65 dictionary movingMeshCoeffs_;
67 //- Motion box and direction
68 vector splitDirection_;
79 //- Stationary point location
80 pointIOField stationaryPoints_;
82 //- Vertex markup field
83 scalarField motionMarkup_;
86 // Private Member Functions
88 //- Disallow default bitwise copy construct
89 movingBoxFvMesh(const movingBoxFvMesh&);
91 //- Disallow default bitwise assignment
92 void operator=(const movingBoxFvMesh&);
97 //- Runtime type information
98 TypeName("movingBoxFvMesh");
103 //- Construct from IOobject
104 movingBoxFvMesh(const IOobject& io);
109 virtual ~movingBoxFvMesh();
114 //- Update the mesh for both mesh motion and topology change
115 virtual bool update();
119 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
121 } // End namespace Foam
123 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
127 // ************************************************************************* //