Initial commit for version 2.0.x patch release
[OpenFOAM-2.0.x.git] / applications / utilities / preProcessing / boxTurb / boxTurb.C
blob3d6dc8e68fc4db6c0162efa7be6a9e42ee8359eb
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright (C) 2004-2011 OpenCFD Ltd.
6      \\/     M anipulation  |
7 -------------------------------------------------------------------------------
8 License
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
19     for more details.
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/>.
24 Application
25     boxTurb3D
27 Description
28     Makes a box of turbulence which conforms to a given energy
29     spectrum and is divergence free.
31 \*---------------------------------------------------------------------------*/
33 #include "fvCFD.H"
34 #include "graph.H"
35 #include "OFstream.H"
36 #include "Kmesh.H"
37 #include "turbGen.H"
38 #include "calcEk.H"
41 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
43 int main(int argc, char *argv[])
45     argList::noParallel();
46     #include "setRootCase.H"
48     #include "createTime.H"
49     #include "createMesh.H"
50     #include "createFields.H"
51     #include "readBoxTurbDict.H"
54     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
56     Kmesh K(mesh);
58     turbGen Ugen(K, Ea, k0);
60     U.internalField() = Ugen.U();
61     U.correctBoundaryConditions();
63     Info<< "k("
64          << runTime.timeName()
65          << ") = "
66          << 3.0/2.0*average(magSqr(U)).value() << endl;
68     U.write();
70     calcEk(U, K).write
71     (
72         runTime.path()/"graphs"/runTime.timeName(),
73         "Ek",
74         runTime.graphFormat()
75     );
77     Info<< "end" << endl;
79     return 0;
83 // ************************************************************************* //