/*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org \\ / A nd | Version: dev \\/ M anipulation | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; location "system"; object functions; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // combustionFunctions { // Not possible to test here as it needs a case with a combustion model //#includeFunc Qdot // Not possible to test here as it needs a XiFoam case //#includeFunc XiReactionRate } controlFunctions { #includeFunc stopAtClockTime(stopTime=3600) #includeFunc stopAtFile #includeFunc time #includeFunc writeObjects(kEpsilon:G) } fieldsFunctions { #includeFunc age #includeFunc components(U) #includeFunc CourantNo #includeFunc cylindrical(origin=(0 0 0), axis=(0 0 1), U) #includeFunc ddt(p) #includeFunc div(phi) #includeFunc enstrophy // !!! Takes a list of fields, not a single field like most others. It has // an inconsistent name convention; i.e., "Mean", rather than // "mean()". It also does both "mean" and "prime2Mean". Consider // fixing the output field naming and splitting into separate // configurations for the different outputs. #includeFunc fieldAverage(U, k, epsilon) #includeFunc flowType #includeFunc grad(p) #includeFunc Lambda2 #includeFunc MachNo #includeFunc mag(U) #includeFunc magSqr(U) #includeFunc PecletNo // Not possible to test here as it needs a multiphase case //#includeFunc phaseMap #includeFunc Q #includeFunc randomise(U, magPerturbation=0.1) #includeFunc reconstruct(phi) #includeFunc scale(age, scale=0.1) #includeFunc shearStress #includeFunc streamFunction #includeFunc surfaceInterpolate(rho, result=rhof) #includeFunc totalEnthalpy #includeFunc turbulenceFields(nuEff, R, devTau) #includeFunc turbulenceIntensity #includeFunc vorticity #includeFunc wallHeatFlux #includeFunc wallHeatTransferCoeff(rho=1.225, Cp=1005, Pr=0.7, Prt=0.9) #includeFunc wallShearStress #includeFunc writeCellCentres #includeFunc writeCellVolumes // !!! Only writes the internal parts of vol fields. The name should really // be less general to reflect this; e.g., writeInternalFieldsVTK. However, // a better change would be further library-ise the internals of foamToVTK // and incorporate it into this object so that it writes patches, surface // fields, point fields, lagrangian, etc... Then we could deprecate // foamToVTK in favour of this function. #includeFunc writeVTK(U, p) #includeFunc yPlus } fieldsOperationsFunctions { // Operation sequence to compute normalised direction of velocity // perturbation from mean #includeFunc subtract(U, UMean, result=u) #includeFunc uniform ( fieldType=volScalarField, field=mag(smallU), dimensions=[0 1 -1 0 0 0 0], value=1e-16 ) #includeFunc add(mag(U), mag(smallU), result=stabilise(mag(U))) #includeFunc divide(u, stabilise(mag(U)), result=uFrac) // Operation to compute a tensor by doing an outer vector product #includeFunc multiply(U, u) // Operation sequence to compute the log of temperature divided by an // ambient value #includeFunc uniform ( fieldType=volScalarField, field=Ta, dimensions=[0 0 0 1 0 0 0], value=297 ) #includeFunc divide(T, Ta) #includeFunc log(divide(T,Ta)) } forcesFunctions { #includeFunc forcesIncompressible ( patches=(walls), rhoInf=1.225, CofR=(0 0 0), pitchAxis=(0 1 0) ) #includeFunc forceCoeffsIncompressible ( patches=(walls), magUInf=20, lRef=1, Aref=1, CofR=(0 0 0), liftDir=(0 0 1), dragDir=(1 0 0), pitchAxis=(0 1 0) ) #includeFunc forcesCompressible ( patches=(walls), CofR=(0 0 0), pitchAxis=(0 1 0) ) #includeFunc forceCoeffsCompressible ( patches=(walls), magUInf=20, rhoInf=1.225, lRef=1, Aref=1, CofR=(0 0 0), liftDir=(0 0 1), dragDir=(1 0 0), pitchAxis=(0 1 0) ) // Not possible to test here as it needs a multiphase Euler-Euler case //#includeFunc phaseForces(phase=air) } graphsFunctions { #includeFunc graphUniform ( start=(-0.5 -0.5 0), end=(0.5 0.5 0), nPoints=100, fields=(p U) ) #includeFunc graphCell ( start=(-0.500001 -0.500001 0), end=(0.500001 0.500001 0), fields=(p U) ) #includeFunc graphLayerAverage ( patches=(inlet), axis=x, fields=(p U) ) } lagrangianFunctions { // Not possible to test here as it needs a DSMC case //#includeFunc dsmcFields } numericalFunctions { #includeFunc residuals(p, U, h, k, epsilon) #includeFunc timeStep } pressureFunctions { #includeFunc divide(p, rho, result=kinematic(p)) #includeFunc staticPressureIncompressible(kinematic(p), rhoInf=1.2) #includeFunc totalPressureIncompressible(kinematic(p), rhoInf=1.2) #includeFunc totalPressureCompressible } probesFunctions { #includeFunc probes(points=((-0.2 -0.2 0) (0 0 0) (0.2 0.2 0)), p, U, T) #includeFunc internalProbes(points=((-0.2 -0.2 0) (0.2 0.2 0)), p, U, T) #includeFunc boundaryProbes ( points=((-0.2 -0.2 -0.04) (0.2 0.2 -0.04)), maxDistance=0.02, p, U, T ) #includeFunc uniform ( fieldType=volScalarField, field=alpha.dummy, dimensions=[], value=0.2 ) #includeFunc interfaceHeight ( alpha=alpha.dummy, points=((-0.2 -0.2 0) (0.2 0.2 0)) ) } solversFunctions { #includeFunc scalarTransport(s, schemesField=h) #includeFunc phaseScalarTransport ( s.dummy, solveAlphaPhi=yes, p=p_rgh, rho=rho, schemesField=h ) // Not possible to test here as not compatible with compressible solvers //#includeFunc particles } streamlinesFunctions { #includeFunc streamlinesSphere ( centre=(0 0 0), radius=0.1, nPoints=100, p, U, direction=forward ) #includeFunc streamlinesLine ( start=(-0.5 -0.5 -0.05), end=(0.5 0.5 0.05), nPoints=100, p, U, direction=backward ) #includeFunc streamlinesPatch ( patch=inlet, nPoints=100, p, U ) #includeFunc streamlinesPoints ( points=((-0.2 -0.2 0) (0 0 0) (0.2 0.2 0)) p, U, direction=forward ) } surfaceFunctions { #includeFunc cutPlaneSurface(point=(0 0 0), normal=(0 0 1), p, U) #includeFunc isoSurface(isoField=nut, isoValue=0.1, p, U) #includeFunc patchSurface(patch=walls, p, U) } surfaceFieldValueFunctions { #includeFunc patchAverage(patch=inlet, k) #includeFunc patchIntegrate(patch=inlet, epsilon) #includeFunc patchFlowRate(patch=inlet) #includeFunc patchDifference(patch1=inlet, patch2=outlet, p) #includeFunc faceZoneAverage(faceZone=f0, U) #includeFunc faceZoneFlowRate(faceZone=f0) #includeFunc triSurfaceAverage(triSurface=mid.obj, p) #includeFunc triSurfaceVolumetricFlowRate(triSurface=mid.obj) #includeFunc triSurfaceDifference ( name1=nearInlet.obj, name2=nearOutlet.obj, p ) } volFieldValueFunctions { #includeFunc cellMin(epsilon) #includeFunc cellMax(k) #includeFunc cellMinMag(U, writeLocation=yes) #includeFunc cellMaxMag(U, writeLocation=yes) #includeFunc volAverage(p) #includeFunc volIntegrate(rho) } $combustionFunctions; $controlFunctions; $fieldsFunctions; $fieldsOperationsFunctions; $forcesFunctions; $graphsFunctions; $lagrangianFunctions; $numericalFunctions; $pressureFunctions; $probesFunctions; $solversFunctions; $streamlinesFunctions; $surfaceFunctions; $surfaceFieldValueFunctions; $volFieldValueFunctions; // ************************************************************************* //