84 lines
2.0 KiB
C++
84 lines
2.0 KiB
C++
/*--------------------------------*- C++ -*----------------------------------*\
|
|
========= |
|
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
\\ / O peration | Website: https://openfoam.org
|
|
\\ / A nd | Version: 12
|
|
\\/ M anipulation |
|
|
-------------------------------------------------------------------------------
|
|
Description
|
|
Prints data to a log file
|
|
|
|
\*---------------------------------------------------------------------------*/
|
|
|
|
libs ("libutilityFunctionObjects.so");
|
|
type coded;
|
|
|
|
// Write at the end of every time step but not time zero
|
|
executeAtStart no;
|
|
writeControl timeStep;
|
|
writeInterval 1;
|
|
|
|
// Parameters, which can be read from other files using macro expansions, e.g.
|
|
// magU ${${FOAM_CASE}/0/U!Uinlet};
|
|
rho 1.2;
|
|
|
|
codeInclude
|
|
#{
|
|
// Header files for classes and functions
|
|
#include "OFstream.H"
|
|
#include "OSspecific.H"
|
|
#include "fvc.H"
|
|
#};
|
|
|
|
// Header file paths for Make/options, e.g. for momentum transport models
|
|
// Example:
|
|
// -I$(LIB_SRC)/MomentumTransportModels/incompressible/lnInclude
|
|
codeOptions
|
|
#{
|
|
#};
|
|
|
|
// Linked libraries for Make/options, e.g. for momentum transport models
|
|
// Not usually required since libraries are already linked to the solver
|
|
// Example:
|
|
// -lincompressibleMomentumTransportModels
|
|
codeLibs
|
|
#{
|
|
#};
|
|
|
|
codeData
|
|
#{
|
|
autoPtr<OFstream> file;
|
|
autoPtr<scalar> rho;
|
|
#};
|
|
|
|
codeRead
|
|
#{
|
|
fileName dir
|
|
(
|
|
mesh().time().globalPath()/
|
|
"postProcessing"/
|
|
mesh().time().name()/
|
|
name()
|
|
);
|
|
|
|
mkDir(dir);
|
|
file = new OFstream(dir/"data");
|
|
|
|
// Print a short file header
|
|
file()<< "#time" << tab << "KE" << endl;
|
|
|
|
rho = new scalar($rho);
|
|
#};
|
|
|
|
codeWrite
|
|
#{
|
|
const volVectorField& U = mesh().lookupObject<volVectorField>("U");
|
|
|
|
scalar KE = 0.5*rho*fvc::domainIntegrate(magSqr(U)).value();
|
|
|
|
// Print time-value data in two columns
|
|
file()<< mesh().time().userTimeValue() << tab << KE << endl;
|
|
#};
|
|
|
|
// ************************************************************************* //
|