/*---------------------------------------------------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2006-7 H. Jasak All rights reserved \\/ M anipulation | ------------------------------------------------------------------------------- License This file is part of OpenFOAM. OpenFOAM is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. OpenFOAM is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenFOAM; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Class mixerGgiFvMesh_modified Description Simple mixer mesh using a GGI interface Author Hrvoje Jasak, Wikki Ltd. All rights reserved. SourceFiles mixerGgiFvMesh_modified.C \*---------------------------------------------------------------------------*/ #ifndef mixerGgiFvMesh_modified_H #define mixerGgiFvMesh_modified_H #include "dynamicFvMesh.H" #include "cylindricalCS.H" //globale variablen für momente! // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam { /*---------------------------------------------------------------------------*\ Class mixerGgiFvMesh_modified Declaration \*---------------------------------------------------------------------------*/ class mixerGgiFvMesh_modified : public dynamicFvMesh { // Private data //- Motion dictionary dictionary dict_; //- Coordinate system autoPtr csPtr_; // - Rotational speed in rotations per minute (rpm) scalar rpm_; // - Rotational speed in rotations per minute (rpm) around X scalar rpmX_; // - Rotational speed in rotations per minute (rpm) around Y scalar rpmY_; // - Rotational speed in rotations per minute (rpm) around Z scalar rpmZ_; // - mass moment of inertia (IXX) double IXX_; // - mass moment of inertia (IXY) double IXY_; // - mass moment of inertia (IXZ) double IXZ_; // - mass moment of inertia (IYY) double IYY_; // - mass moment of inertia (IYZ) double IYZ_; // - mass moment of inertia (IZZ) double IZZ_; // - determinant of moment of inertia tensor double detI_; // - component XX of inverse of moment of inertia tensor double iIXX_; // - component XY of inverse of moment of inertia tensor double iIXY_; // - component XZ of inverse of moment of inertia tensor double iIXZ_; // - component YY of inverse of moment of inertia tensor double iIYY_; // - component YZ of inverse of moment of inertia tensor double iIYZ_; // - component ZZ of inverse of moment of inertia tensor double iIZZ_; // - moment of acceleration (MXX) double MXX_; // - max moment of acceleration (MaxMXX) double MaxMXX; // - moment of acceleration (MYY) double MYY_; // - max moment of acceleration (MaxMYY) double MaxMYY; // - moment of acceleration (MZZ) double MZZ_; // - max moment of acceleration (MaxMZZ) double MaxMZZ; // - acceleration by moment double rpm_alpha; // - acceleration by moment around X double rpmX_alpha; // - acceleration by moment around Y double rpmY_alpha; // - acceleration by moment around Z double rpmZ_alpha; //- Markup field for points. Moving points marked with 1 mutable scalarField* movingPointsMaskPtr_; // Private Member Functions //- Disallow default bitwise copy construct mixerGgiFvMesh_modified(const mixerGgiFvMesh_modified&); //- Disallow default bitwise assignment void operator=(const mixerGgiFvMesh_modified&); //- Add mixer zones void addZonesAndModifiers(); //- Calculate moving masks void calcMovingMasks() const; //- Return moving points mask const scalarField& movingPointsMask() const; public: //- Runtime type information TypeName("mixerGgiFvMesh_modified"); // Constructors //- Construct from IOobject explicit mixerGgiFvMesh_modified(const IOobject& io); // Destructor virtual ~mixerGgiFvMesh_modified(); // Member Functions //- Return coordinate system const coordinateSystem& cs() const { return csPtr_(); } //- Update the mesh for both mesh motion virtual bool update(); }; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // } // End namespace Foam // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #endif // ************************************************************************* //