70 lines
2.0 KiB
C++
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;
|
|
#};
|
|
|
|
// ************************************************************************* //
|