Remove trailing whitespace systematically
[foam-extend-3.2.git] / applications / utilities / postProcessing / viscoelastic / stressDifferences / stressDifferences.C
blob3b2dbb16da7087d0cf808f17e8273da235a84d0f
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | foam-extend: Open Source CFD
4    \\    /   O peration     |
5     \\  /    A nd           | For copyright notice see file Copyright
6      \\/     M anipulation  |
7 -------------------------------------------------------------------------------
8 License
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/>.
24 Application
25     stressDifferences
27 Description
28     Calculates and writes the first (N1) and second (N2) stress difference
29     for each time.
31 Author
32     Jovani L. Favero.  All rights reserved
34 \*---------------------------------------------------------------------------*/
36 #include "fvCFD.H"
38 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
40 int main(int argc, char *argv[])
43 #   include "addTimeOptions.H"
44 #   include "setRootCase.H"
46 #   include "createTime.H"
48     // Get times list
49     instantList Times = runTime.times();
51     // set startTime and endTime depending on -time and -latestTime options
52 #   include "checkTimeOptions.H"
54     runTime.setTime(Times[startTime], startTime);
56 #   include "createMesh.H"
58     for (label i=startTime; i<endTime; i++)
59     {
60         runTime.setTime(Times[i], i);
62         Info<< "Time = " << runTime.timeName() << endl;
64         mesh.readUpdate();
66         IOobject tauHeader
67         (
68             "tau",
69             runTime.timeName(),
70             mesh,
71             IOobject::MUST_READ
72         );
74         // Check tau exists
75         if (tauHeader.headerOk())
76         {
77             mesh.readUpdate();
79             Info<< "    Reading tau" << endl;
80             volSymmTensorField tau(tauHeader, mesh);
83             Info<< "    Calculating N1"<< endl;
84             volScalarField N1
85             (
86                 IOobject
87                 (
88                     "N1",
89                      runTime.timeName(),
90                      mesh,
91                      IOobject::NO_READ
92                 ),
93                 tau.component(symmTensor::XX) - tau.component(symmTensor::YY)
94             );
95             N1.write();
97             Info<< "    Calculating N2"<< endl;
98             volScalarField N2
99             (
100                 IOobject
101                 (
102                     "N2",
103                     runTime.timeName(),
104                     mesh,
105                     IOobject::NO_READ
106                 ),
107                 tau.component(symmTensor::YY) - tau.component(symmTensor::ZZ)
108             );
109             N2.write();
110         }
111         else
112         {
113             Info<< "    No tau" << endl;
114         }
116         Info<< endl;
118     } //for time
120     Info<< endl;
121     Info<< "    End"<< nl << endl;
123     return(0);
127 // ************************************************************************* //