Files
OpenFOAM-12/etc/caseDicts/functionTemplates/printAtStart
2024-07-06 16:02:47 +01:00

70 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 to standard output before the time loop
\*---------------------------------------------------------------------------*/
libs ("libutilityFunctionObjects.so");
type coded;
// executeAtStart is on (by default) so calls the execute function once, with:
executeControl none;
// Parameters, which can be read from other files using macro expansions, e.g.
// magU ${${FOAM_CASE}/0/U!Uinlet};
diameter 2;
codeInclude
#{
// Header files for classes and functions
#include "constants.H"
using namespace Foam::constant::mathematical;
#};
// 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
#{
// Member data, must be null constructed, e.g. using autoPtr<...>
autoPtr<scalar> radius;
#};
codeRead
#{
// Initialisation of data using "new" operator
// Note: divisions "/" require surrounding spaces with macro-expanded ($)
// variables, since "/" is the scoping operator, see magU above
radius = new scalar($diameter / 2.0);
#};
codeExecute
#{
// Print to standard output
const fvPatch& patch = mesh().boundary()[0];
Info<< nl << "Some area = " << pi*sqr(radius) << nl
<< "Area of patch '" << patch.name() << "' = " << gSum(patch.magSf())
<< nl << endl;
#};
// ************************************************************************* //