TRACE User Guide  TRACE Version 9.6.1
Physical Modelling

This page describes control file commands related to general physical modelling, e.g. source term models.

StartFilmCoolingModel

Starts the film cooling model.

Usage
StartFilmCoolingModel <numberOfCoolingHoles> <pathToDefinitionFile> <pathToOutputFile> [updateSourceTermsInterval numberOfTrajectoryPoints]
Parameters
numberOfCoolingHolesTotal number of cooling holes in the domain
pathToDefinitionFilePath to a file containing the definition for all cooling holes
pathToOutputfilePath where the state of all cooling holes will be written
updateSourceTermsIntervalUpdate source terms only every x iterations [Optional]
numberOfTrajectoryPointsNumber of points used to discretize the trajectories [Optional]

If numberOfTrajectoryPoints or updateSourceTermsInterval is given, the other one has to be specified as well. A good default for numberOfPointsTrajectory is 25. The maximum is 100, but this many trajectory points should be considered excessive. The model can never benefit from using more points than there are cells along the trajectory. Even for a very fine grid (e.g. 20 - 30 cells per cooling hole along any direction) less than 60 points should be sufficient. Keeping it low improves the performance slightly.

updateSourceTermsInterval can be any natural number, but it should be as high as possible while still giving sensible results. The film cooling model updates itself every iteration if 1 or nothing is specified. This can be very expensive and should not be necessary. For RANS simulation no update may be required at all. In this case, set updateSourceTermsInterval to something larger than the expected number of iterations. This approach is cheap and robust, but it can not resolve the influence of the film cooling holes on each other. Each cooling hole located upstream may change the inflow conditions for cooling holes downstream. Choosing a updateSourceTermsInterval of roughly the expected number of iterations divided by the number of cooling hole rows should allow the model to represent some of those interactions. For multi stage simulations, choose the lowest updateSourceTermsInterval of all rows. However, whether or not the model actually reacts in any meaningful way is not verified yet. Also, results may be different for different cooling hole types.

In unsteady simulations those interactions may be more interesting. The film cooling model is available for both URANS and Harmonic Balance simulations. But the updateSourceTermsInterval should be chosen differently between those methods. For URANS updateSourceTermsInterval specifies the number of physical time steps between recalculation of the source terms. Usually a relatively low number should be chosen, depending on the number of physical time steps per period. As a guideline, about 10 - 20 updates per period are a good starting value. In the context of HB simulations, updateSourceTermsInterval again means pseudo-time iterations. The update is done for all sampling points at the specified interval. Therefore, the computational cost of the update is high but frequent updates unnecessary. Roughly 5 to 10 updates during the run of the HB simulation should be sufficient for most simulations.

The film cooling model is also controlled by a separate definition file which contains the necessary data on each cooling hole. Here is an example hole definition file:

#-------------------------------------------------------------------------------------------------------------------
# Mass, Ttc, Ptc, Xout[mm], Yout[mm], Zout[mm], Xin[mm], Yin[mm], Zin[mm], d[mm], ldcyl, AR, corrNo
#-------------------------------------------------------------------------------------------------------------------
0.0012345 300 150000 0.08091e3 0.26758e3 -0.01702e3 0.07091e3 0.26758e3 -0.00702e3 2 4 3.962 -20
-0.7 300 150000 0.08591e3 0.26758e3 -0.01702e3 0.07591e3 0.26758e3 -0.00702e3 2 8 1 10
Parameters
MassMassflow in kg/s or, if negative, discharge coefficient Cd of this hole. This does not take into account the number of blades for each row.
TtcTotal temperature of the coolant in K
PtcTotal pressure of the coolant in Pa. Only used for massflow calculation with a discharge coefficient.
Xout,Yout,ZoutLocation of the outlet of the cooling hole in mm (hot gas side)
Xin,Yin,zinLocation of the inlet of the cooling hole in mm (plenum side)
dDiameter of the cylindrical part of the hole in mm
ldcylLength to diameter of the cylindrical part of the cooling hole. Only useful for non-cylindrical holes.
ARArea ratio between inlet and outlet of the cooling hole. Only useful for non-cylindrical holes.
corrNoCorrelation number. Defines what type of cooling hole the model approximates and how it does that.

The massflow can be specified in two ways. Either it is given directly in kg/s as a positive number or a discharge coefficient is given together with a total pressure for the coolant. The Ptc field should always be filled, but is only relevant if the massflow is not directly specified, so the first number is negative. If a discharge coefficient is used, TRACE recalculates the massflow with each update of the film cooling model. This allows pressure changes, e.g. due to passing wakes during unsteady calculations, to affect the amount of cooling fluid injected into the domain.

The correlation number "corrNo" is used to choose which type of cooling hole is to be approximated and how. Source terms are always distributed homogeneously among all participating cells, but there are two general ways to determine those cells. Wall bounded source terms are only introduced in cells adjacent to walls. They use negative correlation number for all variants provided with TRACE. Volume sources choose cells in a 3D shape determined by the model parameters. Those 3D shapes may depend on the flow conditions around the cooling hole, in addition to the geometry of the cooling hole. The type of source terms and the parameters are specified in a film cooling model library. The correlation number identifies which of those TRACE uses during the simulation. Additional parameter sets and correlations can be implemented by every user, see Modeling film-cooled flows .

Currently TRACE offers four correlations by default. Some of the correlation numbers are already used, but not distributed with TRACE. corrNo = -10 and corrNo = -20 are wall bounded source terms. -10 approximates a cylindrical film cooling hole and -20 a 777 laid back fan shaped cooling hole. The wall bounded versions performed better in simple validation cases, so it is recommended to use them over the volume source variants corrNo = 1 and corrNo = 10. corrNo 1 is intended for the simulation of cylindrical cooling holes, but frequently provides unphysical solutions. It uses a flow dependent trajectory to determine the 3D shape over which source terms are distributed. This calculation can fail and result in an erratic source term distribution. The problem is less severe when the film cooling model is never updated by setting updateSourceTermsInterval to a value greater than the expected number of iterations. It may be more accurate than the alternative corrnNo 10 for some problems, if it stays stable. corrNo 10 is a simplified formulation originally intended for cylindrical film cooling holes at leading edges. This formulation will generally be very stable, but may provide only a very coarse approximation of cylindrical cooling holes. Currently, it is untested if this or corrNo -10 is the better choice at leading edges.

For non-cylindrical cooling holes, e.g. laid-back fan shaped cooling holes, two additional parameters become relevant. ldcyl and AR stand for "length to diameter cylindrical" and "area ratio". ldcyl is used to specify where the diffuser part of the cooling hole starts in relation to the total length of cooling hole. The area ratio specifies how much the diffuser opens up. AR is calculated by dividing the total area of the hole exit (the surface "replaced" by a cooling hole in the simulation) by the cross section of the cylindrical part. This approach allows the cooling holes to scale with the diameter. Calculating the exact exit area in TRACE is not possible because that would introduce a dependency on which cells are included by the model. Therefore, the same cooling hole geometries could see e.g. different blowing ratios for different positions or grid resolutions. A 777 laid back fan shaped cooling hole has an area ratio of 3.962 if used on a perfectly flat surface. A curved surface may vary this.

The film cooling model outputs data in two ways. Firstly, the resulting temperatures changes should be easily visible in the cgns file. Additionally, the cells that receive a source terms will be marked with a new variable "filmCoolingActive". It will be zero for cells without a source term, otherwise its value will be set to the ID of the associated film cooling hole. Visualizing this output should allow a user to easily identify if the model works where expected and as expected. A second form of output is written to the file specified by pathToOutputFile. This file contains most of the characteristic quantities for each film cooling hole. The following example is shortened:

#
#Final attributes for hole definitions from file:
#cooling.dat
#
#1 2 3 4 5 6 8 11 21 25 29
#X Y Z M DR Ma beta_deg alpha_deg mass flow Ttot corrno
Parameters
X,Y,ZLocation of the outlet of the cooling hole in mm (hot gas side)
MBlowing ratio
DRDensity ratio
MaMach number of the inflow to the cooling hole. This is measured slightly upstream of the cooling hole
beta_degAngle of the inflow, measured between the cooling hole axis and the inflow vector.
alpha_degAngle between the cooling jet and the surface. Usually defined by the hole geometrie and not dependent on the flow
massflow Mass flow exiting the cooling hole in kg/s
TtotTotal temperature of the cooling fluid
corrNoCorrelation number. Defines what type of cooling hole the model approximates and how it does that.

Additional output can be requested with the FilmCoolingWriteTimeseries command. This is intended for URANS simulations where the change of e.g. the mass flow may be interesting. A new file is written per film cooling hole and a new line is appended to every file when the model updates. This may write a lot of data! For Harmonic Balance simulations the important characteristics of every film cooling hole are automatically given for each sampling point.

Using MoveFilmCoolingHolesToSurface is usually necessary and recommended. However, this command may move film cooling holes to unintended positions, if the locations given in the input file and the grid do not match well. So it is recommended to inspect the distribution with the "filmCoolingActive" variable in the 3D cgns file.

Domain
all
Example
all immediate StartFilmCoolingModel 2 holeDef.dat outputFilmCooling.dat
all immediate StartFilmCoolingModel 2 holeDef.dat outputFilmCooling.dat 1000 30
Since
9.2

MoveFilmCoolingHolesToSurface

All film cooling holes too far from a solid surface are relocated to the closest face. This shift is limited to 25 times the diameter of the cooling hole.

Usage
MoveFilmCoolingHolesToSurface
Domain
all
Example
all immediate MoveFilmCoolingHolesToSurface
Since
9.2

WriteFilmCoolingMomentumSources

Writes the momentum source terms per volume into each cell. They can then be plotted as vectors.

Usage
FilmCoolingDetailed3DOutput
Domain
all
Example
all immediate WriteFilmCoolingMomentumSources
Since
9.4

FilmCoolingWriteTimeseries

Writes a time series of all values found in the normal film cooling output file. A new ASCII file is created per film cooling hole. This can quickly create many large files!

Usage
FilmCoolingWriteTimeseries
Domain
all
Example
all iteration 2000 FilmCoolingWriteTimeseries
Since
9.3

useThickenedHoleModel

This model tries to reduce the grid dependency of the film cooling models by artificially increasing the number of cells that get a source term. If there are less than 'MinResolution' cells to resolve the diameter of the cooling hole on the surface, the diameter will be increased until this threshold is reached. This is determined by how many cells a line crosses from side to side. It is a simplified version of the model proposed by Bizzari et al. (https://hal.archives-ouvertes.fr/hal-02049186). The variant implemented here only changes the effective size of the cooling holes and does not set a distribution of velocities mimicking the boundary layer of a film cooling jet.

The model will not be able to give a true grid independent solution, but it is able to get the set-up independent of the grid. We still recommend to properly resolve the film cooling holes, even when using the film cooling model in general and this thickened hole model specifically. However, if the grid resolution is very poor this model should degenerate to a almost homogenous source term on the surface around a set of cooling holes. If the grid is later resolved, the same set-up should be able to properly resolve the individual film cooling holes. For grids that are almost capable to resolve individual cooling holes, the increased diameter should improve the results. Currently it is unclear how many cells are necessary to properly resolve a cooling hole with the film cooling model. Current best guess, derived solely from the work of Bizzari, is 4 cells. That also means 4 may be a good initial guess for 'MinResolution' in this command. This may be updated in the future.

Using this model will increase the diameter to at most 10 times the original diameter. This is very large if your intention was to capture the effects of individual cooling holes. So check the output for unexpectedly large new diameters.

Usage
useThickenedHoleModel <MinResolution>
Domain
all
Example
all immediate useThickenedHoleModel 4
Since
9.6

SetConstantMolecularViscosity

Sets the molecular viscosity to a constant value. The constant value is the reference molecular viscosity. The Sutherland law is not applied anymore.

Usage
SetConstantMolecularViscosity
Domain
all
Example
all immediate SetConstantMolecularViscosity
Since
9.3.022

StartThinLayer4BleedModel

Use thin layer approximation at modeled coolings for the first two cells away from the wall.

Usage
StartThinLayer4BleedModel
Domain
all, blockGroup
Example
all immediate StartThinLayer4BleedModel
Note
Only effective on structured meshes.
Since
9.0.226

SetConstantMomentumSource

Add constant force density \(\mathbf f\) to momentum equations. For stream wise periodic computations with adiabatic walls it is helpful to set the work term \(\mathbf f \cdot \mathbf u\) in the energy equation to zero in order to prevent uncontrolled growth of energy.

The force density vector is specified by first three arguments in N/m3. The work term can be deactivated if fourth argument is noWorkTermByBodyForce.

Usage
SetConstantMomentumSource <fx> <fy> <fy> [noWorkTermByBodyForce]
Parameters
fxForce density in x-direction [N/m3]
fyForce density in y-direction [N/m3]
fzForce density in z-direction [N/m3]
noWorkTermByBodyForceUse this keyword to set source term only in momentum equation.
Domain
all, blockGroup
Example
all immediate SetConstantMomentumSource 123.0 0.0 0.0 noWorkTermByBodyForce
all immediate SetConstantMomentumSource 123.0 0.0 0.0
Since
7.7

SetConstantEnergySource

Add a constant source term to the energy equation. The power density is specified in W/m3.

Usage
SetConstantEnergySource <p>
Parameters
pPower density [W/m3]
Domain
all, blockGroup
Example
all immediate SetConstantEnergySource 123.0
Since
7.7

SetAVDRCorrectionSource

Add a source term \(\mathbf S\) (Giles 1991) to account for streamline contractions without having to contract/expand the grid in the lateral direction.

The x-coordinates of the start and end points of the contraction/expansion are set by the first two arguments. The axial-velocity density ratio (AVDR) (rho2 u2) / (rho1 u1) is set by the third argument. The optional fourth argument specifies whether a non-linear (sinusoidal) shape function for the source is used.

Usage
SetAVDRCorrectionSource <xStart> <xEnd> <avdr> [nonLinear]
Parameters
x1X-coordinate of beginning of streamline contraction (usually the leading edge) [m]
x2X-coordinate of end of streamline contraction (usually the trailing edge) [m]
avdraxial-velocity density ratio (rho2 u2) / (rho1 u1) [-]
nonLinearUse this keyword to use a sinusoidal shape function for the source term.
Domain
all, blockGroup
Example
all immediate SetAVDRCorrectionSource 0.0 0.1 1.2
all immediate SetAVDRCorrectionSource 0.0 0.1 1.2 nonLinear
Since
9.6

UseThinShearLayerApproach

Use the Thin Shear Layer approach instead of full Navier Stokes.

Usage
UseThinShearLayerApproach
Domain
all, blockGroup
Example
all immediate UseThinShearLayerApproach
Since
9.1.118

DeterministicFluxes

This section describes how to use the deterministic flux model implemented in TRACE. First of all you need a steady and a time averaged unsteady solution on identical grids. Then you have to compute the deterministic flux terms via PREP:

PREP -df -cgns <TRACE.average.cgns> -sf <TRACE.steady.cgns>

This leads to a file named TRACE.fluxes.cgns. Perform a steady simulation by restarting this file using the following command in the control file.

Usage
DeterministicFluxes [nSteps]
Parameters
nStepsNumber of time steps for underrelaxation. (optional)
Domain
all, blockGroup
Example
all immediate DeterministicFluxes
all immediate DeterministicFluxes 100
Since
7.5

upstreamDS

This section describes how to use the deterministic stress model implemented in TRACE. Control of the deterministic stress model is carried out using the control file. First, indicate which blocks belong to the group that is directly influenced by deterministic stresses. Further hints concerning the handling of the model are given below.

Usage
upstreamDS <nSteps> <xEntry> <xExit> <rHub> <rTip>
Parameters
nStepsNumber of time steps for underrelaxation.
xEntryAxial coordinate [m] of entry plane for considered row/group.
xExitAxial coordinate [m] of exit plane for considered row/group.
rHubRadial coordinate [m] of hub location for considered row/group (only for 3D testcases).
rTipRadial coordinate [m] of tip location for considered row/group (only for 3D testcases).
Domain
all, blockGroup
Example
group 1 immediate upstreamDS 200 0.7 1.0 0.5 1.0
Precondition
Do not forget to compute the wall distance via GMC (Ctrl + k) before performing a DS-simulation!
Note
Activates the stress model for a certain block group.
Since
7.5