Welcome
Welcome to NUMECA online documentation platform. This powerful search engine and online tool gives access to  most of the information you need to know to use NUMECA software, from systems requirements, installation, user manuals including tutorial and demo cases to training notes (under construction) and best practices.

Efficient documentation use


Best practices



FINE™


FINE™/Turbo v13.1
NUMECA Flow Integrated Environment for rotating machinery applications integrating in the FINE™ GUI: AutoGrid5™, IGG™, FINE™/Turbo solver and CFView™


FINE™/Design3D v13.1
NUMECA Flow Integrated Environment for the design and optimization of turbomachinery channels and blades



Parametric blade modeling


AutoBlade™ v13.1
A 3D parametric blade modeler with an advanced fitting module to start designs either from scratch or from an existing geometry



Mesh generation


AutoGrid5™  v13.1
Automatic full-hex multi-block structured meshing of multi-stage turbomachinery.


IGG™ v13.1
Interactive geometry modeler and multi-block structured grid generator.



Post processing


CFView™ v13.1:
NUMECA's powerful Computational Flow Visualization software

Efficient documentation use
Expand information
To have a quick overview of the content of a topic, some parts are collapsed: 

Collapsed sections are indicated by the symbol . Click on the heading to expand that specific part.Click on the Expand all button  at the top to expand all information in the topic. Click again on the same button to collapse all.
Large images are represented by a thumbnail (with rounded corners). Click on the image to expand it. Click again to reduce its size.

The search bar
To find an answer to a specific question the search bar at the top right is most suited:



Query definition

The Search Bar allows to type a query using the following guidelines:

Case-insensitive Matches: Search is not case-sensitive. For example, a search for the word "turbulent" will find matches for "Turbulent" and "turbulent."
Phrase search: It is possible to search for phrases by enclosing them with quotation marks. For example search for "turbulence model" to find this exact combination of words.
Partial word search: For example, a search for the word "turbulen" will also find matches for words such as, "turbulent" and "turbulence". Since matches are not case-sensitive, the results will include information containing matches such as "Turbulence". A minimum of 3 characters is needed in such partial word search.



Navigate to the next and previous topic
The buttons next and previous  at the top allow to browse through the documentation structure following the table of content.



To go back to a previously visited page use the navigation buttons of the browser instead.
Navigation in a small size window
In smaller size windows only the content of a topic is shown. To access the navigation controls click in the top-left corner  . This will open on the left the Search bar and Content.



Linked fonts: Related Topics

New features in v13
This document provides a description of the new capabilities and major improvements included in CFView™ v13, as well as statements outlining main customer benefits and known limitations. 
The following is a detailed list of new capabilities and enhancements in CFView™  v13:
All Products
Flexlm based security ID updated to v18

Improve administration wizard

Flexlm based security ID updated to v18 
(New in CFView™ v13.1)
        
(All Products)
CFView™ requires FlexLM based license keys for execution. In CFView™ v13, the security ID has been upgraded to v18, thus requiring the delivery of new license keys for execution.
Customer Benefits

None
Known Limitations

None


Improve administration wizard
(New in CFView™ v13.1)
        
(All Products)
The user-friendliness of the license management and diagnostics of the administration wizard is improved:

License Management>Product (de)activation: Deactivate button to return all fulfillment and all servers on the machine.
License Management>Trusted storage: check-box to return a fulfillment and refresh button to refresh the fulfillment status if needed.
License Management>License server: control and display the status of the known servers and the list of all the features deserves by the selected server. 
Diagnostics: Support request button to generate a file containing the results from the checks performed.

 
Customer Benefits

More user-friendly tool to diagnose and manage licensing.
Known Limitations

None

CFView™
CFView™ is a parallelized scientific visualization software system. It offers a large range of qualitative and quantitative outputs for 2D/ 3D scalar and vector fields. Steady/ unsteady results on structured and/ or unstructured grids can be handled easily with CFView™ allowing a straightforward analysis of complex physical systems.
Installation

CFView™ is included in the installation of FINE™/Turbo
.



See also: Tutorials of FINE™/Turbo
See also: Demo Cases of FINE™/Turbo
FINE™/Turbo v.13.1 is packaged with CFView™ v.13.1

Visualization in Blade to Blade Coordinates
The blade to blade functionality described here allows to visualize a computation solution in the blade to blade coordinates system as well as to define usual constant span and constant stream position cuts. It is covering a wide range of project types (not limited to AutoGrid5™ topologies) such as multi-stage turbomachinery simulations. This functionality relies on the declaration of the hub and shroud curves and allows to create cutting planes at constant span or stream position in any view.

Commands Related to Plot Manipulation
All These commands raise an Attribute Error if no quantity is selected or if no plot view is associated to the active quantity.

ViewOpenGlobalPlot(viewName)

Operation: creates a global plot view named viewName.

ToggleGlobalPlotView()

Operation: toggles the status of the "Global Plot View" option.

ActivateGlobalPlotView()/DeactivateGlobalPlotView()

Operation: respectively activates and deactivates the "Global Plot View" option.

PlotOriginal(), FitCurves()

Associated menu item: Update / Plot / Original.
Operation (Update Cartesian Plot): restores the original parameters for the current plot view.

PlotPlaneX(), PlotPlaneY(), PlotPlaneZ(), PlotArcLen(), PlotNormalizedArcLen()

Associated menu items: Update / Plot / Function of X, Function of Y, Function of Z, Function of Arc Length.
Operation (Change Axis Variable & Range): sets the quantity distribution (i.e. horizontal axis) a function of X, Y, Z or arc length.

PlotOrdinateX(), PlotOrdinateY(), PlotOrdinateZ(), PlotOrdinateArcLen(), PlotOrdinateQnt(), PlotOrdinateR(), PlotOrdinateTheta(), PlotOrdinateNormArcLen(), PlotOrdinateS(), PlotOrdinateM().

Operation: sets the ordinate distribution (the vertical axis) a function of X, Y, Z, the arc length, the active quantity, the radius R with respect to the Z axis, the azimuth angle Theta with respect to the Z axis, the normalized arc length, the spanwise position, or the streamwise position. The last two commands have a meaning only if hub and shroud are properly defined.

PlotFctOfQnt(), PlotFctOfR(), PlotFctOfTheta(), PlotFctOfS(), PlotFctOfM(), PlotFctOfM_NORM()

Operation: sets the abscissa distribution (i.e. the horizontal axis) a function of the quantity, the radius with respect to the Z axis, the azimuthal angle with respect to the Z axis, the span wise position or the stream wise position. The last three commands have a meaning only if hub and shroud are properly defined.

ToggleTopXAxis()

Operation: toggles the visibility of top X axis.

ToggleRightYAxis()

Operation: toggles the visibility of right Y axis.

AddToRightYAxis(curveName)

Operation: associates curve named curveName to right Y axis.

AddToLeftYAxis(curveName)

Operation: associates curve named curveName to left Y axis.

ToggleLegend()

Operation: toggles the visibility of the legend.

SetLegendPosition(x,y,z)

Operation: sets the position of the legend in (x,y) location, z coordinate should be set to 0.

AddToLegend/RemoveFromLegend(curveName)

Operation: adds/removes curve named curveName to/from legend.

PlotCurvesMerge(string name1, string name2, ...)

Operation: performs the merging of plot curves and returns the name of the merged curve or a list of names if several curves created.

SetAbscissaRange(float min, float max), SetOrdinateRange(float min, float max)

Operation: sets the range on the horizontal or vertical axis.

FitAbscissa(), FitOrdinate()

Operations: adjusts the range of the horizontal / vertical axis in such a way that the curves are completely visible.

ZoomInAbscissa(), ZoomOutAbscissa(), ZoomInOrdinate(), ZoomOutOrdinate()

Operations: performs an automatic zoom in/out on the range by 10%.

PlotZoom(float z)

Operations: zooms in or out by a factor equals to z (zoom in for z>0 and zoom out for z<0)

ZoomArea(float xmin, float xmax, float ymin, float ymax)

Operations: performs a zoom operation on the axes range in such a way that the view coordinates xmin, xmax, ymin and ymax correspond to the visible area (i.e. axis range).

SetHReverse(), SetVReverse(), UnsetHReverse(), UnsetVReverse()

Operations: sets the horizontal or vertical axis in decreasing scale or set in increasing scale.

SetHLogarithmic(), SetVLogarithmic(), SetHLinear(), SetVLinear()

Operation:sets the horizontal or vertical axis in logarithmic or linear scale. 

PlotCurveUndo()

Associated menu item: Update / Plot / Curve Undo
Operation: removes last added curve.

PlotCurveType(CurveType c)

Associated menu item: Update / Curve Type Editor...
Operation: sets the last added curve type to c.

PlotCurveOutput(string fileName)

Associated menu item: Update / Plot / Curve Output...
Operation: writes the plot curves data in ASCII format in the file with specified name.

ActivePlotCurveOutput(string fileName, string curveName)

Operation: writes the currently specified plot curves data in ASCII format in the file with specified name and sets default type for curves associated to Cartesian plots.
Associated menu item: 'Export to file'. When right-clicking on the curve in the Cartesian plot window.

CurveYValue(curveName,x_value)

  Operation: returns ordinate value for abscissa x_value on the selected curve named curveName.

ToggleTicksOrientation()

Operation: toggles between the two orientations of ticks.

NumOfHMajorTicks(int n), NumOfVMajorTicks(int n)

Operation: sets the number of labelled graduations on the horizontal or vertical axis.

NumOfHMinorTicks(int n), NumOfVMinorTicks(int n)

Operation: sets the number of intermediate graduations on the horizontal or vertical axis.

SetHTicksDistance(float d), SetVTicksDistance(float d)

Operation: sets the margin size around the graduation numbers on the horizontal or vertical axis.

SetHTicksTextType(TextType type), SetVTicksTextType(TextType type)

Operation: sets the text type for the graduation numbers on the horizontal or vertical axis.

HAxisLabelText(string text), VAxisLabelText(string text)

Operation: sets the horizontal or vertical axis label text.

HAxisLabelFontType(int type, float size), VAxisLabelFontType(int type, float size)

Operation: set the font type and size for the horizontal or vertical axis label. The following font types are available: roman (0), sans serif (1), typewriter (2), stroked (3), system default (4), newfield (5), enfield (6), brooktondale (7), kuma (8), arial (9) or times (10).

HAxisLabelLargerFont(), HAxisLabelSmallerFont(), VAxisLabelLargerFont(), VAxisLabelSmallerFont()

Operation: increases or decreases the text size of the horizontal or vertical axis label.

HAxisLabelFontColor(Color c), VAxisLabelFontColor(Color c)

Operation: sets the color for the horizontal or vertical axis label.

HAxisLabelPosition(int p), VAxisLabelPosition(int p)

Operation: sets the position of the horizontal or vertical axis label. The following positions are available: at the axis end (0), near the axis origin (2) or in the middle of the axis (4).

HAxisLabelDistance(float d), VAxisLabelDistance(float d)

Operation: sets the width of the internal margin around the horizontal or vertical axis label.

LimitsCurveArea(float xmin, float xmax, float ymin, float ymax)

Operation: sets the limits of the curve area within a Cartesian plot view.

AxisFit()

Operation: computes the curve area size in such a way that it takes a maximum space, without having the axis number s and labels cut by the view border.

ShowHorizontalGridLines(), ShowVerticalGridLines(), HideHorizontalGridLines(), HideVerticalGridLines()

Operation: sets visible or hidden the horizontal or vertical grid lines.

HorizontalGridLinesType(LineType type), VerticalGridLinesType(LineType type)

Operation: sets the line type attributes for the horizontal or vertical grid lines.

PlotType(int fitOnInsert, int logX, int varX, int logY, int varY, float minX, float maxX, float minY, float maxY)

Associated menu item: Update / Plot / Axis Editor...
Operation: sets some parameters of the current Cartesian plot: automatic scaling at curve insertion (fitOnInsert=1) or not (fitOnInsert=0), logarithmic scale in X or Y direction (logx or logY =1) or not (logX or logY =0) and variable associated to the axis: varX or varY = 0 (X), 1 (Y), 2 (Z), 3 (arc length), 4 (active quantity), 5 (radius = ), 6 (theta = )

PlotHAxisLabel(float dist, int position, TextType type, string label), PlotVAxisLabel(float dist, int position, TextType t, string label)

Associated menu item: Update / Plot / Axis Editor...
Operation: sets the parameters of the horizontal and vertical axis label: 'dist' is the distance from the axis, int is the position relative to the axis (valid values and their associated positions are ), the text type is set to type and the label text is set to label.

PlotHAxisTicks(int ticks, int userTicks, int logScale, int smallTicks, float dist, float offset, float min, float max), PlotVAxisTicks(int ticks, int userTicks, int logScale, int smallTicks, float dist, float offset, float min, float max)

Associated menu item: Update / Plot / Axis Editor...
Operation: sets the parameters of the axis ticks: no ticks (ticks =0) or automatic ticks (ticks=1 and userTicks=0) or user defined ticks (ticks=userTicks=1), logarithmic scale is indicted by logScale=1 (0 otherwise), major ticks are drawn starting at 'offset', one each 'dist', 'min' and 'max' are the axis range and 'smallTicks' are inserted between two successive major ticks.

PlotHAxisTicksLabels(float dist, int position, TextType t, DoubleFormat f), PlotVAxisTicksLabels(float dist, int position, TextType t, DoubleFormat f)

Associated menu item: Update / Plot / Axis Editor...
Operation: sets the ticks labels parameters for the horizontal or vertical axis: dist is the distance from the axis, position may be down / left (position =0) or up / right (position =1), the text type is set to 't' and the double format to 'f'.

PlotHGridLines(LineType majorLines, LineType minorLines), PlotVGridLines(LineType l, LineType minorLines)

Associated menu item: Update / Plot / Axis Editor...
Operation: sets the horizontal or vertical grid major and minor lines type.

FitCurveRange(curveName)

Operation: fits the horizontal and vertical axis based on the range of the curve named curveName.

RenameCurve(oldName,newName)

Operation: renames curve named oldName to newName.

EditCurve(curveName,fileName)

Operation: removes the existing curve named curveName and create a new curve using the coordinates from the file named fileName.

InsertNewCurveByFormula(curveName,equation,lowerLimit,upperLimit,numOfPoints)

Operation: creates a new curve named curveName with specified equation using numOfPoints points between lowerLimit/upperLimit abscissa.

InsertNewCurveFromFile(curveName,fileName)
Operation: imports data from file named fileName and will create a new curve named curveName.
InterpolationCurve(curveName,numOfPoints,curveID)

Operation: creates an interpolation curve by fitting cubic splines to the points of the curve named curveName. Interpolation curve shows the values at numOfPoints points. These points are uniformly distributed between lowest and highest abscissa. The interpolation curve is named by appending curveID to curveName.

ExtrapolationCurve(direction,curveName,extent,numOfPoints,curveID)

Operation: creates an extrapolation of the curve named curveName towards left/right if direction set to 0/1. The lower/upper limit of abscissa is specified by extent. Extrapolation curve shows the values at numOfPoints points. The extrapolation curve is named by appending curveID to curveName.

GetViewCurveList()

Operation: returns the list of curves names of the created Cartesian Plot.

ShowCurves(curveName1,curveName2,...) 

Operation: makes the line and marker visible for the selected curves.

HideCurves(curveName1,curveName2,...)

Operation: makes the line and marker invisible for the selected curves.

ShowCurvesLine(curveName1,curveName2,...)

Operation: makes the line visible for the selected curves.

HideCurvesLine(curveName1,curveName2,...) 

Operation: makes the line invisible for the selected curves.

ShowCurvesMarker(curveName1,curveName2,...)

Operation: makes the marker visible for the selected curves.

HideCurvesMarker(curveName1,curveName2,...)

Operation: makes the marker invisible for the selected curves.

SetPlotSectionLimited()

Associated menu item: Right-click on the selected curves / Limited section
Operation: restricts the plot between the two selected points instead of a complete line on whole domain passing through the two selected points.

SetPlotSectionUnlimited()

Associated menu item: Right-click on the selected curves / Unlimited section
Operation: removes the restriction applied by the macro SetPlotSectionLimited. The curve is a complete line on whole domain passing through the two selected points (default behavior)

DeletePlot()

Associated menu item: Update / Delete / Cartesian Plot.
Operation: deletes the current plot view or the Cartesian plot view associated to the active quantity and all associated curves.

SclPlotVsTime(attachToMesh,domainID,cellID)

Operation: creates Scalar vs Time or vs Clocking Position plot for specified point. attachToMesh is set to 1 (option Attach To Mesh enabled). domainID and cellID are the domain and cell ID respectively starting from 1 and 0.

SclPlotVsTime(attachToMesh,x,y,z)

Operation: creates Scalar vs Time or vs Clocking Position plot for specified point. attachToMesh is set to 0 (option Attach To Mesh disabled).

GetDomainAndCellIndex(x,y,z)

Operation: returns domainID and cellID located at specified (x, y, z) location.

GetCellIndex(domID,i,j,k)

Operation: returns cellID for structured test cases.

Validation Data Identification
The Validation Data identification identifies data from experiments or other computations which are needed for comparison. Validation data are restricted to data on a single curve, either in 2D or 3D space. The number of such curves has to be input in one line of the identification file. For example if a project has one validation data curve, the input line has to be:
1
After this line, you have to specify:

The name of the curve.
The quantity name(s).
The Geometry file name of the curve.
The Quantity file name(s).

For example, if a curve named "cross-section" has two validation quantities, the static pressure, and the temperature, the file should be as follows:
1
   |cross-section|
       2
            |static pressure|
            |temperature|
            extflow.vld.g
            extflow.vld.s.1
            extflow.vld.s.2
An input file without validation data can also be considered. In this case the number of validation data is set to zero and the lines containing the field quantity names and the file names are not present.

User Guide

Commands Related to Active View Only
Unless differently stated, all these commands perform no action if no view is active.

string ViewName()

Operation: returns the name of the currently active view.
Exceptions: if no view is active, raises a Run Time Error.

BackgroundType(int type, arguments)

Associated menu item: Set Background
Operation: sets the active view background to single color (type=0), shaded colors (type=1), picture file (type=2) or skybox file/script (type=3).
Arguments:when single color: BackgroundType(0, h, s, v) where the 3 arguments h, s and v refer to the HSV color.when shaded colors: BackgroundType(1, h1, s1, v1, h2, s2, v2) where the 6 arguments h1, s1, v1 and h2, s2, v2 refer to refer to the 2 HSV colors selected to define the shaded background.when picture file: BackgroundType(2, string filenamepath, ints) where the arguments are the full path of the picture file to be loaded and the stretching option (stretched (s=0) or normal mode (s=1)).when skybox file/script: BackgroundType(3, string filenamepath) where the argument is the full path of the skybox file or script to be loaded.

ResetViewContent()

Associated menu item: Window / Reset View
Operation: resets the view to its default content. For 3D and 2D views, all solid surfaces boundaries are shown and the camera is set in its original position. For Cartesian plot views, the command removes all the curves.

DeleteViewContent()

Operation: delete all the content of the active view.

ViewPushBack(), ViewBringToFront()

Associated menu item: View / Push Back.
Operation: pushes the active view behind the other ones or bring it in front of others.

ViewClose()

Associated menu item: Window / Close.
Operation (Close Active View): closes the current view. After this operation no view is active.
Exceptions: raises an Attribute Error if there is no current view.

Border(int b)

Associated menu item: View / Parameters / Border.
Operation (View/Parameters): suppresses (b=0) or activates (b=1) the view border.

Transparent(int b)

Associated menu item: View / Parameters / Transparent.
Operation (View/Parameters): sets the current view in transparent mode (b=0) or in opaque mode (b=1).

LimitsFull()

Associated menu item: View / Full.
Operation (Change View Size/Position): sets current view to full size.

Limits(float xmin, float xmax, float ymin, float ymax)

Associated menu item: View / Move and View / Resize.
Operation (Change View Size/Position): sets the lower left corner of the active view to (xmin, ymin) and its upper right corner to (xmax, ymax). The lower left corner of the graphics area is in (-1,-1) and its upper right corner is in (1,1).

ViewIconize()

Associated menu item: View / Minimise.
Operation (Change View Size/Position): iconizes the current view.
Exceptions: raises an Attribute Error if no view is active.

LimitsPref()

Associated menu item: View / Preferred Size.
Operation (Change View Size/Position): resets the current view to the size it had before a ViewIconize command (only if the last resizing command was ViewIconize).

UpdateUndo()

Associated menu item: Update / Undo.
Operation (Undo): deletes the last added representation.

From Quick Access Pad


FIGURE 1 Surfaces Subpanel in Quick Access Pad
The Surfaces subpanel is made of three parts: the surfaces list, the surfaces creation shortcut buttons and the filter frame.
Surfaces List

The Surfaces list contains a hierarchical list of all the project surfaces. Each surface is listed by its name. On the left side of the name, symbols indicating the status and the type (using a color code) are shown. The active surfaces are indicated by a  in the colored symbol. Groups are also indicated by a specific symbol  (see FIGURE 1).
The following color convention is used:

inlets: green,
outlets: orange,
solid walls: blue,
external: red,
mirror and singular: brown,
connections: cyan,
periodic connections: magenta,
rotor stator connections: grey,
mesh surfaces, cutting planes and iso-surfaces: black.


inlets: green,
outlets: orange,
solid walls: blue,
external: red,
mirror and singular: brown,
connections: cyan,
periodic connections: magenta,
rotor stator connections: grey,
mesh surfaces, cutting planes and iso-surfaces: black.

This convention is the same as in IGG™ patch viewer, except for the inlets for which a green color is used instead of yellow for a better readability.
Several operations can be performed directly in the list:

double click on a surface to toggle its activation state.
display of group composition can be added or remove by clicking on the group symbol . 
left mouse button is used to build a browsing selection, the surfaces in the browsing selection are highlighted in blue. 

To select or deselect one surface, click with the left mouse button on the surface name. Only this item is highlighted.
Or, to select several surfaces:
	click on a first item,
	press the <Ctrl> key while clicking to add or remove surfaces from the current browsing selection.
	or press the <Shift> key while clicking on a second item: all the surfaces between the two selected items are added to the current browsing selection.


When a selection is made (highlighted in blue), a popup menu can be raised by pressing the right mouse button. It provides a set of operations: 

Setting the surface activation state (Select - Make Active/Inactive),
Visualization of a surface for quick identification (Show Wireframe),
Reversing the normal orientation of the selected surface(s) (Reverse Normal)
Visualization of the normal of the selected surface(s) (Show/Remove Normal),
Plotting the number of points of the selected surface(s) in the message area (Number Of Points)
Creating or deleting groups (Make Group - Ungroup),
Renaming of surfaces or groups (Rename),
Deletion of surfaces (Delete),

These functions are explained in the following sections.
Set Surfaces Activation State

To toggle the activation state of a single surface or group, double click on its name.
To set the current selection to the surfaces highlighted in blue, choose the Select item. All the surfaces highlighted in blue become active, while the others are removed from the active surfaces list.
In order to add (or remove) the surfaces highlighted in blue to (or from) the current set of active surfaces, choose Make Active (or Make Inactive).


Visualize for Quick Identification

In order to locate easily a surface in the geometry, select the Show Wireframe item. The surface is represented as a wireframe colored in blue. The representation is automatically removed when another interaction takes place.
This item is present in the pop-up menu only if the browsing selection is made of one surface or one group.


Reverse Surface(s) Normal

To reverse the normals on the surfaces highlighted in blue choose Reverse Normal. When computing the mass flow on selected surfaces, the normals should be oriented in the same direction. Currently, when selecting a set of surfaces defined by a cutting plane or the bounding patches of the blocks, the normals will be oriented in the same direction (i.e. for boundary patch, the normal points towards inside the block to which it belongs.) but this not true for internal IJK surfaces for which the tool Reverse Normal should be used.




Visualize Surface(s) Normal

To plot (or remove) the normals on the surfaces highlighted in blue choose Show Normal (or Remove Normal).


Check Number Of Points

To plot the number of points in the message area of the surfaces highlighted in blue choose Number Of Points.





Create/Delete Group

To create a group from the current browsing selection, select the Make Group item. A group is formed. The name of the group can be changed by selecting the Rename item described here below. 
To delete a group, select the Ungroup item. This is only removing the group from the surfaces list, all the member surfaces are left unchanged.
These items are included only when relevant: the Make Group item is present if the browsing selection is made of several surfaces and the Ungroup item is present only if the browsing selection contains exactly one group.


Rename Surface/Group

To change the name of a surface or a group, select the Rename item. The name in the list becomes an editable string. Once the new name is typed, press <Enter> to validate the entry. The renaming mode is left if the <Esc> key is pressed or if a click with the left mouse button is performed outside of the editable string area.
An internal check against duplicated names is performed before the new name becomes effective. If the name is already associated to another surface or group, an error box is raised and the renaming is not performed.


Delete Surfaces from Project

To delete a surface from a project, choose Delete. All the representations associated with the surface are removed from the active view. Furthermore, if the surface was created during the project session (e.g. the surface is a cutting plane), the surface disappears also from the list and all its representations in all the views are deleted.




Surface Creation Shortcut Buttons




These buttons are offering shortcuts to open the surface creation dialog boxes:

select Cut in order to open the cutting plane creation dialog box (see Create Mesh Surface).
Select IJK Surf in order to open the mesh surfaces creation dialog box (see Create Cutting Plane).
Select Blade to blade in order to open the blade to blade surfaces creation dialog box (see Visualization of Blade to Blade Surfaces).



Surface Selection by Filter Frame




The surface selection can also be made by entering a string in the Filter frame. Several possibilities are available:

In order to select all the surfaces whose names are matching an expression, press the Name check button, enter the expression in the area next to the Select label and press <Enter>.
In order to remove from the selection all the surfaces whose name are matching an expression, press the Name check button, enter the expression in the string area next to the Unselect label and press <Enter>.
In order to select all the boundary patches of a given type, select the Type check button, select the type in the list: e.g. inl, out, sol, mir, ext, con, cmb, nmb, per, pmb, pnm, rot or sng.
In order to remove from the selection all surfaces of a given type, select the Type check button, select the type in the list: e.g. inl, out, sol, mir, ext, con, cmb, nmb, per, pmb, pnm, rot or sng.

As an example, in order to select all the surfaces that contain the word "rotor" in their name, select the Name button, enter the "rotor" string next to the Select label and press <Enter>.

Update Vector Representation
Change Representation Scale

By default, CFView™ computes a scaling factor for the representation of vectors based on the average vector field amplitude. To change that factor:

click on the button  to enlarge the vectors or on the  button to scale down the vector representations in the subpanel Representations/Vectors or
use the Vector Type Editor dialog box through the Representation/Vector Type... menu as described in Vector Type Dialog Box.



Change Color & Line Type

The vector arrow representation can be colored according to the vector amplitude or drawn in a fixed color. The default coloring mode can be modified in the Vector Type Editor dialog box.
The coloring mode of the represented vectors as well as the line type used for the arrows may be modified in the following way:

Select the first vector or vector group to be modified by clicking on it with the left mouse button. Select the other vector or vector groups by pressing the <Ctrl> key and clicking on them. Highlighting markers are drawn on all the selected vectors.
Press the right mouse button, a popup menu appears.





Select Line Type... to open a Line Type Editor allowing the modification of the line type used for the vector arrows (see Line Type Editor for a detailed explanation of the line type parameters).
Select Color Lock to change the coloring mode into single color.
Select Color by Amplitude to color the vectors according to their amplitude.



Vector Type Dialog Box

The representation type of the vector field as well as the representation scale and the shape of the vector arrow head can be modified in the Vector Type Editor dialog box. To do so:

Choose Representation/Vector Type.... The dialog box appears.
Select the representation type:

Full Vector for standard representation of vectors,
Normal Componentto represent the projection of the vectors on the surfaces local normals,
Tangent Component to represent the projection of the vectors on the surfaces local tangent planes,
Normal Difference for a representation of the locally normal component of the difference between the mean vector and the local vector. The mean vector is computed as the average vector on the surface, averaging being weighted by the area of the cells that are containing the vertices,
Tangent Difference for a representation of the locally tangent component of the difference between the mean and the local vector. The mean vector is computed as the surface average vector, in the same way as for the Normal Difference.

Select the arrow shape:

select the Length of the arrow head relatively to the vector length,
select the Width of the arrow head relatively to the vector length,
select whether the arrow head should be filled or not.

Select the scaling factor. The Scaling factor is defined as a ratio between 2 numbers.

double or half the numerator or the denominator by pressing on the up and down arrow buttons.
set the factor to a value of 1 by pressing on 1/1 button.

Select Color Uniform to have vectors drawn in a single color or Color Contour to have vectors colored according to their amplitude.
Click the Apply button to redraw the vectors with the selected parameters without closing the dialog box.
Click the Reset button to reset the changes and go back to the original values.
Click on Close to discard the dialog box.
The representation type and color mode parameters are applicable for the next vectors to be created, while the scale and arrow shape are applied to all represented vectors.

The keyboard shortcut for Vector Type is 
.


Delete Vector Representations

CFView™ provides different methods to erase represented vectors:

By interactive selection: 

select a first set of vectors by clicking on any of the vectors. 
Select others vectors to be deleted by pressing the <Ctrl> key while clicking on them. 
Press the right mouse button to raise a popup menu.
Select the Delete item in the popup menu.



By selecting Update/Delete/Vectors: all vector representations of the active quantity on active surfaces are deleted.
By selecting Update/Delete/All: all representations (not only the vectors) on all surfaces are deleted.

Stream Ribbons & Tubes


FIGURE 49 Ribbon and Tube type
General Parameters

The Variable options allow the user to choose if the ribbon and the tube have their size and twist varying along the streamline.
 	When the size is set to Variable, the size of the ribbon/tube is proportional to the divergence of the flow.
 	When the twist is set to Variable, the twist of the ribbon/tube is proportional to the vorticity of the flow.
The parameter r0 is the size of the ribbon/tube at the beginning of the streamline. The parameter is not a physical size, but is relative to the geometry extent of the project.
The computation of the twist and of the size is based on the interpolation of the curl and of the divergence of the velocity field. These quantities are computed automatically the first time they are needed and stored for latter use, when they are not present in the project.
The Scale parameters are two scaling factors that can be used to show the change of size and/or twist in a better way. In that case, the ribbon size and twist are not related anymore to a physical quantity. These parameters can be useful for illustration purposes, to emphasize the flow divergence and rotational properties.
The parameter Tube vertices is only used for tube generation: it defines the number of vertices of the polygonal cross section of the tube.


Initial Direction

The normal at each point of the curve is computed automatically. However, the choice of the first normal direction is left to the user, and has to be set by the Initial direction parameter. All the directions are allowed, and you do not have to chose explicitly one of the coordinate axis, but for the user's facility 3 shortcut X, Y and Z buttons are available for users to align the normal with one of the axis coordinate.
	It is better to use the same initial direction for all the ribbons of a given picture.


Advanced Parameters

Coincident Point Removal

	The algorithms used to generate ribbons and tube geometry fail when the streamline curve has coincident points. The "coincident point removal" option removes all the points that are too close to each other: all the points that are closer than the Min. Distance parameter are collapsed. 
	When the creation of a ribbon or tube fails, the problem can often be solved by the "coincident point removal" algorithm, and increasing the Min. Distance parameter.
	Even if it is not its primary goal, the "coincident point removal" can be used to reduce the number of points of a streamline, in order to reduce the ribbon geometric complexity.


Laplacian Filter

The "laplacian filter" algorithm smooths the streamlines and the stream tubes. The filter is a sliding window average filter. The Pass count parameter represents the number of time the filter is applied. The Kernel size parameter is the size of the filter's kernel (i.e. the number of points that are taken into account in the average computation).
	When filtering is on, the position of the curve points, the normals of the curve, the size and the twist angle are filtered.


Twist Subdivision

In case of high vorticity flow, the quality of the ribbons can be low when the ribbon's geometric density is not sufficient in comparison with the twist of the ribbon. The "twist subdivision" algorithm refines locally the stream ribbon geometry. The general principle is to add new points to the curve, until two successive normals never present a relative angle greater than the Minimum angle parameter threshold. New points are added to the curve when the angle between two successive point is too high. The Max. point parameter is the maximum number of points that will be inserted every time a refinement is necessary.




Limitations

Generation Failure

The streams ribbon/tubes generation algorithm will fail when:
 	the initial stream curve contains coincident points
 	the local normal at the point P(i) of the curve is parallel to the local segment P(i-1)- P(i)
In these cases, a streamline will be used instead of a stream ribbon/tube.
Solution: in most of the cases, the "coincident point removal" algorithm solves these issues.
When the procedure fails, these errors are detected while computing the normals, with the corresponding warning messages "warning: Curve contains coincident points. Can not compute normals" and "warning: normal and previous_segment are coincident. Can not compute normals". If they are detected during the ribbon/tube generation itself, the message will be "Ribbon stream generation error: ribbon not created because of streamline data degeneracies"


Twist Angle Refinement

If the local twist angle is higher than Min angle parameter, the algorithm will add new points to the stream ribbon/tube. However, if the number of points to add is higher than the Max Points parameter, only this maximum number of points will be added, with the message: "Ribbon stream generation warning: twist is too high...try reducing the twist scaling factor"


Local Computation of Divergence and of Curl

As explained before, the vorticity and the cross divergence computation are based on the interpolation of the divergence and of the curl of the velocity field. These quantities must be computed and stored for all the domains, even if they are only used locally by the streamline. An amelioration could be to compute the divergence and the curl quantities only at the curve points where they are required.

Show Curves List
If no element is selected in the Cartesian plot view, the popup menu raised by pressing the right mouse button contains the item Show Curves List. It opens a dialog box containing a list of all the curves that can be visualized in the view. By activating or deactivating the check box at the right of the curve name, the corresponding curve will be respectively visible or not in the view after pressing the Apply button.


FIGURE 43 Curves list dialog box

Close Project

To remove a given project from CFView™, click Close () on the toolbar or choose File/Close Project... from the menu. The active view and all the views related to that project are closed. Remember that each view has always one project associated with it.
To quit CFView™, select File /Quit CFView.
The keyboard shortcut for File/Quit CFView... is: <Ctrl> + <q>.

Compute Meridional View by Azimuthal Averaging
In projects showing symmetry around the Z axis, the azimuthal (or pitch) average of scalar and vector quantities are calculated by weighted integration in theta direction, along R-Z constant lines. 
The integration paths originate at the nodes of a bi-dimensional mesh: the meridional mesh. This meridional mesh is a set of subsurfaces selected in the volumetric mesh: the meridional patches. In order to have a complete meridional view, the cumulated areas of the Z-R projections of these patches must cover up the area of the Z-R projection of the volumetric mesh.

A set of default patches for the meridional mesh is available in CFView™. However, it is still possible to define a different set of surfaces.
For blade passages meshed with a H topology, the patches are usually taken halfway between the theta limits of the domain. For blade passages meshed with an O, O4H or similar topology, the patches are usually taken as one of the periodic boundaries.
The weighted integration is performed in all the domains, in order to get an average over all the meshed blade passages. The choice is given between two weighting modes:

RhoV mode (mass flow averaging): the weight coefficient takes the value Density*Vm where the meridional velocity component is:



None mode: area averaging takes place

By default, the RhoV mode is selected.

Utilities for Handling Curves
A Point and a Curve class are provided to handle curves. A typical use of this feature is to create a curve for which each point is obtained from a user defined computation and then shown as a Cartesian plot in the CFView™ graphics window.
This section provides first a complete description of the Point and Curve classes. Then an example is provided as an illustration.
Point Class

This class may be used for point or vector handling. It contains the following operations:

constructor from 3 floating point values with a default value of 0.
Examples:
p = Point(1.0,1.0,1.0)
p = Point(1.0) 
mathematical operators: +, -, *, /
operations are applied component by component.
[float, float,float] asTuple(): return point coordinate as a tuple (a list) containing 3 elements.
float norm (Point): returns the norm of the vector.



Curve Class

This class allows to create representations and to handle curves (defined by a list of points) in a macro script. This class allows to compute in a macro a series of values and insert them in a Cartesian plot and also, it allows to handle in a macro curves that are existing in a CFD data set.
 Add from Curve import * at the beginning of the macro to be able to use the Curve class.

constructor from name. If the name corresponds to an existing curve (e.g. a streamline, a surface boundary), then its points list is taken from this curve and it is accessible only for reading operations. If the name does not correspond to an existing curve, a new curve is created, having zero points after the creation operation.
c = Curve('mycurve') creates a new curve.
c = Curve(VecLineLocal(pix,piy,piz, 0,0,1)) gets the streamline curve for further handling.
char type(): returns the curve type ('c'for a curve that was already existing in the data set or 'p')
int numOfPoints(): returns the number of points,
float length(): returns the curve length,
Point point(int i): returns the ith point in the curve,
addPoint(Point p): appends the point to the curve definition (the curve should not be a curve existing in the data set),
Point pointAtDistance(float d): returns the Point at arc length d,
[float, Point] closestPoint(Point p, Point v): returns the curve point closest to the Point p and the distance which is evaluated along the v direction.
showInPlot(string quantityName, [quantityValues]): creates a graphic representation of the curve associated to a set of values defined on each of the curve points. The string quantityName is used for labeling the coordinate axis. The parameter [quantityValues] is a list of values; there must be a number of values equal to the number of curve points. The curve defines the geometrical location of the associated values. 
A plot data curve is created (having the curve name), inserted in the data set and its representation in a Cartesian plot is raised.
float / [float, float] / [float, float, float] computeIntegral(int type, string eqX, string eqY, string eqZ): returns the integral along the curve of the specified mathematical expression. Type and expression specification is identical to the derived quantities. If type is 0, the expression should be a valid scalar definition and provided as the eqX argument; the arguments eqY and eqZ are ignored and may be omitted. If the type equals 1, the expression should be a valid vectorial definition provided as eqX arguments. If type is 2, the expression should be considered as a vector provided component by component in the eqX, eqY and eqZ arguments.
Scalar integration is the usual line integration (), while the vector integral is the integral of the vector (or external) product between the integrand and the normalized vector tangent to the curve ().

Animations & Unsteady Data Analysis


This chapter provides a description of animation capabilities in CFView™. The animation capabilities are divided into two main areas: animations of steady state data sets and animations of unsteady data sets. 
The first section describes the animations that can be performed on steady state data sets. These are:

the animation of vector lines,
the animation by mesh surfaces sweeping and
the animation by cutting planes sweeping.

The second section describes how to create animations from unsteady data sets and how to record such animations in video files.

Viewing Buttons



There are 13 buttons allowing to perform various operations on the active view: viewing operations affect the way the user looks at the project.
Most viewing operations are interactive:

Press on the left (<1>) or middle (<2>) mouse button to initiate the operation.
Drag the mouse. Depending on the operation, the position of the mouse will affect some parameters of the camera.
Release the mouse button when finished.

If the option View/Parameters/Full Render is disabled then the scene in the active view is reduced (hidden surface removal is deactivated, markers are removed, text is removed, colormaps are removed, etc....) during interactive operation in order to maximize the response of the graphic system.
X, Y & Z Projection Buttons




These buttons allow to set the camera position in order to bring the view normal parallel to X, Y or Z coordinate directions. This option is also accessible through the menu View/Projection/.


Translate Button




This button allow to scroll (translate) the camera in a given direction, the direction the camera is being pointing is remaining unchanged.

Press on the left mouse button to initiate the operation. 
Then drag the mouse in the direction of interest.
Release when finished.

This button allows also to perform a continuous scrolling of the camera:

Press on the middle mouse button to initiate the operation. 
Then drag the mouse in the direction of interest. The continuous scrolling speed and direction are proportional to the dragging amplitude and direction.
Release when finished.

These operations affect the camera position and target.


Dynamic Viewing Button




This button allows to rotate and translate the camera position around the target as well as to zoom and to fix the rotation center and to zoom in/out.

Click with the left mouse button to start the operation mode. 
Press, drag and release the left button in the graphics area to rotate the camera. Move the mouse left-right for a rotation around the vertical axis or forward-backward for a rotation around a horizontal axis.
Press and release the left mouse button with the <Shift> key pressed to select a new rotation center. The rotation center is chosen in two steps: first if at least one active surface is under the mouse pointer, the point which is the closest to the observer is chosen. If no such points exists, non-selected surfaces are considered and if no point is found, the selection is aborted.
Press, drag and release with the middle mouse button to translate the camera. This is also available with the left mouse button with the <Ctrl> key pressed.
Press, drag and release the middle button with the <Shift> key pressed for zooming in or out. This is also available through the left mouse button with the <Ctrl> and <Shift> keys pressed simultaneously.
Roll the middle-mouse button to perform a zoom where the mouse is pointing.
Press and release the right button to quit to operation mode.

The shortcut key for dynamic viewing is <F1>.


X, Y & Z Rotation Buttons




These buttons allow to rotate the camera about the principal coordinate directions (X, Y or Z for views in Cartesian coordinates; R, θ or Z for cylindrical coordinates,...).

Press on the left mouse button to initiate a rotation operation. 
Then drag the mouse to the left or to the right to rotate clockwise or counterclockwise. 
Release when finished.

These buttons allow also a continuous rotation:

Press on the middle mouse button to initiate a rotation operation. 
Then drag the mouse to the left or to the right to start a continuous clockwise or counterclockwise rotation. The rotation speed is proportional to the dragging amplitude.
Release when finished.

Rotation affects only the camera position.


Roll Button




This button allow to roll the camera around the view normal and affects the view up direction:

Press on the left mouse button to initiate a rolling operation. 
Then drag the mouse to the left or to the right to roll clockwise or counterclockwise. 
Release when finished.

This button allows also a continuous rotation:

Press on the middle mouse button to initiate a rotation operation. 
Then drag the mouse to the left or to the right to start a continuous clockwise or counterclockwise rotation. The rotation speed is proportional to the dragging amplitude.
Release when finished.



Zoom In/Out Button




This button allows the user to interactively zoom in and out and thus affects the camera width and height:

Press on the left mouse button to initiate a zooming operation. 
Then drag the mouse to the left or to the right to zoom in or out. 
Release when finished.

This button allows also a continuous zoom in or zoom out operation:

Press on the middle mouse button to initiate the zoom operation. 
Then drag the mouse to the left or to the right to start a continuous zoom. The zooming speed is proportional to the dragging amplitude.
Release when finished.



Zoom Area Button




This button allows the user to specify a rectangular area of the active view to fit to the whole view. This affects the camera position, target, width and height:

Press and release the button to initiate an area zoom operation.
Move the mouse to the active view and press the left mouse button on the first corner of the rectangular area.
Drag the mouse to the second corner and release the left mouse button.

The operation may be repeated several times. Press the right mouse button to quit the interactive mode
The shortcut for defining the zoom area is <F2>.


Fit Button




This button fits the scene to the view based on the bounding box surrounding the geometry as described in View Concepts. This affects the camera position, target, width and height.
The shortcut to fit the scene to the view is <F3>.


Original Button




This button brings the active view in a default viewing state and affects all the parameters of the camera. This default viewing state is referred to as the "original" view and is also accessible through View/Projection/Original.
The shortcut to return to the default viewing state is <F4>.

Outline

The first five chapters of this manual contain all information necessary for a beginning user to work with CFView™. The advanced user may however also consult these first chapters when requiring more detail about a specific task.
This first chapter tells how to start the application. Graphical User Interface, Projects & Views chapter introduces the basics: the graphical user interface and project management. To learn how to use and how to perform a specific task, more details are available in Creating & Handling Surfaces to Turbomachinery Specific Features. All the functionalities of the system software are gathered in a step-by-step learning method. 
For the more advanced user Animations & Unsteady Data Analysis, Macro Language and Input File Format provide more detailed information. Animations & Unsteady Data Analysis describes the analysis of time dependent data sets. In Macro Language the macro system of CFView™ is described with the available commands in Python language. The macro system is a powerful feature that allows automating CFView™. To learn how to generate input files in the CFView™ native file format, turn to Input File Format. It contains the description of the CFView™ input data file system.

Reconstruction in Space
When a clocking/multi-rank harmonic computation with variable clocking is selected, the Partial Loader dialog box appears as shown below


FIGURE 13 Partial Loader dialog box for a clocking harmonic project with variable clocking
Selecting the Reconstruct the flow button, the user can choose reconstructing the harmonic solution in time or in space (clocking) on the selected blocks and grid level. Reconstructing the flow in space (clocking) will reconstruct time-mean flow for different clocking positions of the selected row that is indicated by the option Variable clocking, as explained below. After selecting the concerned blocks and the grid level and activating Reconstruct the flow in space, new inputs/parameters are available for reconstruction in space (in addition to the reconstruction in time):

Harmonic selection:

When the computation is a clocking harmonic computation, the user can select the harmonics that will be used to reconstruct the time-mean flow at different clocking positions.
When the computation is a multi-rank harmonic computation, the user can select if the Time mean flow and/or the Time harmonics will be reconstructed. By default, the Time mean flow is selected. The time mean flow will be reconstructed at each clocking position. If selecting Time harmonics, the selected time harmonics will be outputted to file together with the time mean flow, so that the user can check the time harmonics at each clocking position. For the time harmonics, the user can select All or User defined. When User defined is selected, the Settings button is enabled. Upon clicking the button, a pop-up window appears allowing the selection of the time harmonics for each row.  



The Number of clocking positions is used to define the clocking positions where the time mean flow will be reconstructed.
In the frame Space reconstruction settings:

The Displacement of the channels is used to specify a rotation of the blade channel as a multiple of the pitch of the blade channel. The Displacement of the channels can be a real number.
The Variable clocking can be activated for one group only or one inlet distortion.

One more input is available only if an inlet distortion is applied in the project. It allows to impose the pitch Tangential displacement of the inlet distortion and to activate the option Variable clocking.
The radio button Represent perturbation only outputs the perturbation of the quantities only and not the space averaged value with the perturbation.

When clicking on Apply, a file chooser allows the user to specify the name of the output files (by default set with the extension "*_clockrowi.run"). When clicking on Save (on Windows) or Ok (on LINUX), the time-mean flow will be reconstructed for each clocking position of the group or inlet distortion (with option Variable clocking active) and solution files ("*_clockrowi.run" and "*_clockrowi_posi.cgns") will be created.

Export Time-Averaging Steady Results
When an unsteady project is loaded, the user has the possibility to create a steady project by averaging the quantities in time. The time steps used for the computation of the average are the time steps chosen by the user when opening the unsteady project.
To save the time averaging results, just click on the button , then the popup window shown in FIGURE 10 will appear:


FIGURE 10 Quantity Choice dialog box
The user can choose the quantities among all quantities that are available for the unsteady project, including derived thermodynamics quantities (e.g. rothalpy), derived mechanics quantities (force and torque), gradient, divergence or curl of other quantities and user defined quantities.
When clicking on Apply, a file chooser allows the user to specify the name of the output files (by default set with the extension *_tav.run). When clicking on Save (on Windows) or Ok (on Linux), the time averaging steady solution files (by default *_tav.run and *_tav.cgns) will be created.
The time-averaging steady results can only be computed for structured (FINE™/Turbo) projects.

Local Values
Display Local Values

The local value tool is a numerical probe that prints directly the data value of the active quantity at selected points on the active surfaces. To create local values:

Choose Representation/Local Value or click on the  button in the Representations/Plots & Values subpanel.

Select a point in the graphical area by clicking with the left mouse button. CFView™ interpolates the active quantity value at the point that is located at the intersection of the active surface and the line that is perpendicular to the screen and which passes through the selected point.

This item remains active until another quantity representation requiring interactive input is selected.
The default style for number formats may be modified by using the Default Local Value Type Editor (Preferences/Local value type...). Edit, Save & Restore Defaults for further information.
The keyboard shortcut for Local Value is <v>.


Update Local Values

To modify one or several local values represented on the screen,

Click on the first local value to modify, then pressing the <Ctrl> key, click on the other local values to modify.
Press the right mouse button, a pop up menu appears. 




It contains 4 items:

select Marker Type... in order to modify the type of marker. A marker editor is opened (see Curve, Line & Marker Type Editors for a detailed description of marker parameters).
Select Number Format... in order to modify the way the figures are formatted. A number format editor is opened (see Numbers Format Editor for a detailed description of number formats).
Select Text Type... in order to modify the font type and size. A Text Type editor is opened (see Text Type Editor for a description of text font parameters).
Select Delete to suppress the local values from the screen.



Delete Local Values

CFView™ provides different methods to erase local values:

By interactive selection: as explained in Update Local Values, when a set of local values is selected, the associated popup menu contains a Delete item. By selecting this item, the currently selected local values are suppressed from the screen.
By selecting Update/Delete/Local Value: all the local values associated to the active quantity and attached to one of the active surfaces are erased.
By selecting Update/Delete/All, all the representations (not only the local values) on all surfaces are deleted.

From Geometry Menu
The Select Surfaces dialog box is provided for backward compatibility: its use is not advised anymore and the Surfaces subpanel in the Quick Access Pad should be preferred. To open the dialog box, choose Select Surfaces... from the Geometry menu.



FIGURE 2 Select surfaces dialog box
It contains a hierarchical list of all the surfaces and a filter box. Several operations can be performed from this dialog box. These are: 

Setting the surface selection for flow field representation,
Visualization of group composition,
Visualization of a surface for quick identification (Show...),
Removing of all representations of a surface in the active view (Remove...from view),
Deletion of surfaces from the project (Delete...),
Renaming of surfaces or groups (Rename...).

All these functions are accessible through a popup menu which is raised by pressing on the right mouse button (see FIGURE 2). The popup menu entries are mentioning the targeted surface name for an easier control. These functions are detailed in the following sections.
Surface Selection

To select or unselect surfaces:

Select one surface. Click the left mouse button on the surface name. Only this item remains highlighted.
Or, select several surfaces.

click on a first item,
press the <Ctrl> key while clicking to add or remove surfaces from the current selection.
or press the <Shift> key while clicking on a second item: all the surfaces between the two selected items are added to the current selection.

Click the Apply button to validate the surface selection and the Close button to close the chooser.


Select one surface. Click the left mouse button on the surface name. Only this item remains highlighted.
Or, select several surfaces.

click on a first item,
press the <Ctrl> key while clicking to add or remove surfaces from the current selection.
or press the <Shift> key while clicking on a second item: all the surfaces between the two selected items are added to the current selection.

Click the Apply button to validate the surface selection and the Close button to close the chooser.

The selected surfaces are now active and all the representations can be applied to these surfaces.
The selection can also be made by entering a regular expression in the Select or the Unselect filter entry. Pressing <Enter> adds or suppresses to the selection the surfaces whose name matches the filter expression (entering a blank or null expression, i.e. pressing <Enter> without entering any expression, selects or unselects all surfaces).
After the selection process, the inactive surfaces still remain on the screen but are not affected by the user's requests.
The keyboard shortcut for opening the Select Surfaces dialog box is: <Ctrl-s>.


Visualization of Group Composition

An item in the list that is a group is marked by a symbol . The group composition can be seen or hidden by clicking on the  symbol at the left side of the item name. Clicking on the group name acts also as a toggle, but modifies at the same time the selection.


Visualization for Quick Identification

The surfaces and groups can be easily identified in the graphical window by using the Show... item in the popup menu. The grid of the surface or of the group is represented in the active view. If another surface or group is selected for quick identification, any previous quick representation is removed.
The quick representations can be removed at any moment by pressing the <Esc> key. If the dialog box is closed or if the active view is changed, the quick representations are removed from the view.


Remove all Surface Representations in the Active View

To selectively remove all representations of a surface from the active view, choose Remove...from view. All the representations associated with the surfaces selected for removal are deleted. This can be applied to an individual surface or to a group.


Delete Surfaces from Project

To delete a surface from a project, choose Delete.... All the representations associated with the surface are removed in all the views. 
If the surface was created during the project session (e.g. the surface is a cutting plane), the surface disappears also from the list.
This can be applied to an individual surface or to the group.


Rename Surface or Group

To change the name of a surface or of a group, select Rename.... The name in the list becomes an editable string. Once the new name is typed, press <Enter> to validate the entry. The renaming mode is left if the <Esc> key is pressed or if a click with the left mouse button is performed outside of the editable string area.
Before the new name becomes effective, an internal check to avoid duplicated names is performed. If the name is already associated to another surface or group, an error box is raised and the renaming is not performed.

View Surfaces Boundaries
To turn on the display of the mesh boundaries in the active surfaces, choose Boundary from the Geometry menu or click on the  button in the Representations/Grid subpanel. This item acts as a toggle.
The default line pattern, color and width may be modified using the Default Boundary Curve Type Editor (Preferences/Boundary curve type...). See Curve, Line & Marker Type Editors, for further information. In order to change the representation line type, see Update Surfaces Boundaries Representation.
If the boundary representation is present on some active surfaces, but not on all of them, choosing this item a first time removes all the representations. Select it a second time in order to turn on the boundary display on all active surfaces.
The keyboard shortcut for Boundary representation is <b>.

Recording a Steady Animation
Steady animation includes streamlines, cutting planes and structured surfaces animations. The example given below only describes the case for streamlines animation. Everything described below can be applied for cutting planes and structured surfaces animations. The interface for streamlines animation recorder is shown in FIGURE 8.


FIGURE 8 Record steady animations
In order to record streamline animation:

Click on Record button to activate it (FIGURE 1).
Animation Output Set Up dialog box (FIGURE 8) will pop up. This dialog box is same as the one used for unsteady recording except for one change – Delete Image Files is active by default. Make necessary changes. Press Ok.
Save Animation in GIF Format  dialog box will pop up. Enter the name for the animated GIF file. Press Ok.
Animate required frames using Play button (FIGURE 1). For each frame an image will be saved.
Click on Record button to deactivate it (FIGURE 1). All the images saved during the interval when the Record  button was active are combined in the form of an animated GIF file with the name specified by the user.

If in step 3, user specifies the name of the animated GIF file to be "animated.gif", the PNG images in step 4 are created with names derived from "animated.gif" by appending "_steadycfvtmp" to it (e.g animated_steadycfvtmp_t01.png, animated_steadycfvtmp_02.png, etc).
When the Record button is active and the Play button pressed, an image is saved for each frame. It may happen that the user gets busy with some other work and does not deactivate the Record button after sometime. In that case the hard disk will get filled with images. This may even lead to a system crash. To avoid such a scenario following approach has been undertaken. For any steady animation, it is repeated after a certain number of frames. Suppose that the streamlines animation gets repeated after every 10 frames. In that case, only the images for first 10 frames will be saved and although the animation goes on indefinitely till the user presses Stop button, no image will be saved for any frame starting from frame 11.

Duplicate Axis
When right-clicking in the Cartesian plot view, the Toggle Top X axis / Toggle Right Y axis menu allows the user to duplicate respectively the X axis at the top and to add a new Y axis at the right. This allows different quantities to be plotted in the same Cartesian plot (Global Plot View in the Representation/Cartesian Plot menu) with different ranges as presented in FIGURE 26.


FIGURE 26 Control number of axis
In addition, after left-clicking on one of the curves and right-clicking, the menu Add to Left/Right Y Axis controls to which Y axis the selected curve will belong.

Add Coordinate Axes

CFView™ provides two types of coordinate systems, both right handed: the orientation axis and the graduated axis. Both types of coordinate systems are explained in this section.
Insert Orientation Axes

The orientation axes make a small local coordinate system displayed without graduations. By default, it is displayed in the lower right corner of the view. And it defines the principal directions as a help for the viewing operations. 
The orientation axis is inserted in the active view by selecting the toolbar button  or by selecting Axis in the Geometry/Coordinate system submenu. The button and the menu item are acting as toggles: a second selection removes the axis representation.
The orientation axis origin may be changed easily:

Select the axis representation in the view by clicking on it. A set of highlighting markers are appearing.
Place the mouse cursor on the axis, then press, drag and release with the left mouse button to place it at the desired location.

The size of the orientation axis may be increased or decreased in the following way:

Select the axis representation in the view by clicking on it. The highlighting markers are shown.
Press the right mouse button, a pop up menu appears.



Select Set Larger or Set Smaller to increase or decrease the representation size.

The pop up menu offers also the possibility to discard the axis representation from the view. To do so, select the Hide item in the pop up menu.


Insert Graduated Axes

The graduated axes are inserted in the active view by clicking on the toolbar button  or by selecting Graduated Axis in the Geometry/Coordinate System submenu. The axis origin and range is set automatically to values appropriate in order to fit with the represented geometry.
When the viewing direction is parallel to one of the main coordinates axis, the axis close to that direction is not drawn (since its representation would be degenerated to a point).
Several options are available to customize the graduated axis representation. These are accessible in the graduated axis editor dialog box (see Graduated Axis Representation Control). To open this dialog box, there are two possible ways:

select the Axis Editor... in the Geometry/Coordinate System submenu,
select the graduated axis in the active view, highlighting markers are drawn. Then, press the right mouse button, a pop up menu is appearing. In the pop up menu, select Edit axis.... Note that the pop-up menu contains a series of items that are shortcuts for common update options.






Graduated Axis Representation Control

There are several parameters that can be modified in order to tune the graduated axis representation. All of them are accessible from the Graduated Axis Editor dialog box (see figures below).
In the page entitled Ticks & Line Type, the following parameters are controlled:

the origin and extend in each direction. The coordinate system origin is situated at the point which coordinates are below the From label and the axis extends to the values given below the To label. The ticks spacing and their associated labels are given below the Spacing label. In order to change those values, type the new values and press the Apply button.
The size of the ticks (with respect to the axis size) is displayed at the centre. In order to change it, type the new value in the entry and press the Apply button.
In the lower part of the page, the line type used for drawing the axis and the ticks is displayed. The parameters controlling the line type are detailed in Curve, Line & Marker Type Editors.



FIGURE 12 Ticks & Line Type and the Numbers Type pages from the Graduated Axis Editor
The second page Numbers Type of the Graduated Axis Editor provides control of the type of text used for the numbers labels displayed along the axis.

The numbers orientation can be set to Horizontal (the numbers text appear horizontal whatever the axis orientation) or to Perpendicular to the axis (the numbers text are always orthogonal to the axis direction). This can be controlled individually for each axis. This control is also accessible directly from the graduated axis popup menu.
The font type, size and color can be changed in the Text Type frame. Further details on these parameters are provided in Text Type Editor.



FIGURE 13 Labels page from the Graduated Axis Editor
The third page Labels of the Graduated Axis Editor provides control over the positioning and text type of the axis labels:

The axis labels can be set at the end of the axis or at the centre (at mid range). Select Top or Center in the Position frame in order to change this setting.
The font type, size and color can be changed in the Text Type frame (see Text Type Editor for further details on these parameters).

The pop-up menu also offers shortcuts to enlarge or shrink all the text sizes in the represented graduated axis. To do so, select Larger Texts or Smaller Texts. The pop-up menu provides also an item to discard (Hide axis) the representation from the active view.

Commands Related to Quantity Probing

float / [float, float] / [float, float. float] ProbeIJK(int domId, int i, int j, int k): 
Operation: this function returns the value of the active quantity at the grid point of the domain domId and whose indices are provided (domId=1 correspond to the first domain). The required number of indices depends on the grid type: 

for 3D structured grids i, j and k are required (values between 1 and the maximum number of grid nodes should be provided); 
for 2D structured grids (including 2D grids issued from Turbomachinery mode, only i and j are important. In that case, one can use whatever value for k.
For instance: ProbeIJK(1,1,0) will give the same result as ProbeIJK(1,1,1).
for unstructured grids, only i is important. 
The returned value depends on the grid dimensionality and on the type of the active quantity. If the active quantity is a scalar, the returned type is a float. If the active quantity is a vector, the returned type is [float, float, float] in 3D grids and [float, float] in 2D grids.

float / [float, float] / [float, float. float] ProbeXYZ(float x, float y, float z): 
Operation: this function returns the value of the active quantity at the point whose geometric position is provided. With 2D grids, the z parameter is not used and may be omitted. 
The returned value depends on the grid dimensionality and on the type of the active quantity. If the active quantity is a scalar, the returned type is a float. If the active quantity is a vector, the returned type is [float, float, float] in 3D grids and [float, float] in 2D grids.

Error: raises a ValueError if no quantity is selected or if the point falls outside of the meshed domain.

float / [float, float] / [float, float. float] ProbeTIJK(int domId, int i, int j, int k): 
Operation: for unsteady projects with N time steps reconstructed from a project with harmonics, this function returns an array of N+1 values of the active quantity. The first value is the time step, the rest are the values in time of the active quantity at the grid point of the domain domId and whose indices are provided (domId=1 correspond to the first domain). The required number of indices depends on the grid type: 

for 3D structured grids i, j and k are required (values between 1 and the maximum number of grid nodes should be provided); 
for 2D structured grids, i and j are required;
The returned value depends on the grid dimensionality and on the type of the active quantity. If the active quantity is a scalar, the returned type is a float. If the active quantity is a vector, the returned type is [float, float, float] in 3D grids and [float, float] in 2D grids.

QuantitySetScalarIJK(string quantity_name, int domain_nb, float value, float i, float j, float k)

Operation: this will set the value of scalar field with name quantity_name at cell index (i, j, k) in domain domain_nb to value.

QuantitySetVectorIJK(string quantity_name, int domain_nb, float val_X, float val_Y, float val_Z, float i, float j, float k)

Operation: this will set the value of vector field with name quantity_name at cell index (i, j, k) in domain domain_nb to (val_X, val_Y, val_Z).

[float, float] QuantityRangeDomain(int domId, float Imin, float Imax, float Jmin, float Jmax, float Kmin, float Kmax)
Operation: this function returns the minimum and maximum values of the active quantity in the specified domain range. 
The domain range is specified by the arguments:

domId is the domain number (first domain has the number 1).
Imin and Imax specify the normalised node range in the I direction. Imin and Imax must have a value between 0 and 1 (0 meaning the first node index and 1 meaning the last one). These values are denormalized automatically.
 Jmin and Jmax specify the normalised range in the J direction;
Kmin and Kmax specify the normalized range in the K direction.

If the quantity is a vector, the returned range is the range of the amplitude.

Example: this command can be used to obtain the quantity range at a mid-range grid surface (mid range in the I direction)
QuantityRangeDomain(1, 0.5, 0.5, 0,1 0,1)

float QuantityStdDevDomain(int domId, float Imin, float Imax, float Jmin, float Jmax, float Kmin, float Kmax)

Operation: this function returns the standard deviation of the active quantity over a domain range. The domain range is specified as explained here above for the QuantityRangeDomain command.

[float, float] QuantityRangeActiveSurfaces()

Operation: this function returns the minimum and maximum values of the active quantity on the active surfaces. If the active quantity is a vector, the standard deviation is the standard deviation of the vector magnitude.

[float, float, float, float, float, float] CoordRangeActiveSurfaces()

Operation: this function returns six real values containing xMin, yMin, zMin, xMax, yMax and zMax. For example it creates cutting planes that cross the geometry independently of the test case.

float QuantityStdDevActiveSurfaces()

Operation: this function returns the standard deviation of the active quantity on the active surfaces.If the active quantity is a vector, the standard deviation is the standard deviation of the vector magnitude.

CGNSSaveSurfaces(string fileName.cgns, string Basename, string v1, string v2, ..., string Save Scene=1)

Associated menu item: Geometry / Export CGNS Active Surfaces...
Operation: this function exports the values of the selected quantities on the active surfaces into CGNS data file. The first argument is the file name, the second is the base name and the following ones are the selected quantity names. As for the last argument, it activates the "Save Scene" option in the CGNS Surface Saver dialog box.

SaveActiveSurfaces(string fileName)

Associated menu item: Geometry / Export Active Surfaces...
Operation: this function exports the values of the active quantity on the selected surfaces. The output is stored in the file called fileName. The first line represents the name of the surface, the second line contains the number of coordinates (X,Y,Z), the second number is there for backward compatibility and shows the number of columns for the quantity (1 for a scalar and vector), then the number of points is stored and the last information is the name of the quantity between two "|".

AcousticRadiatingSurface(string fileName,float R,float zMin,float rAtZMin,float zMax,float rAtZMax, bool numPointsFromCellSize, float cellSize,int nPointsAxial, int nPointsRadialAtZMin,int nPointsRadialAtZMax, int nPointsAzimuthal,bool triangulateRadialSurface,bool generate360,float maxFrequency,int maxFourierCoef, bool writeModuleAndPhase,bool openResult,float zTolerance) 

Associated menu item: Geometry / Acoustic Radiating surfaces...
Operation: this function exports an acoustic radiating surface to a .cgns file. The output is stored in the file called fileName. The detailed arguments definition can be found in Acoustic Radiating Surface.

Multiple Views
Open Additional Views




To open a new Cartesian view, choose Open Cartesian from the Window pull down menu. To do so specify a rectangular area to indicate the location of the new view:

Move the mouse to the active view and press the left mouse button on the first corner of the rectangular area.
Drag the mouse to the second corner and release the button.

Open Cylindrical opens a view in the (r, θ, z) coordinate space.
Open Blade to Blade in the (s, θ, m) coordinate space. For a description of the (s, θ, m) coordinate space refer to Geometry Support for Blade to Blade Views.
Compute & Open Pitch Average starts the computation of a pitch average project and opens a meridional (2D) view. Refer to Compute Meridional View by Azimuthal Averaging for a detailed description of this feature.
The keyboard shortcut for Open Cartesian is <Shift> + <n>and the toolbar buttons associated to the opening of respectively Cartesian and cylindrical views are  and .


Refresh Graphical Area Display

To refresh the content of the graphics area, select Refresh from the Window menu. CFView™ is refreshing automatically the graphics area content and this command does not need to be used under normal conditions.


Reset View Content & Viewing Parameters

To reset the view content as it was just after opening it, choose Reset View from the Window menu.


Close Active View

To close the active view and delete all the representations, choose the Close item from the Window menu. After deletion it is not possible to retrieve the content. In this way memory space can be made available again.
When all the views associated with a project are deleted, the project is at the same time deleted from the system.
The keyboard shortcut <Ctrl> + <n> and the toolbar button  permit to close the view.


Change View Size/Position



The view size and position can be changed by selecting the appropriate feature from the View pull down menu. The view border can also be selected with the left mouse button in order to activate the view move or resize interactive mode. This section describes first the functionalities from the View menu and then provides a description of the interactive move or resize mode.
Maximize

To expand the active view over the entire Graphics area, choose Maximize from the View pull down menu. 
The keyboard shortcut is <f> and the toolbar button associated is .


Preferred Size

To return to the size of the active view before the last full screen or icon operation select Preferred Sizefrom the View pull down menu.
The keyboard shortcut is <7>.


Minimize

To iconise the active view select Minimizefrom the View pull down menu.
The keyboard shortcut is < . > and the toolbar button associated is .


Push Back

To push back a view, select the Push Back item. The active view is redrawn behind any overlapping view.


Move/Resize

To move or resize the active view in the graphics area, choose Move or Resize from the View menu. Both are starting the interactive move or resize mode described in Tiling Views.
For compatibility with previous versions, two shortcuts are recognized <m> and <r>.


Interactive Move/Resize Mode

When move or resize are selected from the View menu, or when the view border is selected with the left mouse button, the interactiveMove or Resizemode is activated. The cursor appearance is changed.
In this mode, the mouse binding are as follows:

When the mouse pointer is positioned near a view corner or at mid distance along one of the view side, the cursor is changed into a symbol (i.e. ) indicating which type of resizing operation can be performed. At this moment, if the left mouse button is pressed, a resizing operation is started. By dragging, without releasing, the mouse pointer into a new location the view is resized accordingly. The resizing operation is validated by releasing the left mouse button.
When the mouse pointer () is positioned inside of the view. Pressing, dragging and then releasing with the left mouse button is moving the view accordingly.
When the right mouse button is pressed a pop up menu is raised that provides access to the commonly used features. These features are enabling to change the view size, to send it to back or to bring it to the front and to close the view.
                            
The interactive mode is quit by a simple left-click inside the view.





Tiling Views

To tile the non iconised views to the entire graphics area select Tile Viewsfrom the Windows menu.


Arrange Iconised Views

To arrange the current iconised views in the graphics area select Arrange Iconsfrom the Windows menu.


Swap Views

It is possible to swap a view with another view, i.e. exchanging their position and size. To do so:

Select the first view with the mouse.
Choose Swap Views from the View pull down menu.
Select the second view with the mouse. The two views are swapped.

The keyboard shortcut for Swap Views is < / >.


Align Views

This command aligns the camera position and orientation of a view with another. To align a view:

Select the model view for alignment.
Choose Align Views from the View pull down menu.
Click with the left mouse button into the reference view on which to align the active view. The camera position and orientation parameters will be automatically set to those of the reference view.

The keyboard shortcut for Align Views is < = >.


Synchronize Views

These commands allow to control the dynamic synchronization of multiple views by linking the viewing operations (i.e. zoom, rotate and translate) to a group of views.
To synchronize views:

Left-click on a view to activate it. This view will be the "master" view.
Select View/Synchronize Views menu to start synchronization (shortcut <a>).
Left-click on another view. This view will be the "slave" view.
Repeat above steps to add another slave view.

When applying viewing operations (more details in Viewing Buttons) in the "master" view, the same operations will be automatically applied in the synchronized "slave" views.
The dynamic synchronization is not allowed on views with different coordinate systems. When selecting "slave" view a warning "Can not synchronize, not the same coordinate system" will appear.
Stop View Synchronization 
The View/Stop View Synchronization menu allows to stop the dynamic synchronization of the whole CFView™ session (shortcut <A>).
Show Synchronized Views 
The View/Show Synchronized Views check button displays a label at the bottom of each view indicating the ID of the view as well as all the "slaves" views synchronized with it when "master" view.




Superpose Views

This command superposes two views in order to compare their contents. The active view is placed on top of another one and the active view is set transparent. To superpose a view:

Activate the view to superpose.
Choose Superpose Views from the View pull down menu.
Click with the left mouse button into the target view on which to put the active view. The active view is superposed and becomes transparent.

The keyboard shortcut for Superpose Views is <+>.


Match Ranges

This command sets the colormap range for one view equal to another one. To match two views:

Activate the target view. This is the view that will have its colormap range matched to the second view.
Choose Match Ranges from the View pull down menu.
Left-click into the second view. Now the target view has the same colormap range as the second view.

The keyboard shortcut for Match Ranges is <Ctrl> + <m>.

Harmonics Selection
The menu Representation / NLH / Harmonics selection allows the user to select the harmonics that will be used for all the NLH post-processing under the menu Representation / NLH /.


FIGURE 14 Harmonics selection for local reconstruction
By default, all the harmonics are active. The user can select a group and deselect some of the harmonics by clicking in the check-box in the list of the harmonics.

Views Manipulation

CFView™ operates as a multi-window system in which 2D and 3D graphics objects can be simultaneously and independently displayed and manipulated. A window is called a view in CFView™ terminology. The number of windows and tasks assigned to them is unlimited (except by system resources). Any representation of the field may be applied and combined inside one or more views. CFView™ recognizes three types of views:

2D views which are primarily related to 2D data,
3D views which are related to 3D data,
Cartesian plot views which are used to display data in a Cartesian plot form.

When starting CFView™ only one view is created that occupies the entire graphics area. It is possible to create additional views by opening a new project or by explicitly requesting a new view for the same data set. In addition CFView™ creates Cartesian plot views whenever a scalar quantity distribution (Representation/Cartesian Plot) is requested. The newly created view becomes the active view. All subsequent actions, by using the menus or viewing buttons, are related to it.
To manage the set of views, use special menu items dedicated to view manipulations such as resizing, moving, iconising or deleting a view. It is also possible to tile all non iconised views to the graphics area. This gives a flexible way to customize the screen layout dedicated to graphics and to produce plots for scientific publications and technical reports.

Flow Quantities Visualization

This chapter provides a detailed description of how to represent the flow quantities. It is divided in 5 sections:

Select and create flow quantities,
Visualize scalar data,
Work with Cartesian Plots,
Visualize vector data,
Update the data representation.

The first section describes the basic concepts needed before going further into details. The remaining sections provide step-by-step instructions to create and modify a project.

Update Representations
The data representations can be updated by selecting them individually or by groups as described in Update Texts. Indeed, when representations are selected, a popup menu containing the updating functionalities is accessible by pressing the right mouse button. 

CFView™ provides also, in the Update menu, a set of items which allow the user to modify the last created representation without selecting it. 
For example, the line width of isolines can be modified immediately after their insertion using the Line Type Editor started from the Update menu. However, if another representation is made, a Gouraud shading for example, the isolines may not be modified without being interactively selected.
The update commands are outlined below.
Undo

For some of the representations type, several representations can be inserted on the same surface. This is the case for local values, isolines, vectors, vector lines and plot curves. For these representation types, choose Undo from the Update menu to remove the last inserted representation. Each time this command is invoked, the latest representation from the group is deleted. This command can be repeated until no object is left for that representation type.
The keyboard shortcut for Update/Undo is <u>.


Delete

It is possible to delete all or a specific representation type in the active view. To do so:

Choose Delete from the Update menu. A submenu appears. 
Select a delete operation:


	choose All to remove at once all the data representations from all the active and inactive surfaces in the active view.
The keyboard shortcut for Update/Delete/All is <Ctrl>+<d>.
	choose Text All to remove all the text from the active view.
	choose Text Last to remove the last inserted text in the active view.
 	choose one of the other items to remove the associated data representations type from the active surface(s) in the active view.

Representations cannot be removed from the active surface(s), with the Update/Delete menu, if the corresponding quantity is not selected.


Representation Type Editors

Most of the modifications of representations attributes are done through dialog boxes. All the dialog boxes in CFView™ use the same terminology and have a coherent behavior and aspect.
All the dialog boxes are made up of small controllers that perform editing. Some of these controllers, such as the one allowing the selection of color, are included in several dialog boxes.
All dialog boxes have also a consistent button naming policy:

Apply performs the editing.
Reset discards the changes brought to the editing parameters and restores back the values they had at the moment the dialog box was opened.
Close discards the dialog box.

Text Type Editor

For editing a decoration text, axis numbers and axis label, text type editors are used. 
These are a combination of the following controllers:

A font controller allows the change of font type and size.
A color controller allows the change of the text color.
A line spacing controller allows the change of the spacing between the lines.
An alignment controller allows the change of the text alignment.
An anchor alignment controller allows the change of the text position relatively to its anchor point.
An anchor point controller allows the change of the text anchor position.



FIGURE 52 Text type definition dialog box
Several dialog boxes are made out of the same controls, the most common controllers are described in the rest of this section. More specific controllers are described later in the text.


Color Controller



The color controller allows the user to change various colors in the system. To change the color either select one of the 18 predefined ones or invoke a standard color editor by clicking on the color editor button (Ed.).
LINUX Standard Color Editor


Windows Standard Color Editor


The color editor allows the user to select a color by specifying its definition in the RGB color model. The RGB color model is a hardware oriented color model: Red, Green and Blue are the 3 additive components used in a color monitor to define a color). 
On Linux platforms, use the RGB sliders or the entry fields to modify the color in RGB color model space. On Windows platforms, select a color in the predefined area or in the colormap or specify its RGB or its HSV values (Hue, Saturation, Value color model). Once a satisfying color is obtained, click on OK to set the color in the controller and to close the dialog box. Click Cancel to quit the dialog box without validating the choice.


Font Type Controller

The font controller allows the user to change the font type and size. 


FIGURE 53 Font controller
The font type can be selected by clicking on the button on the right side of the entry showing the currently selected font (arial in FIGURE 53) and its size by specifying an integer value.
Starting from version 3.8-22 of CFView™, two TrueType™ fonts have been introduced: Arial™ and Times™ (both are trademarks of Agfa Monotype Ltd). These fonts are based on the TrueType technology and are rendered exactly in the same way on the screen and in bitmapped pictures (PNG, JPEG, TIFF, PPM, PBM, PGM, NTSC). The Arial™ font is selected as the system default font.




Curve, Line & Marker Type Editors


The Curve Type Editor dialog box is composed of a Line Type Editor and a Marker Type Editor. The same layout and the same parameters are used throughout CFView™ to update the representation parameters for the line and the markers. As an example, the line type editor is also inserted as a frame in the Plot Axis Editor to edit the axis line type.
Line Type Editor



FIGURE 54 Line Type Editor
The Line Type Editor allows the user to modify the parameters that are controlling the appearance of lines in the graphical area. In FIGURE 54, it is represented as the first page of the Curve Type Editor.
The following parameters are controlling the line appearance:

the line Pattern (solid, dashed, dotted, etc...)
the line End cap.



the line Join.



the visibility (Visible).
the color.
the Thickness (1 is standard, 2 is twice as big as 1, etc...).



Marker Type Editor

The Marker Type Editor allows the user to modify the parameters that are controlling the appearance of markers in the graphical area. In FIGURE 55, it is represented as the second page of the Curve Type Editor


FIGURE 55 Marker Type Editor
The following parameters are controlling the markers appearance:

the marker Symbol (Box, Circle, etc...),
whether the marker shape should be Filled or not,
whether the marker shape should be Lighted or not,
the visibility (Visible),
the color of the marker,
the Size of the marker.





Numbers Format Editor

This controller allows the change of number formats. The following parameters shown in FIGURE 56 can be modified:

Exponent: the precision field is with the number of significant digits only if the "auto" or "always" is selected. If "never" is selected, then the precision field is the total number of digits.
+/- sign: whether or not the sign (+/-) should be displayed in front of the number.


FIGURE 56 Numbers Format Editor
Precision: it can be increased, or decreased. The number displayed in the spinner shows an example the current format. To adjust the number of significant digits, click on the up or down arrow of the spinner.

Control Representations Range
This functionality allows the user to control the represented range of the active quantity. This means that all colored representations of the quantity will be affected by a range selection. The regions of the color contours with values falling outside the selected range will not be represented. The isolines and vector having values falling outside the selected range will not be visible.
The quantity range is a global setting. It affects all the views related to the project that is edited.
Range Set

To change the limits of the color-map range, choose Representation/Scalar Range/Range Set or Representation/Vector Range/Range Set or select the shortcut button  in the toolbar. This option is also available when the colormap is selected (the colormap is selected by clicking on it with the left mouse button), in the pop-up menu raised by pressing the right mouse button, select the Set Range item. 



Then insert the new limits in one of the following ways:

Move the mouse to the string input area and enter the range of the color map. The two limits must be separated by a blank.
Move the mouse on the colormap and click at a level which represents the first limit. Drag the mouse in the color map to a suitable value and release to fix the second limit.

A zoom to the selected range is performed.


Range Default

To set the range of the color ramp to its default value, choose Representation/Scalar Range/Range Default or Representation/Vector Range/Range Default, or press the shortcut button  on the toolbar.


Range Active Surfaces

To set the range of the colormap to the quantity range on the active surfaces, choose Representation/Scalar Range/Range Active Surfaces or Representation/Vector Range/Range Active Surfaces or press the shortcut button  on the toolbar.

Commands for Computing Integrals on Surfaces

float GmtArea()

Associated menu items: Representation / Surface Integral / Surface Area or Geometry / Surfaces / Area
Operation: returns the computed area of all the active surfaces ().

float ProjectedSurfaceArea(float nx, float ny, float nz)

Associated menu item: Geometry / Surfaces / Projected Area
Operation: returns the projected area of all the active surfaces  where β is the angle between the normal of the active surface and the normal (nx,ny,nz) of the plane on which the surface is projected.

float SclIntegral()

Associated menu item: Representation / Surface Integral / Scalar Integral 
Operation: returns the scalar surface integral of the active quantity on the active surfaces .
Exceptions: having either no active quantity or a vector quantity as active quantity will trigger a Type Error.

float SclAverage()

Associated menu item: Representation / Surface Integral / Scalar Average
Operation: returns the scalar average value of the current scalar quantity. It is equivalent to the ratio of the results returned by the commands SclIntegral() and GmtArea() (see here above for the mathematical definitions).

[float, float, float] SclForce()

Associated menu item: Representation / Surface Integral / Vector Integral
Operation: returns the vectorial surface integral of the active quantity on the active surfaces in a similar way as the force on a surface is obtained from the static pressure .
Exceptions: Having either no active quantity or a vector quantity as active quantity will trigger a Type Error.
The direction of the normal vector depends on the surface type:

for cutting planes, the normal is provided as part of the cut definition;
for structured surfaces, it depends on the surface family. The following table summarizes the convention used.

TABLE 1 Convention used for the normal vector direction








Surface


I= cste


J=cste


K=cste






Normal vector direction


I decreasing


J increasing


K decreasing





[float, float, float] SclTorque(float px, float py, float pz)

Operation: returns the vectorial surface integral of the active quantity on the active surfaces in a similar way as the torque - with respect to the reference point (px, py, pz) - on a surface is obtained from the static pressure (q): . Note that the normal vector direction is taken as explained in the SclForce() command.
Exceptions: No scalar quantity selected.

float SclBoundaryForce()

Operation: similar to sclForce, but active surfaces are restricted to boundaries and the local normal to the surface is set to point outside of the domain.
Exceptions: Having either no active quantity or a vector quantity as active quantity will trigger a Type Error.

[float, float, float] SclAverageForce()

Associated menu item: Representation / Surface Integral / Vector Average
Operation: returns the vector average of the current scalar quantity. It is equivalent to the ratio of the results returned by the commands SclForce() and GmtArea() (see here above for the mathematical definitions).

[float, float, float] SclBoundaryTorque(float px, float py, float pz)

Operation: similar to sclTorque, but the active surfaces are restricted to boundaries and the orientation of the local normal to the surface points outside of the domain.
Exceptions: Having either no active quantity or a vector quantity as active quantity will trigger a Type Error. SclBoundaryTorque can only be used on boundaries of the domain (the existing surfaces).

float SclTorqueAmplitude(float px,float py, float pz, float dx, float dy, float dz)

Operation: similar to sclTorque, the scalar product with the unit vector (dx, dy, dz) is returned
Exceptions: Having either no active quantity or a vector quantity as active quantity will trigger a Type Error.

float SclBoundaryTorqueAmplitude(float px,float py, float pz, float dx, float dy, float dz)

Operation: similar to SclBoundaryTorque, the scalar product with the unit vector (dx, dy, dz) is returned.
Exceptions: Having either no active quantity or a vector quantity as active quantity will trigger a Type Error.

float VectorFlux()

Associated menu item: Representation / Surface Integral / Flux
Operation: returns the flux of the active vector quantity through the active surfaces ().
Exceptions: having either no active quantity or a scalar quantity as active quantity will trigger a Type Error.

float SclWeightedIntegral(string weight)

Associated menu item: (QAP) Representations / Integrals / Weighted Integral
Operation: returns the computed weighted (by scalar quantity named "weight") surface integral of the active quantity on the active surfaces.
Exceptions: having either no active quantity or a vector quantity as active quantity will trigger a Type Error. Having no weight will consider a zero weight and will return zero.

float VectorWeightedFlux(string weight)

Associated menu item: Representations / Surface Integral / Weighted Flux / Qnt
Operation: returns the weighted (by scalar quantity named "weight") surface flux of the active quantity on the active surfaces.
Exceptions: having either no active quantity or a scalar quantity as active quantity will trigger an Type Error. Having no weight will consider a zero weight and will return zero.

float WeightedIntegral()

Operation: computes the following ratio:
the numerator is the integral over the active surfaces of the active quantity multiplied by the current weight equation (see SetProjectWeightEquation command below) and the denominator is the integral over the active surfaces of the current weight equation.
Exceptions: having either no active quantity will trigger an Type Error.

SetProjectWeightEquation(string equation)

Operation: sets the current weight equation used in the WeightedIntegral command.

float VecIntegral(string fieldName)

Associated menu item: (QAP) Representations / Integrals / Vector Integral
Operation: integrates the active vector field fieldName on all active surfaces and prints the three components of the resulting vector.
float Massflow(string name)
Associated menu item: (QAP) Representations / Integrals / Massflow
Operation: returns the massflow value for the selected surfaces.
Exceptions: an error is raised if the quantities Wxyz, Vxyz or Density are not present in the list of quantities.

Streamlines
The Streamlines module allows the user to color the streamlines based on any scalar field quantity available in the field quantities list in the Quantities subpanel. By default the streamlines are computed by using the relative velocity vector field. To color the streamlines by integration of the active scalar quantity, select Streamline from the Representation menu. A submenu appears, containing three options to plot streamlines: Local, Section and From Grid Line…. The default computation and representation parameters can be changed by using the Streamlines Parameters dialog box available from Parameters… menu.


FIGURE 19 Access to Streamlines Module
Local Streamline


Select Local from Representation/Streamline menu. 
Select the starting point. This can be done in two ways,

	With the mouse: select a point with the left mouse button on an active surface (selected in the Surfaces subpanel).
	With the keyboard: A request message "Input or select vector line starting point" appears in the message area of CFView™.


In the string input area, type the desired x y z coordinates of the starting point on the active surface, then press <Enter> in the keyboard input area in order to validate the entry.
The streamline starts from this point and extends to the first non-connected boundary (i.e. full-non-matching boundaries, rotor-stator interfaces…) encountered or until the maximum number of points per streamline is exceeded (more details can be found in Streamlines Parameters).


Streamline from Section


Choose Section from Representation/Streamline menu.
Select a section defined by two points: A request message "Input number of vector lines and press-drag to define section" appears in the message area of CFView™.
In the keyboard input area, type the desired "Number of Points:" (the default value is 5), then press <Enter> in the keyboard input area in order to validate the entry (e.g. 25). The entered number should be larger than 2. It defines the number of starting points on the originating section.
To create the originating section of streamlines through the active surface (selected in the Surfaces subpanel), move the mouse in the graphical area and click the left mouse button to select the first point of the section line. Hold the mouse button and drag it, a red line is attached to the cursor. Move the cursor in the desired direction and release the left mouse button to define the second point of the line.



FIGURE 20 Section creation on an active surface for streamline plot


Streamline from Grid Line


Choose from Grid Line... from the Representation/Streamline menu. A dialog box shown in FIGURE 21 appears:


FIGURE 21 Grid line definition dialog box for streamline plot
In the Index area, click the desired radio button. The i and j radio buttons do not necessarily correspond to the IGG™ indices:

	If the surface is constant in I, the first index corresponds to J and the second to K.
	If the surface is constant in J, the first index corresponds to K and the second to I.
	If the surface is constant in K, the first index corresponds to I and the second to J.

Set a value of the constant index in the Value box between 1 and the maximum value indicated.
Select the nodes from which the streamlines need to be generated in Node Range area. To do this, enter a node range:

	Enter a number in the First box included between 1 and the maximum of the unselected index.
	Enter a number in the Last box included between the number given in First box and the maximum of the unselected index. This number has to be different from the first node number. Initially the Last box indicates the maximum node number available.

Click the Apply button to start the streamline computation and display.
Click the Close button to close the dialog box.



Streamlines Parameters

The parameters of the streamlines like the maximum number of points per line or cell, the cell average, the color, the direction, the curve type can be changed in the following way.

Choose Parameters... from the Representation/Streamline menu. A dialog box appears, as shown in FIGURE 22.
To modify the maximum number of points per streamline: click on the Max points per line box and enter the desired number of points or use the increment-decrement buttons 
To modify the maximum number of points calculated inside each cell (this number avoids continuous calculations when the streamline goes in a spiral inside a cell): click on the Max points per cell box and enter the desired number of points or use the increment-decrement buttons. This parameter is used only for surface streamlines on mesh surfaces.
To modify the average number of points inside each cell (this average defines the number of points calculated inside a cell): click on the Average points per cell box and enter the desired point average or use the increment-decrement buttons. This parameter is used only for surface streamlines on mesh surfaces.



FIGURE 22 Parameters for streamlines

To modify the integration direction: click on the pull down menu and choose among three options:

Forward to set up a downstream integration,
Backward to set up an upstream integration or
Both to set up full stream integration.

To modify the computation mode: click on the pull down menu and choose among two options:

Volume to define streamline(s) in the 3D space or
Surface to constrain the streamline on the surface from which it is started

Click the Apply button to apply the modifications.
Click the Reset button to discard the modifications and go back to the initial parameters.
Click the Close button to close the dialog box.

To modify the default line or the marker type click on the corresponding Line Type or Marker Type page respectively (See Curve, Line & Marker Type Editors for a detailed description of these parameters).
For more info on the ribbon and tube type see Stream Ribbons & Tubes.
The settings are applied for the next created streamline(s).


Update Streamline

To modify one or several streamlines represented on the screen,

Click on the first streamline to modify, then pressing the <Ctrl> key, click on the other streamlines to modify.
Press the right mouse button, a pop up menu appears. 




It contains the following items:

Select Uniform Color to color the streamline with pre-defined uniform color.
Select scalar quantity (i.e. Static Pressure) to color the streamline based on the scalar quantity which was selected when creating the streamline.
Select Export to file to export the selected streamlines into a file. More details of Export to file in Update Color. 
Select Parameters... to edit the type of curve used for the streamline representation. Note that the line color parameter only has an effect if Uniform Color was selected before. 
Select Delete to suppress the streamline representations from the screen.
Select Cartesian Plot to create a Cartesian plot of the scalar quantity along the streamline.



Delete Color Streamlines

CFView™ provides different methods to erase color streamline representations:

By interactive selection: as explained in Update Streamline, when color streamline representations are selected, the associated popup menu contains a Delete item. By selecting this item, the currently selected streamlines are suppressed from the screen.
By selecting Update/Delete/Streamline: all the color streamline associated to the active quantity and that are created from one of the active surfaces are erased.
By selecting Update/Delete/All, all the representations (not only the color streamlines) on all surfaces are deleted.

Create Cutting Plane


FIGURE 7 Create Cutting Plane dialog box
This option is used to scan the computational field by an interactive movement. A plane, on which the active quantity distribution is interpolated, is displayed in smooth color contour. 
The plane is defined by two vectors:

The plane point is any point belonging to the plane.
The plane normal is any vector normal to the plane.

Additionally a rotation axis direction is introduced. This direction is used for rotation operations.
To draw a cutting plane:

Choose Create Cutting Plane... from the Geometry menu. A dialog box appears.
Define a plane (if the user does not define a plane, a default cutting plane defined by the current view camera target and camera normal is activated):

	Use the Plane Point control to input the plane point.
	Use the Plane Normal control to input the plane normal.
	Press on the Apply button to see the defined plane.

	Select the appearance of the cutting plane using the mode control.

			select Quantity to visualize a color contour on the cutting plane (available if a quantity is selected).
	select Geometry to visualize only the mesh of the cutting plane.
	select Polygon to see a semi-transparent blue cutting plane. The contour of the plane is drawn in red. A cross has been added to better show the 3D aspect of the plane.
select Triangulate to save the mesh triangulation on the cutting plane when performing the mesh display.

Translate the plane along the normal direction.




	Press on the left mouse button to initiate a translation. 
	Then drag the mouse to the left or to the right to translate forward or backward. 
	Release when finished.

Rotate the plane around the axis.




	Press on the left mouse button to initiate a rotation operation. 
	Then drag the mouse to the left or to the right to rotate clockwise or counterclockwise. 
	Release when finished.

The direction used for the rotation is actually the normal projection on the plane of the rotation axis as specified in the axis direction control (Normal).
Rotate the axis direction in the plane.




	Press on the left mouse button to initiate a rotation operation. 
	Then drag the mouse to the left or to the right to rotate the axis direction in the plane clockwise or anti clockwise. The axis direction is identified by a black line in the control polygon.
	Release when finished.

Use step by step scrolling.




	Input the scrolling increment in the Step scrolling control.
	Use the right and left arrow buttons to translate forward and backward in the normal direction. The magnitude of the translation is the scrolling increment.

To save the selected cutting plane, click on the Save button. This operation introduces the cutting plane into the project surfaces list. If the cut is crossing several domains, a group is formed that contains the cuts from each domain.
Close the dialog box by clicking on the Close button.

The keyboard shortcut for Create Cutting Plane... is <Shift> + <l> and the item is accessible in the Quick Access Pad: .


FIGURE 8 Cutting plane definition dialog box with active quantity color contour representation

Definition of Computed Thermodynamical Quantities
The computation of these derived quantities is based on a set of conventional names for the basic thermodynamical fields:

Static Pressure,
Static Temperature,
Density (for incompressible fluids, this quantity does not need to be present),
Vxyz for the absolute velocity vector field,
Wxyz for the relative velocity vector field.

If it is not present, the absolute velocity is automatically deduced from the relative velocity (or the relative velocity from the absolute velocity) when the quantity is required.
Perfect Gas

For perfect gas, the following quantities are defined:










































where  is the perfect gas constant,  is the rotary total pressure at inlet,  is the local static pressure,  is the rotation speed around the Z axis,  is the radius calculated by  and the  can be computed from the local static pressure using the isentropic relation:



If a group of blocks contains neither inlet nor rotor/stator patch for computing reference values (Total Enthalpy, Pressure and Temperature at the inlet), the computation of the Isentropic Mach Number will not be performed on the group of blocks and a warning is appearing.





















where  and  are requested in a specific dialog box if the Entropy item is selected. Note that  refers to Neperian (or natural) logarithm. When activating the Normalized option, the normalized field of the entropy is computed:



where  is the specific gas constant.
No  and  are required to visualize the entropy if the quantity is already provided by the flow solver.










 
where  is the turbulent kinetic energy.














Incompressible Fluid

For incompressible fluids, the following standard thermodynamical quantities are supported:



















































where   is requested in a specific dialog box if the Entropy item is selected. Note that  refers to Neperian (or natural) logarithm. 
The Normalized option is not available for incompressible fluids.
No  is required to visualize the entropy if the quantity is already provided by the flow solver.



where   is a constant value retrieved from the FINE™ project file. 







 
where  is the turbulent kinetic energy.














Real Gas

For real gas, the thermodynamical quantities are computed by interpolation in tabulated piecewise-polynomial functions.



where  is the specific gas constant,  is the rotary total temperature at inlet,  is the rotation speed around the Z axis and  is the radius calculated by using .


Condensable Gas

When thermodynamic tables are available, the thermodynamic quantities are computed by reading the tables. The following quantities can be computed in CFView™:

































where   is the rotation speed around the Z axis,  is the radius calculated by  and the calculation of the  depends on the fluid models (with and without preconditioning) and the thermodynamic tables available for the considered fluid.
Dynamic quantities (absolute, relative or rotary) can be defined as the difference between the total quantities and the static quantities.
With Preconditioning

The key tables have  and  (, ) as independent quantities. 

To be able to properly re-compute the dependent variables and improve the consistency between the derived quantities in CFView™ and the computed quantities by the solver, we strongly recommend to extract from the solver the Static Pressure, Static Enthalpy as the key independent quantities, Density, Static Temperature, relative and/or absolute velocities and turbulent kinetic energy when the turbulence model has  (e.g. k-e, SST, etc).
The velocity vector is the absolute velocity (Vxyz) if we refer to absolute quantities and the relative velocity (Wxyz) if we refer to relative quantities.
The dependent quantities if not available are computed as the following:

 is evaluated from the  table.
where  is  () as a function of  () and  ().

 is evaluated from the  table.
where  is  () as a function of  () and  ().

 



If not available, 
If not available, the  is first computed from the  tables which takes the  and  as inputs.




 is evaluated from the  table.
where  is  () as a function of  () and  ().
 

 is evaluated from the  table with the following steps:


 is evaluated from the  table.
where  is  () as a function of  () and  (). 







 is evaluated from the  table.
where  is  () as a function of  () and  (). 

 is finally evaluated from the  table.
                            where  is  () as a function of  () and  ().
                        
 

 is evaluated from the  table with the following steps:


 is evaluated from the  table.
where  is  () as a function of  () and  (). 







 is evaluated from the  table.
where  is  () as a function of  () and  (). 

 

:
If  table exists, the quantity is evaluated from the table which takes the  and  as inputs.
If  table does not exist, the quantity is computed with the following steps:
1. Compute  using an internal function to compute the derivatives of a table.
2. Compute  using an internal function to compute the derivatives of a table.
3. Apply the formula: 

 and :
If cavitating flow (iCavitation_==2), the quantities can be computed from the  and  tables where  and  are respectively  and  as a function of  and .
If non-cavitating flow (iCavitation_==0), the quantities can be computed from the  and  tables where  and  are respectively  and  as a function of  and .


Without Preconditioning

The key tables have  and  (, ) as independent quantities:

The quantity solved from the equation is directly the  ().
The quantity solved from the equation is  but to access the tables, it is simply transformed to  by subtracting the mechanical energy and the turbulent kinetic energy  (if a turbulence model with this variable is used. e.g. k-e).





To be able to properly re-compute the dependent variables and improve the consistency between the derived quantities in CFView™ and the computed quantities by the solver, we strongly recommend to extract from the solver the Density and Static Energy as the key independent quantities, Static Pressure, Static Temperature, relative and/or absolute velocities and turbulent kinetic energy when the turbulence model has  (e.g. k-e, SST, etc).
The velocity vector is the absolute velocity (Vxyz) if we refer to absolute quantities and the relative velocity (Wxyz) if we refer to relative quantities.
The dependent quantities if not available are computed as the following:

 is evaluated from the  table.
where  is  () as a function of  () and  ().

 is evaluated from the  table.
where  is  () as a function of  () and  ().

 






If not available, 
If not available, the  is first computed from the  tables which takes the  and  as inputs.

 is evaluated from the  table.
where  is  () as a function of  () and  ().
If not available, the  is computed from the  table.
If not available, 

 is evaluated from the  table with the following steps:

If not available, the  is computed from the  table.
If not available, .

 is evaluated from the  table.
where  is  () as a function of  () and  (). 







 is evaluated from the  table.
where  is  () as a function of  () and  (). 

 is finally evaluated from the  table.

                            where  is  () as a function of  () and  ().
 

 is evaluated from the  table with the following steps:

If not available, the  is computed from the  table.
If not available, .

 is evaluated from the  table.
where  is  () as a function of  () and  (). 







 is evaluated from the  table.
where  is  () as a function of  () and  (). 

 

:
If  table exists, the quantity is evaluated from the table which takes the  and  as inputs.
If  table does not exist, the quantity is computed with the following steps:
1. Compute  using an internal function to compute the derivatives of a table.
2. Compute  using an internal function to compute the derivatives of a table.
3. Apply the formula: 

 is evaluated from the  table.
where  is  as a function of  and .

 is evaluated from the  table.
where  is  as a function of  and .
It should be noted that the tables dedicated to store complex non-linear relations between the variables and the solver outputs often consists in a simple interpolation at cell vertices from values computed in the cell centers. An exact equality cannot be expected between the derived quantities in CFView™ and the ones computed by the solver. The difference can reach more than 1% in high gradient zones.
In project files created by FINE™/Turbo version 5 or higher, these quantities are associated to the unit system selected in the FINE™ interface. As a consequence, unit conversion is performed and a unit label is automatically attached to the quantity.

Supported File Formats

CFView™ supports several file formats and each file format is identified by the extension of the file name. The following sections describe how to open files that are in the CFView™ native, in the FINE™, in the CGNS or in the PLOT3D file format.
Open CFView™ Native File Format (.cfv)

All the information concerning the project is included in the identification file. This file has the '.cfv' extension.
FINE™/Turbo is creating such files when doing unsteady computations or selecting meridional averaged variables. Refer to Native File Format, to have a complete description of this format. 
FINE™/Marine is also creating such files. When opening a '.cfv' file created by FINE™/Marine in CFView™ it is necessary to have the corresponding '.hex' file in the same directory with the same name (this last file is automatically saved by FINE™/Marine).


Open FINE™ File Format (.run)

The FINE™ formatted files have the '.run' extension. This is a file format specific to the FINE™ GUI environment. When running a computation with FINE™, all files related to the computation and its solution are stored in one directory. 
When opening a '.run' file created by FINE™/Turbo in CFView™ it is necessary to have the corresponding '.cgns' file in the same directory with the same name (this last file is automatically saved by FINE™/Turbo).
When opening a '.run' file created by FINE™/Open with OpenLabs™ in CFView™ it is necessary to have the corresponding '.cfview' file (or '.s#' and '.v#' files) and '.hex' or '.sph' file in the same directory with the same name (these files are automatically saved by FINE™/Open with OpenLabs™).


Open Plot3D Formatted Files

Plot3D formatted files can be loaded in CFView™ using File/Open Plot3D Project.... As the data in this format may be provided in one or several files, a specific file chooser dialog box will appear as shown in FIGURE 4.


FIGURE 4 Plot3D File Chooser
The first entry should contain the name of the geometry file, the second one should contain the name of the solution file and the last two entries should contain the name of the function file and the associated name file. A Plot3D project must always contain a geometry file. A project can also be composed of a geometry and a solution file. The last kind of project contains the four file types.
As various kind of file formats are allowed in the Plot3D format, the user should provide information on the file format by clicking on the File Format... button in the Plot3D file chooser box or by selecting the Plot3D file type... item in the Preferences menu. The dialog box as shown in FIGURE 5 will appear.


FIGURE 5 Plot3D File Type Editor
The dialog box contains, on the left side, the parameters related to the grid type: 

multiblock: must be selected if the grid contains more than one block;
blanking: must be selected if blanking information is included in the files. It should be emphasized that this parameter relates to the presence of the blanking information in the file. It may happen that such information is included even if no grid point is blanked.

On the right side, the parameters related to the file formatting are as follows:

file type: may be ASCII, binary single precision, binary double precision, unformatted single precision or unformatted double precision;
binary big endian/binary low endian: this information relates to the byte ordering on the machine on which the files were created. This does not apply to ASCII formatted files.

The file format is stored as a part of the user defaults. If the file format default options are changed during a CFView™ session, CFView™ prompts the user that the defaults have changed and proposes to save them. Saving of the defaults is done automatically at the moment CFView™ is quit. If the user saves the new defaults, the Plot3D file format may be restored in the next sessions. Default restoring may be automatic or manual (see Edit, Save & Restore Defaults for further information on loading defaults).
Plot3D files created by FINE™/Turbo can be binary low endian (little endian) single precision unformatted or ASCII (imposed in the Outputs/Computed Variables page within FINE™/Turbo), whatever the platform was used to run the computation. This is also the CFView™ default. Note that Intel processor and Compaq alpha processor based platforms are natively low endian (little endian), while the RISC processors (used in Linux workstations) are natively big endian.


With binary or unformatted file, a wrong binary ordering specification (e.g.: big endian instead of low (little) endian) may lead to unpredictable behavior, including application crash.


Open Mesh

The mesh files from AutoGrid5™ (.cgns), HEXPRESS™ (.hex) and HEXPRESS™/Hybrid (.sph) can be directly loaded into CFView™ without having a computation performed. This can be achieved by selecting File/Open Mesh... and loading a mesh file in the file chooser.
The meridional or blade-to-blade (B2B) mesh exported from AutoGrid5™ (.cgns) cannot be imported into CFView™.
When opening an unstructured mesh (.hex or .sph) if the .bcs or the .isis2cfview file is not found in the same directory as the mesh file, an error message is displayed. Otherwise, the mesh is loaded with the boundary conditions defined in the .bcs or .isis2cfview file. It is possible to show the repetitions (when applicable) as the repetition type and periodicity are also read from the .bcs file.
To be able to use the repetition menu, the user has to set up the periodicity in HEXPRESS™.
For turbomachinery cases meshed at 360 degrees where the hub and shroud curves are loaded, the mesh is cut so that the STM view will be correct.
For unstructured meshes, the .bcs file must be present in the same directory as the mesh file.
The .hex file created at the end of a FINE™/Marine computation and saved into the computation folder cannot be loaded because the .bcs file is not adapted. The .sph mesh generated by HEXPRESS™/Hybrid v3.1-2 and lower cannot be loaded into CFView™ for the same reason.

Unload Quantities

The unload quantities option in the multi-view environment of CFView™ reduces the CPU time and memory requirement for post-processing large projects. This unloading functionality works for both steady and unsteady cases. The unload option is available from the pop-up menu that appears on pressing the right mouse button on any field or solid data quantity in the Quantities subpanel. Unloading of any field quantity can be done in the following way:

Press the right mouse button on any of the scalar or vector field quantity available in the Quantities sub-panel. 
A popup menu is displayed where the last item in the popup menu is Unload. 
If Unload is selected the storage space allocated to the corresponding quantity is freed.



In the unloading process of any solid data quantity from Solid Data list in the Quantities sub-panel shows a different menu list when right mouse button is pressed. However the functionality of the Unload option is the same as for the field quantities.
Once the quantity is unloaded, a small bitmap file (unload icon) is placed at the left of the unloaded quantity as observed in the right hand side image of FIGURE 7.


FIGURE 7 Unloading of a field quantity
By default the thermodynamic quantities from the Thermodynamics list in the Quantities subpanel, are not loaded into the memory. After selecting such a quantity, it becomes available in the field quantities list. Once loaded, it can be unloaded in the same way as described above.
If Unload is selected on a user-defined quantity in the field quantities list, it permanently removes that user-defined from the field quantities list
The memory usage status can be confirmed from Quantities Status dialog box. To open the Quantities Status dialog box select the Quantities Status... option in the main menu Quantity/Field Data or click on the Status button in the Quantities subpanel (see Field Quantities Status Dialog Box for more details).

Visualization of Blade to Blade Surfaces
Surfaces at constant span or stream position can be defined in any 3D view. It is not necessary to open a blade to blade view, blade to blade surfaces can be created and visualized directly in a Cartesian or a cylindrical view based on the settings imposed in the Preferences/Turbo Settings... menu before loading the solution file.
The creation of the blade to blade surfaces is performed using the Blade to blade surface dialog box (Geometry / Blade to Blade Surface... or the item  in Quick Access Pad).
The keyboard shortcut for Geometry/Blade to Blade Surface ... is <Ctrl>+<b>.


FIGURE 2 Blade to Blade Surface creation
On the left side, the constant span or constant stream position is selected (e.g. S = 0.5 at mid-span). By default, the span is defined as in AutoGrid5™ and the stream is defined as the hub equals the shroud (more details in TurboMachinery Mode). The middle frame allows to sweep in the geometry with a user defined increment. On the right side, the kind of representation can be selected:

Quantity: representation of the active quantity color contour or vector field. This option is only available if a quantity is selected at the time the dialog box is opened.
Geometry: representation of the cut surfaces grid.
Polygon: representation of the cut as a flat polygon. This representation is very fast but is limited to the views in STM coordinates.
The layout of the push buttons is similar to the one of the cutting plane creation dialog box:
Press the Apply button in order to get a graphical representation of the surface corresponding to the selected span or stream position.
Press the Save button to save the surface which corresponds to the selected span or stream position. The surface becomes part of the surfaces that can be selected later with the surface selection functionality (Select Surfaces).
Press the Reset button in order to reset the parameters to their default value (a blade to blade surface at mid-span).
Press the Close button in order to discard the dialog box.

FIGURE 3 illustrates the use of the blade to blade feature. Cutting planes at a specified distance between the hub and the shroud can be visualized in several coordinate spaces.


FIGURE 3 Blade to Blade view of a Radial Compressor
On the left side of FIGURE 3 the mid-span cut is shown in red in the original XYZ coordinate space. On the lower right side, the static pressure distribution on the same surface is shown in the STM coordinate space. On the upper right, a zoom to the blade leading edge is shown.

Volume Integrals
The volume integral of a scalar quantity is computed by summing over each cell of the entire domain (all the blocks) the product of the quantity interpolated at the center of the cell by the volume of the cell. The volume integral of a vector quantity is computed component by component. As for the volume average of a quantity, it is obtained by having the volume integral divided by the volume of the entire domain. The volume of the whole mesh can be computed through Geometry/Volume. The integration result is written in the information output area on the lower right corner of the graphics area.
It is not possible to compute the volume separately for different domains in one project.
Volume Integrals of Scalars

 The volume integral functionality is contained in the Representations/Integrals subpanel. The following integrals are available for scalars: 

Volume Integral 
: select the button  in the Representations/Integrals subpanel to compute this integral on the active scalar quantity. 
Volume Average 
: select the button  in the Representations/Integrals subpanel to compute the Volume Integral divided by the Volume.

The domain of integration cannot be specified by the user.


Volume Integrals of Vectors

 The volume integral functionality is contained in the Representations/Integrals subpanel. The following integrals are available for vectors: 

Volume Integral 
: select the button  in the Representations/Integrals subpanel to compute this integral on the active vector quantity. 
Volume Average 
: select the button  in the Representations/Integrals subpanel to compute the Volume Integral divided by the Volume.

The domain of integration cannot be specified by the user.

Advanced Options

Visualize Scalar Data

When a scalar quantity is selected, CFView™ visualizes it in different ways:

local values,
isolines,
color contours,
iso-surfaces,
Cartesian plots.

The Representation menu and the Representations subpanel allow the creation of such representations. These are dynamic containers: it means that the contents of this menu and of this subpanel depend on the type of the active quantity (scalar or vector) and on the view type (2D or 3D). This section describes only the items dealing with scalar quantities. The items concerning vector quantities are outlined in Visualize Vector Data.

Graphics Repetition
The repetition of the graphical representations may consist of a translation in a given direction, a rotation around an arbitrary axis or a mirror operation. This feature allows to represent a complete geometry while, due to symmetry properties of the computational domain, only a part of it has been simulated. The number and type of repetitions are defined in the mesh. To visualize a certain number of repetitions use Geometry/Repetition on/off after entering a number of repetitions.
To activate the graphics repetition:

Choose Repetition Number from the Geometry menu to specify the repetition settings.
The repetition setting dialog box is shown in FIGURE 12. By default, a group list is proposed by gathering the blocks that share a periodic or a connecting boundary. Note that the index of the groups may not correspond to their position in the view. When the user clicks on a group in the list, the group is highlighted in the graphical view.
By default, all groups are selected (the selected groups have a tick before their number). The user can select one or several groups at the same time either by double-clicking on a group or by right-clicking on the highlighted groups and then choosing Select, Add or Unselect. The Number of repetitions will be applied to all the selected groups. If the user activates the button Max, the maximal number of repetitions (equal to the periodicity minus 1) is stored for the selected groups and the entry Number of repetitions is disabled. If a negative number is specified in the entry Number of repetitions, the repetitions will be made in the other direction.
After finishing the repetition settings, click on the button Apply, the number of repetitions will be saved.


FIGURE 12 Repetition settings
Choose Repetition on/off from the Geometry menu to activate the repetition. This item acts as a toggle: click a second time on the menu to cancel the action.

For example, this option is used for turbomachinery applications where blade to blade geometry can be duplicated for better visual understanding of the periodical behavior of the flow properties.
FIGURE 13 shows an example of geometry before and after mirror repetition. 


FIGURE 13 Geometry representation before (left) and after (right) repetition (mirror)
This item is not available if no repetition (translation, mirror or rotation) is specified in the input data file.
The repetition option creates only an image of the graphical objects. No interactive operation, such as interactive picking, can be performed on the duplicated surfaces.
The keyboard shortcut for Repetition on/off is <Shift> + <r>.

Create Cutting Surfaces Defined from IGG™ Curve


FIGURE 9 Intersection surface (grid on right side) between the computational domain (left side) and the revolution surface (purple highlight)
In order to enable more flexibility in cutting planes, the user may generate a new kind of cutting surface by defining it from an IGG™ curve.
The objective is to generate a surface by rotating an IGG™ user-defined curve around a rotation line whose axis vector is 0 0 1 and axis origin is 0 0 0. Afterwards, CFView™ is saving in the surface list the intersection between this last surface of revolution and the computational domain as presented in FIGURE 9.

Starting v11.2, the objective is to generate a surface by rotating an IGG™ user-defined curve around a rotation axis imposed in the Set Revolution Surface Axis menu (Default settings: Direction [0; 0; 1] and Origin [0; 0; 0]). Afterwards, CFView™ is saving in the surface list the intersection between this last surface of revolution and the computational domain as presented in FIGURE 9. 
The user-defined curve used to generate the surface of revolution must respect the format presented below:
Example:





IGG
first line comment


XYZ
space coordinates (i.e. XYZ, YXZ, ZR or RZ)


3
number of points to define curve



0.0 0.0  0.0
0.05 0.05 0.05
0.09 0.09 0.09

 space coordinates of each point



When the curve is defined in XYZ coordinates, CFView™ will first project it on a ZR plane (Theta=0) before generating the surface of revolution. 
Afterwards to define the surface of revolution and its intersection with the computational domain, the user-defined curve data has to be selected through the menu Geometry/Create Cutting Surface Along IGG Curve....
The ZR curves limited option in the Preferences menu allows to control the limits of the loaded IGG™ curve. When active, the loaded curve is not extended and the created surface of revolution is based on the original loaded curve.

Create Mesh Surface
This command allows to scan the computational domains instantaneously by scrolling through constant I, J, or K surfaces (for structured meshes) and save the most interesting surfaces for further analysis. In a multi-domain configuration it is possible to select the domain to be scanned through the chooser displaying the list of all the domains. This scanning consists of displaying the surfaces of constant I, J or K family one after the other, continuously or step-by-step. The scrolling is available in two representation modes:

Geometry mode:	 it allows the user to visualize the surface grids of the active block. It can be used to analyse the mesh geometry surface by surface.
Quantity mode:	 it allows to analyse the same surfaces with a shaded contour of the active quantity if it is a scalar or with a vector arrow representation if it is a vector quantity. This option is only available when a quantity has been selected first and can be used to quickly localize interesting regions of the 3D computational volume.

To create surfaces:

Choose Create IJK Surface... from the Geometry pull down menu. A dialog box appears.


FIGURE 5 Create Structured Surface
It contains:

if a multi-block project is active a Domains (block) chooser appears for selection of one, more or all existing domains, the selected domains will be highlighted in the view.
three radio buttons for the surface family selection (I, J or K). The family defines the constant index of the scrolled surfaces. The family I, for example, contains surfaces which have I constant;
one string editor per family to input the constant index value of the scrolling operation;
two scroll buttons per family to move up and down the constant index;
two string editors per family to input the lower and upper limits of the non constant indexes for the scrolling operation;
if a quantity is selected, a mode selector (Geometry or Quantity); 
Apply, Save, Reset and Close push buttons;

Choose a representation mode. Click the left mouse button on Geometry or Quantity.
Choose a surface family. Click the left mouse button on the desired J, K Index button or I.
Choose the upper and lower limits for the non constant indexes.
Start step by step scrolling. Dependent on the used button, a different action is performed:

click the left mouse on the up arrow button to increase the value of the constant index value.
click the left mouse on the down arrow button to decrease the value of the constant index value.

The selected surface can be visualized and saved by respectively clicking on the Apply and Save buttons.
Close the dialog box by clicking on the Close button.
The previous actions can be repeated with constant I, J or K surfaces any number of times. After any saving operation, the boundaries of the newly created surfaces are displayed and indicate that they have been properly created. FIGURE 6 illustrates the definition of a structured surface and its simultaneous representation in the active view.


FIGURE 6 Mesh surface definition dialog box with geometry representation
This command is related to structured meshes. The creation of surfaces for unstructured meshes is done through arbitrary cutting planes 

The keyboard shortcut for Create IJK Surface... is <Ctrl> + <z> and the item is accessible in the Quick Access Pad: .

Commands Related to Axes Systems Representations
Orientation Axes


ViewAxes()

Associated menu item: Geometry / Coordinate System / Axis.
Operation: toggles simple axis representation.

AxisSize(float s)

Operation: sets the size of the orientation axes if they are represented (the default value is 0.03).

AxisPosition(float x, float y)

Operation: sets the axis position in way independent from the represented geometry: x=-1 is the left side, x=1 is the right side, y=-1 is the bottom side and y=1 is the upper side.

CoordSystem1Origin(float px, float py, float pz)

Associated menu item: Geometry / Coordinate System / Axis
Operation: sets simple axis representation origin at point (px, py, pz) and creates it if not existing.




Graduated Axes


ViewAxesGlobal()

Associated menu item: Geometry / Coordinate System / Graduated Axis.
Operation: toggles graduated axis representation.

SetGradAxis1Range(float min, float max), SetGradAxis2Range(float min, float max), SetGradAxis3Range(float min, float max), 

Operation: set the range of the graduated axes along the first, second or third direction. The min arguments are defining the origin of the represented coordinate system and must be smaller than the related max value.

SetGradAxis1TicksSpacing(float s), SetGradAxis2TicksSpacing(float s), SetGradAxis3TicksSpacing(float s) 

Operation: set the spacing between the graduation on the first, second and third axis respectively.

CoordSystem2Origin(float px, float py, float pz)

Associated menu item: Geometry / Coordinate System / Graduated Axis.
Operation: sets graduated axis representation origin at point (px, py, pz).
Exceptions: will raise an Attribute Error if graduated axis does not exist.

SetGradAxis1Horizontal(), SetGradAxis2Horizontal(), SetGradAxis3Horizontal()

Operation: set the graduation numbers orientation on the axis to horizontal. The numbers are displayed horizontally whatever the axis orientation.

SetGradAxis1Perpendicular(), SetGradAxis2Perpendicular(), SetGradAxis3Perpendicular()

Operation: set the graduation numbers orientation perpendicular to the axis line.

SetGradAxisTicksSize(float s)

Operation: sets the size of the graduation ticks (as a percentage of the axis length). The default value is 0.01.

SetGradAxisNumbersSize(int s), SetGradAxisNumbersFont(string fontName), SetGradAxisNumbersColor(Color c)

Operation: set the text size, text font or text color of the graduation numbers. The valid font names are Arial, Times, Roman, Sans-serif, TypeWriter, Stroked, NewField, Enfield, Brooktondale and Kuma. See Description of Argument List for Some Standard Features for the description of color arguments. 

SetGradAxis1LabelPosition(int p), SetGradAxis2LabelPosition(int p), SetGradAxis3LabelPosition(int p)

Operation: set the position of the axis label. The value of p may be 1 for placing the label at the top end of the axis or 0 for placing the label at mid-range.

SetGradAxisLabelsSize(int s), SetGradAxisLabelsFont(string fontName), SetGradAxisLabelsColor(Color c)

Operation: set the text size, text font or text color of the axes labels. The valid font names are Arial, Times, Roman, Sans-serif, TypeWriter, Stroked, NewField, Enfield, Brooktondale and Kuma. See Description of Argument List for Some Standard Features for the description of color arguments. 

SetGradAxisLineType(LineType type)

Operation: set the line type attributes used to draw the axes lines and the graduation ticks. See Description of Argument List for Some Standard Features for the description of LineType arguments.

Picture Output Generation

PageLayout(int paperType, float pageHeight, float pageWidth, int orientation, float reductionHeight, float reductionWidth, int reductionLink)

Associated item: File / Print... /Print Set Up Editor/Page Layout Editor.
Operation (PostScript Page Layout Editor): sets the parameters describing the page layout for a PostScript output. PaperType may be 0 (A4), 1 (A3), 2 (B5), 3 (B4), 4 (US 8.5 x 11), 5 (US 8.5 x 14), 6 (US 11x 17), 7 (US 4 x 5), 8 (slide 24 x 36 mm), 9 (other). Page height and width are given in cm. Orientation may be 0 (automatic choice), 1 (landscape) or 2 (portrait). Reduction factors are in natural units and if reduction link is 1, reduction in width is not taken into account.

SetPrintBannerFont(string fontName, int size)

Associated item: File / Print... /Banner Type and Size.
Operation (Output Generation): sets the type and size of the Banner text before printing. The valid font names are Arial, Times, Roman, Sansserif, TypeWriter, Stroked, NewField, Enfield, Brooktondale and Kuma.

Print(int graphicsFormat, int viewMode, int sizeMode, int bitmapped, int resolution, int pixelWidth, int pixelHeight, int banner, string fileName, string title, int date, int frame, int quality)

Associated item: File / Print... / Print Set Up Editor.
Operation (Output Generation): creates a hardcopy output.
graphicsFormat indicates which picture file format to use: graphics format may be 0 (PostScript), 1 (EPS), 2 (PPM), 3(PGM), 4 (PBM), 5 (NTSC), 6(TIFF), 7(JPEG), 8(PNG).
viewMode indicates if the active view is printed (viewMode =0) or if the whole graphics area is printed (viewMode = 1).
sizeMode indicates how the picture size is provided. The picture size is not provided in the same way for all formats:
for bitmapped formats (PPM, PGM, PBM, NTSC, TIFF, JPEG and PNG): the picture size may be specified in pixelWidth and pixelHeight (sizeMode = 1) or computed from the screen graphical size and the parameter resolution (sizeMode = 0).
for vectorized formats (PostScript and EPS): the parameter is not taken into account and the picture size is always computed from the screen graphics size and the parameter resolution. 
bitmapped is used only for vectorized formats: PostScript and EPS formatted output may be bitmapped (bitmapped =1) or not (bitmapped=0).
 resolution is used for vectorized formats and for bitmapped formats if sizeMode is set to 0:
for bitmapped formats (PPM, PGM, PBM, NTSC, TIFF, JPEG and PNG), resolution is the scaling factor (in percent).
for vectorized formats (PostScript and EPS), resolution is the resolution in dot per inch (dpi).
pixelWidth and pixelHeight are indicating the picture size in the case of bitmapped format and sizeMode set to 1 (otherwise the values are not used).
banner indicates if a banner is to be added to the picture (banner =1) of not (banner =0).
 fileName is the name of the file to be created. Please note that no check is performed about the existence of this file and a pre-existing file would be replaced.
 title is the text to be inserted in the banner if the banner parameter is set to 1 (otherwise, the content is not used).
date is a Boolean value indicating if the print date should be mentioned in the banner or not. This argument may be omitted.
frame indicates if the frame is printed (frame = 1) or no frame is printed (frame = 0).
quality is an integer value, ranging from 0 to 3. It specified the internal size of the image that will be computed, as well as the number of blur passes. "normal" corresponds to quality = 0, "high" to quality = 1, "thin lines" to quality = 2, "very thin lines" to quality = 3

PostScriptSave(string filename)

Operation (Output Generation): saves the current display in PostScript format. Aspect ratio and resolution depend on the actual size of the display on the screen and are automatically computed.
EPSSave(string filename)
Operation (Output Generation): saves the current display in Encapsulated PostScript format. Aspect ratio and resolution depend on the actual size of the display on the screen.

PPMSave(string filename), PGMSave(string filename), PBMSave(string filename)

Operation (Output Generation): saves the current display in PPM, PGM or PBM format.

NTSCSave(string filename)

Operation: saves the current display in NTSC format. Produces 3 files with suffix '.U', '.Y'.and '.V' that can be used to produce animations.

TurboMachinery Mode
The turbomachinery mode is a unifying mode for turbomachinery analysis. It combines the display of a meridional view with the display of blade to blade surfaces and of blade surfaces in order to facilitate the creation of standard views used in turbomachinery analysis.
TurboMachinery Settings

The menu Preferences/Turbo Settings... offers the possibility to control the STM and B2B views creation before loading the solution file within CFView™. 
By default two approaches are used:

In the TM view, an "AutoGrid5 Definition" approach is used to create a B2B view equals to the B2B view in AutoGrid5™: dM = ds/R where "ds" is the distance between two consecutive flow path points and "R" the radius. When the hub contains points at R=0 (bulb configuration), the definition is replaced by dM=ds/(R+R Shift) which leads to B2B surfaces slightly different from AutoGrid5™ B2B view since this part of the geometry (bulb) is not available in AutoGrid5™ B2B view.
In the SM view, an "Hub Equal Shroud" approach is used to allow constant m cuts: dm=ds*mFactor where "dm" is normalized to ensure the same m at outlet for each flow path. In addition "mFactor" is applied to enlarge the view in the m direction and is currently imposed as the maximum R on the hub. 

When using macros, the command DefaultTurboMDefinition controls the approaches used in TM and SM views. It is advised to execute the command before loading a .run file into CFView™. In addition backward compatibility is ensured when using macros.
Two additional parameters are also available in the dialog box:

R Shift is used for the definition of M (dM=ds/(R+RShift)) only in "AutoGrid5 Definition" approach. R shift has to be adapted:

when the configuration is presenting a bulb area (R=0) and depending of the length of the bulb area,
when the configuration is presenting AutoGrid5™ flow paths highly different from span constant paths (especially for configuration presenting high discontinuity on hub or shroud).



N Span Interval is used for the spanwise discretization in "AutoGrid5 Definition" and "Hub Equal Shroud" approaches. It is the number of spanwise constant flow paths computed by CFView™ between hub and shroud minus 1. For configuration where hub and shroud are straight, this number can be reduced to 1, but in configuration with high discontinuity on hub or shroud, this number must be increased.



Start TurboMachinery Mode

The turbomachinery mode can be activated in various ways:

select TurboMachinery in the File menu, before or after opening a project,
start CFView™ with the command line argument -turbomode or
define an environment variable TURBOMACHINERY with a value ON.

When a project is opened and the mode is active, or when the mode is activated on an already opened project, a dialog box is raised.



FIGURE 7 Start TurboMachinery Mode

Hub & Shroud section: Select the Load hub and shroud button to open a file browser that allows to load a CGNS or an ASCII dat file to define hub and shroud curves (see Hub & Shroud Definition). This allows to modify if necessary the definition of the hub and of the shroud that will be used to create blade to blade representations in the turbomachinery mode.
Meridional Average section:

Load Flow Solver Pitch Averageto open automatically the FINE™/Turbo output file.
Compute Pitch Averageto compute a new meridional average output from FINE™/Turbo 3D outputs by defining the meridional patches thanks to the Edit CFView Meridional Patches button that open the DefineMeridional Patches dialog box. This allows to check and, if necessary, to modify the meridional mesh used to compute and represent the pitch averaged data.



Select the Ok button to proceed or
select the Cancel button to open the project in the standard mode.



TurboMachinery Mode Description

When this mode is enabled, a set of four standard views is displayed automatically as shown in FIGURE 8. These are:

a meridional view obtained by pitchwise averaging. If Load Flow Solver Pitch Average is activated, the view is the results already computed by the flow solver. If Compute Pitch Averageis activated, the solution is computed using the meridional patches list. In this view, only the averaged domains are active by default. The blade surfaces are also inserted (their boundaries are visible), but they are not active by default.
a 3D view in Cartesian coordinates,
a blade to blade view showing the blade passages at mid-span (using the "AutoGrid5 Definition" approach) and
a meridional view in turbomachinery coordinates (using the "Hub Equal Shroud" approach) showing the blade surfaces. In this view, the blade surfaces are selected by default. The hub and shroud surfaces are also inserted (their boundaries are visible), but they are not active by default.

In the surfaces list, specific groups for the hub, shroud and blades are defined. These groups are facilitating the identification and selection of these surfaces.


FIGURE 8 Four standard views in TurboMachinery Mode
For an unstructured mesh that has a repetition type "rotation" and a periodicity equals to 1, by default CFView™ will cut its mesh automatically along the half-plane theta = 0, so that the STM or RTZ views can be generated (after loading the hub and shroud curves). The value of theta (in radian) can be changed by the macro command SetTheta0(float) which must be executed before loading the project. The cut is made along the cells' border and therefore the boundary can be irregular, see FIGURE 9.


FIGURE 9 STM (blade-to-blade) view of Francis Turbine with SetTheta0(10)
When a scalar quantity is selected, two additional buttons are available in the Representations/Plot & Values subpanel:




The Blade Section button creates the plot at constant span height (i.e. the blade loading plots): 

select this button to start creating such plots. The meridional view in turbomachinery coordinates (S-M view) is automatically selected.
select the scalar quantity if not yet selected in the view (i.e. Static Pressure).
click at the desired span height or provide its value in the string keyboard entry.
the curve is inserted in a Cartesian plot as a function of the streamwise position.



The Span distribution button creates the plot showing the span profile:

select this button to start creating such plots. The pitchwise average view is automatically selected.
select the scalar quantity if not yet selected in the view.
press, drag and release with the left mouse button to specify the profile location or provide the values in the string keyboard entry.
the curve is inserted in a Cartesian plot as a function of the normalized arc length.




Quit TurboMachinery Mode

To quit the turbomachinery mode, select TurboMachinery in the File menu. All the turbomachinery specific views are deleted.
Once the turbomachinery mode has been started on a project, it is not possible to modify the hub and shroud definition. In order to modify this definition, it is necessary to reopen the project.

View Grid Wireframe
To turn on the display of the wireframe geometry of the active surfaces, choose Grid from the Geometry menu or click on the  button in the Representations/Grid subpanel. This item acts as a toggle.
The default grid line pattern, color and width may be modified using the Default Grid Line Type Editor (Preferences/Grid line type...). See Curve, Line & Marker Type Editors, for further information.
To change the grid line type in the graphical area, see Update Grid Wireframe Representation.
If the grid representation is present on some active surfaces, but not on all of them, choosing this item a first time removes all the grid representations. Select it a second time in order to turn on the grid wireframe display on all active surfaces.
The keyboard shortcut for Grid representation is <g>.

Commands Related to Colormap & Range Selection
These commands will raise an Attribute Error if no quantity is selected.

RprColormap(int i)

Associated menu item: Representation / Colormap.
Operation (Insert Colormap): if i is different from zero, puts colormap of the active quantity on view, else removes the colormap.

ColormapLimits(float xmin, float xmax, float ymin, float ymax)

Operation: sets the limits of the colormap in the view.

ColormapSmoothOnly(), ColormapStripesOnly(), ColormapSmoothAndStripes()

Operation (Smooth & Strip Maps): sets the kind of displayed color ramp: either only the smooth coloring ramp, only the stripes coloring ramp or both of them.

ColormapAxisAtLeft(), ColormapAxisAtRight()

Operation (Change Colormap Position & Size): sets on which side of the colormap is displayed the axis ticks numbers and label.

UpdateColormapBW(), UpdateColormapGreyscale(), UpdateColormapColor(), UpdateColormapJet(), UpdateColormapCool(), UpdateColormapHot(), UpdateColormapSummer(), UpdateColormapAutumn(), UpdateColormapWinter(), UpdateColormapSpring(), UpdateColormapBone(), UpdateColormapCopper(), UpdateColormapPink()

Associated menu item: Update / Colormap / Reset B&W, Reset GrayScale, Reset Color
Operation (Update Colormap Representation): sets the color map to black and white, grayscale or COLOR ramp.

RprRangeIn(float qmin, float qmax)

Associated menu item: Representation /  Range / Colormap Set Range.
Operation (Control Representations Range): sets the range of the active quantity to (qmin, qmax).

RprRangeAll()

Associated menu item: Representation / Range / Colormap Full Range.
Operation (Control Representations Range): sets the range of the active quantity to the global range.

RprRangeActiveSurfaces()

Associated menu item: Representation / Range / Colormap Optimum Range.
Operation (Control Representations Range): sets the range of the active quantity to its range on the active surfaces.

ColormapNumOfBigTicks(int n)

Operation (Update Colormap Representation): sets the number of graduation marks on the axis. This number is rounded automatically in such a way that rounded values are displayed.

ColormapTicksNumberDistance(float d)

Operation (Update Colormap Representation): sets the distance between the graduated numbers and the axis.

ColormapTicksNumberTextType(TextType type)

Operation (Update Colormap Representation): sets the text type attributes for the graduation numbers (see Description of Argument List for Some Standard Features for a description of TextType arguments).

ColormapLabelText(string t)

Operation (Update Colormap Representation): sets the label text of the colormap.

ColormapLabelTextSize(int s)

Operation (Update Colormap Representation): sets the size of the colormap label.

ColormapLabelTextType(TextType type)

Operation (Update Colormap Representation): sets the parameters of the colormap label text (see Description of Argument List for Some Standard Features for a description of the TextType argument).

ColormapReverseColors()

Operation (Update Colormap Representation): switches the top and bottom colors.

ColormapDefineLocation(string edge)

Operation (Update Colormap Representation): sets the location where the colormap is displayed. The argument edge is either "Right", "Left", "Top" or "Bottom". Default location is "Right"

ColormapNumOfStripes(int n)

Operation (Update Colormap Representation): sets the number of color stripes.

UpdateColormap(string type)

Operation (Update Colormap Representation): sets the colormap type. The argument type must be one of the following: 'BW', 'Greyscale', 'Color', 'Jet', 'Cool', 'Hot', 'Summer', 'Autumn', 'Winter', 'Spring', 'Bone', 'Copper', 'Pink' or  'User_defined'. If type = 'User_defined', it must be followed by the hsv values of the bottom color, the top color and all the intermediate colors, and then by the positions of the intermediate colors.

ColormapNumbersFormat(DoubleFormat f)

Operation (Update Colormap Representation): sets the number format to exponential format.

Commands Related to Vector Quantity Representations

DeleteAll()

Associated menu item: Update / Delete / All.
Operation: deletes all representations of the active view.

DeleteAllRepresentationsFromView(string name1, string name2, ...)

Operation: deletes all representations on the indicated surfaces.


Local Vector


RprLocalValue(float px, float py, float pz, float dx, float dy, float dz)

Associated menu item: Representation / Local Vector
Operation (Display Local Values): displays a local value (or local vector) at the intersection between the ray defined by point(px,py,pz) and direction(dx,dy,dz) and the active surfaces of the active view.




Vectors Representations

These commands raise an Attribute Error if the current quantity is not vectorial.

VectorAll(int Imin, int Imax, int Istep, int Jmin, int Jmax, int Jstep)

Associated menu item: Representation / Vector On Grid Nodes.
Operation (Vector on Grid Nodes): adds the quantity vectors on the active surfaces. Vectors are drawn on nodes between Imin and Imax, one each Istep in first direction and between Jmin and Jmax, one each Jstep in the second direction. 

VectorAllGridNodes()

Associated menu item: Representation / Vector On Grid Nodes.
Operation (Vector on Grid Nodes): adds the quantity vectors on the active surfaces. 

VectorNormalizedGridNodes(float iMin, float iMax, int iStep, float jMin, float jMax, int jStep, [string surfaceName])

Associated menu item: Representation / Vector On Grid Nodes.
Operation (Vector on Grid Nodes): draws vectors arrows at the node specified on a surface:
iMin, iMax, jMin, jMax are specifying the subset of nodes in the I and J ranges. These are normalized indices (with a value between 0 and 1).
iStep and jStep are specifying the density of the vectors arrows:
	1 mean on all grid nodes,
	2 means on 1 over 2 grid nodes,
	i means on 1 over i grid nodes.
If no surfaceName argument is provided, the active surfaces set is considered, otherwise, only the specified surface is considered. 

VecGridLine(2, 4, int index, int i, int min, int max)

Associated menu item: Representation / Along Grid Line...
Operation (Vectors along Grid Line): adds the vectors along the grid line i (index =0,1 or 2 for a line along I, J or K, respectively) from node number min to node number max. 

VectorNormalizedGridLine(int type, float value, float min, float max, [string surfaceName])

Associated menu item: Representation / Along Grid Line...
Operation (Vectors along Grid Line): adds the vectors along the grid line. The type argument is 0 for a line along the surface I direction or 1 for a line along the surface J direction. The value argument is between 0 and 1 and is the normalized index of the grid line. The min and max parameters are the normalized indices of the first and last grid nodes to consider along the grid line. If no surfaceName argument is provided, the active surfaces set is considered, otherwise only the specified surface is considered.

VecThreshold(float min, float max)

Associated menu item: Representation / Thresholded.
Operation (Thresholded Vector on Grid Nodes): displays the vector arrows on all the active surfaces, but restricts the display of the vectors to those having an amplitude between min and max.

VectorComponentType(int type)

Operation: sets the vector component to be represented in the next vector representations:
 0 for full vector
 1 the normal component
 2 the tangent component
 3 the normal component of the vectors from which the mean vector is subtracted (the mean vector is computed on the surface)
 4 the tangent component of the vectors from which the mean vector is subtracted.
VectorScale(float scale)
Operation: sets the scale at which the vectors arrows are drawn.

VectorArrowHeadSize(float width, float height)

Operation: sets the size of the vectors arrows heads. The size is specified in percent of the total arrow length. The width and height arguments must be in the interval 0 - 100.

VectorArrowHeadType(int type)

Operation: sets the head type of the vectors arrows. A value of 1 is used to indicate filled arrows heads (the default) and a value of 0 for non filled heads.

VectorType(float denominator, float numerator, float arrowHeight, float arrowWidth, int filledArrow, int color, int rprType)

Associated menu item: Representation / Vector Type...
Operation (Update Vector Representation): sets the vector representation scale factor to numerator/denominator, arrow height and width, filled arrow heads (filledArrow =1) or not filled arrows heads (filledArrow=0) and color according to the amplitude (color =1) or uniform color (color =0). The parameter rprType specifies the type of vector representation: full vectors (rprType=0), normal component (rprType=1), tangential component (rprType=2), normal difference (rprType=3) or tangential difference (rprType=4).

RprSection(float p1x, float p1y, float p1z, float p2x, float p2y, float p2z, float dx, float dy, float dz)

Associated menu item: Representation / Section
Operation (Vectors along Section): displays the vectors on the intersection between the plane defined by point (p1x,p1y,p1z), point (p2x,p2y,p2z) and direction (dx, dy, dz) and the active surfaces of the active view.

VectorColorLock(int p)

Associated menu items: Representation / Color Contour and Color Uniform.
Operation: sets the coloring mode for the next vectors to be represented in uniform color (p=1) or in a color corresponding to their amplitude (p=0).

DeleteVectors()

Associated menu item: Update / Delete / Vectors
Operation: deletes the vector representations on the active surfaces

DeleteLocalVectors([string name])

Operation: deletes the local vectors, the vectors on section and the vectors on grid lines. Without argument, the command deletes the currently selected vectors. With an argument, the command deletes the vector representation having the specified name.

DeleteGridVectors([string name])

Operation: deletes the vectors on grid nodes. Without argument, the command deletes the currently selected vectors. With an argument, the command deletes the vector representation having the specified name.




Vector Lines 

These commands raise an Attribute Error if the current quantity is not vectorial.

VecLineLocal(float px, float py, float pz, float dx, float dy, float dz)

Associated menu item: Representation / Vector Lines / Local.
Operation (Local Vector Line): draws vector lines starting at each intersection between an active surface and the line defined by the points (px, py, pz) and the direction (dx, dy, dz).

VecLineSection(float p1x, float p1y, float p1z, float p2x, float p2y, float p2z, float dx, float dy, float dz)

Associated menu item: Representation / Vector line / Section.
Operation (Vector Lines from Section): draws vector lines starting at the intersection between the plane defined by point (p1x,p1y,p1z), point (p2x,p2y,p2z) and direction (dx, dy, dz) and the active surfaces of the active view.

VecLineSectionPoints(int n)

Associated menu item: Representation / Vector line / Section.
Operation (Vector Lines from Section): sets the number of section points being vector line starting points.

VecLineGridNodes(2, 4, int index, int i, int min, int max)

Associated menu item: Representation / Vector line / From Grid Line...
Operation (Vector Lines from Grid Line): draw vector lines starting at the nodes of the grid line i (index = 0 or 1 for a line along local I or J, respectively) from node number min to node number max. 

VecLineNormalizedGridLine(int index, float i, float min, float max)

Associated menu item: Representation / Vector line / From Grid Line...
Operation (Vector Lines from Grid Line): draw vector lines starting at the nodes of the grid line i (index = 0 or 1 for a line along local I or J, respectively and i is the index value in % of max) from node number min (first in % of max) to node number max (last in % of max). If several surfaces are selected that have not the same indices, surface name should follow and the previous parameters are repeated for each surface. 

DeleteVectorLines()

Associated menu item: Update / Delete / Vector Lines.
Operation: deletes the vector line representations associated to one of the active surfaces.

VecLineMaxPoints(int maxPointsPerLine, int maxPointsPerCell, int AveragePointsPerCell)

Associated menu item: Representation / Vector line / Parameters...
Operation (Vector Lines Parameters): sets the maximum number of points per line, per cell, average number of points per cell for the computation of vector lines.

VecLineSurface(int mode)

Associated menu item: Representation / Vector line / Parameters...
Operation (Vector Lines Parameters): sets the mode of computation of vector lines as   volume (mode = 0) or restricted to a surface (mode=1).

VecLineDirection(int dir)

Associated menu item: Representation / Vector line / Parameters...
Operation (Vector Lines Parameters): sets the direction mode for the computation of vector lines: backward (dir = -1), in both direction (dir=0) or forward (dir=1).

VecLineColorLock(), VecLineColorContour()

Associated menu item: Representation / Vector line / Parameters...
Operation (Vector Lines Parameters): sets the vector line coloring mode to uniform or to colored according to the local vector amplitude. This applies to the last created vector line group. By default, the coloring is uniform.

VecLineType(int maxPointsPerLine, int maxPointsperCell, int AveragePointsoercell, int mode, int color, int dir, int modeOption, int sectionPoints, CurveType c)

Associated menu item: Representation / Vector line / Parameters...
Operation (Vector Lines Parameters): sets the parameters for vector lines computation: maximum number of points per line, per cell, average number of points per cell, volume (mode = 0) or restricted to a surface (mode=1), backward (dir = -1), in both direction (dir=0) or forward (dir=1). The parameters color and modeOption are not used. The number of vector lines on a section is set to sectionPoints and the curve type to c.

VecLineCartPlot()

Associated menu item: right-click on the generated streamline or vector line colored by a scalar quantity.
Operation: creates a Cartesian Plot for the generated streamline or vector line according the selected scalar.

ExportStreamLine(string finename, string streamlinename1, ......)

Associated menu item: right-click on the generated streamline then select Export to File.
Operation: export the specified streamlines into file.

Getting Started


Welcome to the CFView™ User Manual, an illustrated presentation of the CFView™ capabilities. This chapter presents the basic concepts of CFView™ and shows how to get started with the program. Specifically, this chapter describes:

what CFView™ does and how it operates,
how to use this guide,
how to run CFView™.

Select Solid Quantity
To select a quantity existing only on surfaces (a solid quantity or a surface derived quantity), select the corresponding item in the Quantity/Solid Data menu, or open the Solid Data group in the Quantities subpanel and double click on the quantity name.

Local Spectrum
The menu Representation / NLH / Local Spectrum allows the user to get the spectrum of the selected quantity at a point.
When the menu Local Spectrum is selected, a dialog box appears:


FIGURE 16 Local spectrum
The user can enter the coordinates of a point and choose whether this point is fixed in space or attached to the mesh. The point is interactively shown in the 3D view. The user can translate the point in the x, y or z direction by pressing the X, Y or Z button and moving the mouse to the left or to the right. The point may not be in the computation domain, it can be in one of the repetition. 
When the user clicks on the button Apply, the amplitude spectrum of the active quantity appears. When the point is attached to the mesh, the frequencies are just plotted. When the point is detached from the mesh, a spectral analysis is performed. So, the circular arc from that point cannot cross a solid surface. The value of Kmax used in the spectral analysis can be set by the macro SetKMaxNLH().

The real and imaginary components of harmonics have to be selected for output before the computation in order to plot local spectrum of a point in CFView™.
The Local Spectrum is not compatible with rank-2 harmonic computation.

Remove Rendering Effects
To remove hidden lines, flat and shading visualisations on the active surfaces, choose Render Off from the Render pull down menu.
The keyboard shortcut for Render Off is <Shift> + <h>.

Macro Script Examples
Compute Surface Integrals

This section explains how to use the macro to compute various types of integrals.

In CFView™ load the project provided with the CFView™ test case distribution from Open toolbar button.
Select Record (File/Macro) to turn on the macro recorder by selecting.
Select the desired surface on which the integrals should be computed from the Surfaces subpanel by pressing the right mouse button and selecting the Select item in the popup menu. Also you may create a new surface using Geometry menu options (Create Surfaces for detailed information about surface creation).
Select the required field quantity to be integrated from Quantities subpanel (say 'Density').
At this point, all the operations regarding the surface creation and selection as well as the quantity selection are recorded internally in CFView™.
Select Save… from File/Macro menu to save the macro script, this raises a file chooser.

Enter or select the file name in the file chooser.
Press OK to validate the entry.

Using a text editor, open the saved file ('.py').
Add the commands for surface integral computation and the display of the results of the calculations in the active view (See Commands for Computing Integrals on Surfaces for a description of each command):
a=GmtArea()
#(area of the surface)
i=SclIntegral()
#(scalar surface integral of 'Density')
wi=SclWeightedIntegral('Static Pressure')
#("Static Pressure"-weighted surface integral)
pf=SclForce()
#(vector surface integral of 'density')
pt=SclTorque(x,y,x)
#(vectorial surface integral of 'Density' , taken as a
torque with respect to the point having coordinate x,y,z)
pta=SclTorqueAmplitude(x,y,z, i,j,k)
#(scalar product of the same integral as SclTorque with the unit vector i,j,k)
QntFieldVector('Vxyz')
f=VectorFlux()
#(flux of 'Velocity' through the active surfaces)
wf=VectorWeightedFlux('Density')
#('Density'-weighted flux of 'Velocity' through the active surfaces)
InsertText(0.1,0.9,0.0,"Area . . . . . . . . . . . : %11.4e"%(a))
InsertText(0.1,0.8,0.0,"Integral density . . . . . : %11.4e"%(i))
InsertText(0.1,0.7,0.0,"Integral pressure x density : %11.4e"%(wi))
InsertText(0.1,0.6,0.0,'Flux velocity . . . . . . : %11.4e'%(f))
InsertText(0.1,0.5,0.0,'Mass flow . . . . . . . . : %11.4e'%(wf))
InsertText(0.1,0.4,0.0,'Torque around (0,0,1) . . : %11.4e'%(pta))
InsertText(0.1,0.3,0.0,"Force . . . . . . . . . . : %9.2e %9.2e %9.2e"%(pf[0], pf[1], pf[2]))
InsertText(0.1,0.2,0.0,'Torque . . . . . . . . . . : %9.2e %9.2e %9.2e'%(pt[0], pt[1], pt[2]))
See String Handling for a detailed explanation of string formatting used in the Insert-Text commands.
Open a new view of the same geometry:

Select Open Cartesian from Window menu.
Press, drag and release the left mouse button to specify the view limits.
Select Full from View menu in order to have a full sized view.
Select Execute... from File / Macro to open a file chooser.
Select the file containing the modified recorded script as described above.
Select OK, it displays all the results on the graphics area. 




Export Field Values to a File

The following example shows how to export field values at some locations into an text file. The coordinates of the points where the field values are to be extracted are read from a file and the result is written in another file.
CFViewBackward(89)
#(file opening)
fi=open('/disk1/macros/listIn.dat','r',0)
fo=open('/disk1/macros/listOut.dat','w',0)
#(write header line)
fo.write('Node#  x_cord y_cord z_cord fieldValue\n')-
#(select quantity - if the following line is commented, the active quantity is used)
#QntFieldScalar('Static Pressure')
#(import the type module for later use)
from types import *
#(skip the first line, read the file lines and extract the quantity value.)
s=fi.readlines()
for i in range(1,len(s)-1) :
#(scan line)

lineList=[]
for x in splitfields(s[i]) :

if (x!='') : lineList.append(atof(x))


#(write number and point coordinates)


fo.write("%i %e %e %e"%(lineList[0], lineList[1], lineList[2], lineList[3]))


#(compute value)


q=ProbeXYZ(lineList[1], lineList[2], lineList[3])


#(write value - if the quantity is vectorial then q is a tuple (ordered list of elements))


if (type(q) == tupple) :

for j in range(0,len(q)) : fo.write(' %e'%(q[j]))

else :

fo.write(' %e'%(q))



#(write end of line)

fo.write('\n')

	#(close files)
fi.close()
fo.close()

Animation of Vector Lines
The animation of vector lines applies to all the vector lines which have been computed from the currently active vector quantity (see Vector Lines for a description of how to create vector lines).
To start the animation of the vector lines, select the button  in the Streamline animation dialog box from the Geometry/Animations/StreamLine Animation... menu. The animation consists of markers or arrows moving along the streamlines with a velocity proportional to the local velocity amplitude.


FIGURE 1 Streamline Animation
The max frame/sec control allows to limit the number of animation steps by second. During the animation, a different value may be entered into the string area and validated by pressing the Apply button.
To end or pause the animation, select respectively the button  or  from the dialog box. The animation markers are respectively erased or frozen on the vector lines.
To start recording the animation, select the button . Once the animation parameters are set, or if the animation parameters have to be modified during the animation: 

SelectApply to validate any modification of the content of the dialog box. This affects the animation in real time.
Select Reset to cancel all modifications and the dialog box finds back its original status.
Select Close to cancel the animation. The dialog box is closed and the animation markers are erased from the vector lines.

Markers

The markers density is controlled by the marker Emission rate control in the dialog box. 
The marker type used for the animation is the one which is associated to the vector lines. The actual marker type of a vector line may be: 

the default marker type for the vector lines. This marker type may be modified in the Curve Type Editor dialog box opened by selecting Curve Type... in the popup menu of the vector line (see Vector Lines Parameters) or
the marker type applied to an individual vector line or to a group of vector lines. Refer to Stream Ribbons & Tubes for a description of how to modify the curve type attributes of vector lines.

The animated markers are always visible, independent of the visibility (Visible) of the vector lines markers.


Arrows



FIGURE 2 Vector Line Parameters
The interface for drawing arrows on streamlines is shown in FIGURE 2. This can be accessed in two ways:

If a scalar quantity is active, select Representation --> Steamlines --> Parameters and if a vector quantity is active, select Representation --> Vector line --> Parameters.
Right-click on a streamline or a vector line and select Parameters.

In Vector Lines Parameters dialog box, entries allow to control the visibility, size and density of arrows. The three widgets perform following functions:

Visible: by default this is set to off for backward compatibility issues. To make arrows visible on streamlines instead of markers, first set Visible to on and secondly press Apply. 
After this whenever a new streamline is created, arrows will be drawn on it by default.
Arrows are made visible only when streamlines are drawn with line representation. In case of tube or ribbon representation no arrows are drawn.
Size of Arrows: arrows are drawn in the form of two-dimensional filled equilateral triangles as shown in FIGURE 3.


FIGURE 3 Arrow size
Size of arrow is a relative variable and its default value is 1. When this value is decreased a relatively smaller equilateral triangle is drawn such that the front vertex of the triangle remains unmoved. The two vertices in the aft position are made closer to the front vertex as well as to the streamline. These two aft vertices are always drawn such that the equilateral triangle remains normal to the camera view every time.
Density of Arrows: this variable controls the number of arrows per unit length. The default value is such that approximately 20 arrows will be drawn on any streamline that encompasses the length of the bounding box/sphere of the whole domain. This model is based on an already existing model that is currently used for the default density of markers in streamline animation. All the arrows are equidistant as shown in FIGURE 4.


FIGURE 4 Arrow density
When the streamlines are drawn with the non-uniform color, the color of the arrows will also vary depending on their location as shown in FIGURE 5. In case of uniform color, all arrows are drawn with the same color.


FIGURE 5 Arrow color

Surfaces Representation Selectability
In some circumstances, the interactive selection of surfaces representations may not be desired. As an example, when surface representations are superposed to flow quantities representations, it may be difficult to select the flow field representation. 
In order to disable the interactive selection of surfaces representations, choose the Selectable item in the Render menu or click on the  button. When the button is raised and gray colored, the selectability is disabled.
This feature behaves as a toggle: selecting a second time enables the selectability again.

Change Axis Variable & Range
Each axis of the Cartesian plot is attached to a variable. The available variables are:

the quantity values,
the arc length or its normalized value along the curve,
the x, y or z coordinates,
the radius or the azimuthal angle (with respect to the z axis) and
the span or stream position for turbomachinery analysis.

In order to modify the variable related to an axis or to modify the range minimum or maximum value, click with the left mouse button on the axis, red markers are appearing. Then, press the right mouse button, a pop up menu is raised.




In the sub menu Function of, select the desired item to change the variable which is attached to the axis.
Select Fit Range in order to set the minimum and maximum range values to those of the represented curves. Note that if no element is selected in the Cartesian plot view, the popup menu raised by pressing the right mouse button, contains the item Fit Range that performs the same operation on both the ordinate and the abscissa axes.
Select Set Range... to enter a new range. There are two possible ways of doing this:

enter the minimum and the maximum value in the string entry below the graphical area or
press on the axis desired minimum value, drag and release on the axis desired maximum value to provide the minimum and maximum values. During the interactive operation a red bar appears along the axis.

Select Set Logarithmic in order to display the data in logarithmic scale. When an axis is already in logarithmic scale, select the Set Linear item to come back to a linear display.
Select Set Reverse in order to display the data in decreasing values. When an axis is reversed, select Unset Reverse to come back to the normal display.
If no element is selected in the Cartesian plot view, the popup menu raised by pressing the right mouse button, contains the item Fit Axis that fits axis in the Cartesian plot view when needed.

The viewing buttons are also providing shortcuts for some of the frequently used operations:











These buttons are selecting the quantity for the abscissa axis









This buttons translates the curve representations. 









This button performs the zoom in or out in both the abscissa and ordinate ranges.









This button performs the zoom on a rectangular region.









This button performs a range fitting in both directions.









This button performs a range fitting and a small zoom out, in both directions.




The axes ranges are always updated automatically to reflect the range modifications.

Quantity Types

CFView™ allows the visualization of different types of quantities in the computational domain:

The field quantities: they are defined for the complete domain. For example, the pressure or the velocity field around a body is calculated through all the computational volume, from the inlet to the outlet. Two kinds of data are supported:

scalar data such as pressure, Mach number or velocity magnitude,
vector data such as the velocity field.



The solid quantities: they are defined on the solid surfaces only. For example, the skin friction on the solid surfaces of a body. These data are defined only on a defined set of surfaces. Therefore, they are separated from the field data.
Like for the field data, there can be scalar or vector quantities.
The computed thermodynamical quantities: these are the quantities that can be computed from the field quantities by standard formulas and that have not been computed by the flow solver. They are computed in CFView™ upon request.
The components of vector quantities: these are directly extracted from a vector field quantity.
The quantities defined as the gradient, divergence or curl of an existing quantity.
The derived quantities: these are quantities respecting a user defined definition. CFView™ supports field derived quantities (defined in the whole computational domain) as well as surface derived quantities (defined only on surfaces).

Besides these data types, CFView™ also supports data for specific purposes:

The validation data: these are comparison data defined along curves. For example, they allow the comparisons between experimental and computed data or between different numerical data sets.
The plot data: this is a generic container for any type of data defined along a curve. They can be convergence curve, surface averaged data from FINE™ GUI (Surface Averaged Variables page).
The particle traces data: these are related to externally computed trajectories of particles, such as those generated by the Lagrangian module of FINE™ GUI (Fluid Particle Interaction page).

All these quantities are not available in all file formats. As an example, computed thermodynamics and particle traces data are available only in the FINE™ GUI environment.
The quantities are selected by using the Quantity menu or the Quantities subpanel in the Quick Access Pad. The Quantity menu contains a complete set of submenus allowing the selection of any quantities, while the Quantities subpanel provides a convenient shortcut to select the most commonly used ones.

Visualize Vector Data
The Representations subpanel and Representation menu are dynamic. The items which appear, after the selection of a scalar quantity are described in Visualize Scalar Data. If a vector quantity is selected, different items appear. They are used to display vectors at given positions on the active surfaces and to compute particle traces starting at given positions.

Select Computed Thermodynamic Quantity

When used with a FINE™ GUI project, CFView™ checks automatically if the fluid computation was made with a perfect gas, a real gas, an incompressible or a condensable gas fluid. In such a case, a list of standard thermodynamical quantities which are not already available is proposed:

in the menu Quantity/Field Data/Computed Thermodynamics and
in the Thermodynamics group of the Quantities list subpanel.

To select one of these quantities, choose the corresponding item in the Quantity/Field Data/Computed Thermodynamics menu or open Thermodynamics group by clicking on the group symbol  and double click on the desired quantity name.

Introduction

CFView™ is the flow visualization tool of the FINE™ integrated environment. The FINE™ integrated solvers (i.e. FINE™/Turbo, FINE™/Open with OpenLabs™,...) interpolate the computed flow quantities from cell-centre to cell-vertices before outputting them in the CFView™ format. 
CFView™ is designed for the visualization of structured and unstructured meshes in multi-domain (multi-block) configurations and provides a user friendly graphical interface (GUI) integrating two dimensional and three dimensional plotting capabilities in a multi-window environment.
Features
CFView™ provides a set of powerful exploration tools for the interactive qualitative and quantitative analysis of the field at the cell-vertices.  This analysis can be performed on any surface and consists of representations such as local values, isolines, Cartesian plots, streamlines, contour shading and thresholding. In addition, CFView™ provides a set of numerical probes for a quantitative investigation of the flow properties anywhere in the computational domain.
The most important tools comprise the local value extraction, the quantity distribution along curves (arbitrary section or mesh lines or streamlines) for detailed analysis of specific regions such as boundary layers.
CFView™ provides the ability to display in Cartesian and cylindrical coordinates as well as in turbomachinery blade to blade views. Scalar and vector quantities can be displayed and new quantities can be computed by providing their mathematical formula. Pitchwise averaging can be performed and comparison with experimental data or with other numerical data is easily obtained.
Another interesting feature of the system is the ability of scanning instantaneously the computational volume by scrolling through constant I, J, K mesh surfaces or by moving arbitrary cutting planes. This feature gives the possibility to localize rapidly regions of interest in the field.
CFView™ is capable to visualize surfaces in hidden lines or shaded models with user defined light sources assigned to the views. When saving pictures several formats are available. The creation of animations from unsteady data sets is extremely easy and the animations can be recorded as animated GIF files.
All these features are integrated in a highly interactive multiwindow environment which allows loading different data sets for comparison during the same CFView™ run.
This version of CFView™ contains macro capabilities. A macro is a powerful tool that allows recording a sequence of operations that can be played back later. It is also possible to create libraries of custom macros to perform repetitive operations quickly.
Approach & Acknowledgments
The CFView™ system is designed using an object-oriented programming approach (OOP) and is implemented in C++. In order to ensure maximal portability the software development platform consists of the HOOPS graphics library and the Tcl/Tk toolkit.
A HOOP is a 3D graphics standard, developed by TechSoft. It is a versatile and efficient tool to create, display and modify device independent graphics. The C++ binding and the graphical class library were created for HOOPS in order to ensure an object-oriented code development and an integration of 3D graphics.
CFView™ is also embedding the Python language interpreter (v2.7 on Windows/Linux) for the macro features.
The creation of PNG formatted pictures and animated GIF makes use of libraries included in library magick v6.4.3
The creation of JPEG formatted pictures makes use of the sixth public release of the Independent JPEG Group's free JPEG software.
The creation of TIFF formatted pictures makes use of the TIFF software distribution 3.8.
All the third party software components are copyrighted of their respective owners.

Animation by Cutting Planes Scrolling
To access the dialog box allowing to launch the animated scrolling of Cutting Planes, select Cutting Plane Scrolling... from the Geometry/Animations menu.


FIGURE 7 Cutting plane scrolling dialog box for animation
The dialog box contains several parts:

The Normal area allows to control the cutting plane orientation:

The X, Y and Z string editors allow to input the X, Y and Z components of the cutting plane normal.
The three buttons  allow the choice of the direction of the cutting plane normal which will be oriented respectively along the X, Y or Z axis.
The three buttons  allow to rotate the cutting plane around X,Y and Z axes.


Activating one of them with the left mouse button, and dragging the mouse to the left will rotate the cutting plane clockwise, and to the right, counterclockwise.

The Animation Control area allows to control the animation as described in Animation by Mesh Surfaces Scrolling. The Step string editor allows to input the distance between two consecutive cutting planes.
The Geometry and Quantity buttons allow the user, when a quantity is selected, to choose between a grid wireframe representation (the Geometry option) or a color contour representation (the Quantity option).
The Apply button validates new parameters during the animation.
The Reset button restores the initial values of the animation parameters.
The Close button stops the animations and discards the dialog box.

Commands Related to Time Label/Clocking Position

SetTimeLabel(int b)

Operation: displays (b=1) or remove (b=0) the time label/clocking position in the active view.

ToggleTimeLabel()

Operation: displays if not visible or remove from the active view the time label/clocking position.

TimeLabelPosition(float x, float y)

Operation: sets the position of the time label/clocking position. The x and y values are normalized positions:
x=-1 and y=-1 is the lower left corner,
x=1 and y=1 is the upper right corner,
x=0 and y=0 is the center of the view.

TimeLabelTextType(TextType type)

Operation: sets the text type attributes for the time label/clocking position.

float GetPhysicalTime()

Operation: returns the physical time for unsteady simulation.

float GetTimeStep()

Operation: returns the time step for unsteady simulation

Create Derived Quantity
New quantities are created by using the Define New Quantity dialog box. This dialog box, as shown in FIGURE 6 is opened by selecting Quantities/Field Data/Define New Quantity... or by clicking on the New button in the Quantities subpanel.


FIGURE 6 Derived quantity definition dialog box
To create a derived quantity:

select the new quantity type. For Scalar and Vector by components, the available scalar quantities and the mathematical operators are listed in the upper right frames. If Vector is selected, the available vector quantities are listed in the Quantities frame. When defining a Vector by components, the Definition entry is replaced by a set of 2 or 3 entries, one for each component of the new vector quantity.
Select Field Surface:

A Field quantity is defined in the complete computation domain. The available quantities for its definition are all the field quantities (if Scalar or Vector by components is selected, the components of the field vector quantities are also available).
A Surface quantity is defined only on surfaces. The available quantities for its definition are all the field and solid quantities as well as the normal and tangent component of the vector quantities.

Enter the name of the new quantity in the Name entry and its mathematical definition in the Definition entry. The following operators and functions are available:

+, -, *, ^ and / operators
V^W is the vectorial product of vectors V and W when Vector type,
V*W is the scalar product of vectors V and W when Scalar type,
The result of the scalar product cannot be used in the same quantity (i.e. sqrt(V*W) will return an error). The scalar result should be reused in a new scalar derived quantity.

V*W is the direct product of vectors V and W when Vector type: (Vx.Wx,Vy.Wy,Vz.Wz).

For the direct product, "()" or "-" must be used otherwise the product will return an error.

log, log10, exp, sqrt, pow, sin, cos, tan, cotan, sinh, cosh, tanh, asin, acos, atan(y/x) and atan2(y,x) functions,
if function with three arguments for the condition, the action when the condition is satisfied and the action when the condition is not satisfied e.g. if (Static Pressure<150000,1,0),
The geometrical coordinates as x, y and z,
The constants 'e' and 'pi' are also predefined,
The a to the power b is obtained by using pow function (ab = pow(a,b)), or the log and exp functions (ab = exp(b*log(a))),
Boolean operators: relational and equality operators (==, !=, >, <, >=, <=) and logical operators (!, &, | for respectively not, and, or)



By double clicking with the mouse left button on any of the items listed in the Quantities, Geometry, Op., Bool. or Constants frames, its name is automatically inserted in the Definition. For example, enter the string "normalized pressure" in the Name entry, the string "Static Pressure / 101325" in the Definition entry to create a normalized pressure quantity.
Press the Apply button to create the new quantity and to insert it into the project. The new quantity can be selected for visualization in the same way as the project field quantities.
To delete or unload a derived quantity, use the unload option or the Quantities Status dialog box as described in Unload Quantities or Field Quantities Status Dialog Box respectively.

Projects Comparison
This functionality allows two projects to be compared. The projects having the same mesh topology but slightly different geometries or same geometry but different meshes can be compared.
Two projects can be considered as having the same mesh topology if:

the number of domains is the same.
the meshes are either both structured or both unstructured meshes.
for structured mesh: for each domain, the numbers NI, NJ and NK are the same.
for unstructured mesh: for each domain, the number of points and the number of cells are the same. For each cell, the number of nodes and the number of faces are the same. The node indices and connected cells are the same as well. 
the bounding boxes of the two meshes are sufficiently close. A relative tolerance of 0.1 is applied in each dimension.

For projects having the same geometry but different meshes. It means:

if every point on every surface of mesh A is within a given tolerance of a surface of mesh B. This tolerance can be accessed through Preference / Projects Comparison tolerance ....

The tolerance chosen should be as low as possible.
For better performance, the project with fewer blocks should be selected before performing the comparison.
This functionality can be accessed through Quantity / Field Data as shown in FIGURE 10. If two or more projects are opened in CFView, the Project Comparison ... entry is enabled otherwise it is grayed out. 


FIGURE 10 Projects Comparison
If the open projects are not comparable, an error message is shown to warn the user once the option is selected. Otherwise, the Projects Comparison dialog box as shown in FIGURE 11 appears. There will be a list of comparable projects in the Comparable projects list box.


FIGURE 11 Projects Comparison dialog box
When a project is selected, its scalar and vector quantities are shown in the Quantities list box. The "Field" and "Surface" radio buttons show the field quantities and the solid data respectively. When a quantity is selected, the Import and Compare buttons are enabled at once. See FIGURE 11. The Import button imports the selected quantity from the selected project to the active project while the Compare button computes the difference of the selected quantity between the two projects.
Upon clicking the Import and Compare buttons, the Quantity name dialog box appears and the new quantity name can be defined. See FIGURE 12.


FIGURE 12 Quantity name dialog box
The interpolation has to be done if two meshes are different and this computation may take a lot of time.
A default name is proposed as the following:

quantityName_computationName for quantity imported.
quantityName_diff_computationName for quantity compared.

The newly created quantity will appear in the Quantities sub-panel.

Reconstruction in Time
When a basic harmonic computation or a clocking/ multi-rank harmonic computation with fixed clocking is selected, the Partial Loader dialog box appears as shown below. 


FIGURE 10 Partial Loader dialog box for a basic harmonic project
The button Reconstruct the flow in time gives the user the ability to reconstruct the harmonic solution in time on the selected blocks and grid level. After selecting the concerned blocks and the grid level and activating Reconstruct the flow in time, the parameters will be available for the unsteady solution reconstruction.

First the user should select the harmonics that will be used for reconstruction. Upon clicking on the Harmonics Selection button, the Harmonics Selection dialog box with the list of all harmonics by group appears. See below. By default, all the harmonics are selected.



FIGURE 11 Harmonics Selection for reconstruction of a basic harmonic project

In the Time reconstruction settings frame, the Total number of time steps should be defined. For the time length,  the use may define the Full time length as a multiple of the period that corresponds to the minimum frequency of all the harmonics, or as a physical time length in [s]. When one of the two values is modified, the other one is automatically adapted. After defining the Total number of time steps and Full time length, the time step will be shown in the frame. By default, all the time steps will be reconstructed in time. The user may also reconstruct part of the time steps by selecting the option Reconstruct only time steps and specifying the range of the time steps.
In the frame Space reconstruction settings:

The Number of repeated blade channels is used to specify the number of repeated blade channels in the reconstructed solution. For example, if the Number of repeated blade channels is 1, two channels will be represented in the reconstructed solution. The option Max can be activated to set the Number of repeated blade channels to its maximum value (Maximum Periodicity - 1).
The Displacement of the channels is used to specify a rotation of the blade channel as a multiple of the pitch of the blade channel. The Displacement of the channels must be an integer number.

Note, the specified settings in the frame Space reconstruction settings are applied to the selected groups. The groups correspond to the rows of the turbomachine and may not be numbered in the natural order. When the user clicks on a group in the list, the name of the group will be selected. And the related blocks of the group will also be highlighted in the block list in the left upper frame. Keeping <Ctrl> pressed allows to select multiple groups at the same time.
The radio button Represent perturbation only outputs the perturbation of the quantities only and not the unsteady flow (time averaged value + the perturbation).
The radio button Represent next blade channel after a rotation of one pitch displays the following rotating blade channel in the reconstruction after displacement over more than one pitch instead of the same blade channel(s) represented on the whole period of reconstruction.
The Control Points is used to define control points where the flow will be reconstructed locally. Upon clicking on the Control Points button, the Control Points Input dialog box as shown below appears. A file named computation_name_unst_info_ctrlpts.dat containing the number and the coordinates of each control points is saved by CFView™ after the reconstruction.


FIGURE 12 Control Points Input dialog box
For each control point defined, there is a file saved by CFView™ named computation_name_unst_P#.dat where # is the index of the control points. This file contains the values of the quantities for each time step or clocking position. The quantities include: 

time,
density,
relative velocity,
static pressure,
static temperature,
eddy viscosity (for turbulence models only),
wall distance (for turbulence models only),
turbulent kinetic energy k (for SST turbulence model if it is present in the CGNS file),
dissipation rate ω (for SST turbulence model if it is present in the CGNS file).

The values of I, J and K of the control points are limited to NI, NJ and NK of the selected grid level.
If a block is unselected in the Partial Loader dialog box, the control points in that block are discarded.
The maximum number of control points is 200.
The reconstruction at control points is not possible for unstructured projects.

When clicking on Apply, a file chooser allows the user to specify the name of the output files (by default set with the extension "*_unst.run"). When clicking on Save (on Windows) or Ok (on Linux), the unsteady solution files (by default "*_unst.run" and "*_unst_t#.cgns" or "unst_t#.cfview" respectively if FINE™/Turbo or FINE™/Open with OpenLabs™ solution) will be created.

Cartesian Plots

CFView™ creates easily the plots of the quantity distribution along arbitrary sections and grid lines.
When one of the plot commands is activated, CFView™ automatically opens a new view, that will contain the Cartesian plot. Furthermore, the range of the plot axis is set to the limits reached by the quantities. CFView™ defines and handles automatically one Cartesian plot view per quantity. When the first curve of a quantity is drawn, a Cartesian plot view is opened. And the next curves are automatically inserted in this Cartesian plot view.
By default, curves associated with different quantities are plotted in different Cartesian plot views. When activating Global Plot View in the Representation/Cartesian Plot menu, all curves related to all quantities will be plotted in the same Cartesian plot.


FIGURE 23 Global plot view option: static pressure and temperature in same plot
The layout of existing Cartesian plots can be modified interactively by selecting parts, by using the Update/Plot menu or by the viewing buttons.
The different commands to create Cartesian plots are contained in the Representation/Cartesian Plot menu and in the Representations/Plot & Values subpanel. These are outlined below.
Cartesian Plot along Surface Boundaries

Choose Along Boundary from the Representation/Cartesian Plot menu or click on the Boundary button in the Representations/Plot & Values subpanel. A curve is drawn for each boundary of the active surfaces. 
In the currently active 3 or 2 dimensional view, the boundaries of the active surfaces are colored in the same color as in the Cartesian plot.
The default style for the line and markers may be modified by using the Default Node Line Curve Type Editor (Preferences/Node line curve type.... If the default color is different from black or white, the color is changed from curve to curve in order to facilitate curves identification. Similarly, the marker type and the line style are changed from curve to curve.


Cartesian Plot along Solid Surface Boundaries

Choose Along Solid Boundary from the Representation/Cartesian Plot menu or click on the Boundary Solids button in the Representations/Plot & Values subpanel. A curve is drawn for each boundary of the active surfaces which is a solid boundary. Also, the boundaries of the solid surfaces are colored in the same color as in the Cartesian plot. 
As for the plot along surface boundaries feature, the default line and marker styles can be changed by using the Default Node Line Curve Type Editor (Preferences/Node line curve type...).
If no solid surface is selected at the time the Cartesian Plot/Along Solid Boundary is requested, an empty Cartesian plot view will appear on the screen.


Cartesian Plot along Section

This option provides a convenient way of visualizing quantity distributions along arbitrary sections of the active surfaces. To create a plot along a section:

Select the surfaces on which the section has to be represented.
Choose Along Section from the Representation/Cartesian Plot menu or click on the Section button in the Representations/Plot & Values subpanel.
Select a section line defined by two points:

	move the mouse to the graphical area and click the left mouse button to select the first point of the section line. A red line is attached to the cursor. Drag the cursor in the desired direction and release the left mouse button to define the second point of the line.
	or, move the mouse to the string input area and successively enter the coordinates of the two points defining the section. Press <Enter> to apply.


The section line actually defines a cutting plane perpendicular to the plane of the screen. This plane crosses the active surfaces and generates sections. The quantity values on these sections are immediately mapped in the Cartesian plot view, while the traces of the sections appear on the active surfaces.


FIGURE 24 Pressure profile on a radial compressor blade.
The section shown in FIGURE 24 is obtained from a cylindrical coordinates view (constant radius). The viewing direction is along theta and the section line is a horizontal line which intersects the blade pressure and suction sides.
The default style for line and markers may be modified by using the Default Section Curve Type Editor (Preferences/Section curve type...). Edit, Save & Restore Defaults for further information. If the default Section Curve Type is different from black or white, the curve color is changed from curve to curve, as well as the line and marker styles.
This option remains active until another scalar representation which requires interactive picking is activated.
	The arc lengths are independent for each curve extracted from the active surfaces.
The keyboard shortcut for Along Section is <d>.


Cartesian Plot along a Grid Line

To create a plot along a grid line:

Select the desired surfaces.
Select Along Grid Line... from the Representation/Cartesian Plot menu or click on the Grid Line button in the Representations/Plot & Values subpanel. It opens a dialog box. Click on one of the I or J constant Index button to activate the desired surface family. The "I" and "J" appellation do not necessarily correspond to the IGG™ index:

if the surface is constant in I, the first index corresponds to J and the second to K.
if the surface is constant in J, the first index corresponds to K and the second to I.
if the surface is constant in K, the first index corresponds to I and the second to J.

Click on the Value string input and enter a number included in the limits.
Click on the First and Last string inputs and enter the number of the first and last grid node to consider in the plot curve.
Click the Apply button to perform the action. The result is immediately mapped in the Cartesian plot view, while the trace of the section appears on the active surfaces.
Click the Close button to close the dialog box.



FIGURE 25 Grid line definition dialog box for vector line plot
The default style for the line and markers may be modified by using the Node Line Curve Type Editor (Preferences/Node line curve type...). Edit, Save & Restore Defaults for further information. If the default color is different from black or white, the curve color is changed from curve to curve as well as the line and marker styles.
	This option is only available for structured meshes.

Commands Related to Surface Creation


string CutPlaneSave(float p_x, float p_y, float p_z, float n_x, float n_y, float n_z, int coord, string name)

Associated item: Geometry / Create Cutting Plane....
Operation (Create Cutting Plane): creates and saves the cutting plane defined by the point (p_x, p_y, p_z) and the normal direction (n_x, n_y, n_z).

The last two parameters (coordinateSystem and name) can be omitted for backward compatibility.

p_x, p_y, p_z are the coordinates of the point defining the plane,
n_x, n_y, n_z are the coordinates of the normal to the plane,
coord indicates in which coordinates system p1, p2, p3, d1, d2, d3 are provided. If this parameter is omitted, the assumed coordinates system is the one of the active view. Values of 0, 1 and 2 correspond respectively to Cartesian, cylindrical and blade to blade coordinates system.
name is the root name for the created surfaces and the name of the group if a group is created. If this parameter is omitted, a root name is generated automatically: 'CUT' followed by a number.
If the cut is crossing several domains, the name of the group is returned. This name is identical to the name provided as last argument or is the automatically generated root name. If only one domain is cut, the name of the created surface is returned. If the cut specification does not cross the grid, no value is returned.

Exceptions: A zero direction (dx=dy=dz=0) will trigger a ValueError.
Typical uses of this function are: 

Creation of a cut and setting the active surface to the cut only (whatever the number of cut domains):
		cutName = CutPlaneSave( ... ),
SelectFromView(cutName).
Creation of a cut and check of its existence: 
cutName = CutPlaneSave( ... )
from types import *
if (type(cutName) != StringType) : print "Cut plane do not cross the grid"
Creation of a cylindrical cut at R=0.5 and computation of its area:
cutName = CutPlaneSave(0.5, 0., 0., 1., 0., 0., 1, 'cutAtR05')
SelectFromView(cutName)
a = GmtArea()
Creation of a cut and exclusion of some a priori known domains from it:
cutName = CutPlaneSave(..., 'myCut')
DeleteFromProject('myCut.D5', 'myCut.D4')
Note that the last argument in the CutPlaneSave command enforces that the name of the group is 'myCut' and that each cut surface has a name of the form 'myCut.Dn' where n is the domain number. The DeleteFromProject command destroys the surfaces if they exist. If a surface does not exist, the argument is ignored.
Please note that, along with the version 3.8-22 of CFView™, the automatic naming of cut planes has changed. Macros scripts including the names created automatically in earlier versions may not work with newer version. The macro scripts where the cut planes names are handled by means of Python variables do not have this limitation.
CutSurfaceSave (float p1_x, float p1_y, float p1_z, float n1_x, float n1_y, float n1_z, int coord1, float p2_x, float p2_y, float p2_z, float n2_x, float n2_y, float n2_z, int coord2, string name)

Associated item: Geometry / Split Surface...
Operation: extracts the portions of active surfaces delimited by two planes. This macro is based on the macro CutPlaneSave (see description above)

string SurfaceIJKSave(2, 8, int domainIndex, int surfaceType, int surfaceValue, int Is1, int Js1, int Is2, int Js2, int displayMode)

Associated item: none. 
Operation (Create Mesh Surface): creates, saves and returns the name of a mesh surface for one domain. The two first parameters should be present with their prescribed value. The parameter 'domainIndex' specifies the domain number (first domain is 0). The parameter 'surfaceType' indicates the surface type: I (index=0), J (index=1) or K (index=2) constant. The parameter indexValue is the index of the surface within its family. Is1, Js1, Is2 and Js2 indicate the node ranges for the surface as indicated in the table here below. The parameter displayMode is not used. The values are in the range 0, "number of points"-1, where "number of points" is the number of points in the respective direction. Surface familyIs1 / Is2Js1 / Js2IJmin / JmaxKmin / KmaxJImin / ImaxKmin / KmaxKImin / ImaxJmin / Jmax

The use of this function is discouraged. The command StructuredSurfaceSave is a more flexible alternative and the recording of structured surfaces creation is using the StructuredSurfaceSave command.
string StructuredSurfaceSave(int domainIndex, int surfaceType, float surfaceValue, float IFirst, float JFirst, float ILast, float JLast)

Associated menu item: Geometry / Create IJK Surface....
Operation: creates, saves and returns the name of a mesh surface for one domain. The parameter 'domainIndex' specifies the domain number (first domain is 1). The parameter 'surfaceType' indicates the surface index: I (index=0), J (index=1), K (index=2).The following parameters: surfaceValue, IFirst, JFirst, ILast, JLast, are float-valued. They are the normalized values of the integer indices as a function of their respective ranges. The parameter surfaceValue is the float-valued index of the surface within its family (0. represents the lowest index value, 1. represents the highest index value).The parameters IFirst, JFirst, ILast and JLast, are normalized in the same way, they indicate the node ranges for the surface.
Example:

Creation of a surface at mid-domain for a constant I value: 
StructuredSurfaceSave(1, 0, 0.5, 0, 0, 1, 1)

LimitedCutPlaneSave(float p1, float p2, float p3, float d1, float d2, float d3)

Operation (Surface Selection using Macro): creates and saves the cutting plane defined by the point (p_x, p_y, p_z) and the normal direction (n_x, n_y, n_z).

SetRevolutionSurfaceAxis (float p_x, float p_y, float p_z, float d_x, float d_y, float d_z) Specifies the rotation axis (Origin (p_) and the vector Direction(d_)) used to create a surface of revolution from an IGG™ curve.
IggCurveLoadAndCut(string fileName)

Associated menu item: Geometry / Create Cutting Surface Along Igg Curve....
Operation (Create Cutting Surfaces defined from IGG™ curve): loads an IGG™ curve and creates a revolution surface into the active project. 

DeleteSurface(string name)

Operation (Select Surfaces): removes all representations of the surface in the active view. If the surface is a cut, a mesh surface, a blade to blade surface or an iso-surface, all representations in other views are removed also and the surface is removed from the surface list.

string CutPlaneSaveFrom3Points(float p_x1, float p_y1, float p_z1, loat p_x2, float p_y2, float p_z2, loat p_x3, float p_y3, float p_z3 )

Associated item: Geometry / Create Cutting Plane From 3 Points
Operation: creates a plane from three point (p_x1,p_y1,p_z1), (p_x2,p_y2,p_z2) and  (p_x3,p_y3,p_z3), and returns the name of the plane

Customizing Graphics Options
Control size and position when opening GUI
In CFView™, the user can control the size and position of the GUI when launching CFView™ by creating the file $(USER_HOME_DIRECTORY)/.numeca/preferences.dat. And add the following contents in the preferences.dat file:
PRODUCT CFView
GEOMETRY widthxheight[+|-]x[+|-]y
END_PRODUCT
[x|y] means x or y here. Numbers width and height specify sizes of the window in pixels, x and y – position in pixels. If x is preceded by +, it specifies the number of pixels between the left edge of the screen and the left edge of window border; if preceded by - then x specifies the number of pixels between the right edge of the screen and the right edge of window border. If y is preceded by + then it specifies the number of pixels between the top of the screen and the top of window border; if y is preceded by - then it specifies the number of pixels between the bottom of window border and the bottom of the screen.
To control the GUI size and position, the user can also use the -geometry argument (see -geometry). If geometry is provided both in the argument and in the preference file, the argument has priority.
Double Buffering
Double buffering is a graphics technology that allows smooth graphics refreshing. Without it, graphics refreshing may cause flickering or flashing, depending on the graphics accelerator drivers. 
By default, the double buffering is enabled for all the graphics accelerator drivers. In very rare occasion, it has been observed that the doublebuffering is slowing down heavily the rendering speed. In this case, double buffering may be disabled in the following way:

on Linux platforms add a line in the shell configuration file (.cshrc or equivalent): to set the environment variable NI_DOUBLEBUFFERING to off
on Windows platforms the DOUBLEBUFFERING variable must be defined and its value set to off in the Environment Variable dialog box, accessible from the Windows Control Panel (Start / Control Panel) by invoking the Advanced system settings.

Reverse Video
By default CFView™ is started with a white background. It is possible to have a black background in three ways:

through the interface selecting the toggle menu item Preferences/Reverse Video before loading the solution file,
using the command line argument -reversevideo when starting CFView™,
setting the environment variable REVERSEVIDEO to ON (on all platforms).

Update Abort
When enabled, this feature allows to continue to access to the menu bar and dialog boxes during the graphics updates. If the content of the graphics window changes during a refresh due to the continuing user interaction, the graphics update is aborted and restarted with the new content.
When disabled, the user interaction is disabled during graphics update.
The default is to enable update abort. If, for some reason, this feature should be turned off, it can be done in the same way as for double buffering (see above), except that the environment variable is UPDATEABORT for all platforms.
Graphics Drivers
The graphics area of CFView™ interface uses by default an OPENGL driver that takes advantage of the available graphics card. When the activation of OPENGL is causing problems, CFView™ uses an X11 driver (on Linux) or MSW driver (for Windows) instead.
It is possible to explicitly change the driver used by CFView™ in the following ways:
On Linux

in csh or tcsh shell:
setenv NI_DRIVER X11
in bash or korn shell:
NI_DRIVER=X11
export NI_DRIVER
The selection will take effect at the next session.


On Windows


Log in as Administrator.
Launch regedit from the Start/Run menu.
Go to the HKEY_LOCAL_MACHINE/SOFTWARE/NUMECA International/Fine# register.
Modify the DRIVER entry to either OPENGL or MSW.

The selection will take effect at the next session.

Select & Create Flow Quantities

The multiview environment of CFView™ allows the user to load different projects simultaneously in the same session and to manipulate them in a similar way. 
It is also possible to analyze simultaneously more than one quantity of the same project in the same view (for example, Mach number isolines and local values of static pressure plotted on the same surface...). Nevertheless, in order to avoid clutter in a view, it is recommended to create additional views for the same project to visualize several quantities.

Select Surfaces

View Elements (Unstructured Meshes Only)
This feature allows to insert the representation of mesh elements in the graphical area. It is restricted to 3D unstructured meshes. When choosing the Cells... item in the Geometry menu, a dialog box is raised. See FIGURE 14.


FIGURE 14 Cell Chooser
The list of cells is specified as a comma separated list. Each item is a single number or a set of two numbers separated by a '-' symbol. '-' separated pairs of numbers are used to specify a range of element numbers.
The size factor can be specified in the Size Factor entry or adjusted using the increase/decrease arrows. A value of 1.0 indicates that the element is represented with its geometric size. A factor smaller than one indicates that the element is shrunk and a value larger than one is used to enlarge the element.
By default, the cell edges are represented and the cell faces are rendered with a flat shading. Modifying these attributes can be made by first selecting the "domain" item in the surface list chooser (Select Surfaces). The edge representation can be toggled by the Geometry/Grid menu item. The rendering can be modified in the same way as for surfaces (Modify Rendering Color).

Running CFView™
Basic Installation
When using CFView™ for the first time verify that it is installed according to the installation note. This installation note is provided with the software and should be read carefully. The following points are specifically important:

Hardware and operating system requirements should be verified to see whether the chosen machine is supported.
Installation of CFView™ according to the described procedure in a directory chosen by the user and referenced in the installation note as 'NUMECA_INSTALLATION_DIRECTORY'. Depending on the provided installation package CFView™ is installed alone or in combination with other NUMECA software. 
A license should be requested which allows for the use of CFView™. This license should be installed according to the described procedure. However, it is also possible to use CFView™ without a license for visualization of mesh and CGNS files. For the latest, only the surface data can be read without a license.


To request that CFView™ waits for active license, a "preferences.dat" file should be created in $(USER_HOME_DIRECTORY)/.numeca/ subfolder and it should contain the LICENSE_WAIT parameter for the PRODUCT CFView:
 
PRODUCT CFView

LICENSE_WAIT

END_PRODUCT



Each user willing to use CFView™ or any other NUMECA software must perform once a user configuration as described. 

When these points are checked the software can be started as described below.
Starting CFView™

CFView™ may be started from the FINE™ interface by pressing the CFView™ button () or by selecting the CFView item from the Modules menu.
CFView™ can also be started as a standalone application, outside of the FINE™ environment. The starting procedure for the Linux based platforms is different from the one on the Windows based platforms (below # is the release version):
On Linux

Start CFView™ by typing: cfview# <Enter> in a command shell.
The command may be followed by one or several command line arguments that are described in Advanced Options.


On Windows

Two different ways may be used to start CFView™ as a standalone application.

During the installation, an icon identifying CFView™ is created and inserted in the Start/Programs/NUMECA software/Fine# menu. Select the icon identifying CFView™ to start it as a standalone application.
It is also possible to start CFView™ from a command prompt window or by defining a desktop shortcut. The full path name of the CFView™ executable must be typed. Typically, this will be C:\numeca_software\fine#\bin64\cfviewx86_64.exe <Enter>. In a command prompt shell or in the string defining the command corresponding to a desktop shortcut, one or several command line arguments may be added after the CFView™ executable file name. These arguments are described in Advanced Options.

View Solid Boundaries
To turn on the display of the boundaries in the active surfaces that have a solid boundary condition type, choose Solid boundary from the Geometry menu. This item acts as a toggle.
The default line style is the same as for other boundaries (see View Surfaces Boundaries and Update Surfaces Boundaries Representation).

Set Visibility, Light & Shadow Attributes
To turn on or off the visibility of the faces, edges or markers on surfaces, grid wireframes and on shaded surfaces, select Render/ Visibility On/Off /Faces, Edges or Markers. These allow to control directly the visibility of the rendering, of the grid wireframe and of the markers represented at the grid points locations. The faces visibility is turned on for surface rendering. The edges visibility is equivalent to the grid wireframe visibility and, by default, the markers visibility is not turned on by surface representations.
Furthermore, to turn on or off the lighting attribute of the faces, edges or markers, select Render/ Light On/Off /Faces, Edges or Markers. By default, only the lighting is turned on only for faces with a shaded representation (Flat or Gouraud).
Finally, to control the lightning attribute on grid wireframe, rendering or color contour on selected surface(s), select Representations/Lighting & shadows subpanel in the Quick Access Pad. It allows to set the light parameters and to add a shadow.
These features apply only to surfaces immediately after the grid or the color contour or the surface rendering has been activated. They should not be used most of the time, they are only useful in some very specific cases.
Toggle Light Contour

Select the icon  to toggle the lighting on/off for all the active color contours.




Toggle Light Grid

Select the icon  to toggle the lighting on/off for all the active grids.




Toggle Light Face

Select the icon  to toggle the lighting on/off for all the active surface rendering.




Display Shadow

Select the icon to toggle a shadow under the scene. The shadow is view dependent: its position and the light direction change with the view. The shadow is always drawn on an horizontal plane located at the bottom of a bounding box enclosing the scene. The direction of the light source generating the shadow is always the vertical direction.




Light Editor

The light editor () allows to change the settings of the light of the active view. The type, position and direction of the light can be controlled.


It is possible to choose between two different kind of lights: directional or omni.

Directional: the light is coming from an infinitely far away light source, like the sun. All the light rays are parallel.
Omni: the light is coming from a punctual point, like a candle. The lights illuminates in all directions in a uniform way.

In the Position & orientation section, the light direction can be controlled by dragging the spot on the surface of the sphere.
The Back light option imposes a light coming from the other side of the hemisphere (i.e light comes from the back of the objects in the direction of the viewer).
When an omni light is selected, a Distance slider allows to set the distance of the light to the center of rotation of the view.
In the Light Intensity section, a slider enables to change the power of the light.
In the Refresh Options section, instantaneous update of the lightning and visualization of the light can be controlled by respectively the Instant Refresh and the Display in View options.
The Default button reset the active light to its default value.

Geometry Support for Blade to Blade Views
Additionally you can specify a meridional mesh to be used for computing STM (s, theta, m) views. This coordinate space is particularly interesting for visualisation project having a symmetry around the Z axis. The meridional support mesh has to be a 2D mesh defined in the (z,r) space. The m coordinate will be computed as the distance along J constant lines from the current point to the line I=0. The s coordinate will be computed as the distance along I constant lines from the current point to the line J=0. This corresponds to a blade to blade view in turbo-machinery applications.
The meridional support mesh is specified by the geometry file name of the mesh. Additionally, if the version description (2nd line of the file) contains the keyword AutoGrid-Mesh, it is assumed that the mesh is an AutoGrid5™ mesh (i.e. all domains have the I direction as streamwise, the J direction as spanwise and all points are on the support curves). This allows a faster computation of the (s,t,m) coordinates. 


FIGURE 1 Meridional support mesh
In general, the computation of a mesh point is based on its projection in the ZR plane. The s and m coordinates are interpolated from the neighboring support mesh points. Additionally s and m coordinates are normalised.
The geometry file format for a support mesh with 17 nodes in the I direction and 11 in the J directions is presented in FIGURE 1. 
 The use of this functionality is discouraged. The interactive specification of hub and shroud surfaces is a more flexible way to create blade to blade views.
NUMECA File Format v-1.0
POINTLIST_GRID -dim 2 -n1 17 -n2 11
<NI_BEG>
ZR
....
<NI_END>
where the "..." stands for the list of the (Z,R) coordinates ordered as list of curves in the I direction

Update Curve Type
To modify the line and marker style of the curves:

Select the first curve to be modified, then pressing the <Ctrl> key, select the other curves. The curves may be selected in the Cartesian plot view or in the 2 or 3 dimensional view in which they are represented.
Press the right mouse button, a popup menu appears.



Curve Type

The Curve Type... item opens the Curve Type Editor dialog box that allows the user to modify the line and marker attributes (see Curve, Line & Marker Type Editors for a detailed explanation of the parameters for line and markers).
Note that the selected curves set can still be modified after the dialog box is opened. The line and markers style is applied to the curves that are selected at the moment the Apply button is pressed.


Set Thicker/Thinner

The Set Thicker/Set Thinner items increases or reduces the thickness of the line.


Copy/Paste/Merge Curves

The Copy/Paste items allows the comparisons between computed results by selecting Copy in a first Cartesian plot and then Paste in a second Cartesian plot.
When plotting a curve on multiple successive surfaces, the resulting plot will contain several curves (one per surface), while the user is frequently interested into viewing these curves as a single one. The Merge item appears when multiple curves are selected in the Cartesian plot. It merges all the selected curves in an automatic way.


Rename Curves

The menu Rename, as shown in FIGURE 29, gives the possibility to rename the selected curve by entering the name in the New Name area and pressing the Apply button.


FIGURE 29 Rename dialog box


Delete Curves

The Delete item deletes the selected curves.
Note that when the curves are deleted in a Cartesian plot, the representations of the curve in the original 2D/3D view is also deleted. But, when a curve is deleted in a 2D/3D view, it is not removed from the Cartesian plot view.


Curve Type to Whole Section

The Curve Type to whole section item controls the type of all the curves created at the same time as the selected curve. For example, when creating a plot along a section generating several curves in the Cartesian view, all curves can be adapted at the same time just after selecting one of them.


FIGURE 30 Illustration of "Curve Type to whole section"


Limited Section

The Limited Section item allows the user to restrict the plot between the two selected points instead of, by default, a complete line on whole domain passing through the two selected points.


FIGURE 31 Illustration of "Limited Section" Curve Type


Fit Curve Range

The Fit Curve Range item scales the axis according to the range of the selected curve. This option is useful when the Cartesian plot includes curves heavily out of range.


FIGURE 32 Illustration of "Fit Curve Range"


Reverse

The Reverse item reverses the orientation of the selected curve.


Regression/Interpolation/Extrapolation Curve

The Regression Curve, Interpolation Curve and Extrapolation Curve items allow the user to create a regression, an interpolation or an extrapolation curve respectively.
The Regression Curve item creates a regression curve after defining the type of regression (Regression Type) and pressing the Apply button. In addition the formula is appearing in the dialog box and can be saved in a file after selecting the Save button.


FIGURE 33 Regression curve dialog box
The Interpolation Curve item creates a cubic spline interpolation curve after defining the number of points (Num of Points) and pressing the Apply button. For curves that are already smooth, the interpolation curve is almost superimposed on the original selected curve. If the curve is not smooth, it creates a smooth curve by fitting cubic splines to the points of the original curve.


FIGURE 34 Interpolation curve dialog box
The Extrapolation Curve item creates an extrapolation curve by extrapolating either to the left or to the right side the original selected regression curve (Towards Left / Towards Right option). When respectively the option Towards Left or Towards Right is selected, the Left Extent or Right Extent abscissa and the Number of Points at which the value of extrapolation curve will be plotted are specified as inputs.


FIGURE 35 Extrapolation curve dialog box


Discrete Fourier Transform

The Discrete Fourier Transform item plots the Fourier transformation (amplitude of the scalar quantity vs frequency) of the plotted scalar quantity function of time.


FIGURE 36 Illustration of "Discrete Fourier Transform"


Add to Legend

The Add to legend item adds a legend in the Cartesian plot if not existing and adds the selected curve name to the legend. More details available in Manage Legend in Cartesian Plot to manage the legend.


Add to Right Y Axis

The Add to Left/Right Y Axis item controls to which Y axis the selected curve will belong.


Toggle Orientation Arrow

The Toggle Orientation Arrow item plots the orientation on the curve representation in the original 2D/3D view of the selected curve in the Cartesian plot. An arrow will appear on the curve representation in the 2D/3D view.


View/Edit Coordinates

The View / Edit Coordinates item allows the user to edit the curve points coordinates. The coordinates can be modified in the table and visualized in the Cartesian plot view by pressing the Apply button.


FIGURE 37 View/Edit curve dialog box


Get Y Value

The Get Y Value item retrieves the ordinate value by entering the corresponding abscissa value in the area and pressing the Apply button.


FIGURE 38 Get Y value dialog box


Export to File

The Export to File item saves selected curves. More details available in Export Plot Curve(s) in File.

Commands Related to Text Manipulation

string InsertText(float px, float py, float -, string text)

Associated menu item: Update / Insert Text.
Operation (Insert Text): inserts decoration text at position (px, py), (-1,-1) is the lower left corner of the active view and (1,1) is its upper right corner. Returns the reference name of the text string.

string InsertText2(string name, float px, float py, float -, string text)

Associated menu item: Update / Insert Text.
Operation (Insert Text): inserts decoration text having a specified name at position (px, py), (-1,-1) is the lower left corner of the active view and (1,1) is its upper right corner. Returns the reference name of the text string. The text name is used to further reference to the decoration text for type attributes handling. The name is a unique identification key, if a text exists already with the provided name, it is modified (instead of inserting a new text).

SetTextFontName(string name, string fontName)

Operation (Update Texts): sets the font of the text with the specified name. The valid font names are Arial, Times, Roman, Sansserif, TypeWriter, Stroked, NewField, Enfield, Brooktondale and Kuma.

SetTextFontSize(string name, int size)

Operation (Update Texts): sets the font size of the text with the specified name. 

SetTextColor(string name, float h, float s, float v)

Operation (Update Texts): sets the color of the text with the specified name. The color is provided in its hue, saturation and value decomposition (Description of Argument List for Some Standard Features for further reference).

SetTextAlignement(string name, int h, int v)

Operation (Update Texts): sets the horizontal and vertical alignment of the text with specified name. The alignment is the position of the text with respect to the position point. The h argument is interpreted as follows: h=-1 for a text placed at the right of the position point, h=1 for a text placed at the left of the position point, h=0 for a text centered around the point position. The v argument is interpreted as follows: v=-1 for a text below the position point, v=1 for a text above the position point and v=0 for a text centered vertically on the position point.

SetTextLineAlignement(string name, int l)

Operation (Update Texts): sets the text justification. This has only a sense for multiple lines text. The parameter l is interpreted as follows: l=0 for centered lines, l=1 for lines aligned on their left side and l=2 for lines aligned on their right side.

SetTextLineSpacing(string name, int s)

Operation (Update Texts): sets the text line spacing (used only for multi-line texts). A value s=0 is for normal line spacing, s=1 for one and a half spacing and s=2 is for double line spacing.

SetTextFrameVisibility(string name, int v)

Operation (Update Texts): sets visible (v=1) or hides (v=0) of the enclosing rectangular box around the specified text.

SetTextPosition(string name, float x, float y)

Operation: sets the text position within the view: x=-1 is the left side, x=1 is the right side, y=-1 is the bottom side and y=1 is the upper side.

DeleteText(string name)

Operation (Delete Texts): deletes the text having the specified name.

DeleteTextAll(), DeleteTextLast()

Associated menu items: Update / Delete / Text Last and Text All.
Operation (Delete Texts): deletes all or last inserted decoration text in the active view.
The following commands are maintained for backward compatibility. However, their use is strongly discouraged as it does not cover all the functionality.

TextActivate(string name), TextDeActivate()

Associated menu item: Text selection / de-selection by clicking with the left mouse button
Operation: selects or de-selects text item with reference name given by 'name'.
Exceptions: will raise an Name Error if the name is unknown.

TextModify(string text, float px, float py, float -, TextType t)

Associated menu items: text updates through Text Editor dialog box.
Operation (Update Texts): sets the currently selected text attributes: text is its content, (px, py) its position (see the InsertText() command) and its text type is set to 't'.
Exceptions: will raise an Attribute Error if no text is currently selected.

TurboWizard Module

The TurboWizard module enables an automatic post-processing of FINE™/Turbo or FINE™/Open turbomachinery solution through the use of two tools:

the averaging of variables on meridional (RTHZ) stations;
the sampling of variables on blades at specific span heights.

The module TurboWizard can be reached in the Macros tab when loading a FINE™/Turbo or FINE™/Open turbomachinery solution.



FIGURE 18 TurboWizard plugin
The user can still open his own module  on top of the pre-loaded TurboWizard module if needed. The module will appear in the list as well.
The TurboWizard module is available for steady, harmonic and for a time step of an unsteady solution.
The TurboWizard module is not available in batch mode.

The TurboWizard module does not allow:

 comparison of averages on stations leading to performance coefficients.
comparison between turbomachinery solutions.


The TurboWizard module is a 4 steps wizard described subsequently further:

step 1: the configuration file definition;
step 2: the inputs definition for the post-processing tool dedicated to meridional (RTHZ) station averages;
step 3: the inputs definition for the post-processing tool dedicated to the blade profiles;
step 4: the display of the post-processing output pictures.

Update Grid Wireframe Representation
The line type of the grid wireframe representations can be modified as follows:

Check that the surfaces representations can be selected interactively. The Render/Selectable checkbutton, also displayed as the  button in the Representations/Grid subpanel must be enabled.
Select the grid wireframe to be modified: click with the left mouse button on a wireframe, highlighting markers are inserted and the name of the surface is indicated in the message area. 
If several representations are to be updated at the same time, select the other boundary representations by click with the left mouse button with the <Ctrl> key pressed.
Press the right mouse button, a pop up menu appears.





Select the Grid Line Type... item, a Line Type Editor dialog box is raised (see Curve, Line & Marker Type Editors for a description of the parameters appearing in this dialog box). 
Modify the parameters in the dialog box and press Apply to validate the new parameters.

The Line Type Editor may also be opened by selecting the Line Type Editor... item in the Update menu.

Update Colormap Representation
Smooth & Strip Maps

By default, the colormap is represented with a strip and a smooth map. The colormap can also be represented with only a smooth or a strip map. 
To change the represented mapping, select the colormap by clicking on it with the left mouse button, highlighting markers are displayed.



In the above popup menu raised by pressing the right mouse button:

Select Smooth Only to have only a smooth colormap represented.
Select Strip Only to have only a strip colormap represented.
Select Smooth and Strip to have both smooth and strip map represented.

Depending on the current representation, two of these three items are present.


Reverse Colors

When right-clicking on the colormap, Select Reverse Colors in the popup menu will switch the top and bottom colors.


Change Colormap Position & Size

By default, the colormap is represented at the extreme right of the view. CFView™ provides two different ways of changing the location of the colormap. The default location of the colormap can be modified in the menu Preferences / Colormap type.



To perform a location change:

Select the colormap by clicking on it with the left mouse button, highlighting markers are appearing.
In the above popup menu raised by pressing the right mouse button: select the item Move or Resize to start an interactive move or resize operation

To resize the colormap:

move the cursor on one of the corner markers, the cursor is changed into a resizing symbol.
press, drag and release the marker to the desired position.

To move the colormap:

move the cursor inside the colormap, the cursor is changed into a moving symbol.
press, drag and release the move the colormap to the desired position.

To leave the move or resize mode:
click with the left or the right mouse button or press the <Esc> key
Select the item Define Location to reposition the colormap:

select the location of the colormap (right, left, top or bottom) by clicking at the edge 	 of the view where colormap needs to be placed. When the colormap moves, the name of the selected quantity, the orientation of the number and the position of the NUMECA logo change as well.



Update Axis Graduations & Label

Ticks & Numbers



FIGURE 50 Axis ticks and labels definition dialog box
A specific dialog box exists for the user to update the ticks and the numbers style. In order to open this dialog box, select the colormap, then, in the popup menu which is raised by pressing the right mouse button, select the item Ticks & Numbers.... The default number type and format can be modified in the menu Preferences / Colormap type.
The dialog box contains several parts:

The numbers orientation buttons: allow the text orientation between horizontal, vertical or at 45 degrees.
The numbers text type part allows the user to choose the font name, size and color for the axis numbers.

The Ticks entry allows the user to choose the number of graduations displayed on the axis. Note that CFView™ is rounding automatically the graduations interval in order to display values with as few significant numbers as possible. As an example, in order to decrease the number of graduations, it may be necessary to decrease that number by several units: starting from a default value of 10 ticks, if the value is set to 9, no change will occur. If the value is set to 5, the number of ticks will be decreased in such a way that only one graduation over two is kept. 
The Numbers distance entry enlarges or shrinks the spacing between the axis and the graduation numbers.
The Double Format allows the user to change the Number format to exponential and set the precision of the number.



Colormap Label

In order to modify the axis label (legend), it should be selected by clicking on it with the left mouse button. Red markers are displayed around it to indicate the selected element. 
When selected, an insertion cursor is activated and the colormap label text may be modified in the following way:

The text is inserted at the cursor position. Initially, this cursor is positioned on the first character.
The left and right arrow key to move the insertion cursor.
The <Backspace> keysuppresses the character on the left side of the insertion cursor.
When the axis label is selected, a popup menu is raised by pressing the right mouse button. This menu contains the following elements:
Select Larger font or Smaller font to enlarge or shrink the label text.
Select Text Type... in order to open a Text Type Editor dialog box in which the label font can be modified (see Text Type Editor for a detailed description of the text type attributes).

The default label type can be modified in the menu Preferences / Colormap type.




Colors Control

The menu Colors Control opens a dialog box to set color type and the number of stripes.
The coloring of the representations may be done using a Color (from blue to red), a Grayscale mapping (from black to white), a B&W (cycling several times from black to white), a Matlab Style or a User defined style. By default, the colored mapping is used. This color selection can also use the menu bar:

To select a grayscale mapping, select Update/Colormap/Reset Grayscale.
To select a black and white mapping, select Update/Colormap/Reset B&W.
To restore a standard color mapping, select Update/Colormap/Reset Color.


To select a Matlab style, select one of the colormaps under Update/Colormap/Matlab Style. Nine colormaps have been added in Matlab Style. The name of the new colormaps are "jet", "cool", "hot", "summer", "winter", "spring", "bone", "copper", "pink". The colors are inspired from Matlab.


FIGURE 51 Available Matlab style
The option User defined allows the user to set customized colors. When it is selected, the frame Colors Editor is activated. The user can change the bottom or top colors by clicking on the small rectangles below the colormap, then choosing a color and clicking on the button Update Colormap to update the colormap. The Apply button updates the colour format in graphical area.
The user can also change intermediate colors in the colormap. To do this, the user must right-click on a color in the colormap. A small rectangle appears below that color. The user can select this rectangle (by left-clicking on it) to define the color of this rectangle. The intermediate rectangles can be removed by right-clicking on it. There can be at most 4 intermediate rectangles.
The color mapping is shared among all the representation of a quantity in all the views. When changing the color mapping, the colormap and all the colored representations are modified accordingly.

The Number of stripes is used to change the number of stripes in the colormap. The number of stripes cannot be modified if the Matlab Style is selected.
The default color type and the default number of stripes can be modified in the menu Preferences / Colormap type.

Commands Related to Surface Rendering
These commands apply to the active surfaces of the active view. No action is performed if no view is active.

RenderHidden(), RenderUniform(), RenderFlat(), RenderGouraud(), RenderPhong(), RenderNone()

Associated menu items: Render / and Render / Shading.
Operation (View Surfaces): applies specified rendering option (either hidden line removal, uniform shading, etc...) to all active surfaces in the active view.

RenderToggleMarker(), RenderToggleEdge(), RenderToggleFace()

Associated menu item: Render / Visibility.
Operation: toggles visibility status of the grid nodes (markers), edges, or faces.

RenderToggleMarkerLight(), RenderToggleEdgeLight(), RenderToggleFaceLight()

Associated menu item: Render / Light.
Operation: toggles lighting status of the grid nodes (markers), edges or faces.

UpdateMaterial(Color diffuse, Color specular, float gloss, Color transmission, float specularAmount, bool hasEnvironementMapping, string reflectionMap, float reflectionAmount)

Associated menu item: Update / Surface Material....
Operation: sets the reflection properties of all active solid surfaces.
diffuse: the color of the material in HSV format. Default is (210.857,0.25,0.54902).
specular: the color of the specular highlight of the material. Default is white color (0,0,1).
gloss: the extend of the specular highlight of the material. Range: [1,30]. Default is 5.
transmission: the color used for transparent object. The r,g,b values should be the same. default is black (0, 0, 0).
specularAmount: the specular amount of the surface. Range [0,1]. Default is 1.0.
hasEnvironmentMapping: 1 if the surface has environment mapping, 0 otherwise. Default is 0 (no environment mapping)
reflectionMap: the name of the environment map. Default is "metal-polished". The list of available environment maps is:
metal - polished, metal - steel, metal - chrome, metal - alu, mirror - sky, mirror - mountain, mirror - trees, mirror - hall, shading - gradient, shading - tone, shading - anisotropic.
reflectionAmount: the amount of reflection. Range[0,1]. Default is 0.85.

DisplayShadow(bool itDisplayShadow) 

Associated menu item: View / Parameter / Display shadow
Operation: displays or hides the shadow under the geometry (ItDisplayShadow = 0 : hides shadow, itDisplayShadow = 1 : shows shadow)

UpdateLight( float positionX, float positionY, float positionZ, float directionX, float directionY, float directionZ, bool itIsLocalLight, float lightIntensity)

Operation: changes the parameters of the light of the active view.
positionX, positionY, positionZ: position of the point light in camera space. The length of the vector position gives the relative distance r to the center of rotation. A bounding box enclosing the scene is computed. The extent of the bounding box is b. The real distance of the point to the center of rotation is given by the formula 1.5 * b * r.
directionX, directionY, directionZ: normalized vector representing the direction of a directional light
itIsLocalLight: 0 = directional light; 1 = omni light
lightIntensity: represents the intensity of the light. The range is [0,1] and the default is 1.0. Corresponds to the slide "light intensity" divided by 100.
Additional note:
- With directional light, only the direction is taken into account (not the position).
- With omni light, only the position is taken into account (not the direction).

SetOpacity( float opacityValue)

Operation: sets the opacityValue to all the active surfaces and to all the active color contours.
opacityValue: represents the opacity of the surface. Range:[ 0,1] (0: completely transparent, 1: completely opaque)

DeleteSolid()

Associated menu item: Update / Delete / Solid.
Operation: deletes surface rendering on all active surfaces.

Cartesian Plot Function of Time/ Clocking Position
After loading an unsteady solution with the partial selection loader (File/Open Project Selection... menu), Cartesian plots of static quantities can be plotted with the menu Representation/Cartesian Plot/Scalar vs Time or Scalar vs Clocking Position.


The menu opens a dialog box which allows the user to define the extraction point in Cartesian coordinates. By activating Attach to Mesh option, the point will have the same rotation speed as the block/ group it belongs to. To plot the selected scalar quantity at the extraction point with time evolving or clocking position, hit the Apply button follows by the play button ().


FIGURE 11 Cartesian plot function of time

Hidden Lines Rendering
To show the active surfaces with hidden lines removed, choose Hidden line from the Render or select the  button from the Representations/Grid subpanel. This item acts as a toggle: select it a second time or select Render/Render Off to turn off hidden lines rendering.
When Hidden line rendering is activated, flat and smooth shading are not available (see Flat Shading).
The keyboard shortcut for Hidden line representation is <h>.

Command Line Arguments
CFView™ may be started with one or several command line arguments. The set of valid command line arguments is described here. Unless specified differently, the command line arguments may be used on  Linux and Windows platforms. 
The command line arguments allow to override some system defaults (used graphics acceleration driver, display device name, doublebuffering and updateabort options) or to specify files to be loaded immediately (project, macro, defaults settings, macro module).
The supported command line arguments are:

-help: prints a summary of the command line arguments.
-version: prints the CFView™ version number.
-backward <version number>: necessary when executing a macro file created with an earlier version than CFView™ v8.
-date: prints the CFView™ version date.
-defaults <defaults file name>: starts CFView™ with the default settings from the specified file (see Edit, Save & Restore Defaults for a complete description of defaults settings).
-geometry <widthxheight[+|-]x[+|-]y>: control the size and position of GUI opening. [x|y] means x or y here. Numbers width and height specify sizes of the window in pixels, x and y – position in pixels. If x is preceded by +, it specifies the number of pixels between the left edge of the screen and the left edge of window border; if preceded by - then x specifies the number of pixels between the right edge of the screen and the right edge of window border. If y is preceded by + then it specifies the number of pixels between the top of the screen and the top of window border; if y is preceded by - then it specifies the number of pixels between the bottom of window border and the bottom of the screen.
-project <project file name>: starts CFView™ and opens immediately the specified project.
-project_ask_partial_load <project file name>: starts CFView™ and opens the project (.cgns, .cfv, etc.) with the partial loader.
-nob2b on: starts CFView™ and allows to avoid the hub and shroud projections process when loading a turbomachinery solution file.
-macro <macro script file name>: starts CFView™ and executes the specified macro script.
-macromodule <macro module file name>: starts CFView™ and loads a specified macro module (see Load Macro Module for a description of the macro module feature).
-display <display name>: starts CFView™ on the specified display device, overwriting the DISPLAY environment variable (this feature is available only on Linux platforms).
-doublebuffering (or -doublebuffering on): activates double buffering, overwriting the NI_DOUBLEBUFFERING environment variable if existing (see Customizing Graphics Options). The argument -doublebuffering off disables the double buffering feature, overwriting the environment variable.
-updateabort (or -updateabort on): activates update aborting, overwriting the UPDATEABORT environment variable if existing (see Customizing Graphics Options). The argument -updateabort off disables the update abort feature, overwriting the environment variable.
-driver <driver name>: starts CFView™ with the specified graphics accelerator (see for information on graphics accelerators Graphics Drivers).
-reversevideo (or -reversevideo on) starts CFView™ with black background color, overwriting the REVERSEVIDEO environment variable if existing (See Other User Preferences). The argument -reversevideo off starts CFView™ with a white background color (the default).
-facedisplacement <n>: starts CFView™ with the specified face displacement (See Face Displacement).
-loaddata all (-loaddata none, -loaddata ask). With the -loaddata all option (the default), when opening a project the quantities fields are loaded in the computed memory. With the -loaddata none, no quantity are loaded. And with the -loaddata ask argument, a specific dialog box is raised where the user choose the field variables to be loaded. See Quantities Load on Demand for a description of the data management facility and of the associated dialog box
-batch: starts CFView™ without graphical user interface. This mode can be used in combination with the -macro command line option in order to perform the execution of a macro script without user interaction. 3 options are available:

-batch: the graphic area is resized according to the size of the screen so that it behaves as without the -batch argument.
-batch backward: keeps the behavior of CFView™ before v9.0 for ensuring backward. In this mode, the size of the graphic area is fixed: 29cmx12.19cm on Linux and 22.5cmx12.19cm on Windows.
-batch size: force the size of the graphic area. for example, -batch 1500x1000 will set the graphic area to 1500 pixels width and 1000 pixels height. This allows to keep a batch mode independent of the screen size.



-turbomode (or -turbomode on): starts CFView™ with the turbomachinery analysis mode enabled (see TurboMachinery Mode), overwriting the TURBOMODE environment variable if existing. The argument "-turbomode off" starts CFView™ in the standard mode, overwriting the environment variable.
-hoops_relinquish_memory off: this option disables the garbage collection feature in the HOOPS graphics library that is activated when CFView™ is idle during a long period of time.
-np <number of OMP threads>: starts the CFView™ in parallel with the number of threads specified.
-openmp <on/off/#np>: starts CFView™ with the options specified.

if openmp="on", the number of threads is set to the maximum available.
if openmp="off", the number of threads is set to 1.
if openmp="#np", the openmp argument overwrites the np argument.
(see Commands Related to Defaults Settings to set dynamically the number of OMP threads from the macro)


It can be inefficient to set the number of threads to the maximum available knowing that some other processes are running on the system. The reason is that the thread run on the same core will be slowed down and the other ones will have to wait this straggler.
The parallel post-processing is only applied when mesh loading, cut plane and iso-surface creation, new quantity and thermodynamic derived quantity computation, RTZ/STM surface creation and quantity computed by differential operators (grad, div, rot).

Keyboard & Viewing Control Area

This area contains a set of information on the current state of CFView™.


FIGURE 2 Keyboard & Viewing Area
The viewing buttons are described in Viewing Buttons and the three other regions are outlined below.
Keyboard Input Area

The multipurpose keyboard input area is present in the layout of CFView™ to allow input from the keyboard. A prompt indicating the type of input is displayed on the left side of the string input window, e.g. 'enter isosurface value'. To perform a string input operation, move the cursor in the limits of this area, click the left mouse button, enter the value(s) separated by a blank and press <Enter> to execute the action.
The mouse buttons have the following function in this area:

left button (<1>):
Click and release to select an insertion point in the string editor.
Click and hold to initiate a rate scrolling of text within the horizontal box, then move the cursor to the left or to the right for scrolling. When the desired position is reached, release the button.
right button (<3>):
After left-click on the graphics area, the right-click enables the user to leave the menu.



Quantity Range Monitor

The quantity range monitor displays the current range of the active quantity in the active view. By default, this is the full range of the quantity determined from the input data. This range can be smaller or larger than the full range (see Control Representations Range for the quantity range control).


Information Output Area

In this area, the quantitative information are displayed. Three kind of values are displayed:

The results obtained from surface, volume or curve integrals (see Surface Integrals to Curve Integrals). 
When pressing the left mouse button in the graphics area while no graphics object is selected and when no interactive mode is active, the cursor position is displayed.
This area also displays a progress bar during some computationally intensive operations.

Import Validation Data
To load validation data, select File/Load Validation Data.... A file chooser appears and, by default, filters the files with a '.dat' extension. To select a file with a different extension select All Files in the List Files of Type section of the file chooser (see File Chooser for more information on the file chooser). Select the file containing the validation data. Once imported successfully, the validation data are available through the Quantity/Validation Data menu. (see Represent Validation Data for detailed information on validation data representation).
The validation data must be provided in ASCII file format describing the data set along one curve in the Cartesian coordinates space. The file has the following format:

a header line which contains:

the number of geometrical coordinates. It is usually 3, but it may be 2 or 1. If this number is 2, the Z coordinate is assumed to be null. If this number is 1, both Z and Y coordinates are assumed to be null.
followed by the number of quantities and the number of curve points,
followed by the names of the quantities surrounded by '|' characters.



the content lines where each line contains:

the X, Y and Z coordinates of one point,
followed by the quantity values.


This format is compatible with the curve plot export facility (see Export Plot Curve(s) in File). 
Example:

3 1 65 |magnitude V|
1.200000e-001 6.007622e-002 0.000000e+000 9.515225e-002
1.180000e-001 6.007622e-002 0.000000e+000 8.875245e-002
...
6.499933e-002 6.007622e-002 0.000000e+000 2.244284e-005
6.499832e-002 6.007622e-002 0.000000e+000 0.000000e+000

Python Language

The core of the macro language of CFView™ is called Python. It is a very compact, extensible, elegant and extremely powerful interpreted object-oriented language. The description of Python is provided in a special manual (the "Python Tutorial" is available on the Python web site http://www.python.org). In order to get a good introduction to Python read Chapter 3, Chapter 4 and Chapter 5 of the Python User Manual.
Python has been extended with commands that allow to perform visualization operations. These commands are described in Python Language Overview. Each command is presented in terms of:

arguments,
return value,
associated menu item,
actual operation performed,
exceptions (errors) it will raise.

As an example, see the command string FileOpenProject(string filename):

This command takes 1 argument of type string (strings in Python are single or doubled quoted).
The argument should be the complete name of the CFView™ project file to load.
The command returns the name of the view that is created during the command execution. 
Its associated menu item is File/Open Project: the command performs the same operation as the selection of this menu item.
The actual operation performed is to open the project in a new view (the view appears in full screen mode).
If the project cannot be loaded the command will raise an IOError exception. By default, this error message will be indicated in a dialog box that pops up. If CFView™ was started in batch mode, the error message is written in the shell terminal from which CFView™ was launched.

To load the project '/usr/people/me/case.cfv' type: FileOpenProject('/usr/people/me/case.cfv')

Represent Validation Data
The validation data functionality allows the user to make a plot of a validation data set and to compare it to the computational data. Refer to Import Validation Data for further details on how to import validation data. To represent validation data in a Cartesian plot:

Load validation data from the File/Load Validation Data... menu.
The format of the validation data file is presented in Import Validation Data.
Choose Validation Data from the Quantity menu. A submenu appears: 


It contains all the validation quantities loaded in the project.
Select a validation quantity: another submenu appears. It contains one or more data curve names of the selected validation quantity. Choose one of them. 
If the selected quantity also exists as a field quantity (i.e. is listed in the Quantity/Field Data/Basic Quantities menu), a confirm dialog box is popped up with a question "Comparison?". Click the Yes button to load the respective computation data from the field quantity list to be compared with the validation data. The No button is used to load the experimental data only.

Automatically, a new view is opened that contains the plot or, if the plot view is existing, the curve is added to the plot view related to that quantity. The line and markers default style for the validation data curve may be modified by using the Default Validation Data Curve Type Editor (Preferences/Validation curve type...). 
The line and markers default styles for the interpolated data curve may be modified using the Default Comparison Curve Type Editor (Preferences/Comparison curve type...).

Color Contours

With color contours, the active surfaces are painted with a gradation of colors according to the selected data values. CFView™ provides six coloring options: flat, smooth, strip and these 3 options with or without thresholding. Thresholding restricts the coloring of the quantity on the active surface to a restricted range of the quantity values.
All colorings are restricted to the current range. See Colormap & Representations Range for more details on the quantity range.
Flat

Choose Flat from the Representation/Color Contour menu or click on the button  in the Representations/Contours & Iso Values subpanel. In this mode, each cell is assigned to a unique color that corresponds to the average value of the quantity in that cell.
The keyboard shortcut for Flat color contour is <Shift> + <q>.


Smooth

Choose Smooth from the Representation/Color Contour menu or click on the button  in the Representations/Contours & Iso Values subpanel. In this mode, the color is interpolated inside each cell from the values of the quantity at the cell vertices.
The keyboard shortcut for Smooth color contour is <c>.


Strip

Choose Strip from the Representation/Color Contour menu or click on the button  in the Representations/Contours & Iso Values subpanel. In this mode, the color interpolated on each cell contour from the values of the quantity at the surface vertices is kept constant over small sub-ranges.
The keyboard shortcut for Strip color contour is 
.


Thresholding (Flat, Smooth and Strip)

This option provides a convenient way to discard uninteresting parts of the color contours (previous command) by allowing the introduction of minimum and maximum threshold values. All the surface regions in which the quantity value does not fit into the threshold values are discarded. To achieve this:

Choose any thresholded coloring from the Representation/Color Contour/...Threshold menu or click on one of the buttons  in the Representations/Contours & Iso Values subpanel. The message "min, max (min, max)" appears in the keyboard input area.
Providing the threshold range can be done in different ways:

	with the mouse: move the mouse into the colormap and click at a level which represents the first limit. Drag the mouse along the colormap up to a suitable value (a line appears between the selected point and the cursor). Release the mouse button to fix this second limit.
with keyboard input: click in the string input box and enter either 2 or 4 values separated by a blank:

if two values are provided, they are forming a single range. The first value must be smaller than the second one. 
If four values are provided, the first pair is forming a first range and the last pair is forming a second one. Within each pair, the first value must be smaller than the second one.



	By default, the regions with values outside the specified ranges are set to transparent. The colors, to be used outside of the threshold range, can be specified in the Range Colors Type Editor. This editor can be accessed through the Preferences/Range colors type… menu. As it can be seen in FIGURE 15, the editor contains 4 options:

Visible:	When activated, the colors specified in the editor will be used, if not they will be set to transparent.
Below Range:	The specified color will be used for all regions in which the quantity value is lower than the specified minimum threshold value.
Between Ranges:	If four values are provided for the threshold range, the specified color will be used for all regions in which the quantity value lies between the specified maximum and minimum threshold values of the first and second range respectively.
Above Range:	The specified color will be used for all regions in which the quantity value is higher than the specified maximum threshold value.



FIGURE 15 Range Colors Type Editor
The settings in the Range Colors Type Editor are only taken into account when a project is opened in CFView™.
The region of the surface in which the quantity lies between the limits is represented. This command remains active until another quantity representation requiring interactive input is selected. An example of a thresholded smooth color contour is given in FIGURE 16.


FIGURE 16 Thresholded color contour of the static pressure


Color Contour Transparency

An opacity slider has been added to the quick panel. When the user change this slider, the opacity value is given to:

all the active surfaces
all the active color contours.



FIGURE 17 Semi-transparent color contour on a cutting plane


Update Color Contour

To modify one or several colored contours represented on the screen,

Click on the first color contour to modify, then pressing the <Ctrl> key, click on the other color contour representations to modify.
Press the right mouse button, a pop up menu appears. 




It contains 6 items for smooth and strip contour (for flat contours, only the Delete item is available):

Select Filled to let the color contour fill the surfaces completely.
Select Wireframe to get colored surface wireframes.
Select Markers Only to get only the markers colored.
Select Line Type... to edit the type of line used for the wireframe representation. Note that the line color parameter does not have any effect in this context (see Curve, Line & Marker Type Editors for an explanation of the other parameters).
Select Marker Type... to edit the type of markers used for the "markers only" representations. Note that the color parameter does not have any effect in this context (see Marker Type Editor for an explanation of the marker parameters)
Select Delete to suppress the contour representations from the screen.



FIGURE 18 Color contour shown as markers only, mesh wireframe and filled. 


Delete Color Contours

CFView™ provides different methods to erase color contour representations:

By interactive selection: as explained in Update Color Contour, when color contour representations are selected, the associated popup menu contains a Delete item. By selecting this item, the currently selected contours are suppressed from the screen.
By selecting Update/Delete/Color Contour: all the color contour associated to the active quantity and that are drawn on one of the active surfaces are erased.
By selecting Update/Delete/All, all the representations (not only the color contours) on all surfaces are deleted.

Apply Differential Operators: Gradient, Divergence or Curl
To calculate the gradient, divergence or curl of a field quantity, select Quantity/Field Data/Gradient, Divergence or Curl. See FIGURE 2


FIGURE 2 Differential Operators
A menu containing a list of respectively scalar and vector operable fields appears.
To launch the operator, left-click in the menu on the field on which the differential operator has to be applied.
The computation of the gradient, divergence and curl may also be selected from the Quantities subpanel:

Click on the quantity for which the computation should be made, it is highlighted in blue.
Press the right mouse button, the popup menu for scalar quantity or vector quantity appears. See FIGURE 2.



FIGURE 3 Popup menus for scalar and vector quantities

Select the Gradient, Divergence or Curl item.

Once the computation is done, the divergence, gradient, or curl field will be added to the field quantities list, respectively as: Div, Grad, or Curl followed by the name of the operand field in parentheses.
The computation method is based on the Gauss formulas: average values for Gradient, Divergence and Curl are computed in each cell of the mesh. Then, values at the vertices are obtained as weighted means of the neighboring average cell values. Note that this method is less accurate along the boundaries than inside the grid.

Open Blade to Blade View
A blade to blade view is a normal view where all the representations are drawn in the coordinate space formed by the span position (S), the azimuthal position (T for Theta) and the stream position (M). By default, the geometry is represented with the M coordinate axis horizontal and the T coordinate axis vertical.

The Preferences/Turbo Settings... menu offers the possibility to control the B2B view creation before loading the solution file within CFView™. By default, in the B2B view the M (curvilinear stream coordinate) is defined as in AutoGrid5™ (more details in TurboMachinery Mode).
To open such a view, select Open Blade to Blade from the Window menu. CFView™ prompts for an interactive definition of the view size and position. Once the position and size are provided, CFView™ computes if necessary the blade to blade coordinates for the geometry to represent.
A blade to blade view is a standard three-dimensional view in which all the representations of scalar fields described in Flow Quantities Visualization are available. For vector quantities, only the vector arrow representations are available, the vector line representation is not supported.
In blade to blade views, cutting planes at specific span height may be obtained from the Create Cutting Plane dialog box or from the Blade to blade Surface dialog box described in Visualization of Blade to Blade Surfaces.
The AutoGrid5™ zr effects are not allowed in the STM view.

Hub & Shroud Definition

In order to enable the computation of span and stream positions, the hub and shroud curves must be known by CFView™.
Starting from v8.4 of AutoGrid5™, the hub and shroud curves are saved in the CGNS file created by AutoGrid5™ and starting from v8.6, they are also copied in the CGNS file of FINE™/Turbo flow solver. By default when loading a FINE™/Turbo solution within CFView™, the hub and shroud curves definition will be read first in the CGNS file of the solver, then in the CGNS file of AutoGrid5™.
In case these two steps are not successful, it is strongly advised to open and save the mesh file in a recent version of AutoGrid5™ or to define the hub and shroud curves in a ASCII dat file. 
In case you want to compute the span and stream positions for only one row, please use the Partial Loader (see Partial Loader).
If necessary, the hub and shroud curves definition may be modified. The menu Geometry/Load hub and shroud curves... offers the possibility to load the hub and shroud curves definition to allow the computation of STM views (Window/Open Blade to Blade or File/Turbomachinery) and blade-to-blade cuts (Quick Access Pad/Surfaces/Blade to blade) in a structured or an unstructured project.
The file used to define the hub and shroud curves can be either: 

a CGNS file generated by AutoGrid5™ (starting v8.4.),
an ASCII dat file format with the format provided in FIGURE 1.



FIGURE 1 Define hub and shroud curves in ASCII dat file
When loading the hub and shroud definition from a CGNS file, if the geomTurbo file is not available, no conversion factor is provided for the cases where flow solver and AutoGrid5™ do not use the same geometry units. In this case, the script command SetAG5Conversion(float) has to be executed to introduce a conversion factor. 
When the project is including a non-axisymmetric hub or shroud, CFView™ can cope with few points below the hub and above the shroud but if there are too many, it will consider the block as part of a meridional effect. The workaround consists in importing an axisymmetric curve such as all the points are included between the hub and the shroud curves.

Message Area
The message area is located immediately below the graphics area. Three types of text messages are displayed on this line. Message types are easily identified by the background color:

Light yellow background: information messages. 
Black background: request messages. These messages are reminding the valid user interactions in the graphics area or in the keyboard input area (see Keyboard & Viewing Control Area).
Red background: warning messages. These are non fatal errors. However, the result of the requested operation may be altered.

Domain(s) Identification
The domain identification specifies the number of domains, the number of points for each domain, the Geometry file names, the Boundary Condition file names and the Quantity file names for field data and surface data.
The first string line identifies the number of domains. For example, for a mesh with two domains, the string input is:
2
Next input is repeated for each domain.
The second string line depends on the grid type (structured/unstructured).

For structured meshes, it specifies:

the repetition type. It can be any of the allowed repetition types. If not specified then the repetition type taken for the block is the project repetition type.
the number of nodes in the I, J and K directions. For example, for a domain of 60 nodes in the I direction, 70 nodes in the J direction and 50 nodes in the K direction, the string input is:
60 70 50


For 2D structured meshes, only the nodes in J directions and I have to be specified.

For unstructured meshes, it specifies the number of nodes and the number of cells.

After this line, you have to specify:

The Geometry file name (containing the node coordinates).
The Boundary Condition file name.
The Quantity file name of each field data and surface data.

The order of the quantity file names is the same as the field and surface data quantity names (refer to section "Mesh Identification" above).
The specification of the quantity file name of the surface data includes the identification of the domain boundaries and patches.
In the example below, surface data for the first domain are assigned to the second patch of the first boundary and for the second domain to the first patch of the second boundary. The boundary and patch concepts are explained in the section describing the generation of Boundary Condition file.
For this example the domain identification is as follows:
2
   60 70 50
                 extflow.d1.g
                 extflow.d1.bc
                 extflow.d1.s.1
                 extflow.d1.s.2
                 extflow.d1.s.3
                 extflow.d1.v.1
                 extflow.d1.v.2
         1 2   extflow.d1.sd.s.1
                 extflow.d1.sd.v.1
   40 70 50
                 extflow.d2.g
                 extflow.d2.bc
                 extflow.d2.s.1
                 extflow.d2.s.2
                 extflow.d2.s.3
                 extflow.d2.v.1
                 extflow.d2.v.2
         2 1   extflow.d2.sd.s.1
                 extflow.d2.sd.v.1
An input file without surface data can also be considered. In this case the number of surface data is set to zero and the lines containing the field quantity names and the file names are not present.

Commands to Obtain Informations on Data Set

[int, int, int] StructuredDomainSize(int i)

Operation: returns the number of points in the I, J and K directions for the domain i.
Exception: if i is out of the valid range (i.e. is lower than 0, equal to 0 or larger than the number of domains) the function returns three null values. If the value for i is not an integer, a Syntax Error exception is raised. 

string ProjectFile()

Operation: returns the file name with path and extension of the data set associated to the active view.
Exception: raises a RuntimeError if there is no active view. 

string GetProjectPath()

Operation: returns the folder of the project opened in the active view.

string GetProjectName()

Operation: returns the name of the project opened in the active view.

int SurfaceExist(string name)

Operation: returns 1 if a surface or a group of surfaces having the provided name is existing in the current project. Returns 0 otherwise.

int NumberOfDomains()

Operation: returns the number of domains of the loaded project when partial loader is used and does not load all the available domains. For instance, to get the value, use the following lines:nDom = NumberOfDomains ()print 'NumberofDomains=', nDom

int NumberOfDomainsInRunFile()

Operation: returns the number of domains of the active project.

int GetIndexInRunFile(int i)

Operation: returns the original index in the run file from the loaded domain index.

int NumberOfPoints(string name)

Associated item: Surfaces / Right-click on the selected surface
Operation: returns the number of points of the active surfaces.

int GetDomainIndexByName(string name)

Operation: returns the domain index for the domain called name. "0" is returned when domain index does not exist or is not loaded.

int GetDomainIndexBySurfaceName(string name)

Operation: returns the domain index of the input surface name. For structured case, if the partial loader has been used the domain index returned will be the initial block number of the block. I.e. if only block 3 is loaded it returns 3 instead of 1. 
Example:

domId=GetDomainIndexBySurfaceName('deck solid')

int GetDomainIndexByRegex(string name)

Operation: returns the domain index (or a list of indexes) based on regular expressions defined by name.

string GetDomainNameByIndex(int i)

Operation: returns the domain name for the domain index i (starting from 1). "Domain not found" is returned when domain name does not exist or is not loaded.

SurfaceLimitIndices(string name)

Operation: returns a list [i0,i1,i2,i3,i4,i5] which contains IJK information on the surface called name. The information are:
i0: I*min of the surface = Imin if J or K constant surface & Jmin if I constant surface
i1: I*max of the surface = Imax if J or K constant surface & Jmax if I constant surface
i2: J*min of the surface = Jmin if K constant surface & Kmin if I or J constant surface
i3: J*max of the surface = Jmax if K constant surface & Kmax if I or J constant surface
i4: 0, 1, 2 respectively if I, J or K constant surface
i5: constant indice of the surface

GetSclQntSurfaceList()

Operation: returns the list of scalar quantity names on surface.

GetVecQntSurfaceList()

Operation: returns the list of vector quantity names on surface.

GetSclQntDomainList()

Operation: returns the list of scalar quantity names in the field.

GetVecQntDomainList()

Operation: returns the list of vector quantity names in the field.

GetFluidType()

Operation: returns the fluid type of the computation.

ThermoTableCompute(string "TableName", float arg1, float arg2, int domainId) 

Operation: returns the value of a thermodynamic field according to the table name, arg1, arg2 and domainId. Arg1 and arg2 are two real numbers for the two thermodynamic field input values. domainId is the block number of the fluid domain.
Examples:

If the table is the 1D saturation table: Table name=PSA, arg1 is the pressure (real number), arg2 is the option (integer) that controls the returned value and domainId is the block number of the fluid domain:
1=D liquid; 2=D vapor; 3=H liquid; 4=H vapor; 5=S liquid; 6=S vapor; 7=E liquid; 8=E vapor
rl=ThermoTableCompute("PSA", 1e+5, 1, 3)
rl is D liquid at 100000 Pa in the domain 3.
If the table is a 2D table:
s = ThermoTableCompute("SHP", 2.73e+6, 187000, 2)
s is the entropy for the enthalpy= 2.73e+6 and pressure = 187000 Pa in the domain 2.
Warning: The RHS table does not return D but the ratio P/D.

float Distance(float p1_x, float p1_y, float p1_z, float p2_x, float p2_y, float p2_z)

Associated item: Tools / Distance
Operation: measure the distance between two points p1 and p2. It returns a list containing the distance between the two points and the values of dx, dy and dz.

Insert New Curve
If no element is selected in the Cartesian plot view, the popup menu raised by pressing the right mouse button contains the item Insert New Curve. It adds a new curve in the view by defining a formula (By Formula) or by loading a data file (By Data).


FIGURE 42 Insert new curve dialog box
When By Formula is selected, the lower and upper limits of the abscissa and the number of points can be controlled. Then the name and the equation of the curve is imposed by the user in respectively the Name and Definition section. Finally the Apply button is pressed to create the curve.
	The equation should always be written in terms of x (abscissa) and no other independent variable can be used for writing the equation.
When By Data is selected, a data file is selected after pressing the Import button. The data file should have a format similar to the validation curve data file: the data should be listed in either 4 columns (x, y, z, data) or 2 columns (x, data). After importing the data, the coordinates will be displayed and a name will have to be entered for the new curve. Finally the Apply button is pressed to create the curve.

Export Quantities Distribution
"dat" Format

To export the value of the active quantity on the active surfaces, select Export Active Surfaces... from the Geometry menu. A file chooser is opened to select the file in which the data is written. 
The created file has the following format:

For each surface:

the first line contains the name of the surface
the second line contains 3 numbers: the number of geometrical coordinates (3), the number of exported quantities (1) and the number of grid points
the following lines contain the geometrical coordinates of a point followed by the value of the active quantity on this grid point
if several surfaces are exported in a same file, they are separated by 2 empty lines.


Example:
Block_1.Kmin Mirror
3 1 9425 |Vxyz_X| |Vxyz_Y| |Vxyz_Z|
6.500100e-002 6.000000e-002 0.000000e+000 -1.457787e-006 -5.816685e-006 0.000000e+000
...
1.200000e-001 6.000000e-002 0.000000e+000 7.074288e-002 -3.901238e-002 0.000000e+000 
Block_2.Kmin Mirror
3 1 4225 |Vxyz_X| |Vxyz_Y| |Vxyz_Z|
1.200000e-001 0.000000e+000 0.000000e+000 1.168020e-001 7.446105e-004 0.000000e+000
...
2.900000e-001 1.200000e-001 0.000000e+000 1.159577e-001 9.697273e-004 0.000000e+000 


"cgns" Format

To export the value of the selected quantities on the active surfaces in CGNS format, select Export CGNS Active Surfaces... from the Geometry menu. The dialog box shown in FIGURE 59 appears.


FIGURE 59 CGNS Surface Saver dialog box
All the quantities in the project and computed by CFView™ are available for selection. By default, only the ones that have been loaded or computed are pre-selected. The user can add or remove any quantities to the selection. The user can also set the CGNS Base name.
When clicking on the button Apply, a file chooser is opened to select the file in which the data are written. If the project is unsteady, _t# is added before the .cgns extension, where # is the number of the time step. When animating, a new CGNS file is generated for each time step. 
When the computation is a harmonic computation, the harmonic data will be saved in the CGNS file. For each surface, there is a base "HarmonicData" which contains:

The list of the names of the harmonics in the group to which the surface belongs ("NamesFreqs")
The list of frequencies ("Frequencies")
The list of interblade phase angles ("InterbladePhaseAngle")
The list of spatial modes ("SpatialMode")
The rotation speed of the row to which the surface belongs ("RotationSpeed")

By default, the repetition settings will be written in the CGNS file. If the repetition settings can be found when opening a CGNS surface file, CFView™ will use these settings as the default repetition settings. If the repetition settings cannot be found when opening a CGNS surface file, no repetition will be proposed. In this case, the user can enter the repetition type and parameters through the menu Geometry / Repetition Settings.
The Save Scene option allows the user to save and retrieve the active scene into CFView™. Once the option is checked, the following features will be saved in the CGNS file:

Camera position;
Surface materials (color, grid, transparency, etc);
Solid rendering (gouraud, flat, etc);
Color contours;
Quantities' names, units and ranges;
Vectors;
Colormap properties (colors, ticks, title size, etc);
Repetitions;
Texts;
Time label;
Local values and vectors.

The features saved in the CGNS surface file can be retrieved once it is opened in CFView™.
All representations that are not explicitly mentioned in the list above will not be saved in the CGNS surface file and therefore will not be retrieved upon loading. For instances, streamlines, iso-lines, axis, Cartesian plots, fluid characteristics (derived quantities), etc.
The non conformal cells (with hanging nodes) are saved as conformal cells in the CGNS surface file. The edges joining the hanging nodes to cells corners are added.
No license is required to open these CGNS surface data into CFView™ once they are saved.


Acoustic Radiating Surface 

For harmonic computations in CFView™, the user can export an acoustic radiating surface to a .cgns file. This can be done by selecting Acoustic Radiating Surface... from the Geometry menu. The Acoustic Radiating Surface menu allows the user to:

 Define a cylinder in the meridional view.
Generate the mesh on the cylinder.
Compute harmonic data in the fixed reference frame on the cylindrical mesh.
Save the resulting CFD surface project into a surface cgns file that can be read by FINE™/Acoustics and used to compute the noise radiation to the far-field microphones.

If more than 20 harmonics are present in the solution, a warning message "Computation with more than 20 harmonics currently not supported for NLH post-processing" will be shown. In this case, the Geometry/Acoustic Radiating Surface and Representation/NLH menus are grayed out.
The Acoustic Radiating Surface dialog box is shown as follows. When opening the Acoustic Radiating Surface dialog box, a preview of the surface is shown in the 3D View. If the corresponding meridional view is also opened, the surface limits are shown in the 2D view.


The Acoustic Radiating Surface should enclose all solid boundaries, like nacelle, rotor/stator blades and non-uniform mean flow where non-linearity is remarkable.
The entries available in the dialog box are:
Geometry inputs:

Radius: the external radius of the cylinder.
Z min: the value of z at which the cylinder starts.
Z max: the value of z at which the cylinder ends.
R ( Z min ) : the minimum radius value at Z min
R ( Z max ) : the minimum radius value at Z max
The check button Triangulate Cylinder Bases allows to generate triangulated surfaces on cylinder bases, avoiding singularities at null radius and avoiding the generation of excessive number of small cells while the radius decreases.
The check button Generate 360 degrees allows to generate the surface mesh on the full 360 degree instead of one periodicity.
Relative Tol %: controls the minimum gap size at Rotor/Stator interfaces.  This parameter allows to control the distance between the end of a patch belonging to a group and the beginning of the patch belonging to the group of the other side of the RS interface. The gap is proportional to the z expand of the test case: delta_z=zMax-zMin. The user input is finally used with the following relation: gap=delta_z*Relative Tol*default tolerance factor. The default tolerance factor is currently set to 1e-4.

Frequencies inputs:

Max Frequency: The maximum frequency kept in the output file.
Max Fourier Coef: The change of reference frame is based on a spatial Fourier  transform. This entry allows to control the number of Fourier coefficients.

Outputs inputs:

The check button Write Module and Phase adds the Module and the Phase to the corresponding Real and Imaginary parts in the output file.
The check button Open Result makes CFView™ to open the resulting surface cgns output once generated. This is useful in the design stage while the output intends to be opened by FINE™/Acoustics.

Number of points

The number of points can be controlled in the following directions Axial, Azimuthal, Radial at Z min and Radial at Z max. Actually, most often, the user may control only the cell size according to the maximum frequency value. When activating the check button From Cell Size, the user only controls the cell size and the number of points in different directions that are computed accordingly the  corresponding entries.
By default, option From Cell Size provides a surface with good resolution .
When clicking on the Save button, a file chooser is opened with a default file that is beside the run file but a postfix "_ars" added to the project name. Only cgns extension is allowed.

Macro Language


This chapter describes the macro language of CFView™ and the available instruction set. The macro script is a very powerful feature that automates CFView™. 
'Macros scripts' are programs that are written using a macro language. They can be produced either by recording the actions performed during a visualization session or from scratch using a normal text editor. Macro scripts can be recorded, saved, loaded and executed in CFView™, using the items in the File / Macro menu (Use Macro Scripts).

View Concepts
The way the user looks at a certain scene is defined by 4 parameters controlling a virtual camera.

The view point represents the position of the camera.
The target point represents the point where the camera is pointing to.
The view up direction controls the direction the top of the camera should face.
The width and height control the span around the target to be visible.

In addition we can define:

The view normal direction going from camera target to camera position.
The target plane which is the plane passing through the target and normal to the views normal direction.



FIGURE 11 View Definition
Each viewing operation affects one, some or all the parameters of this camera. The parameters affected by each operation are specified at the end of each description.

Whenever a view is opened or a new surface is added to the active view, CFView™ automatically computes the box such that all the graphics objects fit inside.
Projection Mode
CFView™ provides three types of projection modes to display three-dimensional objects (View/Parameters):

Orthographic	:	they are typically used to represent the metric properties of an object and to show the exact shape of a side parallel to the plane of the screen.
Stretched	:	this mode is similar to orthographic, except that when the view is resized the observed object is scaled in the same way
Perspective	:	they give a more realistic representation of an object as seen from an observer at a specific position. This position, called the reference point, can be used to change the appearance of the graphics objects on the screen. The closer the point is, the more distorted the objects will appear. On the other hand, if the reference point is far from the objects, the projection will look like an orthogonal projection (Orthographic). CFView™ provides a convenient way to modify the position of this reference point by controlling its distance from the objects using the Continuous zooming () viewing button. Refer to Viewing Buttons.

The default projection mode is orthogonal (Orthographic).
The interactive picking cannot be done in perspective views. Hidden line may not work properly in perspective views, when the projection point is too close to the object.
Change Representation Scale
To change the scaling factors for the 3D or 2D scenes, select Scale from the Geometry menu. Then enter the 3 or 2 scaling factors for each of the directions. Press <Enter> in the keyboard input area in order to validate the entry. The scale factors are applied to the active view. A value lower or larger than 1 is respectively stretching in or out the geometrical representation for the related direction. Finally a value of 1 is leaving the geometry unaffected.
Change Background 
To change the view background, right-click in the active view and select Set Background or define the view background in the Preferences/Background Type menu before creating the view.


Four types of view background are available:

Clear Color: a unique color is selected as background.
Shaded Colors: two colors are selected to define a vertical color gradient as background.
Picture Background: a 32-bits PNG picture is selected as background using the Load File button. The loaded picture is stretched to fit the view when the Stretched background option is active.
Skybox Background: a 32-bits PNG horizontal skybox or a skybox script file (.sky) is selected as background using the Load File button. The skybox script file is referring to six 32-bits PNG pictures defining the six faces of the cube representing the surrounding environment. 



The 32-bits PNG horizontal skybox is not available on Windows.
When the loaded file is not a 32-bits PNG, a warning "Loaded file is not a 32-bits PNG" will appear.
The Apply button applies the selected background on the active view. The Close button is closing the dialog box without applying.

Creating & Handling Surfaces


This chapter provides a detailed description of the Blade to Blade surface handling features in CFView™. Surfaces are playing a fundamental role in CFView™ as nearly all the representations of the flow quantities are made on surfaces. This chapter is divided in 6 sections:

surface types and attributes description,
handling the list of selected surfaces,
creating new surfaces,
visualizing the surfaces mesh,
surfaces rendering and shadow,
mesh cell visualization.

The commands related to surface handling, creation and representation are available mainly from the Geometry and the Render menus.

TurboWizard Step 2 : Meridional Station Averages Post-Processing Tool 

TurboWizard Step 3 : Blade Profiles Post-Processing Tool

The third step of the TurboWizard module is used to define the inputs for the post-processing tool dedicated to the blade profiles:

the hub and shroud definition (only for "unstructured" project);
the span heights;
the blade surfaces;
the quantities to sample on the selected blade at the specified span heights.



FIGURE 23 TurboWizard step 3
When "unstructured" project, the Hub & Shroud File Selection entry allows to specify the hub and shroud definition file in order to compute the STM coordinates (More details on the file format in Hub & Shroud Definition).
The Span heights (%) entry allows to impose the number with the  buttons and the location in % of the span heights where the blade profiles will be computed.
The Blades entry () allows to select available blades (or group of solid patches) on which the profiles will be computed. 



FIGURE 24 TurboWizard step 3: blades selection
The Quantities entry () allows to select available quantities to be sampled on the blades.  The list of quantity is independent from the quantity list selected for station averaging.

All scalar quantities from the Quantities subpanel in the Quick Access Pad are available except the Turbulent Viscosity (Mut/Mu), Cf, Absolute/Relative Mach Number, Total, Residuals and Harmonics quantities.
Moreover, if not available in the Quantities subpanel in the Quick Access Pad, the following derivable quantities are also available: Vt, Wt, Static enthalpy, Entropy, Isentropic Mach Number (only available for non-incompressible solution).




FIGURE 25 TurboWizard step 3: quantities selection
The TurboWizard module is not creating quantities and only checks their availability in the project before loading the wizard. The quantities should be created before launching the module.
The Cancel button stops the TurboWizard module without saving.
The Back button allows to go back to the second step of the TurboWizard module.
The Skip button allows to skip the post-processing tool dedicated to the blade profiles, to start the post-processing tool dedicated to meridional (RTHZ) station averages only and to go to the fourth step of the TurboWizard module. The module will also generate the output data and PNG picture files of the meridional station averages post-processing tool in two subfolders at the location of the configuration file.
The Start button allows to start both post-processing tools or the blade profiles post-processing tool only (if Skip in the second step of the TurboWizard module), and to go to the fourth step of the TurboWizard module. The module will also generate the output data and PNG picture files of the post-processing tool(s) in two subfolders at the location of the configuration file.
The documentation is also available when moving the mouse on the info icon () on the top right of the dialog boxes.
TurboWizard Step 4 : Display Post-Processing Output Pictures

Manage Legend in Cartesian Plot
A legend can be added in the Cartesian plot view with the menu Add to legend appearing when right-clicking after selecting a curve in the Cartesian view.


FIGURE 27 Add legend to Cartesian plot
When the legend is appearing in the view, it can be viewed or hidden with the Toggle Legend menu when right-clicking in the Cartesian view. In addition after left-clicking on the legend, right-click to access the popup menu that control the font (Larger/Smaller Font) and the text type (Text type).


FIGURE 28 Control legend of the Cartesian plot

Plot Data Identification
The Plot Data are usually functional data the user wishes to visualize, for instance a flow solver convergence history. Any other function of one, two or three variables given in the form of numerical table can be handled in the same way. Plot data are restricted to data on a single curve, either in 1D, 2D or 3D.
The number of such curves has to be input in one line of the Identification file.
After this line, you have to specify:

The name of the curve.
The quantity name(s).
The Geometry file name of the curve, containing the abscissa values.
The Quantity file name(s).

For example, a run has 250 iterations with the mean density and the maximum total energy residuals. Before specifying the residuals names, the name of the curve must be defined. For example, "convergence history" has two residuals (mean density and the maximum total energy). The input is as follows:
1
   |convergence history|
       2
            |mean density residual|
            |max total energy residual|
            extflow.pld.g
            extflow.pld.s.1
            extflow.pld.s.2
An input file without plot data can also be considered. In this case the number of plot data is set to zero and the lines containing the field quantity names and the file names are not present.

Example of Complete Identification File
The complete identification file of the example chosen in the above sections is given on next page:
EXTERNAL FLOW - NUMECA
TEST CASE  999.111
EULER EQUATIONS
MESH SIZE 40*35*105
INLET CONDITIONS: MACH NUMBER 2.8
3D  STRUCTURED  CARTESIAN  NON
3
   |density|   |mach number|   |entropy|
2
   |velocity|   |vorticity|
1
   |heat transfer coefficient|
1
   |surface stress|
2
   60 70 50
            domain1.g
            domain1.bc
            density.d1.s
            static_pressure.d1.s
            velocity.d1.v
            vorticity.d1.v
 30 70 50
            domain2.g
            domain2.bc
            density.d2.s
            static_pressure.d2.s
            velocity.d2.v
            vorticity.d2.v
0
0
Geometry and Quantity files have to be generated for each domain except for the validation and plot data. There is no restriction on the file name and extension.
Quantity file names have to be specified in the same order as the quantity names defined in the mesh identification part. There is no restriction on the file name and extension.
Note that the "0" at the end are indicating that no validation data or plot data are associated to the data set.

Create Identification File
The Identification file contains general information about the project. Its name is characterized by the ".cfv" extension. It includes all the file names containing boundary conditions, geometry and quantity data.
The identification file is an ASCII file which contains numbers and character strings. It is composed of the following parts:

Project identification.
Mesh identification.
Domain(s) identification.
Validation data identification.
Plot data identification.

These 5 parts are described below with concrete examples. A complete example of an Identification file is given at the end of this section.
For unstructured meshes, the differences with the structured meshes lie in the Mesh and Domain identification parts. See these parts for more details.

File names must be written with absolute paths. CFView™ check firstly this absolute path, if the expected file is not there, CFView™ check secondly in the directory where the .cfv is located and if the expected file is not there, CFView™ check thirdly in the directory defined by the relative path "../_mesh". If the expected file is located in none of these three locations, CFView™ will not find it.

Commands Related to Project Handling

string FileOpenProject(string filename)

Associated menu item: File/Open Project...
Operation (Project Management): opens filename as a CFView™ project. Returns the name of the created view.
Exceptions: Raises IOError if the project cannot be loaded.

string FileOpenProjectSelection(string filename, string grid level, int grid level, string all or blocklist, int nr of blocks, string range, string all or loadqnt, string quantityName) 

Associated menu item: File/Open Project Selection...
Operation (Project Management): opens filename as a CFView™ project. Returns the name of the created view. This macro allows the user to specify the blocks list and the quantities to load. 
Exceptions: Raises IOError if the project cannot be loaded
This command can be used to load unsteady projects. The unsteady keyword indicates that a list of time steps to load will follow. The time steps refer to the file naming of FINE™/Turbo flow solver output.Example: 'FileOpenProjectSelection('/server/home/user/example.run', 'gridlevel', 2, 'all', 'loadqnt', 'Static Temperature', 'Y+', 'Cf', 'unsteady', '5 25 10')' to load the interval of time steps from the first time step 5 to the last time step 25 with interval steps of 10. This means the following files: project_t5.cgns, project_t15.cgns and project_25.cgns.


This command can be used to reconstruct unsteady time steps and clocking positions from harmonic solution. The 'reconstruct_unsteady' keyword indicates that a reconstruction will be performed. The parameters of the reconstruction follow:
the repetitions keyword followed by the repetition per group,
the name of the output file,
the harmonic_selection keyword followed by the list of selected harmonics for each group,
the harmonicskeyword followed by the number of harmonics, is kept for backward compatibility. If both harmonics and harmonic_selection keywords are present, then the harmonic_selectionkeyword will not be considered.
the periods keyword followed by the number of periods only if reconstruction in time,
the pitch_displacement keyword followed by the pitch displacement per group,
the only_perturbation keyword to plot perturbation only,
the get_back keyword if the next blade channel must be represented after a rotation of 1 pitch,
the time_mean keyword if the time-mean flow is reconstructed (clocking) followed by the keyword moving_group and by the index of the moving group. If the argument 'time_mean' is used, the number of clocking positions is specified in the string after the argument 'unsteady' instead of the time steps.
the time_harmonics keyword if the time harmonics needs to be exported (Rank-2 with variable clocking) followed by the index list of the harmonics for each group. When the time-mean is not selected, the keyword 'time_harmonics' should be replaced by 'time_harmonics_only'. Example of reconstruction in space: 'FileOpenProjectSelection('/server/home/user/example.run', 'gridlevel', 2, 'blocklist', 30, '1-25 31-35', 'unsteady', '1 20 1', 'reconstruct_unsteady', 'repetitions', '2 2 2 2 2 0 2', '/server/home/user/example_unst.run', 'harmonics', 2, 'pitch_displacement', '0 0 1 0 0 0 0', 'time_mean', 'moving_group', 3) to reconstruct 20 clocking positions with variable clocking on group 3 with 2 repetitions on all groups except group 6 and a pitch displacement only on group 3.Example of reconstruction in time: 'FileOpenProjectSelection('/server/home/user/example.run', 'gridlevel', 2, 'all', 'unsteady', '1 20 1', 'reconstruct_unsteady', 'repetitions', '2 2 2 2 2 0 2', '/server/home/user/example_unst.run', 'harmonics', 2, 'periods', 5, 'pitch_displacement', '0 0 1 0 0 0 0', 'only_perturbation') to reconstruct only the quantity perturbations on 20 time steps and on 5 periods with 2 repetitions on all groups except group 6 and a pitch displacement only on group 3.


When inlet distortion, under 'pitch_displacement' the last item refers to it and if variable clocking is applied on inlet distortion last group index should be mentioned.Example of reconstruction in space with inlet distortion: 'FileOpenProjectSelection('/server/home/user/example.run', 'gridlevel', 2, 'all', 'unsteady', '1 20 1', 'reconstruct_unsteady', 'repetitions', '2 2 2 2 2 0 2', '/server/home/user/example_unst.run', 'harmonics', 2, 'pitch_displacement', '0 0 0 0 0 0 0 2', 'time_mean', 'moving_group', 8) to reconstruct 20 clocking positions with variable clocking on inlet distortion (group 8) with 2 repetitions on all groups except group 6 and two pitch displacement only on inlet distortion (group 8).


the ctrl_pts keyword if control points are defined for reconstruction followed by the number of control points. For each control points, there is a string containing the block number and the I, J and K indices. Example: 'FileOpenProjectSelection('/server/home/user/example.run', 'gridlevel', 2, 'all', 'loadqnt', 'Static Temperature', 'Y+', 'Cf', 'unsteady', '5 25 10',  'ctrl_pts', 3, '5 4 7 9', '5 6 9 1', '23 1 1 1')' to load the interval of time steps for the control points specified from the first time step 5 to the last time step 25 with interval steps of 10.

 string OpenCGNSProject(string fileName, string baseName)

No Associated menu item
Operation: opens a CFD data set in the CGNS formatted file. fileName is the name of the file and baseName is the name of the CGNS base to be loaded.
Exceptions: Raises IOError if the project cannot be loaded.

string OpenCGNSAutogrid(string fileName)

Associated menu item: File/Open Mesh ...


Operation: opens a structured mesh in CGNS format. Returns the name of the created view.

string OpenUnstructuredMesh(string fileName)

Associated menu item : File/Open Mesh ...
Operation: opens an unstructured mesh in HEX or SPH format. Returns the name of the created view.

string OpenPlot3DProject(string geometryFileName, string solutionFileName, string functionFileName, string nameFileName)

Associated menu item: File/Open Plot3D Project...
Operation): opens a CFD data set in the PLOT3D format. The geometryFileName argument is mandatory, while the three others are optional. geometryFileName is the name of the geometry file, geometryFileName is the name of the solution file; functionFileName and nameFileName are the name of the function and name files.
Exceptions: Raises IOError if the project cannot be loaded.

DefaultPlot3DFileType(int format, int bigEndian, int blanking, int multiZone, int dim)

Associated item: Default Plot3D type dialog box raised from the Plot3D file chooser.
Operation: sets the parameters that are necessary to read correctly the Plot3D formatted data sets.format indicates the type of file formatting: 0 for ASCII, 1 for unformatted single precision, 2 for unformatted double precision, 3 for formatted single precision and 4 for formatted double precision.bigEndian must have a value of 1 if the data set was created on a binary big endian computer or a value of 0 if it was created on a lower (or little) endian computer system.blanking has a value of 1 if blanking information is included in the files, or a value of 0 if such information is not included.multiZone must have a value of 1 if the data set is a multi block grid, it must be set to 0 otherwise.dim indicates the dimensionally of the data set: its value must be 2 or 3.

string UnsteadyProjectOpen(string filename, float time [,string fileName, float time]*)

Operation: opens an unsteady project having more than one time step. Each time step is specified by the corresponding file name and its time value. The command opens the first time step in a new view and returns the name of the created view.
int NumberOfTimeSteps()
Operation: returns the number of time steps in the current project.
[int, int] GetProjectDimensions()
Operation: returns Topological and Physical dimensions of the active projects. Example:dims=GetProjectDimensions()print 'Topological dimension=',dims[0], 'Physical dimension=',dims[1]


If the active project is a common 3D project, both dimensions are 3. 
If it is a CGNS surface project, Topological dimension is 2 and Physical dimension is 3. 
If it is a meridional averaging, both dimensions are 2. 

SetActiveTimeStep(int i)

Operation: loads the specified time step starting from 0. The maximum number of time steps is equal to the number of time steps loaded - 1. The first time step loaded is always 0. For example, if there are 10 time steps available in a project and the user loads the time steps 3 to 8 with an  interval of 2, 3 time steps will be available corresponding to the time steps 3, 5 and 7 of the full unsteady project. When i is set to 0, the time step 3 will be loaded.

SelectTimeStep(int i)

Operation: loads the specified loaded time step starting from 1. The maximum number of time steps is equal to the number of time steps loaded. The first time step loaded is always 1. For example, if there are 10 time steps available in a project and the user loads the time steps 3 to 8 with an  interval of 2, 3 time steps will be available corresponding to the time steps 3, 5 and 7 of the full unsteady project. When i is set to 1, the time step 3 will be loaded.

NextTimeStep()

Operation: loads the time step following the current one. The NextTimeStep function makes CFView™ do whatever the macro contains before this command. This can lead to a slow down and a lot of memory. The best practice is to record a macro "macro.py" for one time step and use the MacroExecute command in the macro for the unsteady computation. The MacroExecute suspends the record of the operations for the NextTimeStep function. Then, a loop of the time steps can be performed as presented in the example below.
Example:
CFViewBackward(811)
macro='D:/macro.py' 
Number_Of_Time_Steps=50
timeString='1 '+str(Number_Of_Time_Steps)+' 1'
FileOpenProjectSelection('Y:/users/results_unst.run','all','unsteady',timeString)
i=1
MacroExecute(macro)
for i in range(2,Number_Of_Time_Steps+1):

print 'i=',i
NextTimeStep()



The macro 'D:/macro.py' must not contain opening command.
FileLoadNextTimeStep()

Operation: goes to next time step without executing what the macro contains before this command.

FileCloseProject()

Associated item: File / Close Project....
Operation: closes the project associated to the active view. All views related to that project are closed too.
Exception: raises an AttributeError if these is not active view.

Quit()

Operation: quit CFView™.

Create Cutting Plane from 3 Points
Cutting plane can also be created by 3 points, through the menu Geometry / Create Cutting Plane From 3 Points. In this method, the plane will be defined by 3 points. Then the plane intersects with the computational domain to create a cutting plane. The three points can be specified by picking in the view or by entering the coordinates in the keyboard input area. In the view, the user can select points located only on edges of the geometry. 
When moving the mouse pointer close to an edge of the geometry, a point will appear and attract to the edge of the geometry. After the user selects the first point, a line will appear between the first point and the mouse pointer. After the user selects two points, a triangle will appear. After the user selects three points, the cut plane will automatically be created and saved.


FIGURE 10 Create cutting from 3 points

Meridional Average Input Definition
The meridional average input may be defined interactively in a specific dialog box accessed through Geometry/Set Meridional Average Input... menu. This is necessary only if the defaults patches are not satisfying, or when working with project computed with a FINE™/Turbo version lower than 6. A list of quantities has been added to the dialog box for averaging. By default, all quantities that are not harmonic are selected.

Vortex Detection
The quantities that are used for vortex detection can be calculated through Quantities/Field Data/Vortex Detection/Lambda 2 or Q Invariant. See FIGURE 4.


FIGURE 4 Vortex detection menu
The eigenvalues of the symmetric tensor, (S² + Ω²) are ordered as |λ1| ≥ |λ2| ≥ |λ3|, where Sij = 0.5(uij + uji) is the strain-rate tensor, Ωij = 0.5(uij - uji) is the spin tensor, uij = δui/δxj and ui being the three components of a vector field. Lambda 2 is the scalar defined by the second eigenvalue. A vortex core can be a region of flow where λ2 < 0. As for Q Invariant, it is the scalar value defined by  where  and .When Q Invariant of a region is positive and at the same time the local pressure has a lower value than the ambient, it can be interpreted as a vortex core.
In the current implementation, the computation of Lambda 2 and Q Invariant are allowed for any vector field. This allows the user to modify its velocity definition using derived quantities and then validate the implementation with vector fields from which the results can be derived analytically.
The computation of Lambda 2 and Q Invariant may also be selected from the Quantities subpanel with the same steps as shown in the differential operators (Apply Differential Operators: Gradient, Divergence or Curl). The computation can be achieved through the right-click menu of the selected vector quantity. See FIGURE 5.



FIGURE 5 Popup menu for a vector quantity
Once the computation is done, the Lambda 2 or Q Invariant field will be added to the field quantities list, respectively as: Lambda 2, or Q Invariant followed by the name of the operand field in parentheses.

Commands Related to Meridional View Creation 

string OpenPitchAveraged(int mode, int listLength, ...., string weightOption)

Operation: computes the pitch average based on the provided meridional mesh and opens a new view in which the results are shown.

SetDefaultPitchAveragePatches(int mode, int listLength, ...., string weightOption, int noOfScalars, int noOfVectors, listOfScalars, listOfVectors)

Associated menu item: Geometry / Set Meridional Average Input...
Operation: defines the default meridional mesh used by the command OpenDefaultPitchAverageView(). If the last four parameters are not defined, all the quantities will be averaged. 
Explanation of arguments meaning: 
mode: specifies how the meridional mesh is provided in the following arguments. Three modes are supported:
if mode = 1, the surfaces list is provided as a set of names and the listLength value is the number of surfaces in the meridional mesh.
if mode = 2, the surfaces list is provided as a serie of 3 integral values: domain number, index family, index value, it defines one of the subsurfaces belonging to the meridional mesh, the list length argument is the total number of integer values defining the whole set of subsurfaces. Thus, for example, one subsurface needs three numbers, and the list length argument value is 3 if the meridional mesh contains only one subsurface, 6 if the meridional mesh contains two subsurfaces, etc... (see also Commands Related to Surface Creation)
if mode = 3, the surfaces list is provided as a series of mesh surfaces described by normalized parameters. These parameters are the domain index, the surface family index, the normalized index value and the normalized range to be considered (see the StructuredSurfaceSave command in Commands Related to Surface Creation for a more detailed explanation on these parameters. In this case, the listLength value is the number of surfaces in the meridional mesh.
weightOption: a string value specifying the applied weighting. The supported values are: "1" means a value 1 is given to the weighting coefficient, 
          "Density*Vxyz" or "Density*Wxyz" means that a mass flow weighting is applied.
noOfScalars: the number of selected scalars to be averaged. (optional)
noOfVectors: the number of selected vectors to be averaged. (optional)
listOfScalars: the list of selected scalar names to be averaged. (optional)
listOfVectors: the list of selected vector names to be averaged. (optional)

SetMeridionalAverageInput(string weightOption, int noMeridionalSurf, listOfNames, int noOfScalars, int noOfVectors, listOfScalars, listOfVectors)

Associated menu item: Geometry / Set Meridional Average Input...
Operation: sets the meridional average input for unstructured project with the parameters given. If the last four parameters are not defined, all the quantities will be averaged.
weightOption: a string value specifying the applied weighting. "1" means a value 1 is given to the weighting coefficient and "Density*Vxyz" or "Density*Wxyz" means that a mass flow weighting is applied.
noMeridionalSurf: the number of meridional surfaces selected.
listOfNames: the list of names for the selected meridional surfaces.
noOfScalars: the number of selected scalars to be averaged. (optional)
noOfVectors: the number of selected vectors to be averaged. (optional)
listOfScalars: the list of selected scalar names to be averaged. (optional)
listOfVectors: the list of selected vector names to be averaged. (optional)

string OpenDefaultPitchAveragedView()

Associated menu item: Window / Compute & Open Pitch Average
Operation: computes and opens a pitch average view, by using the default meridional patches taken from the project file or specified by the command SetDefaultPitchAveragePatches().

When the user creates a pitch averaged view, the numerotation is modified. For example, for a multistage project including 6 blocks, the user creates a meridional view in which there is only 4 patches leading to a different resulting numerotation. The function StructuredDomainSize will not return the same results in the 3D view and in the pitch averaged view.

RAM Management and Unsteady Post-processing
This functionality frees the RAM usage at each time step when post-processing unsteady data sets. It is very useful for large projects.
This feature can be accessed through the button Free Memory On/Off  available in the animation toolbar when an unsteady project is loaded. By default, this button is active and highlighted in yellow. The Free Memory On/Off button is not highlighted anymore when inactive. 
Press the left mouse button on Free Memory On/Off button, to toggle this functionality on or off. When the Free Memory On/Off button is active, and the Previous/Next Time Step buttons () are pressed, the memory allocated to all field and solid data quantities at the current time step is freed, before moving to the next time step. If the Free Memory On/Off button is inactive, all the field and solid quantities are kept in the memory for every time step.

Vector Lines
To generate vector lines by integration of the active vector quantity field, choose Vector line from the Representation menu. A submenu appears which contains different commands. The Representations/Vector Lines subpanel contains also shortcut buttons for these functionalities.
Vector lines may be obtained from a specified point, from a section or along a grid line. The default computation and representation parameters can be changed by using the Vector Lines Parameters dialog box.
Local Vector Line

To generate local vector lines:

Choose Local from the Representation/Vector line menu or click on the  button in the Representations/Vector Lines subpanel.
Select the starting point. This can be done in different ways:

	with the mouse: select with the left mouse button a point on an active surface.
	with the keyboard: the message "Vector line starting point:" appears in the string input area. Click on the string input box and enter the coordinates (the coordinates must be separated with a blank) of the starting point. The actual start point is the projection of the provided point on the closest active surface.


The vector line starts from this point and extends to the first non-connecting boundary encountered or until the maximum number of points per vector line is exceeded (see Vector Lines Parameters).
	The keyboard shortcut for Local vector line is <j>.


Vector Lines from Section

To generate a set of vector lines from a section:

Choose Section from the Representation/Vector line menu or click on the  button in the Representations/Vector Lines subpanel.
Select a section defined by two points: move the mouse in the graphical area and click the left mouse button to select the first point of the section line. A red line is attached to the cursor. Move the cursor in the desired direction and click the left mouse button to define the second point of the line.
The two points are actually defining a plane perpendicular to the screen. The section along which the vector lines starting points are set is the intersection of that plane with the active surfaces. The starting points are equally distributed between the two points.

A default number of 5 vector lines are generated from this section and extend to the first boundary encountered.
When choosing Section, a message "Number of Points:" appears on the left of the string input area. To modify the default number of starting point in the section, click on the string input box and enter a number larger than 2.
The keyboard shortcut for vector lines from Section is <Shift> + <j>.


Vector Lines from Grid Line

To generate vector lines from the points contained in a grid line:

Choose From Grid Line... from the Representation/Vector line menu or click on the  button in the Representations/Vector Lines subpanel. A dialog box appears as shown in FIGURE 47.


FIGURE 47 Vector Lines along Grid Line
The "I" and "J" appellation do not necessarily correspond to the IGG™ index:

	if the surface is constant in I, the first index corresponds to J and the second to K.
	if the surface is constant in J, the first index corresponds to K and the second to I.
	if the surface is constant in K, the first index corresponds to I and the second to J.

Select the constant index. Click on the desired Index button.
Set the value of this constant index in the Value box.
Select the nodes from which the lines are generated. To do this, enter a node range:

	Enter in the Firstbox a number included between 1 and the maximum of the unselected index.
	Enter in the Last box a number included between 1 and the maximum of the unselected index. This number shall be different from the First Node number.

Click the Apply button to start the vector line computation and display.
Click the Close button to close the dialog box.

The keyboard shortcut for vector lines From Grid Line is <Ctrl> + <j>.

Graphical User Interface, Projects & Views


This chapter presents the basic concepts used in CFView™. It is divided in 6 sections:

user interface description,
opening project,
manipulating active view,
manipulating graphics area (multi view operations),
adding coordinate axis in a view,
macros.

The first section describes the basic concepts of the interface. The remaining sections provide step-by-step instructions for loading and working with a project.

Surface Integrals

CFView™ provides various types of integrals which can be computed over the active surfaces. The available types of integrals depend on the quantity type.
Surface Integrals of Selected Geometry

The surface integral functionality is contained in the Geometry/Surfaces menu. The following integrals are available: 

Area  : select this item in the Geometry/Surfaces menu to compute the sum of the areas of all the active surfaces.
Projected Area
: select this item in the Geometry/Surfaces menu to compute the sum of the areas of the projected active surfaces. When selecting the option, the projection plane normal has to be specified. The angle β is the angle between the normal of the active surface and the normal of the plane on which the surface is projected. 

When parts of surfaces are projected at the same place on the plane, each one contributes to the result that is therefore greater or equal to the surface of the shade of all active surfaces on the plane. I.e. if the surface is closed and is the boundary of a convex domain (no line that join two points within the domain cross the boundary surface) the projected surface area is two times the surface area of the shade. This is typically the case for a plane wing.


Surface Integrals of Scalars

The surface integral functionality is contained in the Representation/Surface Integral menu and in the Representations/Integrals subpanel. The following integrals are available: 

Surface Area : select this item in the Representation/Surface Integral menu to compute the sum of the areas of all the active surfaces.
Scalar Integral 
: select this item in the Representation/Surface Integral menu or click on the button  in the Representations/Integrals subpanel to compute this integral on all the active surfaces. 
Scalar Average 
: select this item in the Representation/Surface Integral menu or click on the button  in the Representations/Integrals subpanel to compute the Scalar Integral divided by the Surface Area.
Vector Integral 
: select this item in the Representation/Surface Integral menu or click on the button  in the Representations/Integrals subpanel to compute this integral on all the active surfaces. The direction of the integrated vector are given by the positive normal to the surface element, and its module is equal to the local value of the scalar active quantity. As an example, this integral can be used to compute the force exerted on a solid object by the pressure on its surface. 
Vector Average 
: select this item in the Representation/Surface Integral menu or click on the button  in the Representations/Integrals subpanel to compute the Vector Integral divided by the Surface Area
Weighted Integral  : select the button  in the Representations/ Integrals subpanel to compute this integral. The weighting factor  can be selected in the drop-down menu below the integral buttons. By default for FINE™/Turbo solution, the available weighting factors are Density*Vxyz, Density*Wxyz, Vxyz, Wxyz and 1. However, any valid vector equation can be entered as weighting factor.

The integration result is written in the information output area, on the lower right corner of the graphics area.
When applying weighted integral with weighting factor set to Density*Vxyz or Density*Wxyz on surface with strong backflow, the result can be far from the min/max range of the variable to be weighted. To have a result in the min/max range, the weighting factor might be adapted to Density*abs(Vxyz) or Density*abs(Wxyz) or the user can define his own weighting function..


Surface Integrals of Vectors

The surface integral functionality is contained in the Representation/Surface Integral menu and in the Representations/Integrals subpanel. The following integrals are available: 

Surface Area 
: select this item in the Representation/Surface Integral menu to compute the sum of the areas of all the active surfaces.
Flux 
: select this item in the Representation/Surface Integral menu or click on the button  in the Representations/Integrals subpanel to compute the flux of the vector quantity through the active surfaces. 
Weighted Flux 
: select this item in the Representation/Surface Integral menu to compute a flux integral weighted by a scalar field. The weighting scalar () is selected by clicking on a scalar field name in the Weighted Flux sub-menu.
The integral is performed on the active surfaces.
When computing flux on multiple IJK surfaces, the sign of the flux is depending of the local surface orientation.



FIGURE 57 Flux through K cst surfaces where combined flux sign has to be corrected.
Massflow 
: activate a surface from the Surfaces subpanel in the Quick Access Pad and then click the button  in the Integrals page of Representation subpanel to compute the mass flow through the active surface. The integration result with the unit is displayed in the information output area.
Vector Integral 
: select this item by clicking on the button  in the Representations/Integrals subpanel to compute this integral on all the active surfaces and provides the x,y,z components of the resulting vector. As an example, this integral can be used to compute the total force and vector torque components on a blade.

Commands Related to Animation Control
The following section describes the macros for unsteady animation control.

RecordAnimation(bool b)

Operation: executed when the user clicks on "Start/Stop Animation Recording" button.

SetRecordAnimParam(int viewmode, int sizemode, int scaling, int xpixels, int ypixels, bool bannermode, string bannertext, bool datemode, int delay, int loops, bool deleteimagefilesmode, string animationfilename)


Associated menu item: Start/Stop Animation Recording button.
Operation: this macro sets the values of animation parameters.
viewmode: 0 saves the active view and 1 saves the graphics window.
sizemode: 0 means that the scaling mode will be used, 1 means that the pixels mode will be used.
scaling: performs a scale of the picture (maximum: 1600 and minimum: 30).
xpixels and ypixels: define the number of pixels along X and Y directions (maximum: 5000 and minimum: 16)
bannermode: includes a banner if it sets to 1.
bannertext: text included in the banner if bannermode is set to 1.
datemode: the date is included in the animation.
delay: imposes a delay between 2 frames (in 1/100th of a second). 
loops: includes a number of loops in the animation.
deleteimagefilesmode: deletes the intermediate pictures when saving the animation.
animationfilename: name of the animation file.

AnimPrint()

Operation: this macro is similar to Print macro (Picture Output Generation). It creates PNG image files using the information that has been set through SetRecordAnimParam macro.

AnimationLoop(bool b)

Operation: this macro activates the loop for the recorded animation if the Boolean is set to 1.

FreeMemory(bool b)

Operation: activates or deactivates the "Free Memory On/Off" button respectively.

The following section describes the macros for steady animation control. It includes all of these: streamline, cutting plane, and structured surface animations.
RecordSteadyAnimation(bool b)

Operation: its usage is similar to RecordAnimation macro used for unsteady animation. This macro is executed when the Record button is activated (b = 1) or deactivated (b = 0).

SteadyAnimationNextStep()


Operation: draws the next frame for steady animation.

SetRecordSteadyAnimParam(int viewmode, int sizemode, int scaling, int xpixels, int ypixels, bool bannermode, string bannertext, bool datemode, bool annotatemode, string annotatetext, int annotatelocation, bool bordermode, int delay, int loops, bool deleteimagefilesmode, string animationfilename)

Operation: Its usage is similar to SetRecordAnimParam macro used for unsteady animation. This macro sets the values of animation parameters.

StreamLineAnimationInit()

Operation: initializes and draws the first frame of the animation.

StreamLineAnimationStop()

Operation: stops the animation and clears the markers used for the animation.

StreamLineAnimationConfigure(float emission rate)

Operation: sets the emission rate of the streamline animation.

CuttingPlaneScrollingInit()

Operation: initializes and draws the first frame of the animation.

CuttingPlaneScrollingStop()

Operation: stops the animation and clears the markers used for the animation.

CuttingPlaneScrollingConfigure(2, 6, normal X, normal Y, normal Z, step, type, max frame/sec)

Operation: sets parameters for the cutting plane scrolling. type is set to 0 for geometry and 1 for quantity.

SurfaceIJKScrollingInit()

Operation: initializes and draws the first frame of the animation.

SurfaceIJKScrollingStop()

Operation: stops the animation and clears the markers used for the animation.

SaveAveragedSteadyProject(string filename, string name1, string name2, ......)

Operation: saves time-averaging steady solution for the specified quantities to file. The

Create Surfaces
Different types of surfaces can be created: mesh surfaces, cutting planes and iso-surfaces. All the newly created surfaces are added to the project surfaces list and to the current activated surfaces list.

View & Window Menus
The functionalities related to the view handling are grouped in the View and Windows menu. The View menu contains the functionalities that affect the active view directly, while the Window menu contains the items for the creation of new views and for the tiling of the views in the graphics area.
The Projection and Parameters submenu are described first. In View/Projection multiple view handling and the other items from these menus are described.
View/Projection




The Projection submenu in the View menu contains the following commands: 
Original 

To reset the view in its default orientation select this item. The associated viewing button is ().
The keyboard shortcut to reset the view in its default orientation is <o>.


X Constant, Y Constant, Z Constant

To update the view parameters to obtain X, Y or Z constant projection of the objects, choose one of these three commands from the View/Projection menu. The associated view buttons are , , or 
The keyboard shortcuts for X constant, Y constant or Z constant are respectively <x>, <y> or <z>.
To go back to the original view use View/Projection/Original or use the shortcut <o>.




View/Parameters



This menu allows to exactly setup the view by giving an orientation to the view coordinate system. This is done through two variables, the Normalvector and the Up Vector. The Normalvector is a vector perpendicular to the screen and pointing outside it. The Up Vector is a vertical vector in the plane of the screen. Giving the coordinates of this vector rotates the coordinate axes around the normal vector. These two vectors are always perpendicular. If the perpendicularity is not respected when entering the coordinates of the Up Vector, the system will automatically replace it with its projection in a plane perpendicular to the Normalvector.
This submenu allows also to set some of the viewing parameters and to choose the projection mode (see Projection Mode): Orthographic, Stretched or Perspective.
Normal

This command allows to enter the coordinates of the Normalvector. To do so:

Choose Normal from the Parameters pull right menu.
Move the mouse to the keyboard input area and enter the coordinates of the Normalvector or press, drag and release with the left mouse button in the active view to indicate the desired normal direction.



Up Vector

This command allows to enter the coordinates of the Up Vector. To do so:

Choose Up Vector from the Parameters pull right menu.
Move the mouse to the keyboard input area and enter the coordinates of the Up Vector or press, drag and release with the left mouse button in the active view to indicate the desired up direction.



Full Render

When not being in Full Render mode CFView™ automatically degenerates all shaded representations, such as solid model and color contour during rotation and translation in order to improve the operation speed. This is the default mode. To disable or enable this feature, select this item. It acts as a toggle.
	The keyboard shortcut for Full Render is <Shift> + <v>.


Display Shadow

When activating the Display Shadow feature in this menu or the button  in the QAP, a shadow is drawn under the scene. Its position and the light direction change according to the view. The shadow is always drawn on an horizontal plane, located at the bottom of a bounding box, enclosing the scene. The direction of the light source generating the shadow is always vertical.


Fast Preview

When the user has semi-transparent surfaces in its view, the time needed to generate an image in a big scene can achieve a couple of seconds. Because of this lack of interactivity, changing the camera position is really difficult. To solve this problem, the Fast Preview mode can be activated. In this mode, all the costly rendering options are disabled (transparency, environment map).
This mode will give different opportunity to help the user in large scenes:

Set the materials in normal mode, switch temporary to the Fast Preview mode to set the camera, and switch back to normal mode to see the final result.
Switch to Fast Preview mode, edit a set of material properties, and switch back to normal mode to see all the modification at once.

The message "Fast preview mode" is displayed when the mode is active in the menu.


Transparent

This command allows to make a view transparent. To do so:

Activate the view to make transparent.
Choose Transparent from the Parameters pull right menu. The view becomes transparent.

This command acts as a toggle: a second selection disables the transparency.
The keyboard shortcut for Transparent is < - >.
The transparent mode makes the whole project transparent in the view and thus it is no more possible to manipulate this view.


Border

This command allows to hide the border of the view. To do so:

Activate the view to edit. 
Choose Border from the Parameters pull right menu. The border of the view disappears.

This command acts as a toggle: a second selection makes the border visible again.
The keyboard shortcut for Border is <Shift> + <b>.


Stretched, Orthographic, Perspective

These three menu items allow to control the projection mode of the active view (see Projection Mode).

Curve Integrals
To perform an integral along a curve, select Representation/Curve Integral. The integration is done in the following way:

The request message "Input equation or press and drag to select section" appears in the message area and the name of the active quantity appears in the string input area.
The integration may be of any valid mathematical expression (Create Derived Quantity for the details on supported equations). By default, CFView™ is proposing to integrate the active quantity. This expression can be replaced in the string entry. If the expression is changed, it is validated by pressing the <Enter> key. If the expression is a scalar one, a standard scalar integration along a line is performed. If it is vectorial, the amplitude of the component normal the integration line is integrated. 
If the default expression is used, press with the left mouse button on the start point, then drag and release on the end point. 
If the expression is validated by pressing <Enter>, then CFView™ proposes to press and drag to draw the section or to enter the position of its start and end points.
The curve integral is computed along the intersection between the plane defined by the start point, the end point and the viewing direction (the plane that contains the start and end points and that is parallel to the viewing direction) and the active surfaces.
The actual start and end points for the integration are the intersection between the active surface and the ray passing at the user specified point and parallel to the viewing direction. If there is no intersection, the integral is computed from / to the boundary intersection.
The integration result is written in the string input area.

The integral is performed on the active surfaces from the start point to the end point. As sketched in FIGURE 58, the integration is not made on the parts of the section that fall before the start point or after the end point. If both points are on the surface (sketched on the left), the integral is limited between A and B. If A falls outside of the active surface (sketched at the centre), the integral is performed between the boundary intersection and B. And if both A and B fall outside of the surface (sketched on the right), the integral is computed over the whole section.


FIGURE 58 Illustration of integration from A to B.

Cartesian Plot Axis Editor Dialog Box
The Plot Axis Editor dialog box is opened by selecting the item Axis Editor... in the Update/Plot menu. This 5 pages dialog box, see FIGURE 44, provides a centralized access to all the parameters that can be modified in the Cartesian plot axis:


FIGURE 44 Plot Axis Editor

the first page (Scale) provides access to the axis quantity and range selection.
the second page (Axis Labels) provides access to the axis labels text and text type.
the third and fourth pages (Major Units - Minor Units) provides access to the grid line types.
the fifth page (Ticks Labels) provides access to the graduation numbers text type.

Input File Format


This chapter describes the file formats supported by CFView™. Two file formats are supported: 

The native file format
The FINE™ project file

This chapter is made of three sections corresponding to these formats. For the native format, the section is divided in 5 parts:

Create identification file,
Create boundary condition file,
Create unstructured cell connectivity (for unstructured meshes only),
Create geometry and quantity files,
CFView™ tools (please contact your NUMECA local sales or support office before using the provided tools).

The FINE™ file format is not described in details as this file is internal to the FINE™ package.
It is recommended to attentively read the section describing the Native File Format which introduces the input files and outlines their different types. The remaining sections provide the way to create these files.
White spaces should be avoided in the file name.

Commands Related to Mesh Representation
These commands are related to the active view. no action is performed if no view is active.

PostDefaultSurfaces()

Operation: adds the representation of the boundaries of the default surfaces. This command is performed when a new 2D or 3D view is opened.

GmtToggleBoundary(), GmtBoundaryVisibility(int b, [string name])

Associated menu item: Geometry / Boundary.
Operation (View Surfaces): toggles or sets visibility of the boundaries of surfaces. The b argument is interpreted as a Boolean value: if b=0, the boundary visibility is turned off, otherwise it is turned on. If a name is provided, the visibility of the specified surface is set, otherwise all the active surfaces boundaries visibility is set. There may be more than one name passed as argument.

GmtToggleBoundarySolid()

Associated menu item: Geometry / Solid Boundary.
Operation (View Solid Boundaries): toggles the visibility of the boundaries of the active surfaces having a solid boundary condition.

UpdateBoundaryLineType(LineType lineType)

Operation: sets the line type attributes for the boundary lines of the active surfaces (Description of Argument List for Some Standard Features for a description of the LineType argument).

GmtToggleGrid(), GmtGridVisibility(int b, [string name])

Associated menu item: Geometry / Grid.
Operation (View Grid Wireframe): toggles or sets the visibility of the grid (mesh wire frame) of surfaces. The b argument is interpreted as a Boolean value: if b=0, the grid visibility is turn off, otherwise it is turned on. If a name is provided, the visibility of the specified surface is set, otherwise the visibility off all the active surfaces is set. There may be more than one name passed as argument.

GmtScale(float sx, float sy, float sz)

Associated menu item: Geometry / Scale.
Operation: sets the scale of the current view in x, y, and z directions to sx, sy and sz.
Exceptions: Negative or zero scales will produce a ValueError.

GmtRepetitionToggle(), GmtRepetitionSet(int b)

Associated menu item: Geometry / Repetition on/off.
Operation (Graphics Repetition): toggles or sets repetition on domains having at least one active surface in the view. The argument b is interpreted as a Boolean value: if b=0, the repetition is disabled, otherwise it is enabled.

repetitionType GetMeshRepetitionType(), repetitionType GetDomainRepetitionType(int domId), repetitionType GetSurfaceRepetitionType(string name)

Operation: returns the repetition description associated to the current project, to the specified domain or to the specified surface. A domain is specified by its index, between 1 and the number of domains. A surface is specified by its name. The returned value is a variable list of parameters. The first parameter in the list indicates the repetition type:
0: no repetition. In that case the list does not include other parameters.
1: repetition by translation. The following parameters in the list are the 3 components of the translation vector, followed by the number of repetition.
2: repetition by rotation. The following parameters indicate the rotation angle in degree, then the three components of the point defining the rotation axis position and then the three components of the rotation axis direction.
3: repetition by mirroring. The following parameters are the three components of the point defining the mirror position followed by the three components of the normal to the mirror.

All components of vectors and positions are specified in Cartesian coordinates.
SetDomainRepetitionType(int domId, repetitionType type)

Operation (Graphics Repetition): sets the type of repetition for the specified domain (see previous command for a description of the arguments).
Exceptions: invalid domain index will produce a ValueError.

RepetitionCgnsSurfaces(string surfacename, int ntype, float p_1x, float p_1y, float p_1z, float v_1x, float v_1y, float v_1z, int nrepetition, int nperiodicity)

Associated menu item: Geometry / Repetition Settings.
Operation: sets the number of repetitions on surfaces that comes from the surface CGNS file. It takes the following arguments:
the name of a surface (surfacename) or 'all' 
an integer ntype indicating the type of the repetition (1: translation, 2: rotation, 3: mirror)
the 3 coordinates of a point (point)
the 3 coordinates of a vector (vector)
if translation or rotation, the number of repetitions (nrepetition)
if rotation, the number of periodicity (nperiodicity)

There can be a list of surfaces, each one followed by the above arguments.
GmtRepetitionNumber(int n)

Associated menu item: Geometry / Repetition Number.
Operation (Graphics Repetition): sets the number of repetitions on domains having at least one active surface in the view. The number of the arguments can be 1 (for all blocks/groups) or the number of groups (one number for one group)
Exceptions: zero number will produce a ValueError.

AddRprCellList, RprCellList, RemoveRprCellList(float sizeFactor, int domainIndex, int cellListSize, int cellIndex1, ..., int cellIndexn)

Associated menu item: Geometry/Cells
Operation (View Elements (Unstructured Meshes Only)): adds or removes cells representation; sizeFactor is the scaling factor applied to the cell representation; cellListSize is the number of cells respectively: added to the representation, represented, or removed from the representation, their indexes are contained in the remaining parameters: cellindex1,...cellIndexn.

ShowSelectedSurfacesNormal(string names)

Associated menu item: Right-click on selected surface
Operation: shows the normals on the surfaces defined by names

ReverseSelectedSurfacesNormal(string name)

Associated menu item: Right-click on selected surface
Operation: reverses the normals on the surfaces defined by names

RotateBlock (int blockIndex, float angle, float axis_x, float axis_y, float axis_z, float p_x, float p_y, float p_z) Rotates the specified mesh  together with the solutions (cutting planes, color contours, vectors, local values, etc.).
TranslateBlock (int blockIndex, float  vector_x, float vector_y, float vector_z) Translates the specified mesh  together with the solutions (cutting planes, color contours, vectors, local values, etc.).

 RotateBlock() and TranslateBlock() will not be applied on the streamlines and the Cartesian plots. 
It is recommended to use these commands RotateBlock() and TranslateBlock() after loading the project and before doing any representation.

RemoveSelectedSurfacesNormal(string name)

Associated menu item: Right-click on selected surface
Operation: removes the normals on the surfaces defined by names

Resize Cartesian Plot
If no element is selected in the Cartesian plot view, the popup menu raised by pressing the right mouse button contains the item Resize Curve Area. When this item is selected, a red rectangle is drawn with markers in the corners and in the middle of the sides and a specific message is displayed in the message bar.
To resize the curve area:

Move the cursor on the marker to move. When close to the marker, the cursor is changed to the resizing cursor symbol.
Press, drag and release with the left mouse button to resize the curve area.
To move the curve area, without modifying its size:
Move the cursor inside the curve area. The cursor is changed to the move cursor symbol.
Press, drag and release with the left mouse button to move the curve area.

When the curve area is moved or resized, the axes are automatically redrawn on its sides. 
To leave the resizing mode, click with the left mouse button or press the right mouse button.

Export Plot Curve(s) in File

CFView™ can export all the curves from a Cartesian plot or selected curves.
To save all the curves data in an ASCII file, select Curve Output... from the Update/Plot menu. To save only selected curves, first select them interactively (use <Ctrl> + left mouse button to select multiple curves), then press the right mouse button and select Export to File in the popup menu.
A file chooser is opened to specify the file directory and name. The data are saved as an ASCII file which contains one section per curve. A section in the file has the following format

a header line which contains:

the number of geometrical coordinates: 3,
followed by the number of quantities: 1, 
followed the number of curve points,
followed by the names of the quantities surrounded by '|' characters,

the content lines where each line contains

the X, Y and Z coordinates of one point (or Z and R coordinates and a "0" in case the Cartesian plot has been created from the meridional averaged view)
followed by the quantity values.


Example:
3 1 85 |Vx|
6.344958e-002 5.638292e-002 0.000000e+000 0.000000e+000
6.345011e-002 5.638186e-002 0.000000e+000 -7.162985e-006
...
In addition of the default file containing the quantity function of X, Y and Z, a new file will be automatically generated containing the ordinate function of the abscissa used in Cartesian plot ("usernameOrdinateFctOfAbscissa.dat")
A file containing a single section in this format can be directly loaded as a validation data (see Import Validation Data and Represent Validation Data). Note that files that are containing several curves must be split before being loaded as validation data.

Graphics Area

The graphics area is the part of the layout where all graphics objects appear. The graphics objects may be distributed in different windows called views in the CFView™ terminology. These views can be positioned arbitrarily in the graphics area and can also be moved, resized and iconised (see Multiple Views).
The selection as well as the drag and drop operations are directly connected to the mouse buttons and are explained below. As detailed in Active View, only one view at a time can be modified. The active view is highlighted by a red border. When the interactive mode is active, a describing message is present at the bottom of the graphics area.
The mouse buttons have the following function when the cursor is located inside the graphics area:

The left button (<1>) is used to select a point interactively.

If the interactive mode is not active, the functionality associated with the picking selects the object situated at the mouse location (see Update Representations).
If the interactive mode is active, it depends on the mode that is currently active in that view (for example: if the local value insertion is active, a click with the left mouse button will interpolate the local quantity value on the active surface intersected by the line passing through that point).



Middle button (<2>)
Used for dragging decoration text in view. It is also used for translation in the free rotation mode. On two mouse buttons computers, this is also accessible through the left button with the <Ctrl> key pressed.


Right button (<3>)

When one or several graphics objects are selected, pressing the right mouse button raises a contextual pop up menu providing access to the updating functionalities.
When the interactive mode is active, it allows to quit the interactive mode.

Troubleshooting

Unexpected termination of CFView™ may occur due to memory resources, network or graphics server problems or other problems. In case of unexpected termination CFView™ tries to save a script that allows, once CFView™ is restarted, to retrieve the visualization session at the point it was interrupted.
On Windows platforms, the script is saved in the user home directory under the name cfview_recover.py. On Windows the home directory is defined by the environment variable HOME. If this variable is not defined the home directory is set to the concatenation of HOMEDRIVE and HOMEPATH environment variables.
On Linux platforms, the script is saved in the .numeca subdirectory under the user home directory and with the name .cfview.recover.
To restart the session, CFView™ has to be restarted and the script has to be executed by selecting File/Macro/Execute... This opens a file chooser dialog box, in which the recovery file has to be selected.

Insert Colormap
The colormap is a color scale of the active quantity (for vector quantities, the magnitude of the quantity is displayed). It is posted automatically when a colored representation (isolines, color contours, vectors) is added. If posted, the colormap is also updated to the new quantity when the active quantity is changed.
Choose Colormap from the Representation menu to display it in the current view. This command acts as a toggle, select it again to remove the map from the current view.
The keyboard shortcut for Colormap is <Ctrl> + <r>.

Partial Loader
The partial loader is a useful tool to load part of the geometry and quantities instead of the complete project. This functionality reduces the CPU time and memory usage and is especially interesting for post-processing large projects. Moreover, unsteady projects can also be loaded with the selected time steps.

The tool is compatible with steady and unsteady data sets (both 3D domain and CGNS surfaces). If the project is unsteady, CFView™ searches for available time step files in the project directory and provides additional controls in order to allow the user to choose the first and the last time step as well as the interval between two consecutive time steps. The tool is also compatible with harmonic project, please refer to Reconstruction of Flow in Time/Space for more details of reconstruction in time/space.
Access this feature by selecting Open Project Selection… from the File menu or from the Open Project Selection() button in the CFView™ toolbar 
The keyboard shortcut for Open Project Selection… is <p>.
The data file can be selected from the pop-up file chooser window. Selection of the data file leads to the Partial Loader dialog box. Depending on the selection of a steady/unsteady project or a reconstructed harmonic solution in time/space, the dialog box is different.

When a steady project is selected, the Partial Loader dialog box appears as shown in FIGURE 6.


FIGURE 6 Partial Loader dialog box for a steady project

The left frame in the dialog box allows loading part of the geometry by selecting their corresponding check box among the existing geometries available in the data file.
The right frame in the dialog box allows loading part of the available quantities by selecting their corresponding check box among the existing quantities available in the data file.
Filter string input area allows to select or deselect the geometries by their name, if the Select or Unselect option is selected respectively. Type full or fractions of the name of the geometries need to be filtered and activate the Select or Unselect option as defined by the requirement and press <Enter>.
MG level allows users to select the coarser level of the loaded structured FINE™/Turbo solution. The default value is 0 and corresponds to no coarsening. Once the MG level is set, when clicking on Apply the coarsening is applied in each direction until the chosen MG level is reached or a non MG number of points is obtained on the given direction.


When loading a coarser level, as CFView™ is interpolating the quantity field from the data on the loaded grid, the plotted quantity field will also be coarser as presented in FIGURE 7


FIGURE 7 Plotted static pressure field on different grid levels

When an unsteady project (or a reconstructed harmonic solution in time) is selected, the Partial Loader dialog box as shown in FIGURE 8 appears. Two extra radio buttons are available for time step selection:

All Time Steps: load all the time steps available in the directory of the unsteady data file. 
The second radio button applies for selecting Initial and Final time steps along with an Interval between two consecutive time steps.




FIGURE 8 Partial Loader dialog box for an unsteady project
When opening projects that contain a snap file (*.snap) with irregular time steps, the input for the Interval will not be present anymore. It is not possible to skip some time steps in between the initial and final ones. 

When a reconstructed harmonic solution in space (clocking) is selected, the Partial Loader dialog box as shown in FIGURE 9 will appear. Two extra radio buttons are available for clocking positions selection:

All Clocking Positions: load all the clocking positions available in the directory of the data file. 
The second radio button applies for selecting First and Last clocking positions with an Interval between two consecutive positions.




FIGURE 9 Partial Loader dialog box for a harmonic reconstruction in space project

When a CGNS surfaces file is selected (the filter must be set to CGNS surfaces), the Partial Loader dialog box as shown in FIGURE 10 appears.
CFView™ supports structured surfaces and unstructured conformal surfaces (without hanging nodes). If surfaces including hanging nodes are loaded, cell borders of non conformal cells appear as surface border.
CFView™ reads data in single precision. If the CGNS surfaces file is written in double precision, CFView™ will read it and store the data in single precision.
When loading CGNS surfaces, there is no meaning to show or create derived quantities which are 3D domain quantities.


FIGURE 10 Partial loader dialog box for a CGNS surfaces file

The left frame in the dialog box allows to load part of the surfaces by selecting their corresponding check box among the existing surfaces available in the data file.
The right frame in the dialog box allows to load part of the available quantities by selecting their corresponding check box among the existing quantities available in the data file.
Filter string input area allows to select or deselect the surfaces by their name, if the Select or Unselect option is selected respectively. Type full or fractions of the name of the surfaces need to be filtered and activate the Select or Unselect option as defined by the requirement and press <Enter>.
If several time steps with the same base name are present in the directory, the user can choose to open steady case (Steady case) corresponding to the selected time step or to open unsteady case. In case of opening unsteady case, the second radio button applies for selecting Initial and Final time steps along with an Interval between two consecutive time step. If only one file is present in the directory, the choice between steady and unsteady is not available.

Edit, Save & Restore Defaults
What Are Defaults ?


Defaults are a convenient way of predefining attributes in the system according to the user preferences. In the current release of CFView™, 12 default attributes can be set:

The default view background type attributes.
The default text attributes.
The default axis text attributes.
The default colormap attributes.
The default grid line attributes.
The default surface boundaries line attributes.
The default section curve attributes.
The default node line attributes.
The default plot data curve attributes.
The default validation curve type attributes.
The default comparison curve type attributes.
The default local value attributes.
The default Plot3D file type.
The default range colors type.
The default derived quantity epsilon.
The default number of undo.
The default turbo settings for STM view creation.
The default NLH settings for spectral solution.
The default projects comparison tolerance.
The default limits of the loaded IGG™ curve used to create a cutting surface.
The default lightening on contour representation. Set to on by default for marine applications otherwise set to off
The default hiding of blanked cells significant for projects applying the overset grids.

All the attributes are editable through the dialog boxes which are opened by selecting the corresponding item in the Preferences menu.


Load Defaults from File

Choose Preferences/Load Defaults.... A file chooser appears in which the defaults file should be selected.
At start-up the system tries to load the personal defaults file. This file should be located in the subdirectory .numeca of the user's home directory and should be named .cfview.def.


Save Defaults to a File

Choose Preferences/Save Defaults.... A file chooser appears, it prompts for the name to give to the file. A valid CFView™ defaults file have the extension '.def 
At the end of the CFView™ session, the system checks if changes were brought to the defaults configuration. If changes occurred, the system will ask whether these changes should be saved or not.


Other User Preferences

A couple of preference parameters are not saved in the default files. These are detailed in the following sections.
Reverse Video
To swap the display background from white to black, choose Reverse Video from the Preferences pull down menu. This acts as a toggle: selecting a second time restores the initial background color.
This parameter can be set by the command line argument -reversevideo or by the REVERSEVIDEO environment variable.
The keyboard shortcut for Reverse Video is <w>.
AutoGrid
The AutoGrid item from the Preferences menu enables or disables an invisible grid on which the views corners are attracted when performing a move or a resize operation. It is turned on by default.
Face Displacement
The Face Displacement() item from the Preferences menu allows the user to modify the default value of the face displacement parameter. Valid range is 0 - 1. This parameter is used for improved rendering of the color contour (or shading) simultaneously with grid or iso-surfaces lines. The graphic display of the faces is moved slightly backwards to allow a proper rendering of the lines. 
The default value is 0.1. But this value can be set by the command line argument -facedisplacement or by the FACEDISPLACEMENT environment variable.

Turbomachinery Specific Features

This chapter provides a detailed description of the functionalities specific to turbomachinery applications. It is divided in 5 sections:

visualization in blade to blade coordinates,
computing a meridional view by azimuthal averaging,
the TurboMachinery mode.
the NLH post-processing.
the TurboWizard module.

Select Vector Component
For each of the vector fields, each submenu of Quantity/Field Data/Vector Components contains a set of vector components that can be obtained from the vector. Based on the vector field name, a naming convention is applied automatically.
For a vector name having a name suffix "xyz", the "xyz" suffix is suppressed before the component name is formed. Then a suffix letter is added or the quantity name is used to compose the component name.
e.g.: if Vxyz is present, the proposed vector components are 

Cartesian components: Vx, Vy, Vz,
magnitude V = ,
radial, tangential and meridional components with respect to the z axis: ,  and  where x and y are the local geometrical coordinates,
flow angle:  in 3D and  in 2D.

Quick Access Pad (QAP)

The Quick Access Pad is located on the left side of the user interface and contains icons and lists providing direct access to commonly used functions in CFView™. It is divided in three main parts:

The Surfaces subpanel provides easy ways to select and to create surfaces (see Select Surfaces).
The Quantities subpanel displays the list of available quantities. It allows to select and to create quantities (see Select & Create Flow Quantities).
The Representations subpanel provides icons for creating representations and for the computation of surface integrals (see Flow Quantities Visualization).

Each subpanel may be closed and reopened by clicking on its header. 
The width of the Quick Access Pad may be augmented or narrowed by clicking and dragging the square button situated on the right side of the Surfaces subpanel header.
The height of the Surfaces and Quantities subpanels may be increased or decreased by clicking and dragging the square buttons situated at the bottom right of the subpanels.

NLH Post-processing

CFView™ provides the user the ability to postprocess harmonic simulations: either reconstruct the whole flow field in time/space or reconstruct the flow at a local point and perform a spectral analysis.

Split Surfaces
This option extracts a portion of active surfaces delimited by two planes. A new dialog box is available from the menu Geometry/Split Surface....
The dialog box is similar to the one for the cutting plane (see Create Cutting Plane) but in this case, the plane settings are duplicated in order to control both planes at the same time. 
When the Save button is pressed, a new surface is created that is the portion of all active surfaces included between the two planes.
The green lines show the surface normals pointing to the direction excluding the surface portions in order to avoid the two normals overlay and provide therefore more visibility. This is available in Cartesian coordinates as well as in cylindrical or STM coordinates that allows for example to extract surfaces included between two span values.

Description of Argument List for Some Standard Features

Color: float h, float s, float v
 A color is described in the HSV (Chroma) model (Hue, Saturation, Value) by the parameter triplet: float h, float s, float v; with 0 < h < 360, 0 < s < v and 0 < v < 1. Some examples are black (0,0,0), white (0,0,1), red (0,1,1), yellow (60,1,1), green (120,1,1), cyan (180,1,1), blue (240,1,1) and magenta (300,1,1).
TextType: int fontType, int fontSize, int horzAlignement, int vertAlignement, float px, float py, float pz, float spacing, int rotation, Color c
int fontType (value between 0 and 10): roman (0), sans serif (1), typewriter (2), stroked (3), system default(4), newfield (5), enfield (6), brooktondale(7), kuma (8), times (9) or arial (10);
int horizontalAlignement, int verticalAlignement (value between 0 and 2): center (0), left or upper (1) and right or lower (2);
float px, float py, float pz coordinates of the vector indicating the text path.
float spacing: specified in character height;
int rotation (value between 0 and 4): follow path (0), right (1), down (2), left (3) or up (4).
LineType: Color c, int pattern, int endCap, int lineJoin, int visibility, float width (Line Type Editor)
int pattern (value between 0 and 8): solid (0), simple dashed (1), dotted (2), dashes and dots alternating (3), dashes and double dots alternating (4), dashes and triple dots alternating (5), long dashes (6), very long dashes and short dashes alternating (7) and very long dash and double short dashes alternating (8),
int endCap (value between 0 and 2): "butt" line end-cap (0), "square" line end-cap (1) and "round" line end-cap (2),
int lineJoin (with value between 0 and 2): "mitre" line join (0), "bevel" line join (1), "round" line join (2),
int visibility: with value 0 (not visible) or 1 (visible).
MarkerType: Color c, int light, float size, int symbol, int filled, int visibility (Marker Type Editor)
int light: with lighting (1) or without lighting (0),
int symbol (with value between 0 and 10): star (0), times (1), plus (2), dot (3), box (4), circle (5), diamond (6), up triangle (7), down triangle (8), left triangle (9), right triangle (10).
int filled: filled symbol (1) or not (0)
CurveType: LineType l, MarkerType m
Curve Type description is a juxtaposition of a line type description and a marker type description
DoubleFormat: int sign, int exponent, int accuracy (Numbers Format Editor) int sign: number are signed (1) or not (0), 
int exponent: scientific notation is used when necessary (0), always (1) or never (2),
int accuracy: number of significant digits.

Project Management

In this section it is described how to open and close a project and which type of data sets are supported by CFView™.
The data related to the current computation is loaded automatically when CFView™ is opened through the FINE™ GUI environment. Furthermore (additional) projects may be opened by selecting in CFView™ File/Open Project... and selecting a data file in the file chooser. The available file types depend on the selected type of output for the computation. In Supported File Formats, the file formats that can be opened by CFView™ are listed.
When starting CFView™ with a command line in a shell the -project command line argument may be used to load a specific data file (see Advanced Options). If the command line argument -loaddata is used, the project loading may be restricted to the geometry only or to the geometry with a user defined subset of flow fields (see Advanced Options, for further details).
A project can also be opened through File/Open Project Selection.... It allows the user to partially load the geometries and quantities of the project, or to open unsteady projects or to reconstruct unsteady solutions or clocking positions from harmonic solution. See Partial Loader.
The data loading process is completed when the messages "Reading..." have disappeared. When the reading operation is completed, CFView™ opens a new view and automatically displays the boundaries of the solid surface(s) of the geometry. This view becomes active and all following actions are related to this view. From that moment the system is ready for the visualization session and the control of the system is accomplished through the use of the menu items, the Quick Access Pad or through the graphics area itself. The name of the project is indicated on the upper part of the CFView™ session.
To open a project, the user must have the read permission on the file and the execute permission on the whole directory path where the project related files are located.

Commands Related to NLH Post Processing

HarmoSelection(string list1, string list2, ...),

Associated menu item: Representation / NLH / Harmonic selection.
Operation (Harmonics Selection): selects harmonics used to NLH post processing. It takes a number of arguments equal to the number of groups, and each argument is a string that can be either "all", "none" or a list of numbers in the format "1-3 5 8-11" indicating that the harmonics 1 to 3, 5 and 8 to 11 are selected.

ScalarPlotInTime(int n, float p_1x, float p_1y, float p_1z, int ns, float internal)

Associated menu item: Representation / NLH / Local Time Evolution.
Operation (Local Time Evolution): plots local time evolution. The first argument is 1 or 0 according to the fact that the point is attached to the mesh or not. The next three arguments are the coordinates of the points. The fifth argument is the number of time steps and the sixth argument is the time interval. The last two arguments are optional.

LocalSpectrum(int n, float p_1x, float p_1y, float p_1z)

Associated menu item: Representation / NLH / Local Spectrum.
Operation (Local Spectrum): plots local spectrum. The first parameter sets that the observer is attaching to the mesh (1) or detaching to the mesh (0). The following three arguments are the coordinates of the observer. It returns the name of the view containing the spectrum.

GetLocalSpectrum( float p_1x, float p_1y, float p_1z,  float Rotationspeed)

Operation: returns the local spectrum. The first three arguments are the coordinates of the point. The fourth argument is the rotation speed. It returns a list:
the first element is the number of frequencies in the spectrum,
the second element is the list of the frequencies of the spectrum, 
the third element is the list of the amplitudes (in dB values if the logarithmic scale was chosen in the preferences, in the quantity units otherwise),
the fourth and fifth elements are the real and imaginary parts of the spectrum respectively.

float GetRotationSpeed(int blockId)

Operation: returns the rotation speed of the specified block. The units of the return values are in RPM.

float GetHarmonicFrequencies(int blockId)

Operation: returns a list of number, the first one being the number of harmonic frequencies and is followed by the frequency values. The units of the return values are in Hz.

float GetSpatialModes(int blockId)

Operation: returns a list of number, the first one being the number of spatial modes and is followed by the mode values.

float GetInterBladePhaseAngles(int blockId)

Operation: returns a list of number, the first one being the number of the inter blade phase angles and is followed by their values.

string CircularArc(float p_1x, float p_1y, float p_1z)

Associated menu item: Representation / NLH / Circular.
Operation: returns the name of the circular arc created.

DeleteCircularArc(string name1, string name2, ...)

Associated menu item: Delete in the menu when clicking-right on circular arc.
Operation: deletes the specified circular arc. Its arguments are a list of circular arc names.

UpdateCircularArcQnt(string name1, string name2, ...)

Associated menu item: Update Quantity in the menu when clicking-right on circular arc.
Operation: updates the quantity once the active quantity has changed. Its arguments are a list of circular arc names.

CircularArcCartPlot(string name1, string name2, ...)

Associated menu item: Cartesian Plot in the menu when clicking-right on circular arc.
Operation: get a Cartesian Plot of the selected quantity. Its arguments are a list of circular arc names.

SpectralAnalysis(string arcname, float theta, int Kmax, float rotationspeed)

Associated menu item: Spectral Analysis in the menu when clicking-right on circular arc.
Operation: performs a spectral analysis at a point on the circular arc. Its arguments are the circular arc name followed by the theta, the Kmax and the rotation speed.

Python Language Overview
This section provides a brief overview of the basic features of the Python language. Interested readers are recommended to consult the tutorial documents or the systematic description of the language available on the Python web site (http://www.python.org).
Python is a real programming language, offering support for structured and object-oriented programming together with a very high level of error checking and a lot of native features such as lists, arrays, predefined mathematical functions and constants,...
Scripts are evaluated line by line. However, line evaluation continues on the next line if the character '\' is the last character of the line.
The character "\" in a string will lead to tab character when combined with "t" ("\t") and to carriage return when combined with "n" ("\n"). Instead of writing "\", "\\" has to be used.
Adding Commented Lines

The '#' character specifies that the rest of the line is a comment and will be skipped while the macro is executed.


Support for Mathematical Operations


the operators +, -, * and / are defined,
parenthesis can be used and nested to any level,
functions abs(x), int(x), floor(x), ceil(x) and sqrt(x) for square root are available,
trigonometric functions sin(x), cos(x), tan(x), acos(x), asin(x), atan(x) are available, atan2(y,x) returns atan(y/x),
logarithmic functions log(x) for neperian logarithm, log10(x) for base 10 logarithm, exp(x), sinh(x), cosh(x), tanh(x), asinh(x), acosh(x) are available, 
x to the power y is obtained by the function 'pow(x,y)',
boolean values are returned by the operators > (larger than), < (less than), <= (less or equal than), >= (larger or equal than), == (equal to), != (different from), and, or
the constants pi and e are predefined.

The mathematical operations supported in the Python language are different from those available for the definition of derived quantities (see Create Derived Quantity for a description of mathematical operations supported in derived quantities definition)


String Handling

Strings are handled in the following way:

they are enclosed in single <'> or double <"> quotes,
concatenation is obtained with the operator + (e.g. 'cut'+'plane' gives 'cutplane'),
duplication is obtained by the multiplication by an integer, the operator * (e.g. 'enter'*2 gives 'enterenter'),
access to the ith element is obtained by the suffix '[i]' and access to a substring is obtained by the suffix [i:j] for a substring starting from the ith character up to the jth one (e.g. if s contains 'cut', s[0] is 'c' and s[1:2] is 'ut') 
numerical values contained in variables can be inserted in a string by enclosing the variable name with reverse quotes (') or by using a formatting specification:s = 'The Value of x is' +'x's = 'The Value of x is %3d' %(x)

    The formatting symbols are interpreted as follows (see Macro Script Examples for examples):

%d formats in an integral value (rounded if necessary),
%nd (where n is an integer) in an integral value having a length of exactly n characters (space characters are inserted on the left if necessary),
%n.mf (where n and m are integers and n>m) formats into a floating point value having at most n characters length and a fractional part of m characters exactly,
%n.me(where n and m are integers and n>m) formats into a scientific representation having at most n characters length and a fractional part of m characters exactly.

Stripping of the leading or trailing white spaces is obtained by the function strip ( strip('  cut plane  ') gives 'cut plane').


Lists Handling

A list is an ordered set of items.

A list is defined by enclosing the comma separated items by square brackets. A list may be empty.
my_list = [a,b]
       empty_list = []
	Note that a list definition can be extended over several lines without the '\' terminating character.


An item is accessed by adding the suffix [i] to the list name (ex: my_list[1]). Note that list indices start at 0.
Lists can be nested to any level (e.g. [[a,b],[c,d,e]] is a list made of 2 lists).
Appending is obtained by the operator + (ex: my_list + my_list2) or by the function append (ex:my_list.append([c, d])).
Multiplication (appending oneself n times) is obtained by the multiplication operator (ex: my_list*3).
The functions insert(index, value) inserts value at position index, the elements at upper position are shifted. 
The function index(value) returns the index of the first item whose value is value.
The function remove(value) removes the first item whose value is value.
The functions sort(), reverse() and len() are, respectively, sorting, reversing the elements and returning the number of elements in the list.



Program Flow Control: Conditional & Loop Statements 

In Python, different kinds of flow control statements are available: the conditional if, elif statements, and the for and while loop statements.
These instructions start by a specific control line terminated by colon. The body part (that is, the set of statements depending on the control statement) is defined by the indented lines that are following the control line. The indentation can be marked by a <TAB> or by white space characters. The end of the loop body is marked by the first line which is not indented. Nested statements are obtained by heading lines with successive levels of indentation.

if statement:   if x < 0 :                      print 'x is negative'        elif  x==0 :                     print 'x is null'        else :                     print 'x is positive'elif and else clauses may be omitted. A value of 1 is equivalent to true and a value of 0 is equivalent to false


loop statements: the for loop iterates on the elements of a list and the while loop iterates as long as the condition is met. A break statement may be inserted to step out of the loop. In the following examples the statement, "for x in a[:]:" means: for each element of the list a. for x in a[:]:       for x in range(0,10) :       while x>0 :where the range function returns a list of integers starting from the first argument value to the second argument value with a step indicated by the third argument if existing (default value is 1).

When creating manually a macro including a loop for example on grid points, each time "ProbeIJK" or "QntFieldScalar" is called, a line is added to the character string that is used for generating the file when saving the macro. Consequently, this string becomes huge, uses a lot of memory and its management a lot of CPU. The best practice is to record a macro "loop.py" including the loop only and to use the MacroExecute command calling the macro "loop.py" in a second macro. The MacroExecute suspends the record of the operation and is thus not adding any line.


Function Definition

Function definition starts with the standard header 
def function_name (arg1, arg2, arg3 = default_value, ...) :
where def is a reserved keyword. The arguments can be of any type (it is a user responsibility to provide meaningful ones) and last arguments may have a default value (as arg3 in the above example).
Each line of the function's body is indented with a <TAB> character. The function definition ends with the first line which is not indented by a <TAB> character.
All arguments are passed by value. When arguments are passed by value to a function, even if the values of the arguments are modified inside the function, the values of the arguments, seen from the main program or the calling function, are not modified by the execution of the function. 
A returned value may be specified using the 'return' statement followed by the name of the variable or by a value. In any case, a value is returned and not a reference on a local variable or object. The type of the returned value is a list, this means that appending a new element in the returned list is obtained by the statement 'return.append(x)'.
Global scope variables can be accessed if they are declared as such by a statement 'global' (e.g. 'global x' specifies that the x variable is a global variable for the current function). The global variable lifetime is not limited to the present scope.


File Handling

Files can be opened for reading and writing. A file is associated to a variable, that is initialized at its opening:
f = open(fileName, mode, bufferSize) 
where fileName is the full file name including its path and f is a variable that is used to handle the file operation. The parameter mode is a character string whose value may be: 

'r' or 'rb': file opened for reading, 
'w' or 'wb': file opened for writing, creates it if not existing or the previous content is discarded, 
'a' or 'ab': file opened for appending, creates if not existing or writes at the end of the file.

The 'b' character is used only on Windows systems to indicate that the file is in binary mode, on a Linux system, it is neglected. The parameter bufferSize is the integer value of the size of the buffer. The system default size is chosen if the value is negative. The file is opened in the unbuffered mode if the value is 0, a value of 1 specifies a line-buffered mode.
On the Windows platforms, file names may be specified with the \ or the / separator. Note that to include a \ character in a string, it must be prefixed by a \. So a file name may be 
'C:\\my documents\\my script.py'
or
'C:/my documents/my script.py'
The following functions can be used to handle the file content:

f.close(): close file,
f.flush(): flush file's internal buffer,
f.read(n): read at most n bytes from the file and return them as a string. if n is omitted, read up to the end of the file,
f.readline(): read one entire line, 
f.readlines():read until the end of the file and return a list of lines,
f.seek(offset, whence=0): set file's position, if whence =0 or is omitted, offset is the absolute position, if whence=1 offset is relative to the current position and if whence = 2, offset is relative to the file end,
f.tell(): returns file current position,
f.write(string) write string to file (f.write(string+'\n') is writing the string content on a line). 



Execute Python Script from another Python Script

The command execfile starts the execution of a Python script from another Python script. E.g:
execfile("macro1.py")
This command starts the execution of the script file named macro1.py.
In order to use a macro with arguments, an intermediate script like the following needs to be used:
CFViewBackward(811)
import sys
sys.argv = ["arg1", "arg2"]
execfile("Y:/users/tmp/test_script.py")
where test_script.py is the macro that the user wants to execute and "arg1" and "arg2" are the arguments needed for it to run.


Create & Use Modules (Library of Functions)

The Python language provides the concept of module for grouping a set of functions in a same file. The module name is the name of the file containing the functions.
The functions can be made available into a script in a similar way as the large set of utility functions provided with CFView™. If a set of functions is defined in a file called MyModule.py, and the file is located in the directory /people/myself/cfview_scripts, they can be made available in another script through the following instructions:
sys.path.append('/people/myself/cfview_scripts')
this declares to the system that some Python files are available in that directory. Then, two different ways can be used to import the functions:
from MyModule import *
or
import MyModule
The first one sets all the functions defined in MyModule directly available, while the second form makes them available with the MyModule. prefix (e.g. if a function f is defined in MyModule, it is invoked by the command MyModule.f()).
The standard Python modules may be imported with both of the above mentioned forms. The directory declaration is not necessary.
It is also possible to load a macro using the following macro command:
MacroModuleLoad(string FileName)

The standard CFView™ macro commands are part of the module CFView, when they are used in another module, they have to be imported (from CFView™ import *).
Limitation: it is not allowed to load 2 modules with the same name.

Commands Related to Additional Views Creation
Most of the commands listed in this section are returning the name of the created view. This feature allows to handle multiple views in a macro script. As an example, the following script opens a first project. then a second one, and finally selects the view associated to the first project:
vp1 = FileOpenProject( ... )
#Opens a first project and stores in vp1 the name of the view associated to the project.
vp2 = FileOpenProject( ... )
#Opens another project and stores in vp2 the name of the view associated to this second project. The active view is now vp2.
ViewActivate(vp1)
#Re-selects the view associated to the first opened project. Any further command applies now to the first project.

string ViewOpen(double xmin, double xmax, double ymin, double ymax)

Associated menu item: Window/Open Cartesian.
Operation (Multiple Views): opens a new view of the current project at position (xmin, xmax, ymin, ymax). Returns the name of the view created. The upper right corner of the graphics area is (1, 1) and the lower left (-1, -1).
Exceptions: raises an Attribute Error if there is no current project.

string ViewOpenRTZ(double xmin, double xmax, double ymin, double ymax)

Associated menu item: Window / Open Cylindrical.
Operation (Multiple Views): opens a new view of the current project at position (xmin, xmax, ymin, ymax) in the cylindrical coordinate system. Returns name of the view created. The upper right corner of the graphics area is (1, 1) and the lower left (-1, -1).
Exceptions: raises an Attribute Error if there is no current project.

string ViewOpenSTM(double xmin, double xmax, double ymin, double ymax)

Associated menu item: Window / Open Blade to Blade.
Operation (Open Blade to Blade View): Opens a new view of the current project at position (xmin, xmax, ymin, ymax) in the STM coordinate system. Returns name of the view created. The upper right corner of the graphical area is (1, 1) and the lower left (-1, -1)
Exceptions: raises an Attribute Error if there is no current project.

Flat Shading
To show the active surfaces in a solid model with one color assigned to each cell according to light position and cell surface normal, choose Flat from the Render/Shading menu. This item acts as a toggle: select it a second time or select Render/Render Off to turn off flat shading.
The keyboard shortcut for Render/Shading/Flat is <Shift> + <f>.

Mesh Identification
The mesh identification gives general information on the mesh geometry and specifies the Geometry and Quantity file names for field data and surface data. It consists of 4 general specifications, 1 field data and 1 surface data specification.
General Specifications

These are:	

The dimension:2D3D
The type:STRUCTUREDUNSTRUCTUREDHEXANS
The coordinate system:CARTESIAN
The kind of repetition:NONETRANSLATIONROTATIONMIRROR

The specifications have to be written on one character string in the above order. You can input 2D projects by specifying the dimension parameter as 2D. For example, a three dimensional structured mesh in a Cartesian coordinate system without repetition is specified as follows:
3D  STRUCTURED  CARTESIAN  NONE
With repetition option, it is possible to translate, rotate or mirror the complete mesh geometry specifying:

The translation vector, mirror plane point or rotation axis point.
The mirror plane normal or rotation axis direction.
The rotation angle in degrees.

For example, the translation in y direction (0,1,0) has the following input:
3D  STRUCTURED  CARTESIAN  TRANSLATION  0. 1. 0.
For example, the rotation around the axis parallel with Z axis, passing through the point (2,2,2), and with an angle of 90 degrees has the following input:
3D  STRUCTURED  CARTESIAN  ROTATION  2. 2. 2. 0. 0. 1.  90
The mirror example, with the Y plane specified as mirror plane has the following input:
3D  STRUCTURED  CARTESIAN  MIRROR  0. 0. 0. 0. 1. 0.
The repetition of the geometry when using ROTATION type is only working with 3D projects.


Field Data Specification

The field data specification consists of field data names. Field data are scalars and/or vectors and are defined for each domain. The only restriction is that the scalar quantities have to be entered before the vector quantities. The input consists of the number of scalar quantities followed by the names of these quantities. These names must be surrounded by || (e.g.: |density|). The names cannot contain any of the following characters: |, [ or ]. The same has to be repeated for the vector quantities.
For example, when specifying three scalars (density, entropy, and Mach number) and two vectors (velocity and vorticity), the input is:
3
   |density|   |mach number|   |entropy|
2
   |velocity|   |vorticity|


Surface Data Specification

The surface data specification consists of surface data names. They represent the quantities confined on solid surfaces such as the heat transfer coefficient. The input consists of the number of scalar quantities followed by the names of these quantities. These names must be surrounded by || (e.g.: |density|). The same has to be repeated for the vector quantities. The only restriction is that the scalar quantities have to be entered before the vector quantities.
For example, if surface data consists of one scalar (heat transfer coefficient) and one vector quantity (the surface stress), the input is:
1
   |heat transfer coefficient|
1
   |surface stress|
A mesh geometry without surface data can also be considered. In this case the number of quantities are set to zero and the lines containing the quantity names are not present.

Create Iso-surfaces

An iso-surface is a 3D surface where a scalar flow quantity is constant. CFView™ is able to display such surfaces (see Iso-Surfaces), but it is also possible to save the surface and introduce it in the project surfaces list as an unstructured surface. In order to do so, a two step process must be followed:
Compute Iso-surface


Select a scalar quantity in the Quantities subpanel or in the Quantity menu.
Choose Iso-Surface from the Representation pull down menu or press the  button in the Representations / Contours & Iso Values subpanel.
Choose the iso-surface value by using one of the following possibilities:

	move the mouse to the keyboard input area, enter a single value (included between the maximum and the minimum of the quantity) and press <Enter>.
	with the mouse in the colormap: move the mouse to the colormap (by default on the right side of the graphics area) and click at a level which represents the value.
	with the mouse on an active surface: move the mouse over an active surface, click at the location where the iso-surface is going to intersect the surface. An iso-surface with the active quantity value at that location is displayed.


Each new input for the iso-surface value removes the previous iso-surface and displays the new one. In the information output area, the iso-surface volumes below and over the iso-surface value are displayed.



Iso-surface generation involves scanning the complete computational volume and is computationally intensive on large meshes. 


FIGURE 11 Iso surface of constant mass fraction around a boat


Save Iso-surface

Once an iso-surface has been created, it can be saved for further manipulations. To save an iso-surface, choose Iso-Surface Save from the Representation menu or click a second time on the iso-surface button  .
The surface name appears in the Surfaces subpanel and in the Select Surfacesdialog box, so that it can be activated and any flow field representations can be added on it.

Interactive Surface Selection
This functionality allows to interactively select or unselect visible surfaces in the active view. A surface is visible when one of the following representations is displayed for that surface:

boundaries,
mesh wireframe,
hidden line rendering,
solid or flat shading,
color contour (flat or striped),
vector representation.

To interactively select surfaces in the active view:

highlight surfaces:

To highlight one surface, move the mouse to the desired surface, then left-click on it.
To highlight multiple surfaces, keep <Ctrl> pressed, move the mouse to the desired surfaces and left-click one by one.
To highlight one group of surfaces, keep <Shift> pressed, move the mouse to the one surface of the desired group and left-click on it.
To highlight multiple groups of surfaces, keep <Shift> and <Ctrl> pressed, move the mouse to the one surface of the desired group and left-click on it, repeat to highlight multiple groups.

The group means all the blocks that are separated by two adjacent R/S interfaces or all the blocks between inlet/outlet and the first/last R/S interface.
It should be noted that when a surface has no representation, the user has to select the surface by clicking on the boundaries.
operate the highlighted surfaces:

Right-click on the highlighted surfaces, choose the menu Select to select only the highlighted surfaces.
Right-click on the highlighted surfaces, choose the menu Add to Selection to add the highlighted surfaces to the current selected surface lists.
Right-click on the highlighted surfaces, choose the menu Remove from Selection to remove the highlighted surfaces from the current selected surface lists.

Select Field Quantity

To select a quantity in the Quantities subpanel, double click on the quantity name. A  marker is inserted on the left of the selected quantity name.


To select a quantity from the Quantity menu, choose Quantity/Field Data/Basic Quantities. This menu contains a list of all scalar and vector fields that are present in the project. Then, select one of them.


FIGURE 1 Quantity Selection Menu


After the selection, CFView™ displays the active quantity name in the lower left corner, with the minimum and maximum values and, if available, its units label.
The active quantity can always be replaced by another for further analysis. All the graphical objects related to the previous quantity representation remain in the view.

Python CFView™ Module
All the CFView™ commands can be accessed from the python shell using python CFView™ modules. Using this module, CFView™ macro execution and debugging can be done in python shell. Though the Python CFView™ module can be loaded from any python debugger, it has only been tested with the debugger provided with the standard Python distribution, i.e. pdb. This functionality is available on  Windows 64 bit and Linux 64 bit environment.
 Testing is done with IDLE python editor. IDLE is default python editor which comes with Python 2.x distribution.
Using Python CFView™ Module on Linux

The user can launch Python CFView™ module using the following command:
cfview_version -pdb <macro.py> (optional)  <-trace_pdb> (optional)
The "-pdb" argument tells numeca_start_version to launch Python and to load Python CFView™ module instead of the CFView™ executable. 
In order to start CFView™ with the "-pdb" argument, the following commands are required:
CFView_args = ['-driver', 'x11', '-interactivegui']

InitCFView(*CFView_args)

If an optional CFView™ macro "macro.py" is provided in command line argument, this will execute the macro from the Python shell. The user has to provide complete path of the CFView™ macro. The optional command line argument "-trace_pdb" executes the CFView™ macro in Python debugger mode. In Python debugger mode the macro is executed in steps. For information on using the Python debugger, please read pdb module in Python documentation on web.
When specific modules (i.e. wxpython) cannot be imported in the integrated CFView™ Python interpreter, CFView™ can now be launched in interactive mode with the argument "-interactivegui" from a standard Python interpreter supporting these specific modules.
Only modules compiled with the same Python version (v2.7.12) than the one provided in the package and the one with which the CFView™ Python module is compiled can be used. For example, user cannot load a module compiled with v2.6 or v3.0 with a Python interpreter v2.7.


Using Python CFView™ Module on Windows

In order to use Python CFView™ module under Windows the user has to define environmental variables before launching Python, this can be done for example with following batch file: 
set NUMECA_DIR=C:\NUMECA_SOFTWARE\fine_some_version
set Path=C:\NUMECA_SOFTWARE\fine_some_version\bin64
set PY_EXE=path to python executable
set DEBUG_MACRO=macro_to_debug.py
set PDB_SET_TRACE=TRUE
%PY_DIR%\python.exe %PY_DIR%\Lib\idlelib\idle.py -c "execfile('%NUMECA_DIR%\_python\_CFView\load_cfview.py')"
The DEBUG_MACRO and PDB_SET_TRACE lines are optional. On the execution of the batch file, Python Idle prompt is open. Use command "debug_cfview()" in IDLE Python shell for executing the macro. The argument "set PDB_SET_TRACE=TRUE" executes the macro in debugger mode.
When specific modules (i.e. wxpython) cannot be imported in the integrated CFView™ Python interpreter, CFView™ can now be launched in interactive mode with the argument "-interactivegui" from a standard Python interpreter supporting these specific modules. This can be done for example with following batch file:
set NUMECA_DIR=C:\NUMECA_SOFTWARE\fine_some_version
%NUMECA_DIR%\python64\python.exe %NUMECA_DIR%\_python\_CFView\load_cfview.py -interactivegui
Only modules compiled with the same Python version (v2.7.12) than the one provided in the package and the one with which the CFView™ Python module is compiled can be used. For example, user cannot load a module compiled with v2.6 or v3.0 with a Python interpreter v2.7.

Surface Selection using Macro


FIGURE 3 Cutting plane in a O-topology leads to two non-connected areas
When the surface generated is composed of non connected areas, a macro can be used to select one of the non connected areas that are by default saved in the list of surfaces under one unique surface. For example, if a cutting plane is used to create a new surface in a O-topology, two non connected areas are created and saved under a unique surface in the list (see FIGURE 3).
In order to select only one area of the surface, the following command can be used within a macro:
LimitedCutPlaneSave(x,y,z,nx,ny,nz)
where x, y, z are the coordinates of a point belonging to the requested area of the cutting plane and nx, ny, nz are the plane normal.
For example, if the area of the top of the blade is required, a macro file containing the command "LimitedCutPlaneSave(0.25,0.01,0.004,0,0,1)" will select the area of a cutting plane normal to the z axis and that is containing the point (0.25,0.01,0.004) as illustrated in FIGURE 4.


FIGURE 4 Macro to select area of a cutting plane

Commands for Computing Integrals Along Curves

float / [float, float, float] CurveSegmentIntegral(float p1x, float p1y, float p1z, float p2x, float p2y, float p2z, float dx, float dy, float dz)

Associated menu item: Representation / Curve Integral.
Operation: first, the two intersection points between the surface and the two lines defined by (p1, direction) and (p2,direction) are computed. If no intersection points, the integral is computed along the curves defined by the intersection of the active surfaces and the plane containing the points (p1x,p1y,p1z) and (p2x,p2y,p2z) and parallel to the direction (dx, dy, dz). If the current equation (defined by the SetProjectEquation command) is a scalar, the integral is  where eq is the equation. If the current equation corresponds to a vectorial expression, the integral is . If intersection points are found, the integral is computed along the curves on the active surface limited by these intersection points.

SetProjectEquation(int mode, string name, string definition [,string definition2, string definition3])

Associated menu item: Representation / Curve Integral.
Operation: defines a new equation for the integration along curves. The parameter 'mode' specifies the new equation type: 0 for a scalar, 1 for a vector with a definition expressed as a combination of vectorial quantities or 2 for a vector with a definition specified component by component. If 'mode' has a value of 2, the parameters 'definiton2' and 'definition3' must be present, otherwise they can be omitted. 5 lets CFView™ decides what type of data it is.

What are Surfaces in CFView™?
This section describes the various types of surfaces and the concept of active and inactive surfaces.
The surface concept of CFView™ is of great importance. CFView™ allows to visualize 3D data sets by the definition of surfaces on which the data can be analysed. This means that most of the representations used to analyse scalar or vector fields are applied to surfaces.
Surfaces Types

CFView™ makes a distinction between:

Structured surfaces that are related to structured meshes. In 3D structured meshes, they correspond to constant I, J, K mesh surfaces or to boundary patches. In the case of 2D structured data sets, the computational domain is made of one or several structured surfaces.
Unstructured surfaces that result from computations inside the computational domains, such as iso-surfaces, arbitrary cutting planes, and that are defined by their nodes and cells. They correspond to boundary patches in 3D unstructured grids.

When the user opens a project file, some surfaces are automatically represented in CFView™. These surfaces are:

for 2D projects	:	all the (2D) domains.
for 3D projects	:	only the solid boundaries patches, if existing; otherwise all the boundary patches defined in the data set.



Activation/Selection of Surfaces

CFView™ defines an activation state for each surface. Surfaces have two possible states:

Active	:	when requested, surface representations, rendering or flow quantities representations are applied to the surface. Surface integrals are computed on the set of active surfaces.
Inactive	:	they may be present on the screen but are not affected by the user's requests.

The surfaces status is displayed in the Surfaces subpanel in the Quick Access Pad. After the creation of new surfaces, they automatically become active. The active-inactive status of the surfaces can be modified at any time in different ways:

with the Surfaces subpanel from the Quick Access Pad (see Select Surfaces),
with the Geometry/Select Surfaces... menu (refer to From Geometry Menu),
interactively with the mouse (see Interactive Surface Selection).

The set of the active surfaces is also called the surface selection.


Project Surfaces List

Each project has a list of surfaces. They are available in all the views related to the project. Each surface has a unique name.
If a project is visualized in more than one view, all the surfaces of that project can be accessed and manipulated in all of them. Consequently, all surfaces existing inside a view are accessible from all the other views. However, the surface manipulations are independent in each view. An operation performed on a surface in a given view does not affect this surface in the other views. The surface state may be different for every view.
As an example, if a cutting surface is defined in a cylindrical coordinates view, the same cut may be viewed in a Cartesian coordinates view, where it will be a cylinder or a cone.


Surfaces Groups

The surfaces may be grouped. Groups may have various origins: 

groups defined in the FINE™ GUI (version 5 or higher).
groups formed at project opening by CFView™. This automatic grouping is performed in projects that are not created by FINE™ GUI or that are not in a format supporting the group description. These groups are made of surfaces having an identical boundary condition type and which are "in continuity" with each other.
when cutting planes are crossing several domains, a group is created automatically and the created surfaces are placed inside.

A group of surfaces is handled in the same way as a surface: all operations performed on a group are performed on all of its members.

Field Quantities Status Dialog Box
To open the Quantities Status dialog box, select Quantities Status... in the Quantity/Field Data menu or click on the Status button in the Quantities subpanel.


FIGURE 8 Access to Quantities Status


FIGURE 9 Quantities Status dialog box
The dialog box is listing the scalar fields on the left and the vector fields on the right. The button on the left of each quantity name is an on/off button indicating if the quantity is loaded in the computer memory (the button is on if the quantity is present). 
By toggling the buttons and then clicking on Apply, the computer memory storage is modified according to the user's specification. 
For a derived quantity, this removes the field as well as its definition. The name used for the derived quantity is available again for another derived quantity definition. 
For a quantity defined in the project itself, this removes only the data storage. If the quantity is needed later, it is reloaded automatically.
Below the list of quantities, a first line indicates the type of the quantity at the cursor position. This may be "Quantity from file" or "Derived quantity". The second line is present only when a derived quantity is under the cursor and it presents the quantity definition.
On the right, the memory used for the storage of the complete field data is mentioned.

File Chooser
The layout of the File Chooser depends on the used operating system but a typical layout is shown in FIGURE 3. Select the path of the directory containing the file using the list of directories or to add the path directly in the string editor. To filter the available files in the selected directory choose a file type in the list of file types (for more detail on the available file types see Supported File Formats). In the list of files, automatically the files corresponding to the chosen file type are displayed for the selected directory. Select the file and press OK (Open) to open the file.


FIGURE 3 Typical layout of a File Chooser

Project Identification
The project identification consists of five arbitrary character strings.

The project name:	It is given by the first character string. If no information is given, a blank character string of arbitrary length has to be entered.
The version number:	It is represented by the second character string. If no information is given, a blank character string of arbitrary length has to be entered.
The solver description:	It consists of the three remaining character strings. If no information is given, a blank character string of arbitrary length has to be entered for each of them.


While working with CFView™, a specific command allows to display this project identification into the graphic area. An example of a project identification is:
EXTERNAL FLOW - NUMECA
TEST CASE  999.111
EULER EQUATIONS
MESH SIZE 40*35*105
INLET CONDITIONS: MACH NUMBER 2.8

Arrow Representation
Local Vector

To obtain just one vector drawn locally on an active surface, choose Local Vector from the Representation menu or select the  button in the Representations/Vectors subpanel. The selection of the point where to compute and draw the local vector is either done by typing the point coordinates into the string input box or, interactively by selecting it by clicking with the left mouse button on the active surface in the graphical area.
The keyboard shortcut for Local Vector is <v>.


Vector on Grid Nodes

This command allows the user to represent the active vector quantity as an arrow at a given mesh nodes of the active surfaces. These nodes are specified by a start index, an end index and a step for the two surface indexing directions. Setting both, the I and the J step to 1 will plot a vector at every vertex between the start and the end indices. To do so:

Choose Vector on Grid Nodes... from the Representation menu or select the  button in the Representations/Vectors subpanel. A dialog box appears.



The "I" and "J" appellation do not necessarily correspond to the IGG™ index:

	if the surface is constant in I, the first index corresponds to J and the second to K.
	if the surface is constant in J, the first index corresponds to K and the second to I.
	if the surface is constant in K, the first index corresponds to I and the second to J.

Click on the I - Min box and enter the I value or use the small up and down arrow buttons to set the starting node. Do the same for I - Max which is the I value of the ending node. If necessary, change the default I - Step number.
Set the J value of the starting node in the J - Min box. Do the same for J - Max which is the J value of the ending node. If necessary, change the default J - Step number.
Click the Apply button to represent the vector field.
Click the Close button to discard the dialog box.

The keyboard shortcut for Vector on Grid Nodes is <c>.


Thresholded Vector on Grid Nodes

This functionality allows the user to discard parts of the vector field which present no interest, by introducing a minimum and maximum threshold values for the vector magnitude. All the surface regions in which the vector magnitude is outside the given limits are discarded. 
To add a thresholded vector representation, 

select the Thresholded item in the Representation menu or click on the  button in the Representations/Vectors subpanel. 
Provide the threshold range in one of the following ways:

	with the mouse: move the mouse into the colormap and click at a level which represents the first limit. Drag the mouse along the colormap up to a suitable value (a line appears between the selected point and the cursor). Release the mouse button to fix this second limit.
with keyboard input: click in the string input box and enter 2 values separated by a blank. They are forming a single range, the first one must be smaller than the second one. 


	The vector arrows having an amplitude lying between the limits are represented at the active surfaces vertices. 
The keyboard shortcut for Thresholded vector arrows is <t>.


Vectors along Section

To obtain the vector field quantity representation along an arbitrary section on the active surfaces, choose Section from the Representation menu or click on the  button in the Representations/Vectors subpanel.
The selection of the line section is done interactively by pressing, dragging and releasing the left mouse button. The section line is actually defining a plane perpendicular to the screen. The section along which the vectors are represented is the intersection of that plane with all the active surfaces. 
The keyboard shortcut for vectors along a Section is <d>.


Vectors along Grid Line

This command displays the vector arrows along constant index surface lines. To do so:


FIGURE 46 Vectors along Grid Lines

Choose Along Grid Line... from the Representation menu or click on the  button in the Representations/Vectors subpanel. The above dialog box appears.
The "I" and "J" appellation do not necessarily correspond to the IGG™ index:

if the surface is constant in I, the first index corresponds to J and the second to K.
if the surface is constant in J, the first index corresponds to K and the second to I.
if the surface is constant in K, the first index corresponds to I and the second to J.

Select the constant index: click on the desired Index button and set its value in the Value entry.
In the NodeRange frame, set the value of the first and last node to consider along the line.
Click the Apply button to see the vectors along the grid line.
Click the Close button to discard the dialog box.

This command is related to structured meshes only.

Toolbar
The toolbar is located right under the menu bar and allows performing common tasks. This bar is composed of 14 buttons that allow performing different tasks.



In the case of unsteady data sets, the toolbar is extended by a set of specific buttons:



Open & Close Project Buttons




This button is a shortcut for opening a project by selecting a project file. See Supported File Formats, for a more detailed description of project opening and of the supported file formats.



This button is a shortcut for partially opening a project by selecting required geometry and quantities of a project file or for opening an unsteady project. See Partial Loader for a more detailed description of steady state and unsteady project opening. 



This button is a shortcut for closing the current project. See Close Project, for a more detailed description of that function.


View Handling Buttons




This button is a shortcut for opening an additional view in Cartesian coordinates. See Multiple Views, for a more detailed description of that function.



This button is a shortcut for opening an additional view in cylindrical coordinates. See Multiple Views, for a more detailed description of that function.



This button is a shortcut for minimizing the active view. See Change View Size/Position, for a more detailed description of that function.



This button is a shortcut for maximizing the size of the active view. See Change View Size/Position, for a more detailed description of that function.



This button is a shortcut for deleting the active view. See Close Active View for a more detailed description.



This button is a shortcut for inserting a decoration text. See Decoration Texts for a more detailed description.


Coordinate Axis Buttons




This button displays or removes the orientation axis, acting as a toggle. It performs exactly the same task as the menu item Geometry/Coordinate System/Axis. See Add Coordinate Axes for a more detailed description of that function.



This button displays or removes the graduated coordinate axis, acting as a toggle. It performs exactly the same task as the menu item Geometry/Coordinate System/Graduated Axis. See Insert Graduated Axes for a more detailed description of that function.



This button allows the user to measure the distance between the two selected points in the view. It performs exactly the same task as the menu item Tools/Distance.


Quantity Range Control Buttons




This button starts a modification of the active quantity range. It performs exactly the same task as the menu item Representation/Range/Range Set. See Range Set for a more detailed description.



This button fits the quantity range back to the default. It performs exactly the same task the menu item Representation/Range/Range Default. See Range Default for a more detailed description of that function.



This button fits the quantity range on the active surfaces. It performs exactly the same task as the menu item Representation/Range/Range Active Surfaces. See Range Active Surfaces, for a more detailed description of that function.


Unsteady Animation Buttons

The detailed description of unsteady data sets handling is provided in Animation of Unsteady Data Sets.



This button brings the animation back to the first time step.



This button moves the animation from the current time step to the next one. The same representations are drawn in the views, but with the data from the next time step.



This button starts the animation of the current representation. The same representations are drawn in the views, for each time step successively.



This button stops a running animation.



This button enables or disables the automatic restart at the first time step, when the animation has reached the last time step. If the feature is turned on, the first time step is considered as the one following the last time step. If the feature is turned off, the animation stops when it reaches the last time step.



This button frees the RAM usage at each time step when post-processing unsteady data sets. By default it is activated. See Projects Comparison for a more detailed description.



This button enables or disables the animation recording in an animated GIF format. It acts as a toggle: when the recording is turned off, the button background is gray (this is the default) and when the recording is turned on, the button background is yellow.



This button saves a time-averaging solution for the selected time steps.
The time-averaging steady results can only be computed for structured (FINE™/Turbo) projects.

Commands Related to Viewing Geometry of Active View
Unless stated differently, all these commands perform no action if no view is active.

Projection(int m)

Associated menu items: View / Parameters / Stretched, Orthographic and Perspective
Operation (Projection Mode): sets the projection mode in stretched (m=0), orthographic (m=1) or perspective mode (m=2).
Exceptions: raises Attribute Error if m is not 0, 1 or 2.

Normal(float nx, float ny, float nz)

Associated menu item: View / Parameters / Normal
Operation (View Concepts): sets the camera to point in a direction parallel to the vector (nx, ny, nz).

UpVector(float nx, float ny, float nz)

Associated menu item: View / Parameters / UpVector
Operation (View Concepts): sets the up direction parallel to the vector (nx, ny, nz).

FullRender(bool b)

Associated menu item: View / Parameters / FullRender
Operation (View/Parameters): activates the Full Render mode if b is set to 1.

FastPreview(bool b)

Associated menu item: View / Parameters / Fast Preview
Operation (View/Parameters): activates the Fast Preview mode.

ViewOriginal(bool onlyVisibleGeometry)

Associated item: original viewing button.
Operation (Viewing Buttons): if onlyVisibleGeometry = 0 : takes all the geometry into account for the fit. If onlyVisibleGeometry = 1: takes only the visible geometry into account for the fit (the "fit camera" button fits only the visible geometry).

ViewPlaneX/Y/Z()

Associated item: projection viewing buttons.
Operation (Viewing Buttons): projects the current view on a X, Y, or Z plane.

ViewRotateX/Y/Z(float a)

Associated item: rotates viewing buttons.
Operation (Viewing Buttons): rotates the current camera around an axis defined by the target point and the axis X, Y, or Z. Rotation angle is given by 'a' in radian.

ViewDolly(float a)

Associated item: dolly viewing button.
Operation (Viewing Buttons): rotates the view around the view axis from an angle a.

ViewRotate(float u, float v, float -)

Associated item: free rotation viewing button.
Operation (Viewing Buttons): rotates the view of an angle u around the horizontal axis perpendicular to the view axis and of an angle v around the view axis;

ViewScroll(float u, float v, float -)

Associated item: translation viewing button.
Operation (Viewing Buttons): Translates the view from vector (u,v). (2,2) corresponds to a translation from the lower right corner to the upper left corner.

ViewZoom(float f)

Associated item: zoom button.
Operation (Viewing Buttons): performs a zoom in/out operation by multiplying the camera width and height by f. Values larger than 1 result in a zoom out operation, while values smaller than one result in a zoom in operation.

ViewZoomAreaIn(float xmin, float xmax, float ymin, float ymax)

Associated item: zoom area viewing button.
Operation (Viewing Buttons): Zooms in the view. The rectangle defined by (xmin, xmax, ymin, ymax) becomes the whole scene after the operation. On 3D and 2D views, a zoom of (-1, 1, -1, 1) is a full view zoom (i.e. has no effect). In Cartesian plot views, the arguments correspond to the abscissa and ordinate axes ranges.

ViewZoomAll()

Associated menu item: zoom all viewing button.
Operation (Viewing Buttons): Performs a fitting operation.

ViewTarget(float f)

Associated item: target viewing button.
Operation (View Concepts): moves the camera along the line of view. The new position is obtained by multiplying the distance between the camera and the view point by f. The command ViewTarget() only works when the projection mode Perspective (View / Parameters / Perspective) is active.

ViewPlane(float f)

Associated item: plane viewing button.
Operation (View Concepts): moves the camera target and the associated clipping planes along the line of view. The new target position is obtained by multiplying the distance between the camera and the view point by f. The clipping plane are moved by an equal distance.

SetCamera(float p1, float p2, float p3, float t1, float t2, float t3, float v1, float v2, float v3, float w, float h)

Associated menu item: dynamic viewing button.
Operation (Viewing Buttons): sets the camera position and viewing parameters. The vertical vector defines which vector should be up. It controls the angle of the view (i.e as a lateral flexion of the head pointing a target in front of you). While the view itself is controlled by the vector from the camera position coordinates to the target point coordinates.
Arguments:

p1, p2, p3 are the coordinates of the camera position.
t1, t2, t3 are the coordinates of the target point.
v1, v2, v3 are the coordinates of the vertical vector direction.
w and h are respectively the width and height of the view.


SetCameraWidth(float f), SetCameraHeight(float f)Operation: sets the camera width / height to the specified value.
GetCamera()


Operation: returns a list with the camera position coordinates (p1, p2, p3), the camera target coordinates (t1, t2, t3), the camera up vector coordinates (v1, v2, v3), the camera width (w) and the camera height (h). The first 3 parameters are vectors, the last 2 are numbers.
Example:

camera = GetCamera()
cameraPosition = camera[0]
cameraTarget   = camera[1]
cameraUpVector = camera[2]
cameraWidth    = camera[3]
cameraHeight   = camera[4]
ViewOriginal(1)
SetCamera(cameraPosition[0],cameraPosition[1],cameraPosition[2],cameraTarget[0],  cameraTarget[1],  cameraTarget[2],cameraUpVector[0],cameraUpVector[1],cameraUpVector[2],cameraWidth, cameraHeight)

Represent Plot Data
This functionality allows the user to make a Cartesian plot with plot data coming as part of a project data set, such as those created when surface average data outputs are selected in the FINE™ GUI (Surface Averaged Variables page). To do so:

Choose Plot Data from the Quantity pull down menu. A submenu appears: it contains all the plot data present in the project.


Select a plot data curve with the mouse. Another submenu appears. It contains one or more quantities defined for the selected plot data curve. Choose one of them to end the selection procedure. Automatically, a new view is opened that contains the plot.

The line and markers default style may be modified by using the Default Plot Data Curve Type Editor (Preferences/Plot data curve type...). Edit, Save & Restore Defaults for further information.


FIGURE 45 Example of plot data from a NACA airfoil computation.
The plot data on the right side of FIGURE 45, is the convergence curve of the computed drag. On the left side, a color contour of the vertical velocity shows the velocity distribution.

Update/Plot Menu



The Update/Plot menu contains some frequently used items for Cartesian plots. These are the following:

To fit all the curves in the plot choose Original.
To display quantity distributions as a function of the X direction, choose Function of X.
To display quantity distributions as a function of the Y direction, choose Function of Y.
To display quantity distributions as a function of the Z direction, choose Function of Z.
To display quantity distributions as a function of the Arc length direction, choose Arc length.
To display quantity distributions as a function of the normalized arc length, choose Normalized arc length.
To suppress the last curve inserted in the Cartesian plot, select Curve Undo

Update Surfaces Boundaries Representation
The line type of the surfaces boundaries representations can be modified as follows:

Check that the surfaces representations can be selected interactively. The Render/Selectable checkbutton, also displayed as the  button in the Representations/Grid subpanel must be enabled.
Select the boundaries to be modified: click with the left mouse button on a surface boundary, highlighting markers are inserted and the name of the surface is indicated in the message area. 
If several boundary representations are to be updated at the same time, select the other boundary representations by click with the left mouse button with the <Ctrl> key pressed.
Press the right mouse button, a popup menu appears.





Select the Curve Type... item, a Line Type Editor dialog box is raised (see Curve, Line & Marker Type Editors for a description of the parameters appearing in this dialog box). 
Modify the parameters in the dialog box and press Apply to validate the new parameters.

The Line Type Editor dialog box may be also opened by selecting the Line Type Editor... item in the Update menu.

TurboWizard Step 1 : Configuration File

TurboWizard Step 2 : Meridional Station Averages Post-Processing Tool 

The second step of the TurboWizard module is used to define the inputs for the post-processing tool dedicated to meridional (RTHZ) station averages:

the meridional stations to use for averaging;
the quantities to average on meridional (RTHZ) stations with specified weighting factor.



FIGURE 20 TurboWizard step 2
The Stations entry () allows to select available stations. Only meridional stations (RTHZ) should be selected. For each station two types of averaging can be selected:


 for a surfacic average on the whole station: output one value per station;

 for a profile of azimuthal averages along the spanwise direction of the station: output a profile from hub to shroud per station.




FIGURE 21 TurboWizard step 2: stations selection
The Quantities  entry () allows to select available quantities to be averaged on the meridional stations. 

All scalar quantities from the Quantities subpanel in the Quick Access Pad are available except the Wall Distance, Y+, Cf, Residuals and Harmonics quantities.
Moreover, if not available in the Quantities subpanel in the Quick Access Pad, the following derivable quantities are also available: Vr, Vt, Vz, Wt, Static enthalpy, Entropy, Absolute Total Pressure/Temperature/Enthalpy, Absolute/Relative/Isentropic Mach Number (only available for non-incompressible solution).

For each quantity two types of averaging can be selected:

Area for an area-averaging using no weighting factor;
Mass for a mass-averaging using a RhoV weighting factor.




FIGURE 22 TurboWizard step 2: quantities selection
The TurboWizard module is not creating stations or quantities and only checks their availability in the project before loading the wizard. If no stations are detected, a warning "No stations were found in the project. Skip this step or create cutting planes prior to launch the TurboWizard" will raise and the Quantities entry is not accessible. The stations and quantities should be created before launching the module.
For profiles from hub to shroud of azimuthal averages, the stations should be restricted to the channel and cut it only once.
Span=0% (100%) does not always correspond to the hub (shroud) of the channel but to the minimum (maximum) extrema in (R,Z).
The mass flow through the selected stations is also computed.
The Cancel button stops the TurboWizard module without saving.
The Back button allows to go back to the first step of the TurboWizard module.
The Skip button allows to skip the post-processing tool dedicated to meridional (RTHZ) station averages and to go to the third step of the TurboWizard module.
The Next button allows to go to the third step of the TurboWizard module. The button is not active until both Stations and Variables have been defined.
The documentation is also available when moving the mouse on the info icon () on the top right of the dialog boxes.
TurboWizard Step 3 : Blade Profiles Post-Processing Tool

Commands Related to Default Settings

FaceDisplacement(float f)

Associated menu item: Preferences/Face Displacement.
Operation (Face Displacement): sets the face displacement value.

DefaultsLoad(string filename)

Associated menu item: Preferences/Load Defaults....
Operation (Load Defaults from File): opens filename and loads its content as a new set of default parameters.
Exceptions: Raises IOError if the project cannot be loaded.

DefaultDecorationTextType(TextType texttype, int lineAlign, int lineSpacing)

Associated menu item: Preferences/Decoration Text type...
Operation (What Are Defaults ?): sets the default type for text insertion. The parameter lineAlign may have a value of 0 (centering), 1 (left justification) or 2 (right justification). The parameter lineSpacing may have a value of 0 (normal spacing), 1 (spacing 50% larger) or 2 (double spacing), Description of Argument List for Some Standard Features for the textType argument description.

DefaultColormapType(ColormapType t)

Associated menu item: Preferences/Colormap type...
Operation: sets the default type for colormap text, location and color.

DefaultAxisTextType(TextType t)

Associated menu item: Preferences/Axis Text type...
Operation: sets the default type for axis text. See Description of Argument List for Some Standard Features for the textType argument description.

DefaultGridLineType(LineType line)

Associated menu item: Preferences/Grid line type...
Operation (What Are Defaults ?): sets default type for the wire frame of mesh surfaces, Description of Argument List for Some Standard Features for the lineType argument description.

DefaultBoundaryCurveType(CurveType curve)

Associated menu item: Preferences/Boundary curve type...
Operation (What Are Defaults ?): sets default type for the boundaries of mesh surfaces, Description of Argument List for Some Standard Features for the curveType argument description.

DefaultSectionCurveType(CurveType curve)

Associated menu item: Preferences/Section curve type...
Operation (What Are Defaults ?): sets default type for curves associated to Cartesian plots on sections, Description of Argument List for Some Standard Features for the curveType argument description.

DefaultNodeLineCurveType(CurveType curve)

Associated menu item: Preferences/Node line curve type...
Operation (What Are Defaults ?): sets default type for curves associated to Cartesian plots along grid lines, Description of Argument List for Some Standard Features for the curveType argument description.

DefaultPlotDataCurveType(CurveType curve)

Associated menu item: Preferences/Plot data curve type...
Operation (What Are Defaults ?): sets default type for plot data curves, Description of Argument List for Some Standard Features for the curveType argument description.

DefaultValidationCurveType(CurveType curve)

Associated menu item: Preferences/Validation curve type...
Operation (What Are Defaults ?): sets default type for validation data curves, Description of Argument List for Some Standard Features for the curveType argument description.

DefaultComparisonCurveType(CurveType curve)

Associated menu item: Preferences/Comparison curve type...
Operation (What Are Defaults ?): sets default type for curves presenting mesh interpolated values to be compared with validation data, Description of Argument List for Some Standard Features for the curveType argument description.

DefaultLocalValueType(MarkerType markerType, TextType textType, DoubleFormat doubleFormat)

Associated menu item: Preferences/Local value type...
Operation (What Are Defaults ?): sets type for local values, Description of Argument List for Some Standard Features for the textType argument description and for the markerType, textType and doubleFormat arguments descriptions.

DefaultComparisonToleranceValue(float f)

Associated menu item: Preferences/Derived quantity epsilon...
Operation: sets default value for the epsilon of a derived quantity.

DefaultRangeColorsType(int i, float h, float s, float v,  float h, float s, float v, float h, float s, float v)

Associated menu item: Preferences/Range colors type...
Operation (Thresholding (Flat, Smooth and Strip)): sets out of bound colors when plotting thresholded contours. The fist argument is 1 if out of bound are used 0 otherwise (no colour for out of bound). The next 9 arguments are hsv values for "below range", "between ranges" and "above range" colors. The "between ranges" is used when 4 values are provided as input for the threshold range. More info on hsv values in Description of Argument List for Some Standard Features.

DefaultLightOnContours(bool b)

Associated menu item: Preferences/Light on contours
Operation: activates or deactivates the lightening on contour representation.

DefaultNLHSettings(int scaleType, float pRef, float rhoRef, float vRef, int rms, int kMax)

Associated menu item: Preferences/NLH Settings...
Operation: sets default values for NLH computations. scaleType : 0 for linear scale, 1 for logarithmic scale. Default is 1.pRef : reference pressure for conversion in dB. Default is 2e-04 Pa.rhoRef : reference density for conversion in dB. Default is  kg/m³ , c=340 m/s.vRef : reference velocity for conversion in dB. Default is 5e-08 m/s.rms : 0 for no normalization, 1 for rms normalization. Default is 1.kMax : defines the maximum number of terms in Fourier series. Default is 4. More information see Frame of reference change of the spectral solution.

SetCFViewNumOfOmpThreads(int numOfThreads)

Operation: sets the number of openmp threads to the maximum available if numOfThreads is less than or equal to 0. 

GetCFViewNumOfOmpThreads() returns the number of openmp threads as integer number.

HideBlankedCells(bool) activates or deactivates cells representation for the overlapping grids.

Unstructured Project

For unstructured cases, the user is allowed to choose the meridional surfaces from the dialog box shown in FIGURE 6. The surface is highlighted once it is selected in the Surfaces list. By clicking on the arrow button, the selected surfaces can be added into the Meridional Surfaces list. CFView™ will compute the meridional view by using the meridional surfaces given by the user. 


FIGURE 6 Meridional average input definition dialog box of unstructured project for multiple domains
In case of an axisymmetric configuration, it is recommended to use the periodic surfaces when available to save time and also because the meridional mesh generated automatically by CFView™ will almost always be worse than the mesh of the periodic surfaces (especially if they come from an AutoGrid5™ mesh converted in HEXPRESS™).
If there is no surface chosen in the list, the meridional surface will be created by CFView™. This process involves two steps:

The envelope of the project in the meridional view is computed.
Then the meridional mesh can be obtained by projecting the 3D mesh points in the meridional view and then performing Delaunay triangulation for cases meshed at 360 degrees. For cases that are not meshed at 360 degrees and are axisymmetric, it is possible to obtain a better mesh by projecting the points of the periodic surfaces in the meridional plane. 

In the creation of the meridional surface, the holes may not be detected if their boundaries are not axisymmetric.
The mesh produced by the Delaunay triangulation may sometimes contain big cells. When the geometry is not axisymmetric and if the test case is huge, the meridional mesh can have too many points at some places. 
The computation may be time consuming for huge cases if no meridional surface is provided by the user.

Menu Bar




The menu bar is situated at the top of the layout. It consists of 11 pull down menus: File, Edit, Geometry, Render, Quantity, Representation, Update, View, Window, Preferences, Tools and Macros. They contain all the commands needed to control CFView™. 
The pull down menus are dynamic. Their content depends on the active project type (2D or 3D, structured or unstructured) and on the quantity selected. For example:

In 2D, the Render pull down menu and a part of the Geometry pull down menu as well as other items are not available.
When selecting a scalar quantity, the content of the Representation pull down menu is different from the menu available for a vector quantity.
The content of the Quantity pull down menu is based on the quantities given in the project file. For example, if there is no validation data loaded, this item will not be available.

When a command is not available, it appears in light gray and it is not possible to select it.
Pull-down Menu

There are five types of menu items:

items with immediate response in the active view,
items requiring mouse interactions in the graphics area,
items requiring string input. They are followed by a left and right parenthesis: ().
items opening a pull right menu, which may in turn contain all types of items. Such items are followed by an arrow.
items opening a dialog box or a chooser used for the selection of items in a list. These items are followed by three dots (...).


Menu General Organization
The available functionalities are grouped into menus:

The File menu contains the functionality related to 

data access: project, mesh, validation data, default parameters loading,...
handling of macros,
activation of the turbomachinery analysis mode,
printing (save images),

leaving CFView™.



The Edit menu offers the possibility to undo or redo one or several consecutive actions.
The Geometry menu contains 

the surfaces creation and selection functionality: mesh surfaces, cutting planes, blade to blade surfaces, mesh surface for pitchwise averaging,
the geometry representations functionality: surface, grid, wireframe and boundaries, repetitions,
the animation of representations: cutting plane and mesh surfaces sweeping, streamlines animations,
orientation axis and graduated coordinate system,
calculation of the surface area, projected surface area and volume of the mesh.



The Render menu contains all the functionalities related to surface rendering.
The Quantity menu allows selecting the quantity used for flow field representation. There are five types of data:

The field data: these are quantities which are given for the complete computational domain, such as the pressure, the Mach number or the temperature. There are two main kinds of field data: 

the basic field quantities that are loaded from the project or are in the computer memory,
the computed thermodynamics and vector components that are computed on the fly if selected.

The solid data: these are quantities which are existing only on surfaces such as skin friction, heat transfer coefficient or the normal component of the velocity.
The validation data: this data is coming from experiments or other computations used for comparison with computed ones (required to be loaded through the menu File/Load Validation Data...).
The plot data: they are related to arbitrary X-Y plots, such as convergence history or quantities selected in FINE™/Turbo on the Outputs/Surface Averaged Variables page.
The particle traces data: they are externally computed traces attached to an inlet boundary such as those computed by the Lagrangian Module under the page Optional Models/Fluid-Particle Interaction within FINE™/Turbo.
The Time Label/Clocking Position: it allows to display the time or clocking position for an unsteady computation in time or in space.


CFView™ has no limits on the number of input data points or quantities. The only limit is the hardware memory storage.

The Representation menu allows to invoke representation insertions. This menu is accessible only when a quantity is selected and its content depends on the quantity type.
The Update menu contains the functionalities that allow to modify the flow field representations after their insertion.
The View menu contains the functionalities related to the handling of the active view:

active view resizing and positioning,
camera handling (see Views Manipulation for a complete description).



The Window menu contains the functionalities related to the creation and handling of views:

additional view creation,
views tiling.



The Preferences menu contains the functionalities related to the defaults settings:

default line and marker types for various kind of curves, default text font size and type,
graphics parameters such as background color, face displacement, use of an underlying grid for view position, graphics accelerator.



The Tools menu contains the distance tool, which allows to measure the distance between two points. The points can be either picked in the view or entered with the keyboard. CFView displays the distance between the two selected points in the view and the values of dx, dy and dz in the information area at the bottom. The distance tool will continue after selecting two points. The user can quit by pressing <Esc> or right-clicking.

Keyboard Shortcuts

For more efficient use most of the menu items have a key binding, which can be activated when the cursor lies in the graphics area. If a menu item has a key binding, it is written as an extension to the menu item name. For example, under the File menu, the Open Project... command is followed by "P". This indicates a shortcut. Hold down the <Shift> key and type <p> to invoke the Open Project... command. Note that the use of capitals is important in the shortcuts of CFView™. When the shortcut is indicated by a capital this means that the character should be combined with the <Shift> key.
Throughout this manual keyboard shortcuts are indicated in blue italic.

Modify Rendering Color
To modify the rendering attributes:

Check that the surfaces representations can be selected interactively. The Render/Selectable checkbutton, also displayed as the  button in the Representations/Grid subpanel must be enabled.
Select the surface representation to be modified: click with the left mouse button on a represented surface, highlighting markers are inserted and the name of the surface is indicated in the message area. 
If several representations are to be updated at the same time, select the other surfaces by clicking with the left mouse button with the <Ctrl> key pressed.
Press the right mouse button, a popup menu appears.





Select the Material Type... item. The Surface Material Editor is opened. This dialog box allows the user to modify the material light reflection properties of the active representations.



The dialog box may be also opened by selecting the Surface Material... item in the Update menu or click on the  button in the Representations/Material subpanel.
The surface material properties are defined by 4 parameters:

Diffuse: is the base color of the surface.
Specular: affects the light reflections on the surface.
Opacity: controls the transmission of light through the surface. An opacity of 1.0 means a completely opaque surface. An opacity of 0 means a completely transparent surface.
Reflection: is the property of a surface to reflect the surrounding environment.

The keyboard shortcut to open the dialog box is <Shift> + <t>.
Transparency availability depends only on the driver/machine/graphic card combination. If not available the value is discarded. Regarding transparency and diffuse color, some graphics hardware only take the intensity of the color into account.
Diffuse

The diffuse color is the fundamental color of the surface. It is chosen using the color picker Diffuse/Color.




Specular Highlight

The specular highlight affects the light reflections on the surface. The shape, the strength and the color of the highlight depends of the material. For instance, a material like cotton tissue will not have any specular highlight, in comparison to a reflective surface like a mirror that will have a very bright specular highlight.

Color: is the color of the specular highlight. It is chosen using the color picker Specular/Color.
Amount: is the strength of the highlight. It is a value ranging from 0 to 1. A value of 0 means that the surface has no specular highlight; a value of 1 means that the surface presents a strong specular highlight.
Gloss: defines the extent of the highlight. It is a value ranging from 1 to 30. A value of 1 means that the specular highlight is widespread. It will be the case for rough material. A value of 30 means that the highlight is very narrow. It will be the case for very smooth surfaces, like glass.



Opacity

Set the opacity of the surface, ranging from 0 to 1. An opacity of 1.0 means a completely opaque surface. An opacity of 0 means a completely transparent surface.




Reflection



Reflection is the property of a surface to reflect the surrounding environment. A "spherical environment mapping" technique is applied on the selected surface(s) when the option use reflection mapping is set active:

An image, also called "map", is provided for each surface. This map represents a given material.
The color of each surface point is found by using the local normal at the surface point to address the map.



Amount: changes the reflectivity property of the surface. 

A reflectivity amount of 0 means that the surface has no reflectivity: the final color is the diffuse color of the surface. 
A reflectivity amount of 1 means that the surface is purely reflective: the final color is equal to the reflection color. 
All value in-between result in a mix of reflectivity and surface color.

Quantities Load on Demand

By default, when a project file is opened, CFView™ is loading all the quantities in memory. Compared to a situation where the data would be left on disk, this accelerates considerably the access to the data for the creation of representations.
However, when the data sets are very large, this may require a computer memory larger than available. For this reason, CFView™ provides the capability to postpone the data loading until requested by the graphical representation. A selection of the quantities to be loaded can be done by using the Partial Loader.
Releasing some computer memory by removing some of the quantities from the computer memory is also possible from the Quantities Status dialog box (see Unload Quantities). When a quantity has been removed from the memory, it will be automatically reloaded if required.

Iso-Surfaces
This option visualizes the surfaces in 3D where the active quantity remains constant. To do so:

Choose Iso-Surface from the Representation menu or click on the  iso-surface button  in the Representations/Contours & Iso Values subpanel.
Choose the iso-surface value:

move the mouse to the keyboard input area, enter a single value (included between the maximum and the minimum of the quantity) and press <Enter>.
with the mouse in the colormap: move the mouse to the colormap (by default on the right side of the graphics area) and click at a level which represents the value.
with the mouse on an active surface: move the mouse over an active surface, click at the location where the iso-surface is going to intersect the surface. An iso-surface with the active quantity value at that location is displayed. 


Each new input for the iso-surface value removes the previous iso-surface and displays the new one. In the information output area, the iso-surface volumes below and over the iso-surface value are displayed.
Iso-surface generation involves the scanning of the complete computational volume and is computationally intensive on large meshes. 
Iso-surfaces may be saved in order to create other representations on them. To save an iso-surface, choose Representation/Iso-Surface Save or click a second time on the iso-surface  button. The surface name is inserted in the project surface list for further manipulations.

Update Vector Line Representation
Update Color

The vector lines may be drawn in a single color or colored according to the local amplitude of the vector. To modify the coloring mode:

Select the group of vector lines by clicking on any of its vector lines. Multiple selection may be obtained by pressing the <Ctrl> key while clicking on another group of vector lines. The selected vector lines are highlighted by markers.
Press the right mouse button to raise a popup menu. 



In this menu:

select Uniform color to have vector lines represented in a single color or
select Velocity color to have vector lines colored according to the local amplitude.
select Export to File to export the selected streamline to a file. The format of the exported file is as follows.


For each selected streamline:

the first line is the name of the streamline, 
the second line is the coordinate system ("XYZ" for Cartesian, "RTHZ" for cylindrical or "STM" for meridional),
the third line is the number of points, 
for each point there is one line with the x, y and z coordinates. 

For example:
Streamline 2 from domain3.Kmax row_1_flux_1_Main_Blade_upStream_inlet
XYZ
63
0.264599 -0.0186495 -0.03
0.264599 -0.018613 -0.026752
......

Select Parameters... to edit the type of curve used for the vector line representation. Note that the line color parameter only has an effect if Uniform Color was selected before. See Curve, Line & Marker Type Editors for a detailed description of these parameters.
Select Delete to suppress the representations from the screen.
Select Cartesian Plot to create a Cartesian plot of the velocity magnitude along the streamline.



Update Curve Type

In the popup menu associated to a vector line selection (see Update Vector Line Representation), select the Curve Type... item to open a Curve Type Editor dialog box. This dialog box allows the user to modify the line and marker parameters as described in Curve, Line & Marker Type Editors. Note that the color attribute is not used when the vector lines are colored according to the local vector amplitude (Velocity color).


Delete Vector Lines

CFView™ provides different methods to erase represented vectors:

By interactive selection: when a set of vector lines are selected (see above), the associated popup menu contains the Delete item. Select it to delete the selected vector lines.
By selecting Update/Delete/Vector Lines: all vector lines representation of the active quantity that were started from one of the active surfaces are deleted.
By selecting Update/Delete/All: all representations (not only the vector lines) on all surfaces are deleted.

List of Shortcut Keys

Here are all the keyboard shortcuts that are defined in CFView™.
Project Handling







Shift-p


Open the file chooser to select a project (Project Management)




p


Open the partial loader (Partial Loader)




Ctrl-q


Quit CFView™ (Close Project)




'


Graphical area refresh (Refresh Graphical Area Display)




w


Toggle the reverse video / normal video mode (Other User Preferences)




u


Undo




Ctrl-y


Redo




Shift-r


Repetition on/off
                        




Ctrl-d


Delete all (Delete)






Views Handling







f


Maximise size (Change View Size/Position)




7


Preferred size (Change View Size/Position)




.


Minimise (Change View Size/Position)




m


Start the interactive move / resize mode (Change View Size/Position)




r


Start the interactive move / resize mode (Change View Size/Position)




Shift-n


Open a new view in Cartesian coordinates (Stretched, Orthographic, Perspective)




Ctrl-n


Close the active view (View & Window Menus)




/


Swap Views





=


Align Views





+


Superpose Views





-


Toggle view transparency (View/Parameters)




Shift-v


Toggle full rendering mode (View/Parameters)




Shift-b


Toggle border line (View/Parameters)






Camera Position







o


Set the camera to the original position (Original Button)




x


Project along the first direction (Original Button)




y


Project along the second direction (Original Button)




z


Project along the third direction (Original Button)






Surface Representation







Ctrl-s


Surfaces selection dialog box (From Geometry Menu)




Ctrl-a


Interactive surfaces selection tool (Interactive Surface Selection)




Ctrl-z


Mesh surfaces creation dialog box (Create Mesh Surface)




Shift-l


Cutting plane creation dialog box (Create Cutting Plane)




Ctrl-b


Blade to blade surface dialog box 




g


Toggle active surfaces grid representation (View Grid Wireframe)




b


Toggle active surfaces boundary representation (View Surfaces Boundaries)




h


Toggle hidden line surfaces representation (Hidden Lines Rendering)




Shift-f


Toggle flat colored representation (Flat Shading)




Shift-s


Toggle Gouraud shading representation (Gouraud Shading)




Shift-h


Switch off rendering (Remove Rendering Effects)




Shift-t


Surface color edition dialog box (Modify Rendering Color)






Text







Ctrl-t


Starts text insertion tool (Insert Text)






Scalar Quantities Representation







i


Multiple isolines dialog box (Drawing Multiple Isolines)




j


Local isolines (Isolines)




Shift-q


Flat color contour (Flat)




c


Smooth color contour (Smooth)




s


Strip color contour (Strip)




v


Local value insertion mode (Local Values)




d


Cartesian plot along section (Cartesian Plot along Section)




l


Cartesian plot along grid line (Cartesian Plot along a Grid Line)




Shift-i


Iso-surface (Iso-Surfaces)




u


Undo-suppress last representation (Undo)




Ctrl-r


Toggle colormap representation (Colormap & Representations Range)






Vector Quantities Representation







j


Local vector lines





Shift-j


Vector lines from a section





Ctrl-j


Vector lines from grid line





q


Vector lines parameters dialog box (Vector lines from grid line)




c


Vector field (Vector on Grid Nodes)




t


Threshold vector field (Thresholded Vector on Grid Nodes)




v


Local vector (Arrow Representation)




d


Vectors along a section





l


Vectors along a grid line





s


Vector type dialog box





u


Undo (remove last representation) (Undo)




Ctrl-r 


Toggle colormap representation (Colormap & Representations Range)

Commands Related to Multiple Views Handling


ViewActivate(string viewName)

Associated Item: view selection by clicking with the left mouse button.
Operation (Multiple Views): activates the view having name viewName. 
Exceptions: if view is not existing will raise Attribute Error.

GraphicsViewActivate()

Operation: if the current view is a 2D or a 3D view, the command does nothing. If the current view is a Cartesian plot view, a new 2D or 3D view is opened, with the same position and size as the Cartesian plot view.

PlotViewActivate(string quantityName)

Operation: activates the Cartesian plot view associated to the specified quantity. If the quantity exists in the project and if there is not already a Cartesian plot view associated to it, a new Cartesian plot view is created.

ViewTile()

Associated menu item: Window / Tile Views.
Operation (Multiple Views): tiles all the views on the display.
Exceptions: -

ViewAlign(string viewName)

Associated menu item: View / Align Views.
Operation: sets the camera of the active view in the same position and orientation as the camera in the view having the specified name.

SynchronizeViews(string viewName)

Associated menu item: View / Synchronize Views.
Operation: synchronizes the selected view with the active view ("master" view).

ShowSynchronizedViews(int b)

Associated menu item: View / Show Synchronized Views.
Operation: displays a label (b=1) at the bottom of each view indicating the ID of the view as well as all the "slaves" views synchronized with it when "master" view.

StopSynchronizedViews()

Associated menu item: View / Stop View Synchronization.
Operation: stops the dynamic synchronization of the whole CFView™ session.

ViewSwap(string viewName)

Associated menu item: View / Swap Views.
Operation: exchanges the limits specification between the active view and the one with the provided name.

ViewSuperpose(string viewName)

Associated menu item: View / Superpose Views.
Operation: sets the limits of the view with the provided name equal to the limits of the active view and sets the active view transparent.

MatchRanges(string viewName)

Associated menu item: View / Match Ranges
Operation: sets the colormap range for the first activated view equal to the range of second selected view.

ArrangeIcons()

Associated menu item: Window / Arrange Icons.
Operation (Multiple Views): arranges the iconized views on the display.
Exceptions: -

Update()

Associated menu item: Window / Refresh.
Operation (Multiple Views): refreshes the graphical area.
Exceptions: -

CFViewWarning(string text)

Operation: displays a warning in red in the message area below the graphics area.
Example: CFViewWarning('Macro has been executed')

Create Boundary Condition Files
A Boundary Condition file is generated for each domain. It contains the multi-block connectivity description, the type of the boundary condition of non-connected domain boundaries. Furthermore, a name for the domain and for each boundary part (or path) can be provided.

The number of boundaries for each domain depends on the mesh dimension, 4 in 2D case and 6 in 3D case. CFView™ attributes the following numeration to these boundaries which has to be respected when generating the Boundary Condition file:

For 2D mesh, there are 4 boundaries with the following numbering:

	Boundary 1:	I=1
	Boundary 2:	J=1
	Boundary 3:	J=Jmax
	Boundary 4:	I=Imax

For 3D mesh, there are 6 boundaries with the following numbering (see FIGURE 2)

	Boundary 1:	I=1
	Boundary 2:	J=1
	Boundary 3:	K=1
	Boundary 4:	K=Kmax
	Boundary 5:	J=Jmax
   Boundary 6:	I=Imax




FIGURE 2 3D standard notation for the boundary faces in the computational domain
To generate this file, follow the steps below. The example refers to FIGURE 3.


FIGURE 3 Example of patches distribution on the first boundary

Give the name of the domain. If not provided or if the provided name is 'unknown', CFView™ will provide a default name. 
Give the number of nodes in the I, J and K directions. For a domain of 10 nodes in the I direction, 20 nodes in the J direction and 10 nodes in the K direction, the string input is:
10 20 10
For each boundary and in the order given above (from 1 to 4 for 2D, from 1 to 6 for 3D):

	Give the number of patches on the boundary. In our example, the first boundary has 3 patches, the string input is:
3
For each patch of the boundary, give the patch name if existing (if no name is provided, CFView™ uses a default name), then the boundary condition and the ending and starting node coordinates:
Boundary condition: There are 8 boundary conditions which are identified by three letters:






matching connection:
non matching connection


CON
CNM  or  CONNM




external:


EXT




inlet:


INL




mirror:


MIR




outlet:


OUT




matching periodic:
non matching periodic


PER
PNM  or  PERNM




singular:


SNG




solid:


SOL




In our example, the boundary condition is solid for the first patch, inlet for the second and outlet for the third, the string input is:
SOL
INL
OUT
Node coordinates: For 2D cases, the coordinates correspond to the I and J indices of the starting and ending nodes of the patch. For 3D cases, they correspond to the indices of the lowest and the highest nodes of the patch shown in Node coordinates for 3D cases (see FIGURE 2):
TABLE 1 Node coordinates for 3D cases






For I=constant boundary


J and K indices.




For J=constant boundary


I and K indices.




For K=constant boundary


I and J indices.




In our example, the string input is:
 SOL  1 1       20 10 
 INL    1 10    10 20
OUT  10 10   20 20


For matching and non matching "connection" and "periodic" boundary conditions, an additional string is needed beside the node coordinates. This string is composed of:

3 numbers: - the domain number. It indicates the domain which is connected to the current domain.
- the boundary number. It indicates the boundary which is connected to the current boundary.
- the patch number. It indicates the patch which is connected to the current patch.



FIGURE 4 Standard notation for the block faces and the orientation of edges in the computational domain
Additionally for matching "connection" and "periodic" boundary conditions the relative orientation of the connected patches has to be specified:

1 letter:
"R" or "E" to indicate the orientation between the connected patches. FIGURE 4 gives the different orientations between the connected faces. If they have the same orientation, the corresponding letter is E, otherwise it is R. To find the orientation, do the following steps: 1/ put the connected surfaces face to face. 2/ project the local axis of both surfaces on two rectangles as shown in FIGURE 4 Permute the axis of the first rectangle to put them in the bottom left corner. 4/ permute the same number of time the axis of the second rectangle. 4/ find the corresponding case in table of FIGURE 4.
1 number:
It indicates the relative corner position of the connected patches (see FIGURE 4).

FIGURE 5 gives an example of a two-domain application. The two domains are connected by boundary number 1 (i=1).
The Boundary Condition file input for the first domain is:








100 50 50

 
 
 


 

1 1


50 50

 


 

1 1


100 50

 


 

1 1


100 50


2 3 1 E 3



 

1 1 


100 50 

 


 

1 1


100 50

 


 

1 1 


50 50

 



The Boundary Condition file input for the second domain is:








100 50 50

 
 
 


 

1 1


50 50

 


 

1 1


100 50

 


 

1 1 


100 50


1 3 1 E 3



 

1 1 


100 50 

 


 

1 1


100 50

 


 

1 1 


50 50

 





FIGURE 5 Example of connectivity between two domains

Add Grid Lines in Cartesian Plot
If no element is selected in the Cartesian plot view, the popup menu raised by pressing the right mouse button contains the items Show H Grid Lines and Show V Grid Lines. When selected, grid lines are represented at each major axis graduation.


When graduation lines are represented, these items are replaced by Hide H Grid Lines or Hide V Grid Lines which are used to remove the grid lines from the Cartesian plot. Furthermore, the popup menu contains the items H Grid Lines Type... or V Grid Lines Type.... By selecting one of these items, a Grid Lines Type dialog box is opened in which the grid line type, color and thickness may be modified (see Line Type Editor for a detailed description of the dialog box and of the line type parameters).

Commands Related to Marker

InsertMarker(float px, float py, float pz)

Operation: inserts a marker in the view at point (px, py, pz). Allows to plot a given point for instance to see the point corresponding to a probe.

DeleteMarkers()

Operation: deletes all markers that have been added with the command InsertMarker.

Recording an unsteady animation
For unsteady cases, the button  (Start/Stop Animation Recording) allows to record an unsteady animation.
By default the state of this button is off. When clicking on the button for the first time, the state is changed to on and an Animation Output Set Up dialog box (FIGURE 9) pops up asking for the parameters for creating the animation. This dialog box contains all the parameters that are needed for creation of PNG images. The top part of the dialog box is very similar to the Print Output Set Up dialog box that is invoked from File/Print... menu. The lower part of the dialog box contains options specific to the animation. The Other Options area allows to specify the delay between two frames (in 1/100th of a second) and the number of loops in the animation (0 corresponds to a never ending loop). It is also possible to choose to Delete Image Files after an animated GIF has been created from them. After setting the parameters, click on the Ok button to pop up a file selection dialog box (Save Animation in GIF Format) that allows to specify the name for the animated GIF file.


FIGURE 9 Animation output set up
When an animation has to be created:

Click on Start/Stop Animation Recording  to activate it.
The Animation Output Set Up dialog box (FIGURE 8) will pop up. After setting the parameters, press Ok.
The Save Animation in GIF Format dialog box will pop up. Enter the name for the animated GIF file. Press Ok.
Animate required frames using the Play button . For each frame an image will be saved.
Click on Start/Stop Animation Recording button to deactivate it. All the images saved during the interval when the Start/Stop Animation Recording button was active are combined in the form of an animated GIF file with the name specified by the user.

If in step 3, user specifies the name of the animated GIF file to be "animated.gif", the PNG images in step 4 are created with names derived from "animated.gif" by appending "_steadycfvtmp" to it (e.g animated_steadycfvtmp_t01.png, animated_steadycfvtmp_02.png, etc).

Structured Project
Depending on the number of blocks, the dialog box is different. If the mesh contains more than one domain, it may happen that more than one surface has to be selected, each of them in their distinct domains.


FIGURE 4 Meridional average input definition dialog box of structured project for multiple domains
To add a patch to the meridional mesh:

Select the domain from which it is extracted by clicking on the domain number in the Domains list.
Select the patch family by activating the I,JorK option and by setting the index value in the Value entry. The surface is represented in blue in the currently active view.
If necessary, select a subrange in the two surface indexing directions using the four entries in the lower left corner of the Select frame. The representation in the active view is updated accordingly.
Press the add button to insert the surface in the Surfaces list.

To remove a patch from the Surfaces list or to verify the selected patches:

Select a patch in the Surfaces list. 
Press the right mouse button, a popup menu appears:

Select Show WireFrame in order to visualize the selected surface in the active view.
Select Remove to remove the surface from the Surfaces list.


To select the weighting mode:

select None for no weighting coefficient or
select RhoV for a weighting coefficient having the value Density*Meridional Velocity Component.

If the mesh contains only one domain, the layout of the dialog box is simplified as in FIGURE 5:


FIGURE 5 Meridional average input definition for single domain
The dialog box contains only the selection frame and the buttons to choose the weighting factors.
Once the meridional patches are selected,

Press the Ok button to validate the choice and quit the dialog box,
Press the Reset button to come back to the initial choice or
Press the Close button to discard the dialog without applying the meridional patches selection.

If the RhoV mode of weighting is selected, first ensure that a vector field Vxyz or Wxyz is present. If the scalar field Densityis not present, its value is assumed to be uniformly 1.
If the Density field is not present, such a field can be generated by making use of the derived quantities functionality.

Commands Related to Quantity Selection
These commands trigger a Name Error if the quantity is unknown.

int QntFieldExist(string name)

Operation: the function is testing if a quantity with the specified name is existing in one or several domains. If the quantity is existing the function returns a non null value. This macro can not be used for solid quantities (see macro QntSurfaceExist for this purpose).

int QntSurfaceExist(string name)

Operation: the function is testing if a solid quantity with the specified name is existing on one or several surfaces. If the quantity is existing the function returns a non null value.

QntFieldScalar(string quantity), QntFieldVector(string quantity)

Associated menu item: Quantity / Field Data.
Operation (Select Field Quantity): selects quantity as the active quantity.

QntFieldLoad(string quantity)

Operation (Quantities Load on Demand): if the specified quantity is not already loaded from file, it is loaded.
Exception: a ValueError is produced if the name is not valid.

QntFieldRemove(string quantity)

Associated item: the Quantity Status dialog box.
Operation (Field Quantities Status Dialog Box): if the specified quantity is a derived quantity, it is removed. Otherwise, no operation is performed.
Exception: a ValueError is produced if the quantity name is not valid.

QntFieldDerived(int mode, string name, string definition [,string definition2, string definition3])

Associated menu item: Quantity / Field Data / Define New Quantity...
Operation: creates a new field quantity named 'name'. The parameter 'mode' specifies the new quantity type: 0 for a scalar, 1 for a vector with a definition expressed as a combination of vectorial quantities or 2 for a vector with a definition specified component by component. If 'mode' has a value of 2, the parameters 'definition2' and 'definition3' must be present, otherwise they can be omitted.

QntSurfaceDerived(int mode, string name, string definition [,string definition2, string definition3])

Associated menu item: Quantity / Field Data / Define New Quantity...
Operation: creates a new surface quantity named 'name'. The parameter 'mode' specifies the new quantity type: 0 for a scalar, 1 for a vector with a definition expressed as a combination of vectorial quantities or 2 for a vector with a definition specified component by component. If 'mode' has a value of 2, the parameters 'definition2' and 'definition3' must be present, otherwise they can be omitted.

FieldCurl(string quantity), FieldDivergence(string quantity), FieldGradient(string quantity)

Associated menu items: Quantity / Field Data / Curl, Divergence, Gradient
Operation: (Apply Differential Operators: Gradient, Divergence or Curl) calculates the Curl, Divergence or Gradient of the operand field and creates a new field quantity named respectively: Curl, Grad, Div followed by (name of the operand field).

FieldLambda2(string quantity), FieldQInvariant(string quantity)

Associated menu items: Quantity / Field Data / Vortex Detection / Lambda 2, Q Invariant
Operation: (Vortex Detection) calculates the Lambda 2 and Q Invariant of operand field and creates a new field quantity named respectively: Lambda 2, Q Invariant followed by (name of the operand field).

QntSolidScalar(string quantity), QntSolidVector(string quantity)

Associated menu item: Quantity / Solid Data
Operation (Select Solid Quantity): selects quantity as the active quantity.

ThermoDynDerQnt(string quantity)

Associated menu item: Quantity / Field Data / Computed Thermodynamics
Operation (Select Computed Thermodynamic Quantity): selects quantity as the active quantity.

ImportQuantity(projName, qntName, newQntName)

Associated menu item: Quantity / Field Data / Projects Comparison ...
Operation (Projects Comparison): imports a quantity for comparison. The parameter projName is the project from which the quantity will be imported, qntName is the name of the quantity to import and newQntName is the name of the new quantity to be created in the active project.

CompareQuantity(projName, qntName, newQntName)

Associated menu item: Quantity / Field Data / Projects Comparison ...
Operation (Projects Comparison): compares a quantity for two opened projects. The parameter projName is the project from which the quantity will be compared, qntName is the name of the quantity to compare and newQntName is the name of the new quantity to be created in the active project.

DefaultProjectsComparisonTolerance(float tol)

Associated menu item: Preference / Projects Comparison Tolerance
Operation (Projects Comparison): sets the tolerance for projects comparison.

QntPlot(string quantity)

Associated menu item: Quantity / Plot Data
Operation (Represent Plot Data): creates a new plot view with the plot data quantity and makes it the active view.

string QntValid(string quantity), string QntValidCompare(string quantity)

Associated menu item: Quantity / Validation Data.
Operation (Represent Validation Data): creates a new plot view with the validation data, makes it the current view. Furthermore, QntValidCompare extracts and draws collocated simulated data. The functions are returning the name of the view in which the data are inserted.

QntValidLoad(string fileName)

Associated menu item: File / Load Validation Data...
Operation: loads the indicated file and inserts the validation data it contains.

QntSolidRemove(string quantity)

Operation: unloads the quantity and place a small bitmap file (unload icon) adjacent to the quantity in Quantities/Solid Data box in the QAP.

QntSolidRemoveAll()

Operation: unloads all solid quantities in Quantities box and places an unload icon beside each solid quantity.

QntFieldRemove(string quantity)

Operation: unloads the quantity and place a small bitmap file (unload icon) adjacent to the quantity in Quantities box in the QAP.

QntFieldRemoveAll()

Operation: unloads all field quantities in Quantities box and places an unload icon beside each field quantity

ParticuleTracesAll(), ParticuleTracesOnGrid(int Imin, int Imax, int Istep, int Jmin, int Jmax, int Jstep)

Associated menu item: Quantity / Particle Traces
Operation (Represent Particle Traces Data): adds the representation of the particle traces data related to any of the active INLET boundaries. ParticuleTracesOnGrid restricts the traces to those on a subset of cells whose index is defined by a I index between Imin and Imax, one each Istep and a J index between Jmin and Jmax, one each Jstep.

Graphical User Interface (GUI)

When starting CFView™, the graphical user interface appears on the screen. The interface allows to navigate through the system by interacting with all of its parts. It is subdivided into areas:


FIGURE 1 	The graphical user interface
Creating flow field pictures with print quality is made very easy with CFView™ and usually consists of the following steps:

The fluid flow simulation project is opened and a sketch of its geometry is drawn automatically in the graphics area. When used in the FINE™ GUI environment, CFView™ is opening automatically the current computational project. More than one project can be opened simultaneously (see Open Multiple Projects for multiple project handling and Supported File Formats for a detailed description of the supported file formats).
One or several surfaces on which a flow quantity is to be represented are selected or created. CFView™ allows selecting any of the boundary surfaces on which boundary conditions have been defined, but also allows creating cuts at arbitrary locations as well as iso-surfaces. Please refer to Creating & Handling Surfaces for a detailed description of surface selection and creation.
The flow quantity and the type of representation are selected. Isolines, color contours, streamlines, iso-surfaces, solid rendering, Cartesian plots are among the most frequently used representations available. The graphics area is updated automatically. Refer to Flow Quantities Visualization for a detailed description of quantity selection and creation and also for a detailed description of the various types of representations.
If necessary, the viewing point can be modified (see Views Manipulation) and the representation parameters can be modified through dialog boxes (see Update Representations).
The final picture is printed in one of the available graphic formats (PNG, JPEG, PostScript...).

The user interface is organized in various parts: the menu bar, the toolbar, the Quick Access Pad, the graphics area, the message area, the information area and the viewing buttons, as shown in FIGURE 1 Each part plays a specific role, as explained in the following sections.

Frame of reference change of the spectral solution
Selecting the menu Representation / NLH / Circular Arc will draw a circular arc between two periodics, either by interactively clicking in the 3D view or by typing x, y and z values in the input entry. If drawing a circular arc by interactively clicking in the 3D view, the periodic surfaces must be selected. The circular arc contains all intersections of the circle with the intersected cell surfaces and is colored by the active quantity. Note the circular arc cannot cross solid surfaces.
The change of reference frame is based on Fourier series whose number of terms is controlled by the K parameter (see below). The circular arc is the trajectory of the observer in the frame of reference of the computation.


FIGURE 17 Right-click menu on the circular arc
When clicking-right on the circular arc, a pop up shown in FIGURE 17 appears:

The Delete menu allows to delete the circular arc.
The Update Quantity menu allows to update the quantity once the active quantity has changed.
The Cartesian Plot menu allows to get a Cartesian Plot of the selected quantity.
The Spectral Analysis menu is available only if one single arc is selected and its real and imaginary components of harmonics are available as well as the corresponding averaged stationary field. The menu opens a dialog box that allows to specify the following parameters:

Theta: defines the location of the observer on the circular arc.
K: defines the number of terms in Fourier series.
Rotation Speed: defines the rotation speed of the observer. The unit is RPM.




When clicking on the button Ok, the spectrum, which is observed in the reference frame defined by the Rotation Speed, will be plotted. In the spectrum graph, the ordinate has been set under logarithm form:

If the active quantity U is the pressure, the decibel (dB) scale is used:where: 


If the active quantity U is a velocity, the decibel (dB) scale iswhere 


If the active quantity U is the density, the decibel (dB) scale iswhere and c=340 [m/s].


In other cases, where no reference threshold is known, the value is given by:and therefore leads to negative values as soon as |U|<1.

The reference values pref, νref and ρref can be modified in the menu Preferences / NLH Settings. By default, a RMS normalization is done (the reference values are multiplied by √2). In the preferences, the user can also choose to use a linear scale rather than a logarithmic scale. The default value of Kmax can also be modified in the preferences.

Vector Lines Parameters
The parameters of the vector lines like the color, the direction, the curve type, the number of points or the cell average can be changed in the following way.

Choose Parameters... from the Representation/Vector line menu or click on the  button in the Representations/Vector Lines subpanel. A dialog box appears, as shown in FIGURE 48.
To modify the integration direction: click on the pull down menu and choose between three options:

forward, to set up a downstream integration,
backward, to set up an upstream integration or
both, to set up a full-stream integration.

To modify the computation mode: click on the pull menu and choose between two options:

volume, to define vector line(s) in the 3D space or
surface, to constrain the vector line on the surface from which it is started

To modify the maximum number of points per vector line: click on the Max points per line box and enter the desired number of points or use the increment-decrement buttons (little up-down arrows).
To modify the maximum number of points calculated inside each cell (this number avoids continuous calculations when the vector line goes in a spiral inside a cell): click on the Max points per cell box and enter the desired number of points or use the increment-decrement buttons (little up-down arrows). This parameter is used only for surface streamlines on mesh surfaces.
To modify the average number of points inside each cell (this average defines the number of points calculated inside a cell): click on the Average points per cell box and enter the desired point average or use the increment-decrement buttons (little up-down arrows). This parameter is used only for surface streamlines on mesh surfaces.
Click the Apply button to apply the modifications.
Click the Reset button to discard the modifications and go back to the initial parameters.
Click the Close button to close the dialog box.

To modify the Line Type or the Marker Type click on the corresponding thumbnail that allows the modification of the default line and marker types.
The selected parameters are applicable for the next vector line(s) to be created.
The keyboard shortcut for vector line Parameters is <q>.


FIGURE 48 Vector Lines Parameters

Field Quantities & Computer Memory Management

Isolines
Single or multiple isolines are available. It is also possible to select uniformly colored isolines or isolines colored according to the value.
Drawing a Local Isoline

To display a local isoline of the active quantity:

Choose Representation/Isolines/Local Isoline in the menu bar or click on the button  in the Representations/Contours & Iso Values subpanel.
The keyboard shortcut for Local Isoline insertion is <j>.
An iso-value can be set in three different ways:

	type a single value (in between the minimum and maximum of the quantity) in the keyboard input area and press <Enter>.
	left-click on the active surface. For each clicking operation, the value of the quantity at the selected point is interpolated and an isoline corresponding to that value will be generated.
	left-click on the colormap of the active view to indicate the desired value.


This option remains active as long as no other scalar representation is activated.
Isoline drawing is restricted to the current range. See Control Representations Range for more details on the quantity range.


Drawing Multiple Isolines

To generate multiple isolines, choose Isolines... from the Representation/Isolines menu or click on the  button in the Representations/Contours & Iso Values subpanel. 
The keyboard shortcut for Isolines is <i>.
A dialog box is opened once the button is pressed: the isolines can be specified by the number of isolines to be drawn or by their relative increment. 
To modify the number of isolines:

	click the number option;
adjust the Valuewith the spinner or type the value directly into the text box.

To modify the increment between two isolines:

	click the increment option;
	adjust the Valuewith the spinner or type the value directly into the text box.



FIGURE 13 Create Multiple Isolines

To modify the range of which the isolines are computed:
	type the value in the from text box for the minimum value and press <Enter>.
	perform the same operation for the maximum value in the to text box.
If an input value exceeds the quantity limits, it is automatically reset to the limit value.
Select whether the isolines should be uniformly colored (Uniform) or colored according to the value (Contour).
Select Clear Before Apply (default) to remove the isolines corresponding to the active quantities before the new ones are created.
Click the Apply button to start the isoline computation with the new parameters.
Click the Close button to exit the dialog box.

Isolines drawing is restricted to the current range. See Control Representations Range for more details on the quantity range.


Modifying the Isolines

To modify the isolines represented in graphics area,

Left-click on one of the isolines created, immediately the isoline is highlighted in light green. It is possible to select several isolines by pressing the <Ctrl> key.
Right-click to access the pop-up menu shown in FIGURE 14 (left). Once the Value On/Off is toggled, the menu with more options (right) appears.



FIGURE 14 Right-click menu for isolines
The pop-up menu contains the following options:

Line Type... allows the user to edit the type of line used for the representation. Note that the line color parameter is effective only if the isolines are set in the Color Lock mode (see Curve, Line & Marker Type Editors for an explanation of the line type parameters). 
Color Lock draws the isolines in a fixed color.
Color by Value (default) draws the isolines according to the isoline's value.
Value On/Off displays or hides the value of the isolines. Once the values of the isolines are displayed, more options are available in the menu:

- Larger Font/Smaller Font increases or decreases the font size.
- Value Format ... allows the user to change the format of the values.
- Value Colored sets the color the value according to the isoline's value.
- Label White (default)/ Label Colored sets the background of the value to white or according to the isoline's value.


The Line Type, Color Lock, Color by Value and Value On/Off options apply to all the isolines. 

Export to File ... exports the selected isoline(s) into a .dat file with the name given by the user in the file chooser. The format of the file is compatible with IGG curve data files and is the same as for the export of streamlines. 
For each selected isoline:

the first line is the name of the isoline. There can be several parts for each isoline.
the second line is the coordinate system, i.e. "XYZ" for Cartesian, "RTHZ" for cylindrical or "STM" for meridional.
the third line is the number of points. 
for each point there is one line with the x, y and z coordinates.


Example:




Cartesian Plot creates a Cartesian plot of the active quantity on the selected isoline. For example, the wave elevation can be plotted by creating a Cartesian plot of Z on the isoline of mass fraction with value 0.5.The Cartesian plot is available in the Cartesian view only.
Delete suppresses the selected isoline(s) from the graphics area.

The Export to File, Cartesian Plot and Delete options apply only to the selected isolines.


Deleting the Isolines

CFView™ provides different methods to delete the isolines:

By interactive selection: as explained in Modifying the Isolines, when isolines are selected, the associated pop up menu contains the Delete item. By selecting this item, the currently selected isolines are suppressed from the graphics area.
By selecting Update/Delete/Isoline: all the isolines associated to the active quantity and that are drawn on one of the active surfaces are erased.
By selecting Update/Delete/All or pressing <Ctrl> +<d> shortcut: all the representations (not only the isolines) on all surfaces are deleted.

Change Axis Ticks & Labels
When right-clicking in the Cartesian plot view, the Toggle Ticks Orientation menu allows the user to select one of the two different ticks orientations. The ticks have their centers aligned with axes or the ticks are inwards.


FIGURE 39 Toggle ticks orientation
Ticks & Numbers

A specific dialog box exists for user to update the ticks and the numbers style. In order to open this dialog box, select the axis, then, in the popup menu which is raised by pressing the right mouse button, select the item Ticks & Numbers...


FIGURE 40 Axis ticks and labels definition dialog box
The dialog box contains several parts:

The numbers orientation buttons: allow the user to choose the text orientation between horizontal, vertical or at 45 degrees.
The numbers text type part allows the user to choose the font name, size and color for the axis numbers.
The Minor/Major Ticks entries allow the number of graduations displayed on the axis to be defined. Note that CFView™ is rounding automatically the graduations interval in order to display values with as few significant numbers as possible. 
The Numbers distance entry enlarges or shrinks the spacing between the axis and the graduation numbers.



Axis Label

In order to modify the axis label, it should be selected by clicking on it with the left mouse button. Red markers are displayed around it to indicate the selected element. 
When the axis label is selected, a popup menu is raised by pressing the right mouse button.



This menu contains 4 elements:

Select Larger FontSize or Smaller FontSize to enlarge or shrink the label text.
Select Edit Text... in order to edit interactively the text. During its edition, the text is displayed horizontally for a better readability. The following functions are available during the edition:

The text is inserted at the cursor position. Initially, this cursor is positioned on the first character.
The left and right arrow key to move the insertion cursor.
The <Backspace> key suppresses the character on the left side of the insertion cursor.



Select Font & Position... in order to open a dialog box in which the label font and position can be modified.


FIGURE 41 Axis Label Editor

The Font Type frame allows the user to choose the font type, size and color (see Text Type Editor for further details on text fonts). The default font type can be modified in the menu Preferences / Axis Text type.
The Position frame allows the user to choose the position (either at the axis origin, at mid-range or an the axis end) as well as the distance between the numbers and the label text.

TurboWizard Module

TurboWizard Step 1 : Configuration File

The first step of the TurboWizard module is the configuration file ".in" definition: an existing file can be loaded or a new one can be created. When creating a new configuration file (i.e. "turbo.in"), a folder "TurboWizard_turbo" is created including the configuration file  and two empty subfolders "datafiles" and "picturefiles" that will contain the output data and PNG picture files of the post-processing tool(s).


FIGURE 19 TurboWizard step 1
The configuration file ".in" is a template file containing all the inputs of the TurboWizard module:

the absolute path of the CFView Turbomachinery solution (".run" file);
the type of the project ("structured" or "unstructured");
the stations used for averaging with specified averaging type;
the variables to average on meridional (RTHZ) stations with specified weighting factor;
the absolute path of the hub & shroud definition file (only for "unstructured" project);
the span heights;
the name of the blades;
the variables to sample on blades.

All modifications applied in the TurboWizard module are automatically recorded in the configuration file.
The Cancel button stops the TurboWizard module without saving.
The Next button allows to go to the second step of the TurboWizard module. The button is not active when no configuration file is selected.
The documentation is also available when moving the mouse on the info icon () on the top right of the dialog box.
TurboWizard Step 2 : Meridional Station Averages Post-Processing Tool

Update Cartesian Plot
A Cartesian plot view is made of several parts that can be selected and updated separately. The curves, the axis and the axis labels are the elements that may be selected. The various ways to update these elements are described in the following sections.

Compute & Open Meridional View
The computation of the azimuthal averaging is started by selecting Compute & Open Pitch Average from the Window menu.
A message "Computing pitch average" is displayed and a progress meter shows the computation progression.
Once the computation is completed, a bi-dimensional project whose geometrical support is the R-Z projection of the meridional mesh is opened. It contains the fields which are the pitch average values of the fields selected in the Define Meridional Average Input dialog box (by default all the fields of the tri-dimensional project).
This project can be handled as any project: several views of the same data can be opened. It is also possible to open different meridional average computations which are based on a different meridional patches set or on a different weighting factor.

Represent Particle Traces Data
This functionality allows the user to represent particle traces data computed by the Lagrangian module of FINE™ / Turbo. These particle traces are always related to INLET boundaries. To represent particle traces:

Activate the INLET surfaces from which the particle traces were started. The Quantity/Particle Traces menu is enabled only if particle traces are attached to one of the active surfaces.
Select All Traces in the Quantity/Particle Traces menu to add the representations of all the particle traces data related to the currently selected INLET boundaries.
Select Traces... in the Quantity/Particle Traces menu to open a grid nodes chooser dialog box which restricts the representation to a given range of nodes.

Update Particle Traces Representations

To update the type of line used to represent the particle traces, select them with the left mouse button. The particle traces attached to a same inlet surface are forming a group that is selected when any of its particle traces is selected.
Press the right mouse button, a popup menu appears. Select the Curve Type... item to open a Curve Type Editor dialog box (see Curve, Line & Marker Type Editors for a detailed description of this dialog box).


Delete Particle Traces

The popup menu associated to a particle traces group contains a Delete item. Select this item to remove the representation of the particle traces group.

Local Reconstruction and Spectral Analysis

The reconstruction of harmonic computations is quite time consuming and requires a large disk space to save the unsteady solution. CFView™ provides several functions, allowing the user to get the local time evolution or the local spectrum of the selected quantity without the need of reconstructing the whole computation in time.
All the functions are available under the menu Representation / NLH. After opening a harmonic project and select a quantity in the QAP Quantities, the menu Representation / NLH becomes accessible.
When performing a local reconstruction, the harmonics data must be in the cgns file.
The spectral analysis is not possible for unstructured projects.

Select Mechanics Data
In the Quantities subpanel, the Mechanics group enables the calculation of the force (per unit surface), the torque on solid surfaces, the normals and the normalized normals:

When double clicking on Force, the vector field  is computed on each point of the solid surfaces from the static pressure and viscous stress fields computed by the flow solver:




where n is the normalized normal to the cell and τxyz is the viscous stress.
If the Viscous Stress (Solid Data) output is not computed by the flow solver, it will not be considered in the computation of the Force.
The computed Force (per unit surface) is added in the Solid Data group.

When double clicking on Torque, the vector or scalar fields are computed depending of the settings imposed in the Set Torque Axe dialog box (Geometry/Set Torque Axis... menu).



By default, the torque is computed with respect to the axis defined by the Origin (first point) and Direction (end point) coordinates.

If the check button With respect to point is not active, when double clicking on Torque, the scalar field (component along specified axis) is computed and added under the Solid Data group as Scalar Torque.
If the check button With respect to point is active, when double clicking on Torque, the vector field is computed and added under the Solid Data group as Vector Torque.




When double clicking on Normals, the normal vector field is computed on each point of the solid surfaces. The magnitude of the normal is the arithmetic average of the adjacent cell surface areas. The computed Normals is added in the Solid Data group.
When double clicking on Normalized Normals, the normalized normal vector field is computed on each point of the solid surfaces. The magnitude of the normalized normal is set to 1. The computed Normalized Normals is added in the Solid Data group.
The total scalar torque is computed by:

selecting the Scalar Torque quantity,
clicking on the Scalar Integral button that will integrate the scalar field on all active surfaces.



The total force and vector torque are calculated by taking the norm of the vector given by the use of the Vector Integral button (i.e. total force = sqrt(Fx^2+Fy^2+Fz^2)).


The Vector Integral button integrates the active vector field (Force or Vector Torque) on all active surfaces and provides the x, y, z components of the resulting vector.





When comparing results of vector integral with solver results in .wall file, differences may appear mainly for the inviscid contribution. We recommend to use the Force and Vector Torque quantities for field visualization purpose only and not for integration in CFView™. To compute accurate x,y,z components of the Force on active solid surfaces, the following approach should be followed:

Commands Related to Surface or Group Surface Selection
Some of the functions described below are taking a variable number of arguments. If the arguments to be passed to the command are contained in a list, the form apply(command,list) may be used to call the command with the arguments contained in the list.
Example:

for i in range(1,10):
   mySurfacesList.append(CutPlaneSave(....))
   apply(SelectFromProject, mySurfacesList)

SurfaceRename(string oldName, string newName)

Associated operation: surface or group renaming from the Surface Selection dialog box.
Operation (What are Surfaces in CFView™?): change the name of the indicated surface or group from oldName into newName.
Exception: raises an Attribute Error if newName is missing or is already used by another surface or group. The error is raised also if oldName does not correspond to an existing surface or group.

[...] GetViewSurfaceList()

Operation: this command returns the list of all the surfaces that are represented in the active view. Note that for the surfaces that have been introduced as part of a group, only the group name is included in the list.

[...] GetViewActiveSurfacesList()

Operation: this command returns the list of surfaces that are currently selected in the active view.

SelectFromView(string name1, string name2, ...)

Operation (Select Surfaces): activates the surfaces having names name1, name2, etc...

SelectFromViewRegExp(string regexp), UnselectFromViewRegExp(string regexp)

Operation: adds or removes the surfaces having names matching the regular expression regexp to or from the selection (for example '*' will match all, '*solid*' will match all solids, etc...). The "SelectFromViewRegExp" command is similar to "SelectFromProjectRegExp".

RemoveFromView(string name1, string name2, ...)

Operation (Select Surfaces): removes the surfaces having names name1, name2, etc from the active view. The operation only removes the representation on the indicated surface. The surface will still exist but is not displayed (e.g. a color contour is no longer displayed).

RemoveFromViewRegExp(string regexp)

Associated menu item: -
Operation: removes the surfaces having names matching the regular expression regexp (for example '.*' will match all, '.*solid*' will match all solids, etc...) from the active view. The operation only removes the representation on the indicated surface. The surface will still exist but is not displayed (e.g. a color contour is no longer displayed).

[...] GetProjectSurfaceList()

Operation: returns the list of all the surfaces that are existing in the project. Note that for surfaces that are part of a group, both the group name and all its members are included in the list.

SelectFromProject(string name1, string name2, ...)

Associated menu item: Geometry / Select Surfaces....
Operation (Select Surfaces): selects only the surfaces listed (having names name1, name2, etc) from the project into the active view.

SelectFromProjectRegExp(string regexp)

Operation: adds surfaces from the project having names matching the regular expression regexp to the selection (for example empty string ('') will match all and simply typing 'solid' will match all solids etc...). Command equivalent to "SelectFromViewRegExp".

SelectTypeFromProject(string type), UnselectTypeFromView(string type)

Operation: activates or inactivates all the surfaces which have a boundary condition type identical to the specified one (only the first 3 letters are considered, i.e. type may be sol, inl, out, ext, mir, rot, con, cmb, nmb, per, pmb, pnm or sng).

DeleteFromProject(string name1, string name2, ...)

Operation (Select Surfaces): deletes the surfaces having names name1, name2, ..., from the project (and also from the active view). DeleteFromProject removes all representations on the indicated surfaces in all the views of the project AND deletes the surface(s) from the project ONLY IF the surface was created during the project session. The names name1, name2,..., can also be the name of a group of surfaces: DeleteFromProject deletes the groups but not the surfaces inside.

DeleteFromProjectRegExp(string regexp)

Operation: deletes the surfaces from the project having names matching the regular expression regexp (for example '*' will match all, '*solid*' will match all solids etc...). DeleteFromProject removes all representations on the indicated surfaces in all the views of the project AND deletes the surface(s) from the project ONLY IF the surface was created during the project session. 
(e.g. a cutting plane).

SurfaceActivate(float p1x, float p1y, float p1z, float p2x, float p2y, float p2z)

Associated menu item: Geometry / Activate Surface ().
Operation (Select Surfaces): toggles the selection status of the surface intersected by the line defined by the points (p1x,p1y,p1z) and (p2x,p2y,p2z). If more than one surface is intersected, the closest one to the camera is selected.

The arguments of the function SurfaceActivate are (p1x,p1y,p1z,p2x,p2y,p2z). p1and p2 are two points in Cartesian coordinates. When using the function in the meridional view, (Z,R,Theta) coordinates are used to locate a point (p1z,p1r,p1theta,p2z,p2r,p2theta).
ActivateSurfacesFromDomainIndex(int domId, string 'surface type')

Operation: selects all surfaces from domain specified by its domain ID. The second argument is optional and it allows the selection of some type of surfaces only. The available surface types are the same than the command SelectTypeFromProject. If second argument is missing, all surfaces are selected.
Example: 

ActivateSurfacesFromDomainIndex(3, 'sol')

CreateSurfaceGroup(string groupName, string surfaceName, ...)

Operation (Surfaces Groups): create a group with the specified name and containing the surfaces provided in argument.

SelectedSurfacesAdd(string surfaceName)

Associated item: right-click on the selected surfaces and Add to Selection
Operation: add the selected surfaces to the current selected surfaces list.

SelectedSurfacesRemove(string surfaceName)

Associated item: right-click on the selected surfaces and Remove from Selection
Operation: remove the selected surfaces to the current selected surfaces list.

GroupRemove(string groupName)

Operation (Surfaces Groups): suppresses a group, leaving intact all its members.

GroupItemMove(string surfaceName, string originalgroupName, string newgroupName)

Operation: groups selected surface and existing group in a new group.

Active View

Although CFView™ allows any number of views to appear on the screen, only one view may be active at a given time. The active view is the view to which all viewing operations and data manipulations are applied by using the viewing buttons and menus.
The active view always appears on top of all the other views (view stack) and is recognized by its red border, while the other views appear with a black border.
It is possible to activate any other view for interactive work. To do so, use the left mouse button: click inside the view, to pop-up the desired view of the stack on top of the others.

Animations in Steady State Data Sets

CFView™ allows to represent pseudo particles moving along streamlines as well as scrolling structured surfaces and cutting planes.

Commands Related to Scalar Quantity Representations
Unless stated differently, these commands raise an Attribute Error if the selected quantity is not a scalar.

DeleteAll()

Associated menu item: Update / Delete / All.
Operation: deletes all representations of the active view.

DeleteAllRepresentationsFromView(string name1, string name2, ...)

Operation: deletes all representations on the indicated surfaces.

SelectBoundaryCurves(string name)

Associated menu item: Right-click on the curve in the active view.
Operation: selects the curves of the geometry defined by name.

UpdateLineType(LineType t)

Associated menu item: Update / Line Type Editor....
Operation: sets last representation line type to t (Description of Argument List for Some Standard Features for argument description).

UpdateMarkerType(MarkerType m)

Associated menu item: Update / Marker Type Editor....
Operation: sets last representation marker type to m (Description of Argument List for Some Standard Features for argument description).

UpdateCurveType(CurveType c)

Associated menu item: Update / Curve Type Editor....
Operation: sets last representation type and marker type to c (Description of Argument List for Some Standard Features for argument description).

UpdateSectionCurveType(CurveType c)

Operation: sets last representation type and marker type to c (Description of Argument List for Some Standard Features for argument description) to all the curves of the Cartesian plot.

ThickerCurveType(), ThinnerCurveType()

Operation: increases or decreases the line width and markers size for the currently active curves.

UpdateCurveLineType(LineType t, String name1, String name1)

Associated menu item: Update / Line Type Editor....
Operation: sets selected surfaces curve type to t (Description of Argument List for Some Standard Features for argument description). If no surface is specified, the command applies to the whole project.


Local Values


RprLocalValue(float px, float py, float pz, float dx, float dy, float dz, bool b, float psx, float psy, float psz, String name)

Associated menu item: Representation / Local Value 
Operation (Display Local Values): displays a local value (or local vector) at the intersection between the ray defined by point(px,py,pz) and direction(dx,dy,dz) and the active surfaces/streamlines of the active view. If a streamline is hit (b=1), the exact point on the streamline is (psx,psy,psz) and the function returns the name of the streamline's parent surface.

SaveLocalValues(string fileName)

Associated menu item: Representation / Export Local Values...
Operation: exports all local values corresponding to the active quantity in the file fileName.

DeleteLocalValue()

Associated menu item: Update / Delete / Local Value.
Operation: deletes the local values of the active quantity on the active surfaces. 

UpdateDoubleFormat(DoubleFormat f)

Associated menu item: Update/ Numbers Format Editor...
Operation (Numbers Format Editor): sets the number format of the active local value to f (Description of Argument List for Some Standard Features for argument description).

UpdateTextType(TextType t)

Associated menu item: Update / TextType Editor...
Operation (Text Type Editor): sets the text type of the active local values.




Color Contours


SclContourFlat(), SclContourSmooth(), SclContourStrip(), SclContourNone()

Associated menu item: Representation / Color Contour.
Operation (Color Contours section): applies specified quantity coloring option (either flat, smooth, strip or no contour).

SclContourTFlat(float min, float max, [float min, float max]), SclContourTSmooth(float min, float max, [float min, float max]), SclContourTStrip(float min, float max, [float min, float max])

Associated menu item: Representation / Color Contour
Operation: applies specified quantity coloring option (either flat, smooth or strip). Only the part of the surfaces having value between min and max will be visible. It is allowed to specify one or two ranges.

SclContourFilled(), SclContourWireFrame(), SclContourMarkersOnly()

Operation: sets the type of coloring for the active color contours: respectively a filled surface, a wire frame or only the markers at grid points location.
SclContourToggleMarker(), SclContourToggleEdge(), SclContourToggleFace()
Associated menu item: Representation / Color Contour / Visibility On/Off
Operation: toggles the visibility status of the grid points, edges or faces of the color contour representations on the active surfaces.

SclContourToggleMarkerLight(), SclContourToggleEdgeLight(), SclContourToggleFaceLight()

Associated menu item: Representation / Color Contour / Light On/Off.
Operation: toggles the lighting status of the points, edges or faces of the current color contour representations on the active surfaces.

DeleteContour()

Associated menu item: Update / Delete / Color Contour
Operation: deletes the color contour representations on the active surfaces.




Isolines


SclIsolinePoint(float p1x, float p1y, float p1z, float p2x, float p2y, float p2z)

Associated menu item: Representation / Isolines / Local Isoline
Operation (Isolines): draws the isolines containing the intersection between the line defined by the points (p1x,p1y,p1z) and (p2x,p2y,p2z) and each of the active surfaces.

stringSclIsolineValue(float value) 

Associated menu item: Representation / Isolines / Local Isoline
Operation (Isolines): draws the isoline with value specified on each of the active surfaces and returns the name of the isoline. For example, the name of the isoline is "Isoline Static Pressure = 125000".

SclIsolineRange(float min, float max, float inc)

Associated menu item: Representation / Isolines / Isolines ...
Operation (Drawing Multiple Isolines): draws a set of isolines starting from the minimum value, min to the maximum value, max with an increment of inc.

SclIsolineMulti(2, 4, float min, float max, float inc, int color)

Associated menu item: Representation / Isolines / Isolines ...
Operation (Drawing Multiple Isolines): draws a set of isolines starting from the minimum value, min to the maximum value, max with an increment of inc. The isolines are colored according to their value (Color =0) or not (color=1).

SclIsolineColorLock(bool b)

Associated menu items: Representation/ Isoline / Color Contour and Color Uniform
Operation: sets the coloring attribute to color contour (b=0) or to color uniform (b=1). 

SetQuantityIsolineColorLock(string quantityName, bool b)

Associated menu items: Representation/ Isoline / Color Contour and Color Uniform
Operation: sets the coloring attribute of the isolines on the active quantity to color contour (b=0) or to color uniform (b=1).

SelectIsolineCurves(string isolineName, string isolineName1, ...)

Operation: activates the isoline(s) having names isolineName, isolineName1, etc.

ToggleIsolineValue()

Associated menu item: right-click menu of the selected isoline
Operation: shows or hides the isoline value.

IsolineValueLargerFont()

Associated menu item: right-click menu of the selected isoline
Operation: increases the font size of the isoline value.

IsolineValueSmallerFont()

Associated menu item: right-click menu of the selected isoline
Operation: decreases the font size of the isoline value.

IsolineValueType(textType, doubleFormat)

Associated dialog box: Isoline Value Type Editor
Operation: sets the formats of the isoline value. See the descriptions in Description of Argument List for Some Standard Features for textType and doubleFormat arguments.

IsolineValueColorLock(bool b)

Associated menu item: right-click menu of the selected isoline
Operation: sets the values of isolines to color contour (b=0) or to color uniform (b=1). 

IsolineLabelColorLock(bool b)

Associated menu item: right-click menu of the selected isoline
Operation: sets the labels of isolines to color contour (b=0) or to color uniform (b=1). 

ExportIsoline(string fileName, string isolineName, ...)

Associated menu item: right-click menu of the selected isoline
Operation: exports the selected isoline(s) into a .dat file where fileName is the full path of the file in which the isoline(s) will be saved and isolineName is the name of the isoline to save. There can be more than one isolineName.

IsolineCartPlot()

Associated menu item: right-click menu of the selected isoline
Operation: creates a Cartesian plot of the active quantity for the selected isoline.

DeleteIsoline(string isolineName, string isolineName1, ...)

Associated menu item:  right-click menu of the selected isoline(s)
Operation: deletes the selected isoline(s) on the active surface.
Example: DeleteIsoline('Isoline Density = 1.1963' ,'Isoline Density = 1.19512')

DeleteIsoline()

Associated menu item: Update / Delete / Isoline
Operation: deletes all isolines.




Iso-Surfaces


SclIsoSurfaceValue(float value)

Associated menu item: Representation / Iso-Surface.
Operation (Iso-Surfaces): builds an iso-surface based on a field value and returns the iso-surface volumes below and over the iso-surface value.

SclIsoSurfacePoint(float p1x, float p1y, float p1z, float p2x, float p2y, float p2z)

Associated menu item: Representation / Iso-Surface.
Operation (Iso-Surfaces): builds iso-surfaces containing the intersection of the line defined by the points (p1x,p1y,p1z) and (p2x,p2y,p2z) and the active surfaces.

SclIsoSurfaceSave([float value])

Associated menu item: Representation / Iso-Surface Save.
Operation (Create Iso-surfaces): saves an iso-surface and includes it into the project and current view surface sets. If a value is provided, the iso-surface corresponding to that value is computed and saved, otherwise, the iso-surface currently represented is saved. The macro also returns the name of the created iso-surface.
Exceptions: if no scalar quantity or if no current iso-surface.

DeleteIsoSurface()

Associated menu item: Update / Delete / Iso-Surface.
Operation: deletes the current iso-surface. 




Plot Generation

These commands add plot curves in the plot view associated to the active quantity. If the plot view is not existing, it is created. If no quantity is selected, an Attribute Error is raised. 

stringRprSection(float p1x, float p1y, float p1z, float p2x, float p2y, float p2z, float dx, float dy, float dz, [string sectionName, int coordSys])

Associated menu item: Representation / Cartesian Plot / Along Section
Operation (Cartesian Plot along Section): if the current quantity is a scalar, displays a plot curve of the intersection between the plane defined by the point (p1x,p1y,p1z), the point (p2x,p2y,p2z), the direction of the plane (dx, dy, dz) (it refers to a vector belonging to the plane) and the active surfaces. 
The sectionName argument is optional and indicates the name of the section. 
The coordSys argument is optional and specifies the coordinates system in which the position and direction are provided. If no value is provided, it is assumed that the position and direction are provided in the same coordinates system as the active view.
The function returns the name of the Cartesian plot view in which the curve is inserted.

stringRprSclSectionInPlot(float p1x, float p1y, float p1z, float p2x, float p2y, float p2z, float dx, float dy, float dz, string sectionName, int coordSys, string surfaceName)

Operation (Cartesian Plot along Sectio): this command is the same as the previous one, except that the intersection is made between the plane and the surface whose name is provided.

stringBladeSection(float s)

Operation: adds to the active quantity plot (create it if no already existing) a plot of the active quantity at span height s. The command returns the name of the view in which the curve is inserted.

stringSclPlotNormalizedGridLine(int lineIndex, float lineValue, float startNode, float endNode, [string surfName])

Associated menu item: Representation / Cartesian Plot/ Along Grid Line...
Operation (Cartesian Plot along a Grid Line): creates a plot curve along a grid line. The grid line is a line along I constant if lineIndex=0 or along J constant if lineIndex=1 (where I and J are the local grid direction on the surface). The argument lineValue is the normalized index of the line: 
lineValue=0 for the first line on the surface,
lineValue=0.5 for the line with index equals to the half of the maximum index,
lineValue=1.0 for the line with the maximum index value.
The startNode and endNode arguments are the normalized grid point indices that indicate the range of the grid nodes to consider (startNode=0 and endNode=1 means the whole grid line).

stringSclPlotGridLine(2, 4, int index, int i, int min, int max)

Associated menu item: Representation / Cartesian Plot/ Along Grid Line...
Operation (Cartesian Plot along a Grid Line): adds to the active quantity plot view (creates it if not existing) a plot curve along the grid line i from node number min to node number max (index = 0 or 1 for a line along surface index I or J, respectively). The two first parameters must be present with their prescribed values (2 and 4).The function returns the name of the Cartesian plot view in which the curve is inserted.

stringSclPlotBoundarySolid()

Associated menu item: Representation / Cartesian Plot / Along Solid Boundary.
Operation (Cartesian Plot along Solid Surface Boundaries): adds to the active quantity plot view (creates it if not existing) a plot of the active quantity along active solid surfaces boundaries. The function returns the name of the Cartesian plot view in which the curve is inserted.

stringSclPlotBoundary()

Associated menu item: Representation / Cartesian Plot / Along Boundary.
Operation (Cartesian Plot along Surface Boundaries): adds to the active quantity plot view (creates it if not existing) a plot of the active quantity along active surfaces boundaries. The function returns the name of the Cartesian plot view in which the curve is inserted.

SelectPlotCurves(string name)

Operation: selects the specified plot curves.

DeletePlotCurves(string name)

Operation: deletes the specified plot curves.




Streamlines

A streamline represents a line created from the velocity vector but colored by the selected scalar quantity. These commands raise an Attribute Error if the current quantity is not scalar.

StreamLineLocal(float px, float py, float pz, float dx, float dy, float dz)

Associated menu item: Representation / Streamline / Local
Operation (Local Vector Line): draws streamlines starting at each intersection between an active surface and the line defined by the points (px, py, pz) and the direction (dx, dy, dz).

StreamLineSection(float p1x, float p1y, float p1z, float p2x, float p2y, float p2z, float dx, float dy, float dz)

Associated menu item: Representation / Streamline / Section
Operation (Vector Lines from Section): draws streamlines starting at the intersection between the plane defined by point (p1x,p1y,p1z), point (p2x,p2y,p2z) and direction (dx, dy, dz) and the active surfaces of the active view.

StreamLineSectionPoints(int n)

Associated menu item: Representation / Streamline / Section.
Operation (Vector Lines from Section): sets the number of section points being streamline starting points.

StreamLineGridNodes(2, 4, int index, int i, int min, int max)

Associated menu item: Representation / Streamline / From Grid Line...
Operation (Vector Lines from Section): draw streamlines starting at the nodes of the grid line i (index = 0 or 1 for a line along local I or J, respectively) from node number min to node number max.

StreamLineNormalizedGridLine(int index, int i, int min, int max)

Associated menu item: Representation / Streamline / From Grid Line...
Operation (Vector Lines from Section): draw streamlines starting at the nodes of the grid line i (index = 0 or 1 for a line along local I or J, respectively and i is the index value in % of max) from node number min (first in % of max) to node number max (last in % of max). If several surfaces are selected that have not the same indices, surface name should follow and the previous parameters are repeated for each surface.

StreamLineType()

This macro is here for backward compatibility. It is only recorded from older CFView™ version, and should not be used anymore. It has been replaced by 5 new macros:
StreamLineRepresentation, StreamLineAdvancedParameters, StreamLineComputationParameters, StreamLineCurveType, StreamLineSurfaceType).

StreamLineCurveType(CurveType c)

Operation: sets the streamline curve type for the active streamline (only used when the "Line" representation is chosen).
CurveType: standard curve settings (see Description of Argument List for Some Standard Features).

StreamLineSurfaceType(SurfaceType m)

Operation: sets the streamline surface property for the active streamlines (only used when the "Ribbon"/"Tube" representations are chosen).
SurfaceType: standard material settings (see Description of Argument List for Some Standard Features).

StreamLineRepresentation(int representationType, int colorType, string colorQuantity, float r0, float initialDirectionX, float initialDirectionY, float initialDirectionZ, int itHasVariableSize, int itHasVariableTwist, float twistScaleFactor, float sizeScaleFactor, int TubeVerticesCount)

Operation: sets the streamline representation parameters for the active selected quantity
representationType: 0 = line, 1 = ribbon, 2 = tube (mandatory). Default is 0.
colorType: 0 = uniform, 1 = custom quantity, 2 = velocity color (mandatory). Default is 0.
colorQuantity: name of the selected scalar quantity.
ro: size of the tube/ribbon. Default is 1.
initialDirectionX, initialDirectionY, initialDirectionZ: direction of the first normal of the ribbon/tube. Default is  0,1,0.
itHasVariableSize: 1 = variable size, 0 = uniform size. Default is 0.
itHasVariableTwist: 1 = variable twist, 0 = uniform twist. Default is 0.
sizeScaleFactor: multiplication factor to emphasis size changes. Real positive values are allowed. Default is 1.
twistScaleFactor: multiplication factor to emphasis twist changes. All values are allowed. Default is 1.
tubeVerticesCount: the number of vertices of the polygonal basis of a tube. All integer value >= 3 are allowed. Default is 8.

StreamLineAdvancedParameters(bool itHasCoincidentPointRemoval, bool itHasLaplacianFilter, bool itHasTwistSubdivision, float minimumDistance, int laplacianFilterPassCount, int laplacianFilterKernelSize, float twistSubdivisionMinimumAngle, int twistSubdivisionMaximumPoints)

itHasCoincidentPointRemoval: 1 = coincident point removal, 0 = no coincident point removal. Default is 1.
itHasLaplacianFilter: 1 = laplacian filter, 0=no laplacian filter. Default is 0.
itHasTwistSubdivision: 1 = twist subdivision, 0 = no twist subdivision. Default is 0,
minimumDistance: coincident point removal distance. Default is 0.01.
laplacianFilterPassCount: number of passes of laplacian filtering. Default is 1. (only used when itHasLaplacianFilter = 1)
laplacianFilterKernelSize: size of the laplacian filter kernel. Default is 3. (only used when itHasLaplacianFilter = 1)
twistSubdivisionMinimumAngle: minimum twist angle threshold in degree. All angles greater than twistSubdivisionMinimumAngle will be refined (only used when itHasTwistSubdivision = 1)
twistSubdivisionMaximumPoints: maximum number of points inserted when refining (only used when itHasTwistSubdivision = 1)

StreamLineComputationParameters(int pointsLineMax, int pointsCellMax, int pointsCellAverage, int mode, int direction, int sectionPoints, string vectorQuantity)

Operation: sets the streamline computation parameters for the active selected quantity
pointsLineMax: maximum number of curve points. Default = 2000.
pointsCellMax. Maximum number of curve points in a cell. Default = 20.
pointsCellAverage. Average number of curve points in a cell. Default = 4.
mode: 0 = volume, 1 = surface. Default = 0
direction: 1 = forward, -1 = backward, 0 = both. Default = 1.
sectionPoints: number of points when creating a VecLineSection. Default = 4,
vectorQuantity: the vector quantity used to compute the streamline

StreamLineArrowParameters(bool visibility, float size, float density)

Associated menu item: Representation / Streamline / Parameters...
Operation: this macro changes the default arrow parameters for all streamlines to be drawn.

RprLocalValueOnStreamline()
SelectStreamLineCurves(string Names)

Associated menu item: Mouse left-clicking in the graphics area while holding <Ctrl>.
Operation: selects the streamlines with the corresponding names.

UpdateStreamLineArrowParameters(bool visibility, float size, float density)

Operation: changes the arrow parameters for all the selected streamlines. This is executed from Parameters... dialog box when right click is performed on selected streamlines.

UpdateStreamLineRepresentation(int representationType, int colorType, string colorQuantity, float r0, float initialDirectionX, float initialDirectionY, float initialDirectionZ, int itHasVariableSize, int itHasVariableTwist, float twistScaleFactor, float sizeScaleFactor, int TubeVerticesCount)

Associated menu item: Mouse right-clicking in the graphics area / Parameters...
Operation: updates the representation parameters for the selected streamlines (see macro StreamLineRepresentation for the complete description of the parameters, Commands Related to Scalar Quantity Representations).

UpdateStreamLineAdvancedParameters(bool itHasCoincidentPointRemoval, bool itHasLaplacianFilter, bool itHasTwistSubdivision, float minimumDistance, int laplacianFilterPassCount, int laplacianFilterKernelSize, float twistSubdivisionMinimumAngle, int twistSubdivisionMaximumPoints)

Associated menu item: Mouse right-clicking in the graphics area / Parameters...
Operation: updates the advanced parameters for the selected streamlines (see macro StreamLineAdvancedParameters for the complete description of the parameters, Commands Related to Scalar Quantity Representations).

UpdateStreamLineCurveType(CurveType c)

Operation: updates the streamline curve type for the active streamline (only used when the "Line" representation is chosen).
CurveType: standard curve settings (see Description of Argument List for Some Standard Features).

UpdateStreamLineSurfaceType(SurfaceType m)

Operation: updates the streamline surface property for the active streamlines (only used when the "Ribbon"/"Tube" representations are chosen).
SurfaceType: standard material settings (see Description of Argument List for Some Standard Features).

GetSelectedStreamLines()

Operation: returns a string list containing the name of the selected (highlighted) streamlines.
Example:

selectedLines=GetSelectedStreamlines()
nLines=len(selectedLines)
print 'Number of streamlines=', nLines
for i in range (0, nLines) : 
   print '\t', selectedLines[i]

Output Generation
To generate output from CFView™, select Print... from the File menu. The following dialog box then appears. 
On the left side, a frame allows the selection of the output file format (see file format description in Output Format Description). On the right side, the user can choose between a print of the Active View or of all views present in the graphical area (Graphics Window).
If a title is to be inserted on the top of the picture, the Banner button must be selected and the title should be typed in the string entry. The date may be inserted in the banner by selecting the Date in Banneroption. The type and size of the title can also be set. If the Size is set to 0 (default), the font does not have a fixed size but the size is computed during printing as a ratio of the banner windows height.


FIGURE 60 Hardcopy Output Set-Up
The Options frame allows the user to select various options which depend on the selected file format. The options are described in Output Format Description.
Output Format Description

By default, two output formats are proposed:
PNG 

PNG is a compressed bitmapped colored format that is recommended in most cases. This format reduces greatly the created picture file size without any degradation and it is supported by nearly all the word processors and image handling tools.
In the Options frame, the size of the picture may be specified in percent of the screen display (by selecting the scaling option) or by setting directly the number of pixels in width and height (option size).
The first way of specifying the size is more intuitive. The default size is 100%, meaning that the created picture is of the same size as the screen display. 
Please note that the text rendering may suffer some degradation if arbitrary size values are used. Recommended values are multiple of 100%, in such a way that the text size in pixels remains an integer.


PostScript

		PostScript is a page description format used for hard copy prints. Pixelised (bitmapped) option is supported. This format is widely accepted by printer devices.
The PostScript format may be useful if the created picture is sent directly to a PostScript printer. 
Furthermore, in the Options frame, the resolution is specified in dots per inch (dpi). The size and positioning of the created picture is controlled by a specific dialog box, the Page Layout Editor, which is opened by pressing the Page Layout button (see PostScript Page Layout Editor)


Other Formats

If the button Others... is selected, a more extensive list of file formats is proposed. These formats should be used only when format compatibility problems are encountered. The proposed formats are:

EPS is the encapsulated PostScript bitmapped format. It is similar to PostScript except that it is independent of any page size definition.
PBM is a black and white bitmap format (all non white pixels become black).
PGM is a grayscale (256 levels of gray) bitmap format.
	PPM is a color (16 million colors) bitmap format.
TIFF is the standard TIFF RGB full color format (16 million colors)
JPEG is a compressed colored format.

For the 5 last formats, the size may be specified in the same way as for the PNG file format (see Output Format Description)




PostScript Page Layout Editor

To control the page layout of the PostScript output, choose the Page Layout button in the Option frame, the dialog box shown in FIGURE 61 appears:

Use the Paper Size controller to set the page size used for the output. 
Use the orientation controller to select Portrait or Landscape orientation.
Use the reduction factor control to select the reduction factor to apply to the picture. The reduction factors are defined as the ratio between the graphical displays on the screen and on the paper sheet. The button Max. Size computes automatically reduction factors for a maximum size.

If the page layout is not customized before a PostScript output, a default set of parameters is used: A4 page size, orientation best fitting the picture aspect ratio and reduction factors equals to their maximum value).


FIGURE 61 Page Layout Editor

TurboWizard Step 3 : Blade Profiles Post-Processing Tool

TurboWizard Step 4 : Display Post-Processing Output Pictures

The fourth step of the TurboWizard module is used to display the output pictures by selecting the options in the dropdown menus. These pictures are also available in the  subfolder "picturefiles" at the location of the configuration file. If one post-processing is skipped, only the dropdown menu of the performed one will be displayed:

station averages outputs;
blade profiles outputs.



FIGURE 26 TurboWizard step 4
The Station averages outputs section allows to select the station average picture to display.

The first dropdown menu includes all the stations used for averaging in step 2. The option "all" in the menu enables to visualize all available stations in the same graph.
The second dropdown menu includes all the available averaged quantities selected in step 2.

The Blade profiles outputs section allows to select the blade profile picture to display.

The first dropdown menu includes all the span heights selected in step 3 where the blade profiles has been computed . The option "all" in the menu enables to visualize all available span heights in the same graph.
The second dropdown menu includes all the blades (or group of solid patches) selected in step 3  on which the profiles has been computed. The option "all" in the menu enables to visualize all available blades in the same graph.
The third dropdown menu includes all the available quantities selected in step 3 sampled on the blades.

The Show button in each section allows to display the picture of the selection. Several pictures can be shown independently in separate windows.
For station averages, to each station corresponds maximum two colors related to the different weighting factors "area average" and/or "mass-average".

The vertical discontinuous line, labeled as "average" in the legend, represents the surfacic average scalar value on the station.
The continuous line, labeled as "profile" in the legend, represents the profile from span=0% (extremum at min(R,Z)) to span=100% (extremum at max(R,Z)) of the curvilinear azimuthal averages on the station.

 
FIGURE 27 Station averages output pictures
For blade profiles, a specific color corresponds to each combination of blade and span height. Each continuous line represents the profile from leading edge (chord=0%) to trailing edge (chord=100%) of the selected quantity sampled at the specific span height along both pressure and suction sides. Blade names and span heights are labeled in the legend.


FIGURE 28 Blade profiles output pictures
The Back button allows to go back to the third step of the TurboWizard module.
The Close button allows to quit the TurboWizard module.
The documentation is also available when moving the mouse on the info icon () on the top right of the dialog box.

Uniform Coloring
To show the active surfaces in uniform color (with nor shading nor lighting) choose Uniform from the Render pull down menu. This item acts as a toggle: select it a second time or select Render/Render Off to turn off the uniform representation.

View Surfaces
When a project is opened, or when surfaces are created, the surface boundaries, the surface mesh wireframe may be represented. The surfaces may also be rendered as solid surfaces. The transformation (such as a translation, a rotation or a mirror) defined in the identification file can also be applied to the graphical representations inside the active view. 
The commands to create such representations are contained mainly in the Geometry and Render menus. Also the Representations/Grid, Opacity, Lighting & shadows and Material subpanels contain a set of shortcuts buttons for the commonly used functions.

Gouraud Shading
To show the active surfaces in Gouraud style shading (smooth shading) choose Gouraud from the Render/Shading menu or select the  button from the Representations/Grid subpanel. This item acts as a toggle: select it a second time or select Render/Render Off to turn off Gouraud shading.
When combined with transparent surfaces, this representation is computationally intensive and may affect the interactive graphics performances.
The keyboard shortcut for Render/Shading/Gouraud is <Shift> + 
.

Decoration Texts
Insert Text

Texts may be added in the active view in the following way:

Choose Update/Insert Text menu or click on the  button in the main tool bar.
Click in the active view at the position where the text should appear.
Input the text. Multiple text lines can be inserted by pressing the <Enter> key.

The default text font type, size and color may be changed using the Default Decoration Text Type Editor, invoked from Preferences/Decoration Text type... (Edit, Save & Restore Defaults, for further information on default settings and Text Type Editor for a detailed description of the text type attributes).
The keyboard shortcut for Update/Insert Text is <Ctrl> + <t>.


Update Texts

The text can be edited using the mouse:

Use the left button to select text for editing. The selected text appears with a box shaped frame. 
Use the left or the middle mouse button to drag the selected text in the view. Press to initiate action and move the mouse to drag the text. Release to freeze the position of the text.
Press the right button to raise a popup menu.




The pop up menu contains the following items:

Select Larger font or Smaller font to increase or decrease the text size.
Select Show frame or Hide frame to add or remove an opaque rectangular frame around the text. The frame size is automatically set in order to fit the text extent.
Select Text Type... to open the Text Type Editor dialog box. See Update Representations for more details about how to use the various text controllers.



Delete Texts


CFView™ provides two methods to delete texts:

with the mouse: select the text to be deleted with the left mouse button, a frame and highlighting markers appear. Press the right mouse button to raise a popup menu and select the Delete item.
from the Update/Delete sub menu:

choose Text All to remove all the text from the active view.
choose Text Last to remove the last inserted text in the active view.

Animation by Mesh Surfaces Scrolling
This functionality allows to sweep automatically across a family of mesh surfaces. The sweeping animation is controlled from the Structured Surfaces Scrolling dialog box
To access this dialog box, select Surface IJK Scrolling... from the Geometry/Animations menu.


FIGURE 6 Structured Surface dialog box for animation
The dialog box contains several parts:

the Index area with the three radio buttons I J K allowing to select the scrolling index,
the Domains list appears if the mesh contains several domains. It allows to select the domains in which the animation is performed,
The Animation Control area contains the following animation control buttons:


 starts/stops the animation recording.

 sets the animation in decreasing index, double speed.

 sets the animation in decreasing index, normal speed.

 sets the animation in increasing index, normal speed.

 sets the animation in increasing index, double speed.

 pauses the animation, leaving the last represented surface.

 stops the animation, no represented surfaces is left.

 when the animation is paused, this button steps back to the previous surface.

 when the animation is paused, this button steps to the next surface.


Furthermore, two string editors provide additional control on the speed of the scrolling:

The Step control allows to choose the value of the scrolling index increment between two animation steps.
The max frame/sec control allows to limit the number of animation steps by second.


The buttons Geometry and Quantity appear only if a quantity is selected. 

The surfaces are represented by their grid wireframe if the option Geometry is selected.
The surfaces are represented by a color contour if the option Quantity is selected.


Once the animation parameters are set, or if the animation parameters have to be modified during the animation: 

Select Apply to validate any modification of the content of the dialog box. This affects the animation in real time.
Select Reset to cancel all modifications and the dialog box finds back its original status.
Select Close to cancel the animation. The dialog box is closed.

CFView™ Command Description
All macros created with CFView™ v8.7 contain as a first line CFViewBackward(84). This line should not be removed. If such line is not present, the macro can only be executed if the CFVIEW_BACKWARD variable has been set to 74, as described below.
Starting CFView™ v8, to execute a macro created with an earlier version CFView™ has to be started by using the -backward argument when starting CFView™ (e.g. cfview -niversion 8.x -backward 74) or by setting the environment variable CFVIEW_BACKWARD to 74 before launching CFView™. By default, the CFVIEW_BACKWARD variable is set to 810.
Starting CFView™ v8.9, macros are containing as a first line CFViewBackward(89) to ensure backward compatibility for creation of STM views.
Starting CFView™ v8.10, macros are containing as a first line CFViewBackward(810) to ensure backward compatibility for harmonic reconstruction.
The number of macro arguments is limited to 255. For macros with more than 255 arguments, the syntax should be changed from CommandName(argumentList) to apply(CommandName, argumentList).
Add # coding=utf-8 as a first line in the macro to allow French accents in the macro.

Templates & Macro Scripts

The templates and macro scripts are special types of files that are containing commands to be executed by CFView™. Templates and macro scripts are designed with very different objectives:

A template file contains commands that are defining the content of the views, without reference to a specific data set. It contains information on how to construct the content of each view along with instructions needed to set up an entire drawing. A template recorded on a data set is designed to be applicable on similar data sets.
A macro script is a general purpose set of commands. It may contain reference to actual data sets. Macro scripts are written in the Python language, extended by the CFView™ specific commands. CFView™ provides a way to record a sequence of user commands as they are performed interactively. And, it is also possible to create macro scripts from scratch, using the CFView™ commands and all the features of the Python language (loops, tests, subroutines, file input/output,...). 

Apply Templates

In order to apply an existing template on another data set, proceed as follows:

Load the project in CFView™ or select a view that is relative to the desired project.
Select Apply Template... from the File menu. A file chooser appears. 
Select the template file ('.ty'). The template is automatically applied to the current project: all the views related to the project are closed and replaced by those defined in the template file.

There are some limitations to the applicability of templates. If the project from which the template was created is too different from the target project, the template may not work properly, leading to error messages and/or incomplete building of the representation layout. The templates are working with difference in number of points in the mesh and with small modifications in the geometry. However, differences in topology (different boundary condition patches type or names, differences in number or in name of blocks) and differences in coordinate scales (e.g. difference in units) would most probably lead to inapplicable templates.
The ability to save templates has been replaced by saving macros, see Use Macro Scripts for more details on how to use macros in CFView™.


Use Macro Scripts



As explained in the introduction, the macro scripts are Python scripts that are executed by CFView™. In order to facilitate the creation of scripts, CFView™ allows the user to record sequences of actions. CFView™ works with an active macro: this is a script stored internally and initially empty. All macro manipulations operate on the active macro. These operations are grouped in the Macro pull right menu of the File menu. 
CFView™ supports also macro modules: a macro module is a set of macro functions defined in a file. When a macro module is loaded, each function can be invoked individually from the Macros menu.
For additional information and the description of the supported commands, please refer to Macro Language. This chapter provides also a short description of the Python language.
Play Active Macro

To play the active macro, choose Play from File/Macro. The macro execution starts in the active view.


Record User Actions

To record subsequent actions on the active macro, choose the Record toggle from the File/Macro menu. When starting a recording of a new macro 'from scratch' do not forget to Clear the active macro first.


Clear Active Macro

To clear (remove all operations in) the active macro, choose Clear from the File/Macro menu. 


Load Macro

To load a macro from file, choose Load... from the File/Macro menu. A file chooser appears. The file extension for a macro script file is ".py". The new macro replaces the previous active macro.


Save Active Macro

To save the active macro content in a file, choose Save... from the File/Macro menu. A file chooser appears. The file extension for the macro script files is ".py". This extension is automatically added if necessary.
The active macro is saved on file and remains in the system for further operation.


Execute Macro Script Data File

To execute a macro script stored in a file, choose Execute... from the File/Macro menu. A file chooser appears. Select the macro script file ".py". The macro execution is started automatically.
The execution of the macro is also recorded if the Record button is turned on. It is different from loading and then playing a macro only from the point of view of the macro recorder. If a macro is loaded, the recorder is reset. If a macro is executed, the new script is appended to the active macro.
The keyboard shortcuts for Execute... are <k> or <6>.


Save All Macro Recording Since Session Start

To save the script recording all the operations made since the session start, choose Save All... from the File/Macro menu. A file chooser appears. The script is saved in the selected file.


Load Macro Module

To load a macro module, choose Load Module... from the File/Macro menu. A file chooser appears. The file extension for the macro module files is ".py". The selected file is loaded and the functions defined in the module are inserted in the Macros pull-down menu. (see Create & Use Modules, for a further description of macro modules).

Two macro modules having the same file name should not be loaded in the same CFView™ session.


Viewer/Debugger

The viewer/debugger module allows to control macro execution and editing at runtime. It contains the following functionality:

load a macro file and view the contents of the macro file,
edit any particular macro,
set breakpoint at any particular macro,
delete breakpoint from any macro for which a breakpoint has already been set,
step through the macros n at a time, n being controlled by the user,
delete any particular macro,
print a variable that has been assigned any value during macro execution,
notify the user of failure if execution fails at any particular macro,
auto cleaning of macros depending on various clauses,
at any time user can either highlight all the macros for which breakpoints have been set or the macro that will be executed next.



Implementation of automatic cleaning is dependent on following clauses:

Following macros are cleaned if the value is not assigned to any variable:

Macros for quantity probing (see Commands Related to Quantity Probing).
Macros for integral computation (see Commands for Computing Integrals on Surfaces, Commands for Computing Mechanics,and Commands for Computing Integrals Along Curves).
Other macros just returning values (NumberOfTimeSteps, ViewName, GetMeshRepetitionType, StructuredDomainSize, ProjectFile, SurfaceExist,...).



Unsteady Macros are removed (NextTimeStep, SetActiveTimeStep,...).
Viewing Macros are removed in case any of the macros occur consecutively: the preceding instances are removed (see Commands Related to Viewing Geometry of Active View for the description).
If multiple instances of ViewTile (Commands Related to Multiple Views Handling) exist in macro list, the unnecessary instances are cleaned: e.g. if there are no view opening / file opening / view closing / file closing macros between two instances of ViewTile, the second instance is removed.
If a quantity is created and removed without being used anywhere, corresponding instances of QntFieldDerived and QntFieldRemove are cleaned (Commands Related to Quantity Selection). Only those instances are considered that occur without any call to ViewActivate in between. This is done to make sure that QntFieldDerived and QntFieldRemove are for the same project.
If there are occurrences of contour creation commands (Color Contours) without any print commands in between, the preceding instances are removed. Besides, all of the contour commands are removed if the contour is deleted without being printed. Only those instances are considered that occur without any call to ViewActivate in between.
All consecutive instances of Toggle commands are removed.
If there are consecutive occurrences of following Set commands with the same name, first instance is removed.


The macro debugger is guaranteed only on a CFView™ generated macro. Any loop ('for', 'while', ...) or statement ('if', ...) is not supported because the lines are executed one by one. Only a linear sequence (one line) of instructions is working. For example the macro debugger is working for:
CFViewBackward(810)
for i in [0,1]: print i

Animation of Unsteady Data Sets

CFView™ introduces the ability to animate representations of unsteady data sets in time and in space (harmonic with clocking). 

With FINE™/Turbo data sets, when loading the ".run" file, CFView™ detects automatically that a computation project has been run as an unsteady one and prompts for the range of time steps (or clocking positions) to be used.



Select All Time Steps to perform an analysis on all the available time steps.
Select Initial and set the initial and final time steps to the desired value for an analysis of a predefined range.
Press Ok to start the project opening.
Press Cancel to exit.

If the Partial Loader is used, the interval between consecutive time steps can also be selected, see Partial Loader.


With FINE™/Open with OpenLabs™ data sets created defining a ".snap" file (more details in the FINE™/Open User Guide), the ".run" file should be loaded into the Partial Loader (the time step interval and range of time step is defined by the content of the .snap file), see Partial Loader. That will automatically load the related "*_t#_a#.cfv" files (and associated output files).

When the project is loaded, the first time step (or clocking position) is loaded and a set of animation control buttons is added to the general toolbar.
This button brings the animation back to the first time step:



This button moves the current time step to the previous one (or the last one if the current time step is the first one). The same representations are drawn in the views, but with the data from the previous time step.



This button moves the current time step to the next one. The same representations are drawn in the views, but with the data from the next time step:



This button starts the animation of the current representation. The same representations are drawn in the views, for each time step successively:



This button stops a running animation:



This button enables or disables the automatic restart at the first time step, when the animation has reached the last time step. If the feature is turned on, the first time step is considered as the one following the last time step. If the feature is turned off, the animation stops when it reaches the last time step:



This button frees the RAM usage at each time step when post-processing unsteady data sets. By default it is activated. See Projects Comparison for a more detailed description:



This button enables or disables the animation recording. It acts as a toggle: when the recording is turned off, the button background is gray (this is the default) and when the recording is turned on, the button background is yellow:



This buttons saves a time-averaging solution for the selected time steps.






This entry allows the user to input a time step. The same representations are drawn in the views, but with the data from the selected time step. The maximum number of time steps is equal to the number of time steps loaded. The first time step is always 1. For example, if there are 10 time steps available in a project and the user loads the time steps 3 to 8 with an  interval of 2, the GUI will show 1 / 3 when the project is opened and the 3 loaded time steps correspond to the time steps 3, 5 and 7 of the full unsteady project.
When working with an unsteady (in time or in space) data set  (including the pitchwise averaged view), the time (space) value may be added in the graphical view by selecting Time Label or Clocking Position in the Quantity menu. The time label or clocking position appears as a text "t=----" or "Position #" that can be selected interactively for changing its position or its text type.
To create an animation, proceed as follows:

Create the representations on the initial time steps. 
Start the animation either step by step () or continuously ().
Stop () the animation or let it go to its end.

CFView™ automatically records a macro of the current representation and applies it to the next time step. Initially, a minimum amount of data is loaded in the computer memory. The data needed to create representations at further time steps is progressively loaded into the computer's memory. To prevent a rapid saturation of the available resources, the most memory consuming data is not kept permanently. 
For a typical animation, the first loop through the whole set of time steps requires data loading. After the first loop, all the needed data has been loaded and the animation speed is increased significantly.

Local Time Evolution
The menu Representation / NLH / Local Time Evolution allows the user to make a Cartesian plot of the time evolution of the selected quantity at a point.
When the menu Local Time Evolution is selected, a dialog box appears:


FIGURE 15 Local time evolution
The user can enter the coordinates of a point and choose whether this point is fixed in space or attached to the mesh. The point is interactively shown in the 3D view. The user can translate the point in the x, y or z direction by pressing the X, Y or Z button and moving the mouse to the left or to the right. The point may not be in the computation domain, it can be in one of the repetition. 
Then the Number of time steps and Time interval should be specified. When the user clicks on the button Apply, the time reconstruction is performed only at the selected point and over the given number of time steps and time interval. By default, the number of time steps is 10 and the time interval is the maximal period of all harmonics (corresponding to the lowest frequency). The Cartesian plot then appears.
Currently, the reconstruction is only made in time and thus the clocking harmonics are not taken into account. So, for a clocking simulation, the reconstructed solution by Local time evolution will be different from the reconstructed solution by the Partial Loader.
The local time evolution is not available for derived quantities.

Colormap & Representations Range

Commands for Computing Volume Integrals

float VolumeIntegral()

Associated menu item: Representation / Integral subpanel.
Operation: returns the computed volume integral of active quantity.

float VolumeAverage()

Associated menu item: Representation / Integral subpanel.
Operation: returns the computed volume average of active quantity.

float Volume()

Associated menu item: Geometry / Volume.
Operation: returns the computed volume of the whole mesh.

Conventions Used in this Manual
Some conventions are used to ease information access throughout this guide.

Commands that should be typed in are in italics.
Keys that should be pressed are in italics and surrounded by <> (e.g.: press <Enter>).
Names of menu, sub-menu items and names of buttons in dialog boxes are in bold.
Numbered sentences are steps that should be followed to complete a task. Sentences that follow a step and are preceded with a dot (•) are substeps; they describe in detail how to accomplish the step.

A text in blue with a blue background indicates an important note.
Keyboard shortcuts are indicated in blue italic.
A light bulb indicates a section with more detailed information on a specific subject for advanced use of CFView™.

Reconstruction of Flow in Time/Space

The harmonic solution can be reconstructed in time or in space by CFView™/Harmo2Time. This feature can be accessed by selecting Open Project Selection… from the File menu or from the Open Project Selection () button in the CFView™ toolbar.
The keyboard shortcut for Open Project Selection… is <p>.
The data file can be selected from the pop-up file chooser window. Selection of the data file leads to the Partial Loader dialog box. Depending on the type of the harmonic project, the dialog box is different.
Harmo2Time can also be launched in batch mode by using the following commands with arguments:

-h2t_guion LINUX: cfview<version> -h2t_gui project-path/project-name.run -print on Windows: Installation path\bin64\cfviewx86_64.exe -h2t_gui project-path\project-name.run -print (64bits OS)This argument opens the Partial Loader dialog box for the user to set and save the options of the reconstruction. This argument must be followed by the name of the run file of the harmonic computation. E.g. cfview -h2t_gui /full_path/harmo_computation.run. When this command is executed, the Partial Loader dialog box appears and it is possible to select the blocks, multigrid level, etc. This is the same as if the project is loaded from the File/Open Project Selection menu. Upon clicking the Save button, a dialog box asking for the name of the unsteady run file appears. When a valid name is entered, a file with extension .h2t with the same harmonic run file name is saved. E.g. /full_path/harmo_computation.h2t. The .h2t file will also be saved when the Launch button is clicked.


-h2ton LINUX: cfview<version> -h2t project-path/project-name.h2t -print on Windows: Installation path\bin64\cfviewx86_64.exe -h2t project-path\project-name.h2t -print (64bits OS)This argument must be followed by the name of a .h2t file. The reconstruction is performed with the parameters given in the .h2t file. The .h2t file can be edited by hand and it can contain comments (after the # symbol). 

During the reconstruction, some additional files will be created by CFView™/Harmo2Time:

.mf Files
When the IUNSMF expert parameter is set to 1 in the FINE™/Turbo GUI before the computation, Harmo2Time will create the .mf files exactly like those created by FINE™/Turbo solver when ADECMP expert parameter is set to 0. There will be one .mf file for each time step and they are named computation_name_unst_ti.mf for a reconstruction in time or computation_name_clock_posi.mf for a reconstruction in space.
The .mf files are not created if some blocks have been unselected by the user.
For rank-2 projects, the .mf files are only created if the solution is reconstructed in time.
There are other limitations as in FINE™/Turbo solver. They are described in the FINE™/Turbo manual section 8-4.3.2.


Plot3d Files
When the plot3d output is activated in the Output/Computed Variables page of the FINE™/Turbo GUI, Harmo2Time will create the plot3d files during the reconstruction. The files can be saved either in ASCII or binary format. 
There is one .g file (geometry) and one .q file (quantities) for each time step. The format of these files is the same as the one from FINE™/Turbo solver. The quantities saved in the plot3d files are the density, energy and momentum. The plot3d files created by CFView™ must be opened with the "unformatted" option, as for the files created by the solver.

For unstructured projects, the solution is saved in .cfview files for each time step or clocking position whereas for structured projects .cgns format is used. It should be noted that the reconstruction of the flow for unstructured projects can only be performed on the whole domain. It is not possible to select individual blocks or the grid level. Besides, it is not possible to reconstruct the solution at the control points. The creation of .mf and plot3d files is also not available for unstructured projects.
For unstructured projects, the reconstruction of the flow in time by CFView™ is only compatible with HEXPRESS™/Hybrid mesh saved in .hex format and not compatible when saved in .sph format.

FINE™ File Format

CFView™ is able to read directly the FINE™ project files. These projects are 3D or 2D unstructured/structured multi-block projects. The FINE™ data sets are split in a variable number of files, however, the files that has to be selected in CFView™ are always characterized by the ".run" or the ".cfv" extension.
Please refer to the FINE™ User Manual for further information on the format of these file.

Commands for Computing Mechanics

SetTorqueAxis(float Origin.x, float Origin.y, float Origin.z, float Direction.x, float Direction.y, float Direction.z, coordinatesystem, bool isPointTorque)

Operation: defines the origin and the direction of the Torque axis. (Select Mechanics Data)
coordinatesystem is set to 0 for Cartesian, 1 for cylindrical and 2 for STM.
If isPointTorque is set to 1, the torque will be computed with respect to a point. In this case, the resulting torque is a vector field.

float MechanicsQntSurfaceDerived(string fieldName)

Operation: computes mechanics quantities on all active solid surfaces. (Select Mechanics Data)
fieldName can be Force, Scalar Torque, Vector Torque, Normals and Normalized Normals.

Commands Related to Turbomachinery Mode & B2B View

LoadHubAndShroud(string filename)

Associated item: Geometry / Load hub and shroud curves...
Operation: reads in the specified filename (.cgns or .dat) the definition of the hub and shroud curves to create STM views and blade-to-blade view.

SetAG5Conversion(float)

Operation: imposes a conversion factor to the AutoGrid5™ hub and shroud data for unstructured meshes when units are different from flow solver ones.

SetTheta0(float theta0)

Operation: cuts the unstructured mesh (blocks meshed on 360 degrees) along the half-plane theta=theta0 (in radian) after loading the hub and shroud curves. This command should be executed before loading the project. 

DefaultTurboMDefinition(int mode TM, int nrofspan, float rshift, int mode SM)

 Associated menu item: Preferences / Turbo Settings.
Operation: defines M definition mode in TM and SM views when activating turbomachinery mode (File/Turbomachinery). mode is set to 0 for "Backward 8.7", 1 for "AutoGrid5 Definition" and 2 for "Hub Equal Shroud". nrofspan is the number of spanwise constant flow paths used for the discretization. rshift is the shift used in "AutoGrid5 Definition" mode.

It is advised to execute the command before loading a .run file into CFView™.
SetTurboMode(), UnsetTurboMode()

Associated menu item: File / Turbomachinery.
Operation: enables or disables the turbomachinery mode.

OpenTurboModeStandard3DView(int forceNew)

Operation: opens a standard three dimensional view at its default location. If the forceNew value is different from 0, a new view is created (and replaces the already existing one if necessary).

OpenTurboModeBladeToBladeView(int forceNew)

Operation: opens a blade to blade view at its default location. If the forceNew value is different from 0, a new view is created (and replaces the already existing one if necessary).

OpenTurboModeBladeView(int forceNew)

Operation: opens a blade view at its default location. If the forceNew value is different from 0, a new view is created (and replaces the already existing one if necessary).

OpenTurboModeMeridionalView(int forceNew, int computeAverage)

Operation: opens a meridional view at its default location. If the forceNew value is different from 0, a new view is created (and replaces the already existing one if necessary). If the computeAverage value is set to 1 then the meridional average is computed instead of loaded from the solver data.

Open Multiple Projects

The multiview environment of CFView™ loads simultaneously different projects during the same run and manipulates them in a similar way. This feature is particularly useful when comparative analysis is made between computations based on similar geometry.
If CFView™ is already open, click Open () on the toolbar or choose Open Project... in the File menu to open a new project. The number of files that can be opened at the same time is limited by the memory of the system.
The keyboard shortcut for File/Open Project... is <Shift> + <p>.

Native File Format
As mentioned in Getting Started chapter, there are four data types which are field data, surface data, validation data and plot data. These data represent scalar or vector quantities at node coordinates as well as along specific curves. The files containing these data are separated from the files containing the node and curve coordinates.

Therefore, the CFView™ input data file system consists of a series of files. They are grouped in various types of files:

Identification file

This file contains general information about the project. Especially, it includes all the file names containing the boundary conditions and the geometry and quantity data.

Format: 	ASCII
Number: 	one by project.

Boundary condition files (for structured meshes)

These files contain information concerning the boundaries of the project such as the boundary condition (external, solid, periodic, inlet...), the location and the connections with other domains.

Format: ASCII
Number: 	one by domain.

Topology & Boundary Condition files (for unstructured meshes)

These files contain information on the topology and the boundaries of the project.

Format:	 binary
Number: 	one by domain

Geometry files

These files are used to store field data, surface data, validation data and plot data node coordinates.

Format: 	binary
Number: one by domain for the field data and surface data.	one for each validation data and plot data.

Quantity files

They are used to store the values of the scalars and the vectors of each data type at each nodes and points defined in the Geometry files.

Format:	binary
Number:one by domain for each field data and surface data.			one for each validation data and plot data.



Meridional support file

This file is used to provide the geometrical support for blade to blade views

Format:	binary or ASCII
Number:	one by project

Particle tracks file

This file is used to import externally computed particle tracks

Format:	binary or ASCII
Number:	one by project

ASCII validation data files

These files are used for interactive loading of validation data.

The data type concepts and the generation of the input data files are explained in the following sections.
CFView™ accepts structured and unstructured meshes. The CFView™ input file system for unstructured meshes is very similar to the structured meshes. There are some differences in the Identification file (see Create Identification File) but the main difference is the existence of the Topology & Boundary Condition file.

CHAPTER 1.
GETTING STARTED
Welcome to the CFView™ User Manual, an illustrated presentation of the CFView™ capabilities. This
chapter presents the basic concepts of CFView™ and shows how to get started with the program.
Specifically, this chapter describes:
l what CFView™ does and how it operates,
l how to use this guide,
l how to run CFView™.
In this section
1.1 Introduction
1.2 Conventions Used in this Manual
1.3 Outline
1.4 Running CFView™
1.5 Advanced Options
1.6 Troubleshooting
10
10
12
17
1.1
INTRODUCTION
CFView™ is the flow visualization tool of the FINE™ integrated environment. The FINE™
integrated solvers (i.e. FINE™/Turbo, FINE™/Open with OpenLabs™,...) interpolate the
computed flow quantities from cell- centre to cell- vertices before outputting them in the
CFView™ format.
CFView™ is designed for the visualization of structured and unstructured meshes in multi-
domain (multi- block) configurations and provides a user friendly graphical interface (GUI)
integrating two dimensional and three dimensional plotting capabilities in a multi- window
environment.
Features
CFView™ provides a set of powerful exploration tools for the interactive qualitative and
quantitative analysis of the field at the cell-vertices. This analysis can be performed on any surface
and consists of representations such as local values, isolines, Cartesian plots, streamlines, contour
shading and thresholding. In addition, CFView™ provides a set of numerical probes for a
quantitative investigation of the flow properties anywhere in the computational domain.
The most important tools comprise the local value extraction, the quantity distribution along
curves (arbitrary section or mesh lines or streamlines) for detailed analysis of specific regions such
as boundary layers.
CFView™ provides the ability to display in Cartesian and cylindrical coordinates as well as in
turbomachinery blade to blade views. Scalar and vector quantities can be displayed and new
quantities can be computed by providing their mathematical formula. Pitchwise averaging can be
performed and comparison with experimental data or with other numerical data is easily obtained.
Another interesting feature of the system is the ability of scanning instantaneously the
computational volume by scrolling through constant I, J, K mesh surfaces or by moving arbitrary
cutting planes. This feature gives the possibility to localize rapidly regions of interest in the field.
CFView™ is capable to visualize surfaces in hidden lines or shaded models with user defined
light sources assigned to the views. When saving pictures several formats are available. The
creation of animations from unsteady data sets is extremely easy and the animations can be
recorded as animated GIF files.
All these features are integrated in a highly interactive multiwindow environment which allows
loading different data sets for comparison during the same CFView™ run.
This version of CFView™ contains macro capabilities. A macro is a powerful tool that allows
recording a sequence of operations that can be played back later. It is also possible to create
libraries of custom macros to perform repetitive operations quickly.
Approach & Acknowledgments
The CFView™ system is designed using an object-oriented programming approach (OOP) and is
implemented in C++. In order to ensure maximal portability the software development platform
consists of the HOOPS graphics library and the Tcl/Tk toolkit.
A HOOP is a 3D graphics standard, developed by TechSoft. It is a versatile and efficient tool to
create, display and modify device independent graphics. The C++ binding and the graphical class
library were created for HOOPS in order to ensure an object-oriented code development and an
integration of 3D graphics.
CFView™ is also embedding the Python language interpreter (v2.7 on Windows/Linux) for the
macro features.
The creation of PNG formatted pictures and animated GIF makes use of libraries included in
library magick v6.4.3
The creation of JPEG formatted pictures makes use of the sixth public release of the Independent
JPEG Group's free JPEG software.
The creation of TIFF formatted pictures makes use of the TIFF software distribution 3.8.
All the third party software components are copyrighted of their respective owners.
1.2
CONVENTIONS USED IN THIS MANUAL
Some conventions are used to ease information access throughout this guide.
l Commands that should be typed in are in italics.
l Keys that should be pressed are in italics and surrounded by <> (e.g.: press <Enter>).
l Names of menu, sub-menu items and names of buttons in dialog boxes are in bold.
l Numbered sentences are steps that should be followed to complete a task. Sentences that
follow a step and are preceded with a dot (•) are substeps; they describe in detail how to
accomplish the step.
A text in blue with a blue background indicates an important note.
Keyboard shortcuts are indicated in blue italic.
A light bulb indicates a section with more detailed information on a specific subject for advanced
use of CFView™.
1.3
OUTLINE
The first five chapters of this manual contain all information necessary for a beginning user to
work with CFView™. The advanced user may however also consult these first chapters when
requiring more detail about a specific task.
This first chapter tells how to start the application. Graphical User Interface, Projects & Views
chapter introduces the basics: the graphical user interface and project management. To learn how
to use and how to perform a specific task, more details are available in "Creating & Handling
Surfaces" (p. 69) to Turbomachinery Specific Features. All the functionalities of the system
software are gathered in a step-by-step learning method.
For the more advanced user Animations & Unsteady Data Analysis, Macro Language and Input
File Format provide more detailed information. Animations & Unsteady Data Analysis describes
the analysis of time dependent data sets. In Macro Language the macro system of CFView™ is
described with the available commands in Python language. The macro system is a powerful
feature that allows automating CFView™. To learn how to generate input files in the CFView™
native file format, turn to Input File Format. It contains the description of the CFView™ input
data file system.
1.4
RUNNING CFVIEW™
Basic Installation
When using CFView™ for the first time verify that it is installed according to the installation note.
This installation note is provided with the software and should be read carefully. The following
points are specifically important:
l Hardware and operating system requirements should be verified to see whether the chosen
machine is supported.
l Installation of CFView™ according to the described procedure in a directory chosen by the
user and referenced in the installation note as 'NUMECA_INSTALLATION_DIRECTORY'.
Depending on the provided installation package CFView™ is installed alone or
in
combination with other NUMECA software.
l A license should be requested which allows for the use of CFView™. This license should be
installed according to the described procedure. However, it is also possible to use CFView™
without a license for visualization of mesh and CGNS files. For the latest, only the surface data
can be read without a license.
To request that CFView™ waits for active license, a "preferences.dat" file should be created in
$(USER_ HOME_ DIRECTORY)/.numeca/ subfolder and it should contain the LICENSE_WAIT
parameter for the PRODUCT CFView:
PRODUCT CFView
LICENSE_WAIT
END_PRODUCT
l Each user willing to use CFView™ or any other NUMECA software must perform once a
user configuration as described.
When these points are checked the software can be started as described below.
Starting CFView™
1. CFView™ may be started from the FINE™ interface by pressing the CFView™ button (
)
or by selecting the CFView item from the Modules menu.
2. CFView™ can also be started as a standalone application, outside of
the FINE™
environment. The starting procedure for the Linux based platforms is different from the one on
the Windows based platforms (below # is the release version):
On Linux
Start CFView™ by typing: cfview# <Enter> in a command shell.
The command may be followed by one or several command line arguments that are described
in Advanced Options.
On Windows
Two different ways may be used to start CFView™ as a standalone application.
1. During the installation, an icon identifying CFView™ is created and inserted in the
Start/Programs/NUMECA software/Fine# menu. Select the icon identifying CFView™ to
start it as a standalone application.
2. It is also possible to start CFView™ from a command prompt window or by defining a
desktop shortcut. The full path name of the CFView™ executable must be typed. Typically,
this will be C:\numeca_ software\fine#\bin64\cfviewx86_ 64.exe <Enter> . In a command
prompt shell or in the string defining the command corresponding to a desktop shortcut, one or
several command line arguments may be added after the CFView™ executable file name.
These arguments are described in Advanced Options.
1.5
ADVANCED OPTIONS
1.5.1
Command Line Arguments
CFView™ may be started with one or several command line arguments. The set of valid
command line arguments is described here. Unless specified differently, the command line
arguments may be used on Linux and Windows platforms.
The command line arguments allow to override some system defaults (used graphics acceleration
driver, display device name, doublebuffering and updateabort options) or to specify files to be
loaded immediately (project, macro, defaults settings, macro module).
The supported command line arguments are:
l -help: prints a summary of the command line arguments.
l -version: prints the CFView™ version number.
l -backward <version number>: necessary when executing a macro file created with an earlier
version than CFView™ v8.
l -date: prints the CFView™ version date.
l -defaults <defaults file name>: starts CFView™ with the default settings from the specified file
.
l -geometry <widthxheight[+|-]x[+|-]y>: control the size and position of GUI opening. [x|y]
means x or y here. Numbers width and height specify sizes of the window in pixels, x and y –
position in pixels. If x is preceded by +, it specifies the number of pixels between the left edge
of the screen and the left edge of window border; if preceded by - then x specifies the number
of pixels between the right edge of the screen and the right edge of window border. If y is
preceded by + then it specifies the number of pixels between the top of the screen and the top
of window border; if y is preceded by - then it specifies the number of pixels between the
bottom of window border and the bottom of the screen.
l -project <project file name>: starts CFView™ and opens immediately the specified project.
l -project_ask_partial_load <project file name>: starts CFView™ and opens the project (.cgns,
.cfv, etc.) with the partial loader.
l -nob2b on: starts CFView™ and allows to avoid the hub and shroud projections process when
loading a turbomachinery solution file.
l -macro <macro script file name>: starts CFView™ and executes the specified macro script.
l -macromodule <macro module file name>: starts CFView™ and loads a specified macro
module .
l -display <display name>: starts CFView™ on the specified display device, overwriting the
DISPLAY environment variable (this feature is available only on Linux platforms).
l -doublebuffering (or -doublebuffering on): activates double buffering, overwriting the NI_
DOUBLEBUFFERING environment variable if existing . The argument -doublebuffering off disables the double buffering feature, overwriting
the environment variable.
(or
l - updateabort
- updateabort
the
UPDATEABORT environment variable if existing . The
argument -updateabort off disables the update abort feature, overwriting the environment
variable.
overwriting
aborting,
activates
update
on):
l - driver <driver name>: starts CFView™ with the specified graphics accelerator .
l - reversevideo (or
- reversevideo on) starts CFView™ with black background color,
overwriting the REVERSEVIDEO environment variable if existing . The argument -reversevideo off starts CFView™ with a white background color
(the default).
l - facedisplacement <n>: starts CFView™ with the specified face displacement .
l -loaddata all (-loaddata none, -loaddata ask). With the -loaddata all option (the default), when
opening a project the quantities fields are loaded in the computed memory. With the -loaddata
none, no quantity are loaded. And with the -loaddata ask argument, a specific dialog box is
raised where the user choose the field variables to be loaded. See Quantities Load on Demand
for a description of the data management facility and of the associated dialog box
l - batch: starts CFView™ without graphical user interface. This mode can be used in
combination with the -macro command line option in order to perform the execution of a
macro script without user interaction. 3 options are available:
l -batch: the graphic area is resized according to the size of the screen so that it behaves as
without the -batch argument.
l -batch backward: keeps the behavior of CFView™ before v9.0 for ensuring backward. In
the graphic area is fixed: 29cmx12.19cm on Linux and
this mode,
22.5cmx12.19cm on Windows.
the size of
l -batch size: force the size of the graphic area. for example, -batch 1500x1000 will set the
graphic area to 1500 pixels width and 1000 pixels height. This allows to keep a batch mode
independent of the screen size.
l -turbomode (or -turbomode on): starts CFView™ with the turbomachinery analysis mode
enabled , overwriting the TURBOMODE environment variable if
existing. The argument "-turbomode off" starts CFView™ in the standard mode, overwriting
the environment variable.
l - hoops_ relinquish_ memory off: this option disables the garbage collection feature in the
HOOPS graphics library that is activated when CFView™ is idle during a long period of time.
l -np <number of OMP threads>: starts the CFView™ in parallel with the number of threads
specified.
l -openmp <on/off/#np>: starts CFView™ with the options specified.
l if openmp="on", the number of threads is set to the maximum available.
l if openmp="off", the number of threads is set to 1.
l if openmp="#np", the openmp argument overwrites the np argument.
l 
It can be inefficient to set the number of threads to the maximum available knowing that some other
processes are running on the system. The reason is that the thread run on the same core will be slowed
down and the other ones will have to wait this straggler.
The parallel post-processing is only applied when mesh loading, cut plane and iso-surface creation,
new quantity and thermodynamic derived quantity computation, RTZ/STM surface creation and
quantity computed by differential operators (grad, div, rot).
1.5.2
Customizing Graphics Options
Control size and position when opening GUI
In CFView™, the user can control the size and position of the GUI when launching CFView™
by creating the file $(USER_ HOME_ DIRECTORY)/.numeca/preferences.dat. And add the
following contents in the preferences.dat file:
PRODUCT CFView
GEOMETRY widthxheight[+|-]x[+|-]y
END_PRODUCT
[x|y] means x or y here. Numbers width and height specify sizes of the window in pixels, x and y
– position in pixels. If x is preceded by +, it specifies the number of pixels between the left edge
of the screen and the left edge of window border; if preceded by - then x specifies the number of
pixels between the right edge of the screen and the right edge of window border. If y is preceded
by + then it specifies the number of pixels between the top of the screen and the top of window
border; if y is preceded by - then it specifies the number of pixels between the bottom of window
border and the bottom of the screen.
To control the GUI size and position, the user can also use the -geometry argument . If geometry is provided both in the argument and in the preference file, the argument
has priority.
Double Buffering
Double buffering is a graphics technology that allows smooth graphics refreshing. Without it,
graphics refreshing may cause flickering or flashing, depending on the graphics accelerator
drivers.
By default, the double buffering is enabled for all the graphics accelerator drivers. In very rare
occasion, it has been observed that the doublebuffering is slowing down heavily the rendering
speed. In this case, double buffering may be disabled in the following way:
l on Linux platforms add a line in the shell configuration file (.cshrc or equivalent): to set the
environment variable NI_DOUBLEBUFFERING to off
l on Windows platforms the DOUBLEBUFFERING variable must be defined and its value set
to off in the Environment Variable dialog box, accessible from the Windows Control Panel
(Start / Control Panel) by invoking the Advanced system settings.
Reverse Video
By default CFView™ is started with a white background. It is possible to have a black
background in three ways:
l through the interface selecting the toggle menu item Preferences/Reverse Video before
loading the solution file,
l using the command line argument -reversevideo when starting CFView™,
l setting the environment variable REVERSEVIDEO to ON (on all platforms).
Update Abort
When enabled, this feature allows to continue to access to the menu bar and dialog boxes during
the graphics updates. If the content of the graphics window changes during a refresh due to the
continuing user interaction, the graphics update is aborted and restarted with the new content.
When disabled, the user interaction is disabled during graphics update.
The default is to enable update abort. If, for some reason, this feature should be turned off, it can
be done in the same way as for double buffering , except that the environment variable
is UPDATEABORT for all platforms.
Graphics Drivers
The graphics area of CFView™ interface uses by default an OPENGL driver that takes
advantage of the available graphics card. When the activation of OPENGL is causing problems,
CFView™ uses an X11 driver (on Linux) or MSW driver (for Windows) instead.
It is possible to explicitly change the driver used by CFView™ in the following ways:
On Linux
in csh or tcsh shell:
setenv NI_DRIVER X11
in bash or korn shell:
NI_DRIVER=X11
export NI_DRIVER
The selection will take effect at the next session.
On Windows
l Log in as Administrator.
l Launch regedit from the Start/Run menu.
l Go to the HKEY_ LOCAL_ MACHINE/SOFTWARE/NUMECA International/Fine#
register.
l Modify the DRIVER entry to either OPENGL or MSW.
The selection will take effect at the next session.
1.6
TROUBLESHOOTING
Unexpected termination of CFView™ may occur due to memory resources, network or graphics
server problems or other problems. In case of unexpected termination CFView™ tries to save a
script that allows, once CFView™ is restarted, to retrieve the visualization session at the point it
was interrupted.
On Windows platforms, the script is saved in the user home directory under the name cfview_
recover.py. On Windows the home directory is defined by the environment variable HOME. If
this variable is not defined the home directory is set to the concatenation of HOMEDRIVE and
HOMEPATH environment variables.
On Linux platforms, the script is saved in the .numeca subdirectory under the user home directory
and with the name .cfview.recover.
To restart the session, CFView™ has to be restarted and the script has to be executed by selecting
File/Macro/Execute... This opens a file chooser dialog box, in which the recovery file has to be
selected.
CHAPTER 2.
GRAPHICAL USER INTERFACE, PROJECTS
& VIEWS
This chapter presents the basic concepts used in CFView™. It is divided in 6 sections:
l user interface description,
l opening project,
l manipulating active view,
l manipulating graphics area (multi view operations),
l adding coordinate axis in a view,
l macros.
The first section describes the basic concepts of the interface. The remaining sections provide step-by-
step instructions for loading and working with a project.
In this section
2.1 Graphical User Interface (GUI)
2.2 Project Management
2.3 Import Validation Data
2.4 Views Manipulation
2.5 Templates & Macro Scripts
19
29
40
41
62
2.1
GRAPHICAL USER INTERFACE (GUI)
When starting CFView™, the graphical user interface appears on the screen. The interface allows
to navigate through the system by interacting with all of its parts. It is subdivided into areas:
FIGURE 2.1
The graphical user interface
Creating flow field pictures with print quality is made very easy with CFView™ and usually
consists of the following steps:
1. The fluid flow simulation project is opened and a sketch of its geometry is drawn automatically
in the graphics area. When used in the FINE™ GUI environment, CFView™ is opening
automatically the current computational project. More than one project can be opened
simultaneously .
2. One or several surfaces on which a flow quantity is to be represented are selected or created.
CFView™ allows selecting any of the boundary surfaces on which boundary conditions have
been defined, but also allows creating cuts at arbitrary locations as well as iso-surfaces. Please
refer to Creating & Handling Surfaces for a detailed description of surface selection and
creation.
3. The flow quantity and the type of representation are selected. Isolines, color contours,
streamlines, iso-surfaces, solid rendering, Cartesian plots are among the most frequently used
representations available. The graphics area is updated automatically. Refer to Flow Quantities
Visualization for a detailed description of quantity selection and creation and also for a detailed
description of the various types of representations.
4. If necessary,
the viewing point can be modified  and the
representation parameters can be modified through dialog boxes .
5. The final picture is printed in one of the available graphic formats (PNG, JPEG, PostScript...).
The user interface is organized in various parts: the menu bar, the toolbar, the Quick Access Pad,
the graphics area, the message area, the information area and the viewing buttons, as shown in
FIGURE 2.1 Each part plays a specific role, as explained in the following sections.
2.1.1 Menu Bar
The menu bar is situated at the top of the layout. It consists of 11 pull down menus: File, Edit,
Geometry, Render, Quantity, Representation, Update, View, Window, Preferences, Tools
and Macros. They contain all the commands needed to control CFView™.
The pull down menus are dynamic. Their content depends on the active project type (2D or 3D,
structured or unstructured) and on the quantity selected. For example:
l In 2D, the Render pull down menu and a part of the Geometry pull down menu as well as
other items are not available.
l When selecting a scalar quantity, the content of the Representation pull down menu is
different from the menu available for a vector quantity.
l The content of the Quantity pull down menu is based on the quantities given in the project
file. For example, if there is no validation data loaded, this item will not be available.
When a command is not available, it appears in light gray and it is not possible to select it.
Pull-down Menu
There are five types of menu items:
l items with immediate response in the active view,
l items requiring mouse interactions in the graphics area,
l items requiring string input. They are followed by a left and right parenthesis: ().
l items opening a pull right menu, which may in turn contain all types of items. Such items are
followed by an arrow.
l items opening a dialog box or a chooser used for the selection of items in a list. These items are
followed by three dots (...).
Menu General Organization
The available functionalities are grouped into menus:
l The File menu contains the functionality related to
l data access: project, mesh, validation data, default parameters loading,...
l handling of macros,
l activation of the turbomachinery analysis mode,
l printing (save images),
l leaving CFView™.
l The Edit menu offers the possibility to undo or redo one or several consecutive actions.
l The Geometry menu contains
l the surfaces creation and selection functionality: mesh surfaces, cutting planes, blade to
blade surfaces, mesh surface for pitchwise averaging,
l the geometry representations functionality: surface, grid, wireframe and boundaries,
repetitions,
l the animation of representations: cutting plane and mesh surfaces sweeping, streamlines
animations,
l orientation axis and graduated coordinate system,
l calculation of the surface area, projected surface area and volume of the mesh.
l The Render menu contains all the functionalities related to surface rendering.
l The Quantity menu allows selecting the quantity used for flow field representation. There are
five types of data:
l The field data: these are quantities which are given for the complete computational domain,
such as the pressure, the Mach number or the temperature. There are two main kinds of
field data:
l the basic field quantities that are loaded from the project or are in the computer memory,
l the computed thermodynamics and vector components that are computed on the fly if
selected.
l The solid data: these are quantities which are existing only on surfaces such as skin friction,
heat transfer coefficient or the normal component of the velocity.
l The validation data: this data is coming from experiments or other computations used for
comparison with computed ones (required to be loaded through the menu File/Load
Validation Data...).
l The plot data: they are related to arbitrary X-Y plots, such as convergence history or
quantities selected in FINE™/Turbo on the Outputs/Surface Averaged Variables page.
l The particle traces data: they are externally computed traces attached to an inlet boundary
the page Optional
such as those computed by the Lagrangian Module under
Models/Fluid-Particle Interaction within FINE™/Turbo.
l The Time Label/Clocking Position: it allows to display the time or clocking position for an
unsteady computation in time or in space.
CFView™ has no limits on the number of input data points or quantities. The only limit is the
hardware memory storage.
l The Representation menu allows to invoke representation insertions. This menu is accessible
only when a quantity is selected and its content depends on the quantity type.
l The Update menu contains the functionalities that allow to modify the flow field
representations after their insertion.
l The View menu contains the functionalities related to the handling of the active view:
l active view resizing and positioning,
l camera handling .
l The Window menu contains the functionalities related to the creation and handling of views:
l additional view creation,
l views tiling.
l The Preferences menu contains the functionalities related to the defaults settings:
l default line and marker types for various kind of curves, default text font size and type,
l graphics parameters such as background color, face displacement, use of an underlying grid
for view position, graphics accelerator.
l The Tools menu contains the distance tool, which allows to measure the distance between two
points. The points can be either picked in the view or entered with the keyboard. CFView
displays the distance between the two selected points in the view and the values of dx, dy and
dz in the information area at the bottom. The distance tool will continue after selecting two
points. The user can quit by pressing <Esc> or right-clicking.
Keyboard Shortcuts
For more efficient use most of the menu items have a key binding, which can be activated when
the cursor lies in the graphics area. If a menu item has a key binding, it is written as an extension
to the menu item name. For example, under the File menu, the Open Project... command is
followed by "P". This indicates a shortcut. Hold down the <Shift> key and type <p> to invoke
the Open Project... command. Note that the use of capitals is important in the shortcuts of
CFView™. When the shortcut is indicated by a capital this means that the character should be
combined with the <Shift> key.
Throughout this manual keyboard shortcuts are indicated in blue italic.
2.1.2
Toolbar
The toolbar is located right under the menu bar and allows performing common tasks. This bar is
composed of 14 buttons that allow performing different tasks.
In the case of unsteady data sets, the toolbar is extended by a set of specific buttons:
Open & Close Project Buttons
This button is a shortcut for opening a project by selecting a project file. See Supported File
Formats, for a more detailed description of project opening and of the supported file formats.
This button is a shortcut for partially opening a project by selecting required geometry and
quantities of a project file or for opening an unsteady project. See Partial Loader for a more
detailed description of steady state and unsteady project opening.
This button is a shortcut for closing the current project. See Close Project, for a more detailed
description of that function.
View Handling Buttons
This button is a shortcut for opening an additional view in Cartesian coordinates. See Multiple
Views, for a more detailed description of that function.
This button is a shortcut for opening an additional view in cylindrical coordinates. See Multiple
Views, for a more detailed description of that function.
This button is a shortcut for minimizing the active view. See Change View Size/Position, for a
more detailed description of that function.
This button is a shortcut for maximizing the size of the active view. See Change View
Size/Position, for a more detailed description of that function.
This button is a shortcut for deleting the active view. See Close Active View for a more detailed
description.
This button is a shortcut for inserting a decoration text. See Decoration Texts for a more detailed
description.
Coordinate Axis Buttons
This button displays or removes the orientation axis, acting as a toggle. It performs exactly the
same task as the menu item Geometry/Coordinate System/Axis. See Add Coordinate Axes for a
more detailed description of that function.
This button displays or removes the graduated coordinate axis, acting as a toggle. It performs
exactly the same task as the menu item Geometry/Coordinate System/Graduated Axis. See
Insert Graduated Axes for a more detailed description of that function.
This button allows the user to measure the distance between the two selected points in the view. It
performs exactly the same task as the menu item Tools/Distance.
Quantity Range Control Buttons
This button starts a modification of the active quantity range. It performs exactly the same task as
the menu item Representation/Range/Range Set. See Range Set for a more detailed description.
This button fits the quantity range back to the default. It performs exactly the same task the menu
item Representation/Range/Range Default. See Range Default for a more detailed description
of that function.
This button fits the quantity range on the active surfaces. It performs exactly the same task as the
menu item Representation/Range/Range Active Surfaces. See Range Active Surfaces, for a
more detailed description of that function.
Unsteady Animation Buttons
The detailed description of unsteady data sets handling is provided in Animation of Unsteady
Data Sets.
This button brings the animation back to the first time step.
This button moves the animation from the current
representations are drawn in the views, but with the data from the next time step.
time step to the next one. The same
This button starts the animation of the current representation. The same representations are drawn
in the views, for each time step successively.
This button stops a running animation.
This button enables or disables the automatic restart at the first time step, when the animation has
reached the last time step. If the feature is turned on, the first time step is considered as the one
following the last time step. If the feature is turned off, the animation stops when it reaches the last
time step.
This button frees the RAM usage at each time step when post-processing unsteady data sets. By
default it is activated. See Projects Comparison for a more detailed description.
This button enables or disables the animation recording in an animated GIF format. It acts as a
toggle: when the recording is turned off, the button background is gray (this is the default) and
when the recording is turned on, the button background is yellow.
This button saves a time-averaging solution for the selected time steps.
The time-averaging steady results can only be computed for structured (FINE™/Turbo) projects.
2.1.3
Quick Access Pad (QAP)
The Quick Access Pad is located on the left side of the user interface and contains icons and lists
providing direct access to commonly used functions in CFView™. It is divided in three main
parts:
l The Surfaces subpanel provides easy ways to select and to create surfaces .
l The Quantities subpanel displays the list of available quantities. It allows to select and to
create quantities .
l The Representations subpanel provides icons for creating representations and for the
computation of surface integrals .
Each subpanel may be closed and reopened by clicking on its header.
The width of the Quick Access Pad may be augmented or narrowed by clicking and dragging the
square button situated on the right side of the Surfaces subpanel header.
The height of the Surfaces and Quantities subpanels may be increased or decreased by clicking
and dragging the square buttons situated at the bottom right of the subpanels.
2.1.4
Graphics Area
The graphics area is the part of the layout where all graphics objects appear. The graphics objects
may be distributed in different windows called views in the CFView™ terminology. These views
can be positioned arbitrarily in the graphics area and can also be moved, resized and iconised .
The selection as well as the drag and drop operations are directly connected to the mouse buttons
and are explained below. As detailed in Active View, only one view at a time can be modified.
The active view is highlighted by a red border. When the interactive mode is active, a describing
message is present at the bottom of the graphics area.
The mouse buttons have the following function when the cursor is located inside the graphics
area:
l The left button (<1>) is used to select a point interactively.
l If the interactive mode is not active, the functionality associated with the picking selects the
object situated at the mouse location .
l If the interactive mode is active, it depends on the mode that is currently active in that view
(for example: if the local value insertion is active, a click with the left mouse button will
interpolate the local quantity value on the active surface intersected by the line passing
through that point).
l Middle button (<2>)
Used for dragging decoration text in view. It is also used for translation in the free rotation
mode. On two mouse buttons computers, this is also accessible through the left button with the
<Ctrl> key pressed.
l Right button (<3>)
l When one or several graphics objects are selected, pressing the right mouse button raises a
contextual pop up menu providing access to the updating functionalities.
l When the interactive mode is active, it allows to quit the interactive mode.
2.1.5 Message Area
The message area is located immediately below the graphics area. Three types of text messages
are displayed on this line. Message types are easily identified by the background color:
l Light yellow background: information messages.
l Black background: request messages. These messages are reminding the valid user interactions
in the graphics area or in the keyboard input area .
l Red background: warning messages. These are non fatal errors. However, the result of the
requested operation may be altered.
2.1.6
Keyboard & Viewing Control Area
This area contains a set of information on the current state of CFView™.
FIGURE 2.2
Keyboard & Viewing Area
The viewing buttons are described in Viewing Buttons and the three other regions are outlined
below.
Keyboard Input Area
The multipurpose keyboard input area is present in the layout of CFView™ to allow input from
the keyboard. A prompt indicating the type of input is displayed on the left side of the string input
window, e.g. 'enter isosurface value'. To perform a string input operation, move the cursor in the
limits of this area, click the left mouse button, enter the value(s) separated by a blank and press
<Enter> to execute the action.
The mouse buttons have the following function in this area:
l left button (<1>):
Click and release to select an insertion point in the string editor.
Click and hold to initiate a rate scrolling of text within the horizontal box, then move the cursor
to the left or to the right for scrolling. When the desired position is reached, release the button.
l right button (<3>):
After left-click on the graphics area, the right-click enables the user to leave the menu.
Quantity Range Monitor
The quantity range monitor displays the current range of the active quantity in the active view. By
default, this is the full range of the quantity determined from the input data. This range can be
smaller or larger than the full range .
Information Output Area
In this area, the quantitative information are displayed. Three kind of values are displayed:
l The results obtained from surface, volume or curve integrals .
l When pressing the left mouse button in the graphics area while no graphics object is selected
and when no interactive mode is active, the cursor position is displayed.
l This area also displays a progress bar during some computationally intensive operations.
2.2
PROJECT MANAGEMENT
In this section it is described how to open and close a project and which type of data sets are
supported by CFView™.
The data related to the current computation is loaded automatically when CFView™ is opened
through the FINE™ GUI environment. Furthermore (additional) projects may be opened by
selecting in CFView™ File/Open Project... and selecting a data file in the file chooser. The
available file types depend on the selected type of output for the computation. In Supported File
Formats, the file formats that can be opened by CFView™ are listed.
When starting CFView™ with a command line in a shell the -project command line argument
may be used to load a specific data file . If the command line argument -
loaddata is used, the project loading may be restricted to the geometry only or to the geometry
with a user defined subset of flow fields .
A project can also be opened through File/Open Project Selection... . It allows the user to
partially load the geometries and quantities of the project, or to open unsteady projects or to
reconstruct unsteady solutions or clocking positions from harmonic solution. See Partial Loader.
The data loading process is completed when the messages "Reading..." have disappeared. When
the reading operation is completed, CFView™ opens a new view and automatically displays the
boundaries of the solid surface(s) of the geometry. This view becomes active and all following
actions are related to this view. From that moment the system is ready for the visualization session
and the control of the system is accomplished through the use of the menu items, the Quick
Access Pad or through the graphics area itself. The name of the project is indicated on the upper
part of the CFView™ session.
To open a project, the user must have the read permission on the file and the execute permission on
the whole directory path where the project related files are located.
2.2.1
File Chooser
The layout of the File Chooser depends on the used operating system but a typical layout is
shown in FIGURE 2.3 . Select the path of the directory containing the file using the list of
directories or to add the path directly in the string editor. To filter the available files in the selected
directory choose a file type in the list of file types (for more detail on the available file types see
Supported File Formats). In the list of files, automatically the files corresponding to the chosen file
type are displayed for the selected directory. Select the file and press OK (Open) to open the file.
FIGURE 2.3
Typical layout of a File Chooser
2.2.2
Supported File Formats
CFView™ supports several file formats and each file format is identified by the extension of the
file name. The following sections describe how to open files that are in the CFView™ native, in
the FINE™, in the CGNS or in the PLOT3D file format.
Open CFView™ Native File Format (.cfv)
All the information concerning the project is included in the identification file. This file has the
'.cfv' extension.
FINE™/Turbo is creating such files when doing unsteady computations or selecting meridional
averaged variables. Refer to "Native File Format" (p. 384), to have a complete description of this
format.
FINE™/Marine is also creating such files. When opening a '.cfv' file created by FINE™/Marine
in CFView™ it is necessary to have the corresponding '.hex' file in the same directory with the
same name (this last file is automatically saved by FINE™/Marine).
Open FINE™ File Format (.run)
The FINE™ formatted files have the '.run' extension. This is a file format specific to the FINE™
GUI environment. When running a computation with FINE™, all files related to the computation
and its solution are stored in one directory.
When opening a '.run' file created by FINE™/Turbo in CFView™ it is necessary to have the
corresponding '.cgns' file in the same directory with the same name (this last file is automatically
saved by FINE™/Turbo).
When opening a '.run' file created by FINE™/Open with OpenLabs™ in CFView™ it is
necessary to have the corresponding '.cfview' file (or '.s#' and '.v#' files) and '.hex' or '.sph' file in
the same directory with the same name (these files are automatically saved by FINE™/Open with
OpenLabs™).
Open Plot3D Formatted Files
Plot3D formatted files can be loaded in CFView™ using File/Open Plot3D Project.... As the
data in this format may be provided in one or several files, a specific file chooser dialog box will
appear as shown in FIGURE 2.4.
FIGURE 2.4
Plot3D File Chooser
The first entry should contain the name of the geometry file, the second one should contain the
name of the solution file and the last two entries should contain the name of the function file and
the associated name file. A Plot3D project must always contain a geometry file. A project can also
be composed of a geometry and a solution file. The last kind of project contains the four file
types.
As various kind of file formats are allowed in the Plot3D format, the user should provide
information on the file format by clicking on the File Format... button in the Plot3D file chooser
box or by selecting the Plot3D file type... item in the Preferences menu. The dialog box as
shown in FIGURE 2.5 will appear.
FIGURE 2.5
Plot3D File Type Editor
The dialog box contains, on the left side, the parameters related to the grid type:
l multiblock: must be selected if the grid contains more than one block;
l blanking : must be selected if blanking information is included in the files. It should be
emphasized that this parameter relates to the presence of the blanking information in the file. It
may happen that such information is included even if no grid point is blanked.
On the right side, the parameters related to the file formatting are as follows:
l file type: may be ASCII, binary single precision, binary double precision, unformatted single
precision or unformatted double precision;
l binary big endian/binary low endian : this information relates to the byte ordering on the
machine on which the files were created. This does not apply to ASCII formatted files.
The file format is stored as a part of the user defaults. If the file format default options are changed
during a CFView™ session, CFView™ prompts the user that the defaults have changed and
proposes to save them. Saving of the defaults is done automatically at the moment CFView™ is
quit. If the user saves the new defaults, the Plot3D file format may be restored in the next
sessions. Default restoring may be automatic or manual .
Plot3D files created by FINE™/Turbo can be binary low endian (little endian) single precision
unformatted or ASCII (imposed in the Outputs/Computed Variables page within FINE™/Turbo),
whatever the platform was used to run the computation. This is also the CFView™ default. Note
that Intel processor and Compaq alpha processor based platforms are natively low endian (little
endian), while the RISC processors (used in Linux workstations) are natively big endian.
With binary or unformatted file, a wrong binary ordering specification (e.g.: big endian instead of
low (little) endian) may lead to unpredictable behavior, including application crash.
Open Mesh
The mesh files from AutoGrid5™ (.cgns), HEXPRESS™ (.hex) and HEXPRESS™/Hybrid
(.sph) can be directly loaded into CFView™ without having a computation performed. This can
be achieved by selecting File/Open Mesh... and loading a mesh file in the file chooser.
The meridional or blade-to-blade (B2B) mesh exported from AutoGrid5™ (.cgns) cannot be imported
into CFView™.
When opening an unstructured mesh (.hex or .sph) if the .bcs or the .isis2cfview file is not found
in the same directory as the mesh file, an error message is displayed. Otherwise, the mesh is
loaded with the boundary conditions defined in the .bcs or .isis2cfview file. It is possible to show
the repetitions (when applicable) as the repetition type and periodicity are also read from the .bcs
file.
To be able to use the repetition menu, the user has to set up the periodicity in HEXPRESS™.
For turbomachinery cases meshed at 360 degrees where the hub and shroud curves are loaded, the
mesh is cut so that the STM view will be correct.
For unstructured meshes, the .bcs file must be present in the same directory as the mesh file.
The .hex file created at the end of a FINE™/Marine computation and saved into the computation
folder cannot be loaded because the .bcs file is not adapted. The .sph mesh generated by
HEXPRESS™/Hybrid v3.1-2 and lower cannot be loaded into CFView™ for the same reason.
2.2.3 Open Multiple Projects
The multiview environment of CFView™ loads simultaneously different projects during the same
run and manipulates them in a similar way. This feature is particularly useful when comparative
analysis is made between computations based on similar geometry.
) on the toolbar or choose Open Project... in the
If CFView™ is already open, click Open (
File menu to open a new project. The number of files that can be opened at the same time is
limited by the memory of the system.
The keyboard shortcut for File/Open Project... is <Shift> + <p>.
2.2.4
Partial Loader
The partial loader is a useful tool to load part of the geometry and quantities instead of the
complete project. This functionality reduces the CPU time and memory usage and is especially
interesting for post-processing large projects. Moreover, unsteady projects can also be loaded with
the selected time steps.
The tool is compatible with steady and unsteady data sets (both 3D domain and CGNS surfaces).
If the project is unsteady, CFView™ searches for available time step files in the project directory
and provides additional controls in order to allow the user to choose the first and the last time step
as well as the interval between two consecutive time steps. The tool is also compatible with
harmonic project, please refer to Reconstruction of Flow in Time/Space for more details of
reconstruction in time/space.
Access this feature by selecting Open Project Selection… from the File menu or from the Open
Project Selection(
) button in the CFView™ toolbar
The keyboard shortcut for Open Project Selection… is <p>.
The data file can be selected from the pop-up file chooser window. Selection of the data file leads
to the Partial Loader dialog box. Depending on the selection of a steady/unsteady project or a
reconstructed harmonic solution in time/space, the dialog box is different.
l When a steady project is selected, the Partial Loader dialog box appears as shown in FIGURE
2.6.
FIGURE 2.6
Partial Loader dialog box for a steady project
l The left frame in the dialog box allows loading part of the geometry by selecting their
corresponding check box among the existing geometries available in the data file.
l The right frame in the dialog box allows loading part of the available quantities by selecting
their corresponding check box among the existing quantities available in the data file.
l Filter string input area allows to select or deselect the geometries by their name, if the
Select or Unselect option is selected respectively. Type full or fractions of the name of the
geometries need to be filtered and activate the Select or Unselect option as defined by the
requirement and press <Enter>.
l MG level allows users to select the coarser level of the loaded structured FINE™/Turbo
solution. The default value is 0 and corresponds to no coarsening. Once the MG level is
set, when clicking on Apply the coarsening is applied in each direction until the chosen
MG level is reached or a non MG number of points is obtained on the given direction.
When loading a coarser level, as CFView™ is interpolating the quantity field from the data on the
loaded grid, the plotted quantity field will also be coarser as presented in FIGURE 2.7
FIGURE 2.7
Plotted static pressure field on different grid levels
l When an unsteady project (or a reconstructed harmonic solution in time) is selected, the Partial
Loader dialog box as shown in FIGURE 2.8 appears. Two extra radio buttons are available
for time step selection:
l All Time Steps: load all the time steps available in the directory of the unsteady data file.
l The second radio button applies for selecting Initial and Final time steps along with an
Interval between two consecutive time steps.
FIGURE 2.8
Partial Loader dialog box for an unsteady project
When opening projects that contain a snap file (*.snap) with irregular time steps, the input for the
Interval will not be present anymore. It is not possible to skip some time steps in between the initial
and final ones.
l When a reconstructed harmonic solution in space (clocking) is selected, the Partial Loader
dialog box as shown in FIGURE 2.9 will appear. Two extra radio buttons are available for
clocking positions selection:
l All Clocking Positions: load all the clocking positions available in the directory of the data
file.
l The second radio button applies for selecting First and Last clocking positions with an
Interval between two consecutive positions.
FIGURE 2.9
Partial Loader dialog box for a harmonic reconstruction in space project
l When a CGNS surfaces file is selected (the filter must be set to CGNS surfaces), the Partial
Loader dialog box as shown in FIGURE 2.10 appears.
CFView™ supports structured surfaces and unstructured conformal surfaces (without hanging
nodes). If surfaces including hanging nodes are loaded, cell borders of non conformal cells appear
as surface border.
CFView™ reads data in single precision. If the CGNS surfaces file is written in double precision,
CFView™ will read it and store the data in single precision.
When loading CGNS surfaces, there is no meaning to show or create derived quantities which are
3D domain quantities.
FIGURE 2.10
Partial loader dialog box for a CGNS surfaces file
l The left frame in the dialog box allows to load part of the surfaces by selecting their
corresponding check box among the existing surfaces available in the data file.
l The right frame in the dialog box allows to load part of the available quantities by selecting
their corresponding check box among the existing quantities available in the data file.
l Filter string input area allows to select or deselect the surfaces by their name, if the Select
or Unselect option is selected respectively. Type full or fractions of the name of the
surfaces need to be filtered and activate the Select or Unselect option as defined by the
requirement and press <Enter>.
l If several time steps with the same base name are present in the directory, the user can
choose to open steady case (Steady case) corresponding to the selected time step or to open
unsteady case. In case of opening unsteady case, the second radio button applies for
selecting Initial and Final time steps along with an Interval between two consecutive time
step. If only one file is present in the directory, the choice between steady and unsteady is
not available.
2.2.5
Close Project
) on the toolbar or choose File/Close
To remove a given project from CFView™, click Close (
Project... from the menu. The active view and all the views related to that project are closed.
Remember that each view has always one project associated with it.
To quit CFView™, select File /Quit CFView.
The keyboard shortcut for File/Quit CFView... is: <Ctrl> + <q>.
2.3
IMPORT VALIDATION DATA
To load validation data, select File/Load Validation Data.... A file chooser appears and, by
default, filters the files with a '.dat' extension. To select a file with a different extension select All
Files in the List Files of Type section of the file chooser . Select the file containing the validation data. Once imported successfully, the
validation data are available through the Quantity/Validation Data menu. .
The validation data must be provided in ASCII file format describing the data set along one curve
in the Cartesian coordinates space. The file has the following format:
l a header line which contains:
l the number of geometrical coordinates. It is usually 3, but it may be 2 or 1. If this number is
2, the Z coordinate is assumed to be null. If this number is 1, both Z and Y coordinates are
assumed to be null.
l followed by the number of quantities and the number of curve points,
l followed by the names of the quantities surrounded by '|' characters.
l the content lines where each line contains:
l the X, Y and Z coordinates of one point,
l followed by the quantity values.
This format is compatible with the curve plot export facility  in File).
Example:
3 1 65 |magnitude V|
1.200000e-001 6.007622e-002 0.000000e+000 9.515225e-002
1.180000e-001 6.007622e-002 0.000000e+000 8.875245e-002
...
6.499933e-002 6.007622e-002 0.000000e+000 2.244284e-005
6.499832e-002 6.007622e-002 0.000000e+000 0.000000e+000
2.4
VIEWS MANIPULATION
CFView™ operates as a multi-window system in which 2D and 3D graphics objects can be
simultaneously and independently displayed and manipulated. A window is called a view in
CFView™ terminology. The number of windows and tasks assigned to them is unlimited (except
by system resources). Any representation of the field may be applied and combined inside one or
more views. CFView™ recognizes three types of views:
l 2D views which are primarily related to 2D data,
l 3D views which are related to 3D data,
l Cartesian plot views which are used to display data in a Cartesian plot form.
When starting CFView™ only one view is created that occupies the entire graphics area. It is
possible to create additional views by opening a new project or by explicitly requesting a new
view for the same data set. In addition CFView™ creates Cartesian plot views whenever a scalar
quantity distribution (Representation/Cartesian Plot) is requested. The newly created view
becomes the active view. All subsequent actions, by using the menus or viewing buttons, are
related to it.
To manage the set of views, use special menu items dedicated to view manipulations such as
resizing, moving, iconising or deleting a view. It is also possible to tile all non iconised views to
the graphics area. This gives a flexible way to customize the screen layout dedicated to graphics
and to produce plots for scientific publications and technical reports.
2.4.1
Active View
Although CFView™ allows any number of views to appear on the screen, only one view may be
active at a given time. The active view is the view to which all viewing operations and data
manipulations are applied by using the viewing buttons and menus.
The active view always appears on top of all the other views (view stack) and is recognized by its
red border, while the other views appear with a black border.
It is possible to activate any other view for interactive work. To do so, use the left mouse button:
click inside the view, to pop-up the desired view of the stack on top of the others.
2.4.2
View Concepts
The way the user looks at a certain scene is defined by 4 parameters controlling a virtual camera.
l The view point represents the position of the camera.
l The target point represents the point where the camera is pointing to.
l The view up direction controls the direction the top of the camera should face.
l The width and height control the span around the target to be visible.
In addition we can define:
l The view normal direction going from camera target to camera position.
l The target plane which is the plane passing through the target and normal to the views normal
direction.
FIGURE 2.11
View Definition
Each viewing operation affects one, some or all the parameters of this camera. The parameters
affected by each operation are specified at the end of each description.
Whenever a view is opened or a new surface is added to the active view, CFView™
automatically computes the box such that all the graphics objects fit inside.
Projection Mode
CFView™ provides three types of projection modes to display three- dimensional objects
(View/Parameters):
l Orthographic : they are typically used to represent the metric properties of an object and to
show the exact shape of a side parallel to the plane of the screen.
l Stretched : this mode is similar to orthographic, except that when the view is resized the
observed object is scaled in the same way
l Perspective : they give a more realistic representation of an object as seen from an observer at
a specific position. This position, called the reference point, can be used to change the
appearance of the graphics objects on the screen. The closer the point is, the more distorted the
objects will appear. On the other hand, if the reference point is far from the objects, the
projection will look like an orthogonal projection (Orthographic). CFView™ provides a
convenient way to modify the position of this reference point by controlling its distance from
the objects using the Continuous zooming (
) viewing button. Refer to Viewing Buttons.
The default projection mode is orthogonal (Orthographic).
The interactive picking cannot be done in perspective views. Hidden line may not work properly in
perspective views, when the projection point is too close to the object.
Change Representation Scale
To change the scaling factors for the 3D or 2D scenes, select Scale from the Geometry menu.
Then enter the 3 or 2 scaling factors for each of the directions. Press <Enter> in the keyboard
input area in order to validate the entry. The scale factors are applied to the active view. A value
lower or larger than 1 is respectively stretching in or out the geometrical representation for the
related direction. Finally a value of 1 is leaving the geometry unaffected.
Change Background
To change the view background, right-click in the active view and select Set Background or
define the view background in the Preferences/Background Type menu before creating the
view.
Four types of view background are available:
l Clear Color: a unique color is selected as background.
l Shaded Colors: two colors are selected to define a vertical color gradient as background.
l Picture Background: a 32-bits PNG picture is selected as background using the Load File
button. The loaded picture is stretched to fit the view when the Stretched background option
is active.
l Skybox Background : a 32-bits PNG horizontal skybox or a skybox script file (.sky) is
selected as background using the Load File button. The skybox script file is referring to six
32- bits PNG pictures defining the six faces of the cube representing the surrounding
environment.
The 32-bits PNG horizontal skybox is not available on Windows.
When the loaded file is not a 32-bits PNG, a warning "Loaded file is not a 32-bits PNG" will appear.
The Apply button applies the selected background on the active view. The Close button is
closing the dialog box without applying.
2.4.3
Viewing Buttons
There are 13 buttons allowing to perform various operations on the active view: viewing
operations affect the way the user looks at the project.
Most viewing operations are interactive:
l Press on the left (<1>) or middle (<2>) mouse button to initiate the operation.
l Drag the mouse. Depending on the operation, the position of the mouse will affect some
parameters of the camera.
l Release the mouse button when finished.
If the option View/Parameters/Full Render is disabled then the scene in the active view is
reduced (hidden surface removal is deactivated, markers are removed, text is removed, colormaps
are removed, etc....) during interactive operation in order to maximize the response of the graphic
system.
X, Y & Z Projection Buttons
These buttons allow to set the camera position in order to bring the view normal parallel to X, Y
or Z coordinate directions. This option is also accessible through the menu View/Projection/.
Translate Button
This button allow to scroll (translate) the camera in a given direction, the direction the camera is
being pointing is remaining unchanged.
l Press on the left mouse button to initiate the operation.
l Then drag the mouse in the direction of interest.
l Release when finished.
This button allows also to perform a continuous scrolling of the camera:
l Press on the middle mouse button to initiate the operation.
l Then drag the mouse in the direction of interest. The continuous scrolling speed and direction
are proportional to the dragging amplitude and direction.
l Release when finished.
These operations affect the camera position and target.
Dynamic Viewing Button
This button allows to rotate and translate the camera position around the target as well as to zoom
and to fix the rotation center and to zoom in/out.
l Click with the left mouse button to start the operation mode.
l Press, drag and release the left button in the graphics area to rotate the camera. Move the
mouse left-right for a rotation around the vertical axis or forward-backward for a rotation
around a horizontal axis.
l Press and release the left mouse button with the <Shift> key pressed to select a new rotation
center. The rotation center is chosen in two steps: first if at least one active surface is under the
mouse pointer, the point which is the closest to the observer is chosen. If no such points exists,
non-selected surfaces are considered and if no point is found, the selection is aborted.
l Press, drag and release with the middle mouse button to translate the camera. This is also
available with the left mouse button with the <Ctrl> key pressed.
l Press, drag and release the middle button with the <Shift> key pressed for zooming in or out.
This is also available through the left mouse button with the <Ctrl> and <Shift> keys pressed
simultaneously.
l Roll the middle-mouse button to perform a zoom where the mouse is pointing.
l Press and release the right button to quit to operation mode.
The shortcut key for dynamic viewing is <F1>.
X, Y & Z Rotation Buttons
These buttons allow to rotate the camera about the principal coordinate directions (X, Y or Z for
views in Cartesian coordinates; R, θ or Z for cylindrical coordinates,...).
1. Press on the left mouse button to initiate a rotation operation.
2. Then drag the mouse to the left or to the right to rotate clockwise or counterclockwise.
3. Release when finished.
These buttons allow also a continuous rotation:
1. Press on the middle mouse button to initiate a rotation operation.
2. Then drag the mouse to the left or to the right
to start a continuous clockwise or
counterclockwise rotation. The rotation speed is proportional to the dragging amplitude.
3. Release when finished.
Rotation affects only the camera position.
Roll Button
This button allow to roll the camera around the view normal and affects the view up direction:
1. Press on the left mouse button to initiate a rolling operation.
2. Then drag the mouse to the left or to the right to roll clockwise or counterclockwise.
3. Release when finished.
This button allows also a continuous rotation:
1. Press on the middle mouse button to initiate a rotation operation.
2. Then drag the mouse to the left or to the right
to start a continuous clockwise or
counterclockwise rotation. The rotation speed is proportional to the dragging amplitude.
3. Release when finished.
Zoom In/Out Button
This button allows the user to interactively zoom in and out and thus affects the camera width and
height:
1. Press on the left mouse button to initiate a zooming operation.
2. Then drag the mouse to the left or to the right to zoom in or out.
3. Release when finished.
This button allows also a continuous zoom in or zoom out operation:
1. Press on the middle mouse button to initiate the zoom operation.
2. Then drag the mouse to the left or to the right to start a continuous zoom. The zooming speed
is proportional to the dragging amplitude.
3. Release when finished.
Zoom Area Button
This button allows the user to specify a rectangular area of the active view to fit to the whole
view. This affects the camera position, target, width and height:
1. Press and release the button to initiate an area zoom operation.
2. Move the mouse to the active view and press the left mouse button on the first corner of the
rectangular area.
3. Drag the mouse to the second corner and release the left mouse button.
The operation may be repeated several times. Press the right mouse button to quit the interactive
mode
The shortcut for defining the zoom area is <F2>.
Fit Button
This button fits the scene to the view based on the bounding box surrounding the geometry as
described in View Concepts. This affects the camera position, target, width and height.
The shortcut to fit the scene to the view is <F3>.
Original Button
This button brings the active view in a default viewing state and affects all the parameters of the
camera. This default viewing state is referred to as the "original" view and is also accessible
through View/Projection/Original.
The shortcut to return to the default viewing state is <F4>.
2.4.4 View & Window Menus
The functionalities related to the view handling are grouped in the View and Windows menu.
The View menu contains the functionalities that affect the active view directly, while the
Window menu contains the items for the creation of new views and for the tiling of the views in
the graphics area.
The Projection and Parameters submenu are described first. In View/Projection multiple view
handling and the other items from these menus are described.
View/Projection
The Projection submenu in the View menu contains the following commands:
Original
To reset the view in its default orientation select this item. The associated viewing button is (
).
The keyboard shortcut to reset the view in its default orientation is <o>.
X Constant, Y Constant, Z Constant
To update the view parameters to obtain X, Y or Z constant projection of the objects, choose one
of these three commands from the View/Projection menu. The associated view buttons are
,
, or
The keyboard shortcuts for X constant, Y constant or Z constant are respectively <x>, <y> or
<z>.
To go back to the original view use View/Projection/Original or use the shortcut <o>.
View/Parameters
This menu allows to exactly setup the view by giving an orientation to the view coordinate
system. This is done through two variables, the Normal vector and the Up Vector . The
Normalvector is a vector perpendicular to the screen and pointing outside it. The Up Vector is a
vertical vector in the plane of the screen. Giving the coordinates of this vector rotates the
coordinate axes around the normal vector. These two vectors are always perpendicular. If the
perpendicularity is not respected when entering the coordinates of the Up Vector, the system will
automatically replace it with its projection in a plane perpendicular to the Normalvector.
This submenu allows also to set some of the viewing parameters and to choose the projection
mode : Orthographic, Stretched or Perspective.
Normal
This command allows to enter the coordinates of the Normalvector. To do so:
1. Choose Normal from the Parameters pull right menu.
2. Move the mouse to the keyboard input area and enter the coordinates of the Normalvector or
press, drag and release with the left mouse button in the active view to indicate the desired
normal direction.
Up Vector
This command allows to enter the coordinates of the Up Vector. To do so:
1. Choose Up Vector from the Parameters pull right menu.
2. Move the mouse to the keyboard input area and enter the coordinates of the Up Vector or
press, drag and release with the left mouse button in the active view to indicate the desired up
direction.
Full Render
When not being in Full Render mode CFView™ automatically degenerates all shaded
representations, such as solid model and color contour during rotation and translation in order to
improve the operation speed. This is the default mode. To disable or enable this feature, select this
item. It acts as a toggle.
The keyboard shortcut for Full Render is <Shift> + <v>.
Display Shadow
When activating the Display Shadow feature in this menu or the button
in the QAP, a
shadow is drawn under the scene. Its position and the light direction change according to the
view. The shadow is always drawn on an horizontal plane, located at the bottom of a bounding
box, enclosing the scene. The direction of the light source generating the shadow is always
vertical.
Fast Preview
When the user has semi-transparent surfaces in its view, the time needed to generate an image in a
big scene can achieve a couple of seconds. Because of this lack of interactivity, changing the
camera position is really difficult. To solve this problem, the Fast Preview mode can be activated.
In this mode, all the costly rendering options are disabled (transparency, environment map).
This mode will give different opportunity to help the user in large scenes:
l Set the materials in normal mode, switch temporary to the Fast Preview mode to set the
camera, and switch back to normal mode to see the final result.
l Switch to Fast Preview mode, edit a set of material properties, and switch back to normal
mode to see all the modification at once.
The message "Fast preview mode" is displayed when the mode is active in the menu.
Transparent
This command allows to make a view transparent. To do so:
1. Activate the view to make transparent.
2. Choose Transparent from the Parameters pull right menu. The view becomes transparent.
This command acts as a toggle: a second selection disables the transparency.
The keyboard shortcut for Transparent is < - >.
The transparent mode makes the whole project transparent in the view and thus it is no more possible
to manipulate this view.
Border
This command allows to hide the border of the view. To do so:
1. Activate the view to edit.
2. Choose Border from the Parameters pull right menu. The border of the view disappears.
This command acts as a toggle: a second selection makes the border visible again.
The keyboard shortcut for Border is <Shift> + <b>.
Stretched, Orthographic, Perspective
These three menu items allow to control the projection mode of the active view .
2.4.5 Multiple Views
Open Additional Views
To open a new Cartesian view, choose Open Cartesian from the Window pull down menu. To
do so specify a rectangular area to indicate the location of the new view:
1. Move the mouse to the active view and press the left mouse button on the first corner of the
rectangular area.
2. Drag the mouse to the second corner and release the button.
Open Cylindrical opens a view in the (r, θ, z) coordinate space.
Open Blade to Blade in the (s, θ, m) coordinate space. For a description of the (s, θ, m)
coordinate space refer to "Geometry Support for Blade to Blade Views" (p. 392).
Compute & Open Pitch Average starts the computation of a pitch average project and opens a
meridional (2D) view. Refer to Compute Meridional View by Azimuthal Averaging for a detailed
description of this feature.
The keyboard shortcut for Open Cartesian is <Shift> + <n>and the toolbar buttons associated
to the opening of respectively Cartesian and cylindrical views are
and
.
Refresh Graphical Area Display
To refresh the content of the graphics area, select Refresh from the Window menu. CFView™ is
refreshing automatically the graphics area content and this command does not need to be used
under normal conditions.
Reset View Content & Viewing Parameters
To reset the view content as it was just after opening it, choose Reset View from the Window
menu.
Close Active View
To close the active view and delete all the representations, choose the Close item from the
Window menu. After deletion it is not possible to retrieve the content. In this way memory space
can be made available again.
When all the views associated with a project are deleted, the project is at the same time deleted
from the system.
The keyboard shortcut <Ctrl> + <n> and the toolbar button
permit to close the view.
Change View Size/Position
The view size and position can be changed by selecting the appropriate feature from the View
pull down menu. The view border can also be selected with the left mouse button in order to
activate the view move or resize interactive mode. This section describes first the functionalities
from the View menu and then provides a description of the interactive move or resize mode.
Maximize
To expand the active view over the entire Graphics area, choose Maximize from the View pull
down menu.
The keyboard shortcut is <f> and the toolbar button associated is
.
Preferred Size
To return to the size of the active view before the last full screen or icon operation select
Preferred Sizefrom the View pull down menu.
The keyboard shortcut is <7>.
Minimize
To iconise the active view select Minimizefrom the View pull down menu.
The keyboard shortcut is < . > and the toolbar button associated is
.
Push Back
To push back a view, select the Push Back item. The active view is redrawn behind any
overlapping view.
Move/Resize
To move or resize the active view in the graphics area, choose Move or Resize from the View
menu. Both are starting the interactive move or resize mode described in Tiling Views.
For compatibility with previous versions, two shortcuts are recognized <m> and <r>.
Interactive Move/Resize Mode
When move or resize are selected from the View menu, or when the view border is selected with
the left mouse button, the interactiveMove or Resizemode is activated. The cursor appearance is
changed.
In this mode, the mouse binding are as follows:
l When the mouse pointer is positioned near a view corner or at mid distance along one of the
view side, the cursor is changed into a symbol (i.e.
) indicating which type of resizing
operation can be performed. At this moment, if the left mouse button is pressed, a resizing
operation is started. By dragging, without releasing, the mouse pointer into a new location the
view is resized accordingly. The resizing operation is validated by releasing the left mouse
button.
l When the mouse pointer (
) is positioned inside of the view. Pressing, dragging and then
releasing with the left mouse button is moving the view accordingly.
l When the right mouse button is pressed a pop up menu is raised that provides access to the
commonly used features. These features are enabling to change the view size, to send it to
back or to bring it to the front and to close the view.
l The interactive mode is quit by a simple left-click inside the view.
Tiling Views
To tile the non iconised views to the entire graphics area select Tile Viewsfrom the Windows
menu.
Arrange Iconised Views
To arrange the current iconised views in the graphics area select Arrange Icons from the
Windows menu.
Swap Views
It is possible to swap a view with another view, i.e. exchanging their position and size. To do so:
1. Select the first view with the mouse.
2. Choose Swap Views from the View pull down menu.
3. Select the second view with the mouse. The two views are swapped.
The keyboard shortcut for Swap Views is < / >.
Align Views
This command aligns the camera position and orientation of a view with another. To align a view:
1. Select the model view for alignment.
2. Choose Align Views from the View pull down menu.
3. Click with the left mouse button into the reference view on which to align the active view. The
camera position and orientation parameters will be automatically set to those of the reference
view.
The keyboard shortcut for Align Views is < = >.
Synchronize Views
These commands allow to control the dynamic synchronization of multiple views by linking the
viewing operations (i.e. zoom, rotate and translate) to a group of views.
To synchronize views:
l Left-click on a view to activate it. This view will be the "master" view.
l Select View/Synchronize Views menu to start synchronization (shortcut <a>).
l Left-click on another view. This view will be the "slave" view.
l Repeat above steps to add another slave view.
When applying viewing operations (more details in "Viewing Buttons" (p. 45)) in the "master"
view, the same operations will be automatically applied in the synchronized "slave" views.
The dynamic synchronization is not allowed on views with different coordinate systems. When
selecting "slave" view a warning "Can not synchronize, not the same coordinate system" will appear.
Stop View Synchronization
The View/Stop View Synchronization menu allows to stop the dynamic synchronization of the
whole CFView™ session (shortcut <A>).
Show Synchronized Views
The View/Show Synchronized Views check button displays a label at the bottom of each view
indicating the ID of the view as well as all the "slaves" views synchronized with it when "master"
view.
Superpose Views
This command superposes two views in order to compare their contents. The active view is
placed on top of another one and the active view is set transparent. To superpose a view:
1. Activate the view to superpose.
2. Choose Superpose Views from the View pull down menu.
3. Click with the left mouse button into the target view on which to put the active view. The
active view is superposed and becomes transparent.
The keyboard shortcut for Superpose Views is <+>.
Match Ranges
This command sets the colormap range for one view equal to another one. To match two views:
1. Activate the target view. This is the view that will have its colormap range matched to the
second view.
2. Choose Match Ranges from the View pull down menu.
3. Left-click into the second view. Now the target view has the same colormap range as the
second view.
The keyboard shortcut for Match Ranges is <Ctrl> + <m>.
2.4.6 Add Coordinate Axes
CFView™ provides two types of coordinate systems, both right handed: the orientation axis and
the graduated axis. Both types of coordinate systems are explained in this section.
Insert Orientation Axes
The orientation axes make a small local coordinate system displayed without graduations. By
default, it is displayed in the lower right corner of the view. And it defines the principal directions
as a help for the viewing operations.
The orientation axis is inserted in the active view by selecting the toolbar button
or by
selecting Axis in the Geometry/Coordinate system submenu. The button and the menu item are
acting as toggles: a second selection removes the axis representation.
The orientation axis origin may be changed easily:
1. Select the axis representation in the view by clicking on it. A set of highlighting markers are
appearing.
2. Place the mouse cursor on the axis, then press, drag and release with the left mouse button to
place it at the desired location.
The size of the orientation axis may be increased or decreased in the following way:
1. Select the axis representation in the view by clicking on it. The highlighting markers are
shown.
2. Press the right mouse button, a pop up menu appears.
3. Select Set Larger or Set Smaller to increase or decrease the representation size.
The pop up menu offers also the possibility to discard the axis representation from the view. To
do so, select the Hide item in the pop up menu.
Insert Graduated Axes
The graduated axes are inserted in the active view by clicking on the toolbar button
or by
selecting Graduated Axis in the Geometry/Coordinate System submenu. The axis origin and
range is set automatically to values appropriate in order to fit with the represented geometry.
When the viewing direction is parallel to one of the main coordinates axis, the axis close to that
direction is not drawn (since its representation would be degenerated to a point).
Several options are available to customize the graduated axis representation. These are accessible
in the graduated axis editor dialog box . To open this
dialog box, there are two possible ways:
l select the Axis Editor... in the Geometry/Coordinate System submenu,
l select the graduated axis in the active view, highlighting markers are drawn. Then, press the
right mouse button, a pop up menu is appearing. In the pop up menu, select Edit axis.... Note
that the pop-up menu contains a series of items that are shortcuts for common update options.
Graduated Axis Representation Control
There are several parameters that can be modified in order to tune the graduated axis
representation. All of them are accessible from the Graduated Axis Editor dialog box .
In the page entitled Ticks & Line Type, the following parameters are controlled:
l the origin and extend in each direction. The coordinate system origin is situated at the point
which coordinates are below the From label and the axis extends to the values given below the
To label. The ticks spacing and their associated labels are given below the Spacing label. In
order to change those values, type the new values and press the Apply button.
l The size of the ticks (with respect to the axis size) is displayed at the centre. In order to change
it, type the new value in the entry and press the Apply button.
l In the lower part of the page, the line type used for drawing the axis and the ticks is displayed.
The parameters controlling the line type are detailed in Curve, Line & Marker Type Editors.
FIGURE 2.12
Ticks & Line Type and the Numbers Type pages from the Graduated Axis Editor
The second page Numbers Type of the Graduated Axis Editor provides control of the type of
text used for the numbers labels displayed along the axis.
l The numbers orientation can be set to Horizontal (the numbers text appear horizontal whatever
the axis orientation) or to Perpendicular to the axis (the numbers text are always orthogonal to
the axis direction). This can be controlled individually for each axis. This control is also
accessible directly from the graduated axis popup menu.
l The font type, size and color can be changed in the Text Type frame. Further details on these
parameters are provided in Text Type Editor.
FIGURE 2.13
Labels page from the Graduated Axis Editor
The third page Labels of the Graduated Axis Editor provides control over the positioning and
text type of the axis labels:
l The axis labels can be set at the end of the axis or at the centre (at mid range). Select Top or
Center in the Position frame in order to change this setting.
l The font type, size and color can be changed in the Text Type frame .
The pop-up menu also offers shortcuts to enlarge or shrink all the text sizes in the represented
graduated axis. To do so, select Larger Texts or Smaller Texts. The pop-up menu provides also
an item to discard (Hide axis) the representation from the active view.
2.5
TEMPLATES & MACRO SCRIPTS
The templates and macro scripts are special types of files that are containing commands to be
executed by CFView™. Templates and macro scripts are designed with very different objectives:
l A template file contains commands that are defining the content of the views, without
reference to a specific data set. It contains information on how to construct the content of each
view along with instructions needed to set up an entire drawing. A template recorded on a data
set is designed to be applicable on similar data sets.
l A macro script is a general purpose set of commands. It may contain reference to actual data
sets. Macro scripts are written in the Python language, extended by the CFView™ specific
commands. CFView™ provides a way to record a sequence of user commands as they are
performed interactively. And, it is also possible to create macro scripts from scratch, using the
CFView™ commands and all the features of the Python language (loops, tests, subroutines,
file input/output,...).
Apply Templates
In order to apply an existing template on another data set, proceed as follows:
1. Load the project in CFView™ or select a view that is relative to the desired project.
2. Select Apply Template... from the File menu. A file chooser appears.
3. Select the template file ('.ty'). The template is automatically applied to the current project: all
the views related to the project are closed and replaced by those defined in the template file.
There are some limitations to the applicability of templates. If the project from which the template
was created is too different from the target project, the template may not work properly, leading to
error messages and/or incomplete building of the representation layout. The templates are working
with difference in number of points in the mesh and with small modifications in the geometry.
However, differences in topology (different boundary condition patches type or names, differences in
number or in name of blocks) and differences in coordinate scales (e.g. difference in units) would
most probably lead to inapplicable templates.
The ability to save templates has been replaced by saving macros, see Use Macro Scripts for more
details on how to use macros in CFView™.
Use Macro Scripts
As explained in the introduction, the macro scripts are Python scripts that are executed by
CFView™. In order to facilitate the creation of scripts, CFView™ allows the user to record
sequences of actions. CFView™ works with an active macro: this is a script stored internally and
initially empty. All macro manipulations operate on the active macro. These operations are
grouped in the Macro pull right menu of the File menu.
CFView™ supports also macro modules: a macro module is a set of macro functions defined in a
file. When a macro module is loaded, each function can be invoked individually from the Macros
menu.
For additional information and the description of the supported commands, please refer to Macro
Language. This chapter provides also a short description of the Python language.
Play Active Macro
To play the active macro, choose Play from File/Macro. The macro execution starts in the active
view.
Record User Actions
To record subsequent actions on the active macro, choose the Record toggle from the
File/Macro menu. When starting a recording of a new macro 'from scratch' do not forget to Clear
the active macro first.
Clear Active Macro
To clear (remove all operations in) the active macro, choose Clear from the File/Macro menu.
Load Macro
To load a macro from file, choose Load... from the File/Macro menu. A file chooser appears.
The file extension for a macro script file is ".py". The new macro replaces the previous active
macro.
Save Active Macro
To save the active macro content in a file, choose Save... from the File/Macro menu. A file
chooser appears. The file extension for the macro script files is ".py". This extension is
automatically added if necessary.
The active macro is saved on file and remains in the system for further operation.
Execute Macro Script Data File
To execute a macro script stored in a file, choose Execute... from the File/Macro menu. A file
chooser appears. Select the macro script file ".py". The macro execution is started automatically.
The execution of the macro is also recorded if the Record button is turned on. It is different from
loading and then playing a macro only from the point of view of the macro recorder. If a macro is
loaded, the recorder is reset. If a macro is executed, the new script is appended to the active macro.
The keyboard shortcuts for Execute... are <k> or <6>.
Save All Macro Recording Since Session Start
To save the script recording all the operations made since the session start, choose Save All...
from the File/Macro menu. A file chooser appears. The script is saved in the selected file.
Load Macro Module
To load a macro module, choose Load Module... from the File/Macro menu. A file chooser
appears. The file extension for the macro module files is ".py". The selected file is loaded and the
functions defined in the module are inserted in the Macros pull-down menu. .
Two macro modules having the same file name should not be loaded in the same CFView™ session.
Viewer/Debugger
The viewer/debugger module allows to control macro execution and editing at runtime. It contains
the following functionality:
l load a macro file and view the contents of the macro file,
l edit any particular macro,
l set breakpoint at any particular macro,
l delete breakpoint from any macro for which a breakpoint has already been set,
l step through the macros n at a time, n being controlled by the user,
l delete any particular macro,
l print a variable that has been assigned any value during macro execution,
l notify the user of failure if execution fails at any particular macro,
l auto cleaning of macros depending on various clauses,
l at any time user can either highlight all the macros for which breakpoints have been set or the
macro that will be executed next.
Implementation of automatic cleaning is dependent on following clauses:
l Following macros are cleaned if the value is not assigned to any variable:
l Macros for quantity probing .
l Macros for integral computation .
l Other
macros
just
returning
values
(NumberOfTimeSteps,
ViewName,
GetMeshRepetitionType, StructuredDomainSize, ProjectFile, SurfaceExist,...).
l Unsteady Macros are removed (NextTimeStep, SetActiveTimeStep,...).
l Viewing Macros are removed in case any of the macros occur consecutively: the preceding
instances are removed .
l If multiple instances of ViewTile (Commands Related to Multiple Views Handling) exist in
macro list, the unnecessary instances are cleaned: e.g. if there are no view opening / file
opening / view closing / file closing macros between two instances of ViewTile, the second
instance is removed.
l If a quantity is created and removed without being used anywhere, corresponding instances of
QntFieldDerived and QntFieldRemove are cleaned ( Commands Related to Quantity
Selection). Only those instances are considered that occur without any call to ViewActivate in
between. This is done to make sure that QntFieldDerived and QntFieldRemove are for the
same project.
l If there are occurrences of contour creation commands (Color Contours) without any print
commands in between, the preceding instances are removed. Besides, all of the contour
commands are removed if the contour is deleted without being printed. Only those instances
are considered that occur without any call to ViewActivate in between.
l All consecutive instances of Toggle commands are removed.
l If there are consecutive occurrences of following Set commands with the same name, first
instance is removed.
The macro debugger is guaranteed only on a CFView™ generated macro. Any loop ('for', 'while', ...)
or statement ('if', ...) is not supported because the lines are executed one by one. Only a linear
sequence (one line) of instructions is working. For example the macro debugger is working for:
CFViewBackward(810)
for i in [0,1]: print i
CHAPTER 3.
CREATING & HANDLING SURFACES
This chapter provides a detailed description of the Blade to Blade surface handling features in
CFView™. Surfaces are playing a fundamental role in CFView™ as nearly all the representations of
the flow quantities are made on surfaces. This chapter is divided in 6 sections:
l surface types and attributes description,
l handling the list of selected surfaces,
l creating new surfaces,
l visualizing the surfaces mesh,
l surfaces rendering and shadow,
l mesh cell visualization.
The commands related to surface handling, creation and representation are available mainly from the
Geometry and the Render menus.
In this section
3.1 What are Surfaces in CFView™?
3.2 Select Surfaces
3.3 Create Surfaces
3.4 View Surfaces
3.5 View Elements (Unstructured Meshes Only)
70
72
82
93
107
3.1 WHAT ARE SURFACES IN CFVIEW™?
This section describes the various types of surfaces and the concept of active and inactive
surfaces.
The surface concept of CFView™ is of great importance. CFView™ allows to visualize 3D data
sets by the definition of surfaces on which the data can be analysed. This means that most of the
representations used to analyse scalar or vector fields are applied to surfaces.
Surfaces Types
CFView™ makes a distinction between:
l Structured surfaces that are related to structured meshes. In 3D structured meshes, they
correspond to constant I, J, K mesh surfaces or to boundary patches. In the case of 2D
structured data sets, the computational domain is made of one or several structured surfaces.
l Unstructured surfaces that result from computations inside the computational domains, such as
iso-surfaces, arbitrary cutting planes, and that are defined by their nodes and cells. They
correspond to boundary patches in 3D unstructured grids.
When the user opens a project file, some surfaces are automatically represented in CFView™.
These surfaces are:
l for 2D projects : all the (2D) domains.
l for 3D projects : only the solid boundaries patches, if existing; otherwise all the boundary
patches defined in the data set.
Activation/Selection of Surfaces
CFView™ defines an activation state for each surface. Surfaces have two possible states:
l Active : when requested, surface representations, rendering or flow quantities representations
are applied to the surface. Surface integrals are computed on the set of active surfaces.
l Inactive : they may be present on the screen but are not affected by the user's requests.
The surfaces status is displayed in the Surfaces subpanel in the Quick Access Pad. After the
creation of new surfaces, they automatically become active. The active-inactive status of the
surfaces can be modified at any time in different ways:
l with the Surfaces subpanel from the Quick Access Pad ,
l with the Geometry/Select Surfaces... menu (refer to From Geometry Menu),
l interactively with the mouse .
The set of the active surfaces is also called the surface selection.
Project Surfaces List
Each project has a list of surfaces. They are available in all the views related to the project. Each
surface has a unique name.
If a project is visualized in more than one view, all the surfaces of that project can be accessed and
manipulated in all of them. Consequently, all surfaces existing inside a view are accessible from
all the other views. However, the surface manipulations are independent in each view. An
operation performed on a surface in a given view does not affect this surface in the other views.
The surface state may be different for every view.
As an example, if a cutting surface is defined in a cylindrical coordinates view, the same cut may
be viewed in a Cartesian coordinates view, where it will be a cylinder or a cone.
Surfaces Groups
The surfaces may be grouped. Groups may have various origins:
l groups defined in the FINE™ GUI (version 5 or higher).
l groups formed at project opening by CFView™. This automatic grouping is performed in
projects that are not created by FINE™ GUI or that are not in a format supporting the group
description. These groups are made of surfaces having an identical boundary condition type
and which are "in continuity" with each other.
l when cutting planes are crossing several domains, a group is created automatically and the
created surfaces are placed inside.
A group of surfaces is handled in the same way as a surface: all operations performed on a group
are performed on all of its members.
3.2
SELECT SURFACES
3.2.1
From Quick Access Pad
FIGURE 3.1
Surfaces Subpanel in Quick Access Pad
The Surfaces subpanel is made of three parts: the surfaces list, the surfaces creation shortcut
buttons and the filter frame.
Surfaces List
The Surfaces list contains a hierarchical list of all the project surfaces. Each surface is listed by its
name. On the left side of the name, symbols indicating the status and the type (using a color code)
are shown. The active surfaces are indicated by a
in the colored symbol. Groups are also
indicated by a specific symbol
.
The following color convention is used:
l inlets: green,
l outlets: orange,
l solid walls: blue,
l external: red,
l mirror and singular: brown,
l connections: cyan,
l periodic connections: magenta,
l rotor stator connections: grey,
l mesh surfaces, cutting planes and iso-surfaces: black.
l inlets: green,
l outlets: orange,
l solid walls: blue,
l external: red,
l mirror and singular: brown,
l connections: cyan,
l periodic connections: magenta,
l rotor stator connections: grey,
l mesh surfaces, cutting planes and iso-surfaces: black.
This convention is the same as in IGG™ patch viewer, except for the inlets for which a green
color is used instead of yellow for a better readability.
Several operations can be performed directly in the list:
l double click on a surface to toggle its activation state.
l display of group composition can be added or remove by clicking on the group symbol
.
l left mouse button is used to build a browsing selection, the surfaces in the browsing selection
are highlighted in blue.
l To select or deselect one surface, click with the left mouse button on the surface name.
Only this item is highlighted.
Or, to select several surfaces:
l click on a first item,
l press the <Ctrl> key while clicking to add or remove surfaces from the current browsing
selection.
l or press the <Shift> key while clicking on a second item: all the surfaces between the two
selected items are added to the current browsing selection.
When a selection is made (highlighted in blue), a popup menu can be raised by pressing the right
mouse button. It provides a set of operations:
l Setting the surface activation state (Select - Make Active/Inactive),
l Visualization of a surface for quick identification (Show Wireframe),
l Reversing the normal orientation of the selected surface(s) (Reverse Normal)
l Visualization of the normal of the selected surface(s) (Show/Remove Normal),
l Plotting the number of points of the selected surface(s) in the message area (Number Of
Points)
l Creating or deleting groups (Make Group - Ungroup),
l Renaming of surfaces or groups (Rename),
l Deletion of surfaces (Delete),
These functions are explained in the following sections.
Set Surfaces Activation State
To toggle the activation state of a single surface or group, double click on its name.
To set the current selection to the surfaces highlighted in blue, choose the Select item. All the
surfaces highlighted in blue become active, while the others are removed from the active surfaces
list.
In order to add (or remove) the surfaces highlighted in blue to (or from) the current set of active
surfaces, choose Make Active (or Make Inactive).
Visualize for Quick Identification
In order to locate easily a surface in the geometry, select the Show Wireframe item. The surface
is represented as a wireframe colored in blue. The representation is automatically removed when
another interaction takes place.
This item is present in the pop-up menu only if the browsing selection is made of one surface or
one group.
Reverse Surface(s) Normal
To reverse the normals on the surfaces highlighted in blue choose Reverse Normal. When
computing the mass flow on selected surfaces, the normals should be oriented in the same
direction. Currently, when selecting a set of surfaces defined by a cutting plane or the bounding
patches of the blocks, the normals will be oriented in the same direction (i.e. for boundary patch,
the normal points towards inside the block to which it belongs.) but this not true for internal IJK
surfaces for which the tool Reverse Normal should be used.
Visualize Surface(s) Normal
To plot (or remove) the normals on the surfaces highlighted in blue choose Show Normal (or
Remove Normal).
Check Number Of Points
To plot the number of points in the message area of the surfaces highlighted in blue choose
Number Of Points.
Create/Delete Group
To create a group from the current browsing selection, select the Make Group item. A group is
formed. The name of the group can be changed by selecting the Rename item described here
below.
To delete a group, select the Ungroup item. This is only removing the group from the surfaces
list, all the member surfaces are left unchanged.
These items are included only when relevant: the Make Group item is present if the browsing
selection is made of several surfaces and the Ungroup item is present only if the browsing
selection contains exactly one group.
Rename Surface/Group
To change the name of a surface or a group, select the Rename item. The name in the list
becomes an editable string. Once the new name is typed, press <Enter> to validate the entry. The
renaming mode is left if the <Esc> key is pressed or if a click with the left mouse button is
performed outside of the editable string area.
An internal check against duplicated names is performed before the new name becomes effective.
If the name is already associated to another surface or group, an error box is raised and the
renaming is not performed.
Delete Surfaces from Project
To delete a surface from a project, choose Delete. All the representations associated with the
surface are removed from the active view. Furthermore, if the surface was created during the
project session (e.g. the surface is a cutting plane), the surface disappears also from the list and all
its representations in all the views are deleted.
Surface Creation Shortcut Buttons
These buttons are offering shortcuts to open the surface creation dialog boxes:
l select Cut in order to open the cutting plane creation dialog box .
l Select IJK Surf in order to open the mesh surfaces creation dialog box .
l Select Blade to blade in order to open the blade to blade surfaces creation dialog box .
Surface Selection by Filter Frame
The surface selection can also be made by entering a string in the Filter frame. Several
possibilities are available:
l In order to select all the surfaces whose names are matching an expression, press the Name
check button, enter the expression in the area next to the Select label and press <Enter>.
l In order to remove from the selection all the surfaces whose name are matching an expression,
press the Name check button, enter the expression in the string area next to the Unselect label
and press <Enter>.
l In order to select all the boundary patches of a given type, select the Type check button, select
the type in the list: e.g. inl, out, sol, mir, ext, con, cmb, nmb, per, pmb, pnm, rot or sng.
l In order to remove from the selection all surfaces of a given type, select the Type check button,
select the type in the list: e.g. inl, out, sol, mir, ext, con, cmb, nmb, per, pmb, pnm, rot or sng.
As an example, in order to select all the surfaces that contain the word "rotor" in their name, select
the Name button, enter the "rotor" string next to the Select label and press <Enter>.
3.2.2
From Geometry Menu
The Select Surfaces dialog box is provided for backward compatibility: its use is not advised
anymore and the Surfaces subpanel in the Quick Access Pad should be preferred. To open the
dialog box, choose Select Surfaces... from the Geometry menu.
FIGURE 3.2
Select surfaces dialog box
It contains a hierarchical list of all the surfaces and a filter box. Several operations can be
performed from this dialog box. These are:
l Setting the surface selection for flow field representation,
l Visualization of group composition,
l Visualization of a surface for quick identification (Show...),
l Removing of all representations of a surface in the active view (Remove...from view),
l Deletion of surfaces from the project (Delete...),
l Renaming of surfaces or groups (Rename...).
All these functions are accessible through a popup menu which is raised by pressing on the right
mouse button . The popup menu entries are mentioning the targeted surface
name for an easier control. These functions are detailed in the following sections.
Surface Selection
To select or unselect surfaces:
1. Select one surface. Click the left mouse button on the surface name. Only this item remains
highlighted.
2. Or, select several surfaces.
l click on a first item,
l press the <Ctrl> key while clicking to add or remove surfaces from the current selection.
l or press the <Shift> key while clicking on a second item: all the surfaces between the two
selected items are added to the current selection.
3. Click the Apply button to validate the surface selection and the Close button to close the
chooser.
1. Select one surface. Click the left mouse button on the surface name. Only this item remains
highlighted.
2. Or, select several surfaces.
l click on a first item,
l press the <Ctrl> key while clicking to add or remove surfaces from the current selection.
l or press the <Shift> key while clicking on a second item: all the surfaces between the two
selected items are added to the current selection.
3. Click the Apply button to validate the surface selection and the Close button to close the
chooser.
The selected surfaces are now active and all the representations can be applied to these surfaces.
The selection can also be made by entering a regular expression in the Select or the Unselect filter
entry. Pressing <Enter> adds or suppresses to the selection the surfaces whose name matches the
filter expression (entering a blank or null expression, i.e. pressing <Enter> without entering any
expression, selects or unselects all surfaces).
After the selection process, the inactive surfaces still remain on the screen but are not affected by the
user's requests.
The keyboard shortcut for opening the Select Surfaces dialog box is: <Ctrl-s>.
Visualization of Group Composition
An item in the list that is a group is marked by a symbol
. The group composition can be seen
or hidden by clicking on the
name acts also as a toggle, but modifies at the same time the selection.
symbol at the left side of the item name. Clicking on the group
Visualization for Quick Identification
The surfaces and groups can be easily identified in the graphical window by using the Show...
item in the popup menu. The grid of the surface or of the group is represented in the active view.
If another surface or group is selected for quick identification, any previous quick representation is
removed.
The quick representations can be removed at any moment by pressing the <Esc> key. If the
dialog box is closed or if the active view is changed, the quick representations are removed from
the view.
Remove all Surface Representations in the Active View
To selectively remove all
representations of a surface from the active view, choose
Remove...from view. All the representations associated with the surfaces selected for removal are
deleted. This can be applied to an individual surface or to a group.
Delete Surfaces from Project
To delete a surface from a project, choose Delete.... All the representations associated with the
surface are removed in all the views.
If the surface was created during the project session (e.g. the surface is a cutting plane), the
surface disappears also from the list.
This can be applied to an individual surface or to the group.
Rename Surface or Group
To change the name of a surface or of a group, select Rename.... The name in the list becomes an
editable string. Once the new name is typed, press <Enter> to validate the entry. The renaming
mode is left if the <Esc> key is pressed or if a click with the left mouse button is performed
outside of the editable string area.
Before the new name becomes effective, an internal check to avoid duplicated names is
performed. If the name is already associated to another surface or group, an error box is raised and
the renaming is not performed.
3.2.3
Interactive Surface Selection
This functionality allows to interactively select or unselect visible surfaces in the active view. A
surface is visible when one of the following representations is displayed for that surface:
l boundaries,
l mesh wireframe,
l hidden line rendering,
l solid or flat shading,
l color contour (flat or striped),
l vector representation.
To interactively select surfaces in the active view:
1. highlight surfaces:
l To highlight one surface, move the mouse to the desired surface, then left-click on it.
l To highlight multiple surfaces, keep < Ctrl > pressed, move the mouse to the desired
surfaces and left-click one by one.
l To highlight one group of surfaces, keep <Shift> pressed, move the mouse to the one
surface of the desired group and left-click on it.
l To highlight multiple groups of surfaces, keep <Shift> and <Ctrl> pressed, move the mouse
to the one surface of the desired group and left-click on it, repeat to highlight multiple
groups.
The group means all the blocks that are separated by two adjacent R/S interfaces or all the blocks
between inlet/outlet and the first/last R/S interface.
It should be noted that when a surface has no representation, the user has to select the surface by
clicking on the boundaries.
2. operate the highlighted surfaces:
l Right- click on the highlighted surfaces, choose the menu Select to select only the
highlighted surfaces.
l Right-click on the highlighted surfaces, choose the menu Add to Selection to add the
highlighted surfaces to the current selected surface lists.
l Right-click on the highlighted surfaces, choose the menu Remove from Selection to
remove the highlighted surfaces from the current selected surface lists.
3.2.4
Surface Selection using Macro
FIGURE 3.3
Cutting plane in a O-topology leads to two non-connected areas
When the surface generated is composed of non connected areas, a macro can be used to select
one of the non connected areas that are by default saved in the list of surfaces under one unique
surface. For example, if a cutting plane is used to create a new surface in a O-topology, two non
connected areas are created and saved under a unique surface in the list .
In order to select only one area of the surface, the following command can be used within a
macro:
LimitedCutPlaneSave(x,y,z,nx,ny,nz)
where x, y, z are the coordinates of a point belonging to the requested area of the cutting plane
and nx, ny, nz are the plane normal.
For example, if the area of the top of the blade is required, a macro file containing the command
"LimitedCutPlaneSave(0.25,0.01,0.004,0,0,1)" will select the area of a cutting plane normal to
the z axis and that is containing the point (0.25,0.01,0.004) as illustrated in FIGURE 3.4.
FIGURE 3.4
Macro to select area of a cutting plane
3.3
CREATE SURFACES
Different types of surfaces can be created: mesh surfaces, cutting planes and iso-surfaces. All the
newly created surfaces are added to the project surfaces list and to the current activated surfaces
list.
3.3.1
Create Mesh Surface
This command allows to scan the computational domains instantaneously by scrolling through
constant I, J, or K surfaces (for structured meshes) and save the most interesting surfaces for
further analysis. In a multi-domain configuration it is possible to select the domain to be scanned
through the chooser displaying the list of all the domains. This scanning consists of displaying the
surfaces of constant I, J or K family one after the other, continuously or step-by-step. The
scrolling is available in two representation modes:
l Geometry mode: it allows the user to visualize the surface grids of the active block. It can be
used to analyse the mesh geometry surface by surface.
l Quantity mode: it allows to analyse the same surfaces with a shaded contour of the active
quantity if it is a scalar or with a vector arrow representation if it is a vector quantity. This
option is only available when a quantity has been selected first and can be used to quickly
localize interesting regions of the 3D computational volume.
To create surfaces:
1. Choose Create IJK Surface... from the Geometry pull down menu. A dialog box appears.
FIGURE 3.5
Create Structured Surface
It contains:
l if a multi-block project is active a Domains (block) chooser appears for selection of one,
more or all existing domains, the selected domains will be highlighted in the view.
l three radio buttons for the surface family selection (I, J or K). The family defines the
constant index of the scrolled surfaces. The family I, for example, contains surfaces which
have I constant;
l one string editor per family to input the constant index value of the scrolling operation;
l two scroll buttons per family to move up and down the constant index;
l two string editors per family to input the lower and upper limits of the non constant indexes
for the scrolling operation;
l if a quantity is selected, a mode selector (Geometry or Quantity);
l Apply, Save, Reset and Close push buttons;
2. Choose a representation mode. Click the left mouse button on Geometry or Quantity.
3. Choose a surface family. Click the left mouse button on the desired J, K Index button or I.
4. Choose the upper and lower limits for the non constant indexes.
5. Start step by step scrolling. Dependent on the used button, a different action is performed:
l click the left mouse on the up arrow button to increase the value of the constant index
value.
l click the left mouse on the down arrow button to decrease the value of the constant index
value.
6. The selected surface can be visualized and saved by respectively clicking on the Apply and
Save buttons.
7. Close the dialog box by clicking on the Close button.
The previous actions can be repeated with constant I, J or K surfaces any number of times.
After any saving operation, the boundaries of the newly created surfaces are displayed and
indicate that they have been properly created. FIGURE 3.6 illustrates the definition of a
structured surface and its simultaneous representation in the active view.
FIGURE 3.6
Mesh surface definition dialog box with geometry representation
This command is related to structured meshes. The creation of surfaces for unstructured meshes is
done through arbitrary cutting planes
The keyboard shortcut for Create IJK Surface... is <Ctrl> + <z> and the item is accessible in
the Quick Access Pad:
.
3.3.2
Create Cutting Plane
FIGURE 3.7
Create Cutting Plane dialog box
This option is used to scan the computational field by an interactive movement. A plane, on
which the active quantity distribution is interpolated, is displayed in smooth color contour.
The plane is defined by two vectors:
l The plane point is any point belonging to the plane.
l The plane normal is any vector normal to the plane.
Additionally a rotation axis direction is introduced. This direction is used for rotation operations.
To draw a cutting plane:
1. Choose Create Cutting Plane... from the Geometry menu. A dialog box appears.
2. Define a plane (if the user does not define a plane, a default cutting plane defined by the
current view camera target and camera normal is activated):
l Use the Plane Point control to input the plane point.
l Use the Plane Normal control to input the plane normal.
l Press on the Apply button to see the defined plane.
3. Select the appearance of the cutting plane using the mode control.
l select Quantity to visualize a color contour on the cutting plane (available if a quantity is
selected).
l select Geometry to visualize only the mesh of the cutting plane.
l select Polygon to see a semi-transparent blue cutting plane. The contour of the plane is
drawn in red. A cross has been added to better show the 3D aspect of the plane.
l select Triangulate to save the mesh triangulation on the cutting plane when performing the
mesh display.
4. Translate the plane along the normal direction.
l Press on the left mouse button to initiate a translation.
l Then drag the mouse to the left or to the right to translate forward or backward.
l Release when finished.
5. Rotate the plane around the axis.
l Press on the left mouse button to initiate a rotation operation.
l Then drag the mouse to the left or to the right to rotate clockwise or counterclockwise.
l Release when finished.
The direction used for the rotation is actually the normal projection on the plane of the rotation
axis as specified in the axis direction control (Normal).
6. Rotate the axis direction in the plane.
l Press on the left mouse button to initiate a rotation operation.
l Then drag the mouse to the left or to the right to rotate the axis direction in the plane
clockwise or anti clockwise. The axis direction is identified by a black line in the control
polygon.
l Release when finished.
7. Use step by step scrolling.
l Input the scrolling increment in the Step scrolling control.
l Use the right and left arrow buttons to translate forward and backward in the normal
direction. The magnitude of the translation is the scrolling increment.
8. To save the selected cutting plane, click on the Save button. This operation introduces the
cutting plane into the project surfaces list. If the cut is crossing several domains, a group is
formed that contains the cuts from each domain.
9. Close the dialog box by clicking on the Close button.
The keyboard shortcut for Create Cutting Plane... is <Shift> + <l> and the item is accessible in
the Quick Access Pad:
.
FIGURE 3.8
Cutting plane definition dialog box with active quantity color contour representation
3.3.3
Create Cutting Surfaces Defined from IGG™ Curve
FIGURE 3.9
Intersection surface (grid on right side) between the computational domain (left side) and the
revolution surface (purple highlight)
In order to enable more flexibility in cutting planes, the user may generate a new kind of cutting
surface by defining it from an IGG™ curve.
The objective is to generate a surface by rotating an IGG™ user-defined curve around a rotation
line whose axis vector is 0 0 1 and axis origin is 0 0 0. Afterwards, CFView™ is saving in the
surface list the intersection between this last surface of revolution and the computational domain
as presented in FIGURE 3.9.
Starting v11.2, the objective is to generate a surface by rotating an IGG™ user-defined curve
around a rotation axis imposed in the Set Revolution Surface Axis menu (Default settings:
Direction [0; 0; 1] and Origin [0; 0; 0]). Afterwards, CFView™ is saving in the surface list the
intersection between this last surface of revolution and the computational domain as presented in
FIGURE 3.9.
The user- defined curve used to generate the surface of revolution must respect the format
presented below:
Example:
IGG
XYZ
first line comment
space coordinates (i.e. XYZ, YXZ, ZR or RZ)
number of points to define curve
0.0 0.0 0.0
space coordinates of each point
0.05 0.05 0.05
0.09 0.09 0.09
When the curve is defined in XYZ coordinates, CFView™ will first project
(Theta=0) before generating the surface of revolution.
it on a ZR plane
Afterwards to define the surface of revolution and its intersection with the computational domain,
the user-defined curve data has to be selected through the menu Geometry/Create Cutting
Surface Along IGG Curve....
The ZR curves limited option in the Preferences menu allows to control the limits of the loaded
IGG™ curve. When active, the loaded curve is not extended and the created surface of revolution is
based on the original loaded curve.
3.3.4
Create Cutting Plane from 3 Points
Cutting plane can also be created by 3 points, through the menu Geometry / Create Cutting
Plane From 3 Points. In this method, the plane will be defined by 3 points. Then the plane
intersects with the computational domain to create a cutting plane. The three points can be
specified by picking in the view or by entering the coordinates in the keyboard input area. In the
view, the user can select points located only on edges of the geometry.
When moving the mouse pointer close to an edge of the geometry, a point will appear and attract
to the edge of the geometry. After the user selects the first point, a line will appear between the
first point and the mouse pointer. After the user selects two points, a triangle will appear. After the
user selects three points, the cut plane will automatically be created and saved.
FIGURE 3.10
Create cutting from 3 points
3.3.5
Split Surfaces
This option extracts a portion of active surfaces delimited by two planes. A new dialog box is
available from the menu Geometry/Split Surface....
The dialog box is similar to the one for the cutting plane  but in this
case, the plane settings are duplicated in order to control both planes at the same time.
When the Save button is pressed, a new surface is created that is the portion of all active surfaces
included between the two planes.
The green lines show the surface normals pointing to the direction excluding the surface portions
in order to avoid the two normals overlay and provide therefore more visibility. This is available
in Cartesian coordinates as well as in cylindrical or STM coordinates that allows for example to
extract surfaces included between two span values.
3.3.6
Create Iso-surfaces
An iso-surface is a 3D surface where a scalar flow quantity is constant. CFView™ is able to
display such surfaces , but it is also possible to save the surface and introduce it
in the project surfaces list as an unstructured surface. In order to do so, a two step process must be
followed:
Compute Iso-surface
1. Select a scalar quantity in the Quantities subpanel or in the Quantity menu.
2. Choose Iso-Surface from the Representation pull down menu or press the
button in the
Representations / Contours & Iso Values subpanel.
3. Choose the iso-surface value by using one of the following possibilities:
l move the mouse to the keyboard input area, enter a single value (included between the
maximum and the minimum of the quantity) and press <Enter>.
l with the mouse in the colormap: move the mouse to the colormap (by default on the right
side of the graphics area) and click at a level which represents the value.
l with the mouse on an active surface: move the mouse over an active surface, click at the
location where the iso-surface is going to intersect the surface. An iso-surface with the
active quantity value at that location is displayed.
Each new input for the iso-surface value removes the previous iso-surface and displays the new
one. In the information output area, the iso-surface volumes below and over the iso-surface value
are displayed.
Iso-surface generation involves scanning the complete computational volume and is computationally
intensive on large meshes.
FIGURE 3.11
Iso surface of constant mass fraction around a boat
Save Iso-surface
Once an iso-surface has been created, it can be saved for further manipulations. To save an iso-
surface, choose Iso-Surface Save from the Representation menu or click a second time on the
iso-surface button
.
The surface name appears in the Surfaces subpanel and in the Select Surfacesdialog box, so that
it can be activated and any flow field representations can be added on it.
3.4
VIEW SURFACES
When a project is opened, or when surfaces are created, the surface boundaries, the surface mesh
wireframe may be represented. The surfaces may also be rendered as solid surfaces. The
transformation (such as a translation, a rotation or a mirror) defined in the identification file can
also be applied to the graphical representations inside the active view.
The commands to create such representations are contained mainly in the Geometry and Render
menus. Also the Representations/Grid, Opacity, Lighting & shadows and Material subpanels
contain a set of shortcuts buttons for the commonly used functions.
3.4.1
View Surfaces Boundaries
To turn on the display of the mesh boundaries in the active surfaces, choose Boundary from the
Geometry menu or click on the
as a toggle.
button in the Representations/Grid subpanel. This item acts
The default line pattern, color and width may be modified using the Default Boundary Curve
Type Editor (Preferences/Boundary curve type...). See Curve, Line & Marker Type Editors, for
further information. In order to change the representation line type, see Update Surfaces
Boundaries Representation.
If the boundary representation is present on some active surfaces, but not on all of them, choosing this
item a first time removes all the representations. Select it a second time in order to turn on the
boundary display on all active surfaces.
The keyboard shortcut for Boundary representation is <b>.
3.4.2
View Solid Boundaries
To turn on the display of the boundaries in the active surfaces that have a solid boundary
condition type, choose Solid boundary from the Geometry menu. This item acts as a toggle.
The default line style is the same as for other boundaries .
3.4.3 Update Surfaces Boundaries Representation
The line type of the surfaces boundaries representations can be modified as follows:
l Check that the surfaces representations can be selected interactively. The Render/Selectable
checkbutton, also displayed as the
enabled.
button in the Representations/Grid subpanel must be
l Select the boundaries to be modified: click with the left mouse button on a surface boundary,
highlighting markers are inserted and the name of the surface is indicated in the message area.
l If several boundary representations are to be updated at the same time, select the other
boundary representations by click with the left mouse button with the <Ctrl> key pressed.
l Press the right mouse button, a popup menu appears.
l Select the Curve Type... item, a Line Type Editor dialog box is raised .
l Modify the parameters in the dialog box and press Apply to validate the new parameters.
The Line Type Editor dialog box may be also opened by selecting the Line Type Editor... item
in the Update menu.
3.4.4 View Grid Wireframe
To turn on the display of the wireframe geometry of the active surfaces, choose Grid from the
Geometry menu or click on the
as a toggle.
button in the Representations/Grid subpanel. This item acts
The default grid line pattern, color and width may be modified using the Default Grid Line Type
Editor (Preferences/Grid line type...). See Curve, Line & Marker Type Editors, for further
information.
To change the grid line type in the graphical area, see Update Grid Wireframe Representation.
If the grid representation is present on some active surfaces, but not on all of them, choosing this item
a first time removes all the grid representations. Select it a second time in order to turn on the grid
wireframe display on all active surfaces.
The keyboard shortcut for Grid representation is <g>.
3.4.5 Update Grid Wireframe Representation
The line type of the grid wireframe representations can be modified as follows:
l Check that the surfaces representations can be selected interactively. The Render/Selectable
checkbutton, also displayed as the
enabled.
button in the Representations/Grid subpanel must be
l Select the grid wireframe to be modified: click with the left mouse button on a wireframe,
highlighting markers are inserted and the name of the surface is indicated in the message area.
l If several representations are to be updated at the same time, select the other boundary
representations by click with the left mouse button with the <Ctrl> key pressed.
l Press the right mouse button, a pop up menu appears.
l Select the Grid Line Type... item, a Line Type Editor dialog box is raised .
l Modify the parameters in the dialog box and press Apply to validate the new parameters.
The Line Type Editor may also be opened by selecting the Line Type Editor... item in the
Update menu.
3.4.6 Hidden Lines Rendering
To show the active surfaces with hidden lines removed, choose Hidden line from the Render or
select the
a second time or select Render/Render Off to turn off hidden lines rendering.
button from the Representations/Grid subpanel. This item acts as a toggle: select it
When Hidden line rendering is activated, flat and smooth shading are not available .
The keyboard shortcut for Hidden line representation is <h>.
3.4.7 Uniform Coloring
To show the active surfaces in uniform color (with nor shading nor lighting) choose Uniform
from the Render pull down menu. This item acts as a toggle: select it a second time or select
Render/Render Off to turn off the uniform representation.
3.4.8
Flat Shading
To show the active surfaces in a solid model with one color assigned to each cell according to
light position and cell surface normal, choose Flat from the Render/Shading menu. This item
acts as a toggle: select it a second time or select Render/Render Off to turn off flat shading.
The keyboard shortcut for Render/Shading/Flat is <Shift> + <f>.
3.4.9 Gouraud Shading
To show the active surfaces in Gouraud style shading (smooth shading) choose Gouraud from
the Render/Shading menu or select the
button from the Representations/Grid subpanel.
This item acts as a toggle: select it a second time or select Render/Render Off to turn off
Gouraud shading.
When combined with transparent surfaces, this representation is computationally intensive and may
affect the interactive graphics performances.
The keyboard shortcut for Render/Shading/Gouraud is <Shift> + 
.
3.4.10 Remove Rendering Effects
To remove hidden lines, flat and shading visualisations on the active surfaces, choose Render Off
from the Render pull down menu.
The keyboard shortcut for Render Off is <Shift> + <h>.
3.4.11 Modify Rendering Color
To modify the rendering attributes:
l Check that the surfaces representations can be selected interactively. The Render/Selectable
checkbutton, also displayed as the
enabled.
button in the Representations/Grid subpanel must be
l Select the surface representation to be modified: click with the left mouse button on a
represented surface, highlighting markers are inserted and the name of the surface is indicated
in the message area.
l If several representations are to be updated at the same time, select the other surfaces by
clicking with the left mouse button with the <Ctrl> key pressed.
l Press the right mouse button, a popup menu appears.
l Select the Material Type... item. The Surface Material Editor is opened. This dialog box
allows the user to modify the material light reflection properties of the active representations.
The dialog box may be also opened by selecting the Surface Material... item in the Update
menu or click on the
button in the Representations/Material subpanel.
The surface material properties are defined by 4 parameters:
l Diffuse: is the base color of the surface.
l Specular: affects the light reflections on the surface.
l Opacity: controls the transmission of light through the surface. An opacity of 1.0 means a
completely opaque surface. An opacity of 0 means a completely transparent surface.
l Reflection: is the property of a surface to reflect the surrounding environment.
The keyboard shortcut to open the dialog box is <Shift> + <t>.
Transparency availability depends only on the driver/machine/graphic card combination. If not
available the value is discarded. Regarding transparency and diffuse color, some graphics hardware
only take the intensity of the color into account.
Diffuse
The diffuse color is the fundamental color of the surface. It is chosen using the color picker
Diffuse/Color.
Specular Highlight
The specular highlight affects the light reflections on the surface. The shape, the strength and the
color of the highlight depends of the material. For instance, a material like cotton tissue will not
have any specular highlight, in comparison to a reflective surface like a mirror that will have a
very bright specular highlight.
l Color :
is the color of
the specular highlight.
It
is chosen using the color picker
Specular/Color.
l Amount: is the strength of the highlight. It is a value ranging from 0 to 1. A value of 0 means
that the surface has no specular highlight; a value of 1 means that the surface presents a strong
specular highlight.
l Gloss: defines the extent of the highlight. It is a value ranging from 1 to 30. A value of 1
means that the specular highlight is widespread. It will be the case for rough material. A value
of 30 means that the highlight is very narrow. It will be the case for very smooth surfaces, like
glass.
Opacity
Set the opacity of the surface, ranging from 0 to 1. An opacity of 1.0 means a completely opaque
surface. An opacity of 0 means a completely transparent surface.
Reflection
Reflection is the property of a surface to reflect the surrounding environment. A "spherical
environment mapping" technique is applied on the selected surface (s) when the option use
reflection mapping is set active:
l An image, also called "map", is provided for each surface. This map represents a given
material.
l The color of each surface point is found by using the local normal at the surface point to
address the map.
Amount: changes the reflectivity property of the surface.
l A reflectivity amount of 0 means that the surface has no reflectivity: the final color is the
diffuse color of the surface.
l A reflectivity amount of 1 means that the surface is purely reflective: the final color is equal to
the reflection color.
l All value in-between result in a mix of reflectivity and surface color.
3.4.12 Set Visibility, Light & Shadow Attributes
To turn on or off the visibility of the faces, edges or markers on surfaces, grid wireframes and on
shaded surfaces, select Render/ Visibility On/Off /Faces, Edges or Markers. These allow to
control directly the visibility of the rendering, of the grid wireframe and of the markers
represented at the grid points locations. The faces visibility is turned on for surface rendering. The
edges visibility is equivalent to the grid wireframe visibility and, by default, the markers visibility
is not turned on by surface representations.
Furthermore, to turn on or off the lighting attribute of the faces, edges or markers, select Render/
Light On/Off /Faces, Edges or Markers. By default, only the lighting is turned on only for faces
with a shaded representation (Flat or Gouraud).
Finally, to control the lightning attribute on grid wireframe, rendering or color contour on selected
surface(s), select Representations/Lighting & shadows subpanel in the Quick Access Pad. It
allows to set the light parameters and to add a shadow.
These features apply only to surfaces immediately after the grid or the color contour or the surface
rendering has been activated. They should not be used most of the time, they are only useful in
some very specific cases.
Toggle Light Contour
Select the icon
to toggle the lighting on/off for all the active color contours.
Toggle Light Grid
Select the icon
to toggle the lighting on/off for all the active grids.
Toggle Light Face
Select the icon
to toggle the lighting on/off for all the active surface rendering.
Display Shadow
Select the icon to toggle a shadow under the scene. The shadow is view dependent: its position
and the light direction change with the view. The shadow is always drawn on an horizontal plane
located at the bottom of a bounding box enclosing the scene. The direction of the light source
generating the shadow is always the vertical direction.
Light Editor
The light editor (
position and direction of the light can be controlled.
) allows to change the settings of the light of the active view. The type,
It is possible to choose between two different kind of lights: directional or omni.
l Directional: the light is coming from an infinitely far away light source, like the sun. All the
light rays are parallel.
l Omni: the light is coming from a punctual point, like a candle. The lights illuminates in all
directions in a uniform way.
In the Position & orientation section, the light direction can be controlled by dragging the spot
on the surface of the sphere.
The Back light option imposes a light coming from the other side of the hemisphere (i.e light
comes from the back of the objects in the direction of the viewer).
When an omni light is selected, a Distance slider allows to set the distance of the light to the
center of rotation of the view.
In the Light Intensity section, a slider enables to change the power of the light.
In the Refresh Options section, instantaneous update of the lightning and visualization of the
light can be controlled by respectively the Instant Refresh and the Display in View options.
The Default button reset the active light to its default value.
3.4.13 Graphics Repetition
The repetition of the graphical representations may consist of a translation in a given direction, a
rotation around an arbitrary axis or a mirror operation. This feature allows to represent a complete
geometry while, due to symmetry properties of the computational domain, only a part of it has
been simulated. The number and type of repetitions are defined in the mesh. To visualize a certain
number of repetitions use Geometry/Repetition on/off after entering a number of repetitions.
To activate the graphics repetition:
1. Choose Repetition Number from the Geometry menu to specify the repetition settings.
The repetition setting dialog box is shown in FIGURE 3.12 . By default, a group list is
proposed by gathering the blocks that share a periodic or a connecting boundary. Note that the
index of the groups may not correspond to their position in the view. When the user clicks on a
group in the list, the group is highlighted in the graphical view.
By default, all groups are selected (the selected groups have a tick before their number). The
user can select one or several groups at the same time either by double-clicking on a group or
by right-clicking on the highlighted groups and then choosing Select, Add or Unselect. The
Number of repetitions will be applied to all the selected groups. If the user activates the
button Max, the maximal number of repetitions (equal to the periodicity minus 1) is stored for
the selected groups and the entry Number of repetitions is disabled. If a negative number is
specified in the entry Number of repetitions , the repetitions will be made in the other
direction.
After finishing the repetition settings, click on the button Apply, the number of repetitions will
be saved.
FIGURE 3.12
Repetition settings
2. Choose Repetition on/off from the Geometry menu to activate the repetition. This item acts
as a toggle: click a second time on the menu to cancel the action.
For example, this option is used for turbomachinery applications where blade to blade geometry
can be duplicated for better visual understanding of the periodical behavior of the flow properties.
FIGURE 3.13 shows an example of geometry before and after mirror repetition.
FIGURE 3.13
Geometry representation before (left) and after (right) repetition (mirror)
This item is not available if no repetition (translation, mirror or rotation) is specified in the input data
file.
The repetition option creates only an image of the graphical objects. No interactive operation, such as
interactive picking, can be performed on the duplicated surfaces.
The keyboard shortcut for Repetition on/off is <Shift> + <r>.
3.4.14 Surfaces Representation Selectability
In some circumstances, the interactive selection of surfaces representations may not be desired. As
an example, when surface representations are superposed to flow quantities representations, it
may be difficult to select the flow field representation.
In order to disable the interactive selection of surfaces representations, choose the Selectable item
in the Render menu or click on the
selectability is disabled.
button. When the button is raised and gray colored, the
This feature behaves as a toggle: selecting a second time enables the selectability again.
3.5
VIEW ELEMENTS (UNSTRUCTURED
MESHES ONLY)
This feature allows to insert the representation of mesh elements in the graphical area. It is
restricted to 3D unstructured meshes. When choosing the Cells... item in the Geometry menu, a
dialog box is raised. See FIGURE 3.14.
FIGURE 3.14
Cell Chooser
The list of cells is specified as a comma separated list. Each item is a single number or a set of two
numbers separated by a '-' symbol. '-' separated pairs of numbers are used to specify a range of
element numbers.
The size factor can be specified in the Size Factor entry or adjusted using the increase/decrease
arrows. A value of 1.0 indicates that the element is represented with its geometric size. A factor
smaller than one indicates that the element is shrunk and a value larger than one is used to enlarge
the element.
By default, the cell edges are represented and the cell faces are rendered with a flat shading.
Modifying these attributes can be made by first selecting the "domain" item in the surface list
chooser (Select Surfaces). The edge representation can be toggled by the Geometry/Grid menu
item. The rendering can be modified in the same way as for surfaces (Modify Rendering Color).
CHAPTER 4.
FLOW QUANTITIES VISUALIZATION
This chapter provides a detailed description of how to represent the flow quantities. It is divided in 5
sections:
l Select and create flow quantities,
l Visualize scalar data,
l Work with Cartesian Plots,
l Visualize vector data,
l Update the data representation.
The first section describes the basic concepts needed before going further into details. The remaining
sections provide step-by-step instructions to create and modify a project.
In this section
4.1 Select & Create Flow Quantities
4.2 Visualize Scalar Data
4.3 Represent Validation Data
4.4 Represent Plot Data
4.5 Visualize Vector Data
4.6 Colormap & Representations Range
4.7 Represent Particle Traces Data
4.8 Decoration Texts
4.9 Update Representations
4.10 Edit, Save & Restore Defaults
4.11 Surface Integrals
4.12 Volume Integrals
4.13 Curve Integrals
4.14 Export Quantities Distribution
4.15 Output Generation
109
CFView™ 13.1 User Guide
110
137
176
178
179
194
201
201
203
210
212
216
217
4.1
SELECT & CREATE FLOW QUANTITIES
The multiview environment of CFView™ allows the user
simultaneously in the same session and to manipulate them in a similar way.
to load different projects
It is also possible to analyze simultaneously more than one quantity of the same project in the
same view (for example, Mach number isolines and local values of static pressure plotted on the
same surface...). Nevertheless, in order to avoid clutter in a view, it is recommended to create
additional views for the same project to visualize several quantities.
4.1.1
Quantity Types
CFView™ allows the visualization of different types of quantities in the computational domain:
l The field quantities: they are defined for the complete domain. For example, the pressure or the
velocity field around a body is calculated through all the computational volume, from the inlet
to the outlet. Two kinds of data are supported:
l scalar data such as pressure, Mach number or velocity magnitude,
l vector data such as the velocity field.
l The solid quantities: they are defined on the solid surfaces only. For example, the skin friction
on the solid surfaces of a body. These data are defined only on a defined set of surfaces.
Therefore, they are separated from the field data.
l Like for the field data, there can be scalar or vector quantities.
l The computed thermodynamical quantities: these are the quantities that can be computed from
the field quantities by standard formulas and that have not been computed by the flow solver.
They are computed in CFView™ upon request.
l The components of vector quantities: these are directly extracted from a vector field quantity.
l The quantities defined as the gradient, divergence or curl of an existing quantity.
l The derived quantities: these are quantities respecting a user defined definition. CFView™
supports field derived quantities (defined in the whole computational domain) as well as
surface derived quantities (defined only on surfaces).
Besides these data types, CFView™ also supports data for specific purposes:
l The validation data: these are comparison data defined along curves. For example, they allow
the comparisons between experimental and computed data or between different numerical data
sets.
l The plot data: this is a generic container for any type of data defined along a curve. They can
be convergence curve, surface averaged data from FINE™ GUI ( Surface Averaged
Variables page).
l The particle traces data: these are related to externally computed trajectories of particles, such
as those generated by the Lagrangian module of FINE™ GUI (Fluid Particle Interaction
page).
All these quantities are not available in all file formats. As an example, computed thermodynamics
and particle traces data are available only in the FINE™ GUI environment.
The quantities are selected by using the Quantity menu or the Quantities subpanel in the Quick
Access Pad. The Quantity menu contains a complete set of submenus allowing the selection of
any quantities, while the Quantities subpanel provides a convenient shortcut to select the most
commonly used ones.
A. Select Field Quantity
l To select a quantity in the Quantities subpanel, double click on the quantity name. A
marker is inserted on the left of the selected quantity name.
l To select a quantity from the Quantity menu, choose Quantity/Field Data/Basic Quantities.
This menu contains a list of all scalar and vector fields that are present in the project. Then,
select one of them.
FIGURE 4.1
Quantity Selection Menu
After the selection, CFView™ displays the active quantity name in the lower left corner, with the
minimum and maximum values and, if available, its units label.
The active quantity can always be replaced by another for further analysis. All the graphical
objects related to the previous quantity representation remain in the view.
B. Select Mechanics Data
In the Quantities subpanel, the Mechanics group enables the calculation of the force (per unit
surface), the torque on solid surfaces, the normals and the normalized normals:
l When double clicking on Force, the vector field is computed on each point of the solid
surfaces from the static pressure and viscous stress fields computed by the flow solver:
where n is the normalized normal to the cell and τxyz is the viscous stress.
If the Viscous Stress ( Solid Data) output is not computed by the flow solver, it will not be
considered in the computation of the Force.
The computed Force (per unit surface) is added in the Solid Data group.
l When double clicking on Torque, the vector or scalar fields are computed depending of the
settings imposed in the Set Torque Axe dialog box (Geometry/Set Torque Axis... menu).
By default, the torque is computed with respect to the axis defined by the Origin (first point) and
Direction (end point) coordinates.
l If the check button With respect to point is not active, when double clicking on Torque, the
scalar field (component along specified axis) is computed and added under the Solid Data
group as Scalar Torque.
l If the check button With respect to point is active, when double clicking on Torque, the
vector field is computed and added under the Solid Data group as Vector Torque.
l When double clicking on Normals, the normal vector field is computed on each point of the
solid surfaces. The magnitude of the normal is the arithmetic average of the adjacent cell
surface areas. The computed Normals is added in the Solid Data group.
l When double clicking on Normalized Normals , the normalized normal vector field is
computed on each point of the solid surfaces. The magnitude of the normalized normal is set to
1. The computed Normalized Normals is added in the Solid Data group.
l The total scalar torque is computed by:
l selecting the Scalar Torque quantity,
l clicking on the Scalar Integral button that will integrate the scalar field on all active
surfaces.
l The total force and vector torque are calculated by taking the norm of the vector given by the
use of the Vector Integral button (i.e. total force = sqrt(Fx^2+Fy^2+Fz^2)).
l The Vector Integral button integrates the active vector field (Force or Vector Torque) on all
active surfaces and provides the x, y, z components of the resulting vector.
When comparing results of vector integral with solver results in .wall file, differences may appear mainly for
the inviscid contribution. We recommend to use the Force and Vector Torque quantities for field
visualization purpose only and not for integration in CFView™. To compute accurate x,y,z components of
the Force on active solid surfaces, the following approach should be followed:
C. Select Solid Quantity
To select a quantity existing only on surfaces (a solid quantity or a surface derived quantity),
select the corresponding item in the Quantity/Solid Data menu, or open the Solid Data group in
the Quantities subpanel and double click on the quantity name.
D. Select Computed Thermodynamic Quantity
When used with a FINE™ GUI project, CFView™ checks automatically if the fluid computation
was made with a perfect gas, a real gas, an incompressible or a condensable gas fluid. In such a
case, a list of standard thermodynamical quantities which are not already available is proposed:
l in the menu Quantity/Field Data/Computed Thermodynamics and
l in the Thermodynamics group of the Quantities list subpanel.
To select one of these quantities, choose the corresponding item in the Quantity/Field
Data/Computed Thermodynamics menu or open Thermodynamics group by clicking on the
group symbol
and double click on the desired quantity name.
E. Definition of Computed Thermodynamical Quantities
The computation of these derived quantities is based on a set of conventional names for the basic
thermodynamical fields:
l Static Pressure,
l Static Temperature,
l Density (for incompressible fluids, this quantity does not need to be present),
l Vxyz for the absolute velocity vector field,
l Wxyz for the relative velocity vector field.
If it is not present, the absolute velocity is automatically deduced from the relative velocity (or the
relative velocity from the absolute velocity) when the quantity is required.
Perfect Gas
For perfect gas, the following quantities are defined:
where
is the perfect gas constant,
is the rotary total pressure at inlet,
is the local
static pressure,
is the rotation speed around the Z axis,
is the radius calculated by
can be computed from the local static
and the
pressure using the isentropic relation:
If a group of blocks contains neither inlet nor rotor/stator patch for computing reference values (Total
Enthalpy, Pressure and Temperature at the inlet), the computation of the Isentropic Mach Number
will not be performed on the group of blocks and a warning is appearing.
where
and
are requested in a specific
dialog box if the Entropy item is selected. Note that
refers to Neperian (or natural) logarithm.
When activating the Normalized option, the normalized field of the entropy is computed:
where
is the specific gas constant.
No
and
are required to visualize the entropy
if the quantity is already provided by the flow solver.
where
is the turbulent kinetic energy.
Incompressible Fluid
For incompressible fluids, the following standard thermodynamical quantities are supported:
where
is requested in a specific dialog box if the Entropy item is
selected. Note that
refers to Neperian (or natural) logarithm.
The Normalized option is not available for incompressible fluids.
No
is required to visualize the entropy if the quantity is already
provided by the flow solver.
where
is a constant value retrieved from the FINE™ project file.
where
is the turbulent kinetic energy.
Real Gas
For real gas,
piecewise-polynomial functions.
the thermodynamical quantities are computed by interpolation in tabulated
where
is the specific gas constant,
is the rotary total temperature at inlet,
is the
rotation speed around the Z axis and
is the radius calculated by using
.
Condensable Gas
When thermodynamic tables are available, the thermodynamic quantities are computed by reading
the tables. The following quantities can be computed in CFView™:
where
is the rotation speed around the Z axis,
is the radius calculated by
and
the calculation of the
depends on the fluid models (with and without
preconditioning) and the thermodynamic tables available for the considered fluid.
Dynamic quantities (absolute, relative or rotary) can be defined as the difference between the total
quantities and the static quantities.
With Preconditioning
The key tables have
and
(
,
) as independent
quantities.
To be able to properly re-compute the dependent variables and improve the consistency between the
derived quantities in CFView™ and the computed quantities by the solver, we strongly recommend to
extract from the solver the Static Pressure, Static Enthalpy as the key independent quantities, Density,
Static Temperature, relative and/or absolute velocities and turbulent kinetic energy when the
turbulence model has
(e.g. k-e, SST, etc).
The velocity vector is the absolute velocity (Vxyz) if we refer to absolute quantities and the relative
velocity (Wxyz) if we refer to relative quantities.
The dependent quantities if not available are computed as the following:
is evaluated from the
table.
where
where
is
is
(
).
(
) as a function of
(
) and
(
).
is evaluated from the
table.
(
) as a function of
(
) and
If not available,
If not available, the
is first computed from the
tables which takes the
and
as inputs.
is evaluated from the
table.
where
is
(
) as a function of
(
) and
(
).
following steps:
is evaluated from the
table with the
1.
2.
3.
4.
5.
is evaluated from the
table.
where
is
(
) as a function of
(
) and
(
).
is evaluated from the
table.
where
is
(
) as a function of
(
) and
where
is
(
).
(
).
is finally evaluated from the
table.
(
) as a function of
(
) and
steps:
is evaluated from the
table with the following
1.
2.
3.
4.
is evaluated from the
table.
where
is
(
) as a function of
(
) and
(
).
is evaluated from the
table.
where
is
(
) as a function of
(
) and
(
).
:
and
If
If
table exists, the quantity is evaluated from the table which takes the
as inputs.
table does not exist, the quantity is computed with the following steps:
1. Compute
using an internal function to compute the derivatives of a table.
2. Compute
using an internal function to compute the derivatives of a table.
3. Apply the formula:
and
:
If cavitating flow (iCavitation_==2), the quantities can be computed from the
and
tables where
and
are respectively
and
as a function of
and
.
If non- cavitating flow ( iCavitation_ ==0 ), the quantities can be computed from the
and
are respectively
tables where
and
and
as a function of
and
.
Without Preconditioning
The key tables have
and
(
,
) as independent quantities:
l The quantity solved from the equation is directly the
(
).
l The quantity solved from the equation is
but to access the tables, it is simply
transformed to
by subtracting the mechanical energy and the turbulent
kinetic energy
(if a turbulence model with this variable is used. e.g. k-e).
To be able to properly re-compute the dependent variables and improve the consistency between the
derived quantities in CFView™ and the computed quantities by the solver, we strongly recommend to
extract from the solver the Density and Static Energy as the key independent quantities, Static
Pressure, Static Temperature, relative and/or absolute velocities and turbulent kinetic energy when the
turbulence model has
(e.g. k-e, SST, etc).
The velocity vector is the absolute velocity (Vxyz) if we refer to absolute quantities and the relative
velocity (Wxyz) if we refer to relative quantities.
The dependent quantities if not available are computed as the following:
is evaluated from the
table.
where
is
(
) as a function of
(
) and
(
).
is evaluated from the
table.
where
is
(
) as a function of
(
) and
(
).
If not available,
If not available, the
is first computed from the
tables which takes the
and
as inputs.
is evaluated from the
table.
where
is
(
) as a function of
(
) and
(
).
If not available, the
is computed from the
table.
If not available,
following steps:
123
CFView™ 13.1 User Guide
1. If not available, the
is computed from the
table.
2. If not available,
.
3.
4.
5.
6.
7.
is evaluated from the
table.
where
is
(
) as a function of
(
) and
(
).
is evaluated from the
table.
where
is
(
) as a function of
(
) and
where
is
(
).
(
).
is finally evaluated from the
table.
(
) as a function of
(
) and
is evaluated from the
table with the following
steps:
1. If not available, the
is computed from the
table.
2. If not available,
.
3.
4.
5.
6.
is evaluated from the
table.
where
is
(
) as a function of
(
) and
(
).
is evaluated from the
table.
where
is
(
) as a function of
(
) and
(
).
:
and
If
If
table exists, the quantity is evaluated from the table which takes the
as inputs.
table does not exist, the quantity is computed with the following steps:
1. Compute
using an internal function to compute the derivatives of a table.
2. Compute
using an internal function to compute the derivatives of a table.
3. Apply the formula:
is evaluated from the
table.
where
where
is
is
as a function of
and
.
is evaluated from the
table.
as a function of
and
.
the tables dedicated to store complex non- linear relations between the
It should be noted that
variables and the solver outputs often consists in a simple interpolation at cell vertices from values
computed in the cell centers. An exact equality cannot be expected between the derived quantities in
CFView™ and the ones computed by the solver. The difference can reach more than 1% in high
gradient zones.
In project files created by FINE™/Turbo version 5 or higher, these quantities are associated to the
unit system selected in the FINE™ interface. As a consequence, unit conversion is performed and
a unit label is automatically attached to the quantity.
F. Select Vector Component
For each of the vector fields, each submenu of Quantity/Field Data/Vector Components
contains a set of vector components that can be obtained from the vector. Based on the vector
field name, a naming convention is applied automatically.
For a vector name having a name suffix "xyz", the "xyz" suffix is suppressed before the
component name is formed. Then a suffix letter is added or the quantity name is used to compose
the component name.
e.g.: if Vxyz is present, the proposed vector components are
l Cartesian components: Vx, Vy, Vz,
l magnitude V =
,
l radial, tangential and meridional components with respect to the z axis:
,
and
where x and y are the local geometrical coordinates,
l flow angle:
in 3D and
in 2D.
G. Apply Differential Operators: Gradient, Divergence or Curl
To calculate the gradient, divergence or curl of a field quantity , select Quantity/Field
Data/Gradient, Divergence or Curl. See FIGURE 4.2
FIGURE 4.2
Differential Operators
A menu containing a list of respectively scalar and vector operable fields appears.
To launch the operator, left-click in the menu on the field on which the differential operator has to
be applied.
The computation of the gradient, divergence and curl may also be selected from the Quantities
subpanel:
l Click on the quantity for which the computation should be made, it is highlighted in blue.
l Press the right mouse button, the popup menu for scalar quantity or vector quantity appears.
See FIGURE 4.2.
FIGURE 4.3
Popup menus for scalar and vector quantities
l Select the Gradient, Divergence or Curl item.
Once the computation is done, the divergence, gradient, or curl field will be added to the field
quantities list, respectively as: Div, Grad, or Curl followed by the name of the operand field in
parentheses.
The computation method is based on the Gauss formulas: average values for Gradient,
Divergence and Curl are computed in each cell of the mesh. Then, values at the vertices are
obtained as weighted means of the neighboring average cell values. Note that this method is less
accurate along the boundaries than inside the grid.
H. Vortex Detection
The quantities that are used for vortex detection can be calculated through Quantities/Field
Data/Vortex Detection/Lambda 2 or Q Invariant. See FIGURE 4.4.
FIGURE 4.4
Vortex detection menu
The eigenvalues of the symmetric tensor, (S² + Ω²) are ordered as |λ1| ≥ |λ2| ≥ |λ3|, where Sij =
0.5(uij + uji) is the strain-rate tensor, Ωij = 0.5(uij - uji) is the spin tensor, uij = δui/δxj and ui
being the three components of a vector field. Lambda 2 is the scalar defined by the second
eigenvalue. A vortex core can be a region of flow where λ2 < 0. As for Q Invariant, it is the
.When Q
where
scalar value defined by
Invariant of a region is positive and at the same time the local pressure has a lower value than the
ambient, it can be interpreted as a vortex core.
and
In the current implementation, the computation of Lambda 2 and Q Invariant are allowed for
any vector field. This allows the user to modify its velocity definition using derived quantities and
then validate the implementation with vector fields from which the results can be derived
analytically.
The computation of Lambda 2 and Q Invariant may also be selected from the Quantities
subpanel with the same steps as shown in the differential operators (Apply Differential Operators:
Gradient, Divergence or Curl). The computation can be achieved through the right-click menu of
the selected vector quantity. See FIGURE 4.5.
FIGURE 4.5
Popup menu for a vector quantity
Once the computation is done, the Lambda 2 or Q Invariant field will be added to the field
quantities list, respectively as: Lambda 2, or Q Invariant followed by the name of the operand
field in parentheses.
I.
Create Derived Quantity
New quantities are created by using the Define New Quantity dialog box. This dialog box, as
shown in FIGURE 4.6 is opened by selecting Quantities/Field Data/Define New Quantity... or
by clicking on the New button in the Quantities subpanel.
FIGURE 4.6
Derived quantity definition dialog box
To create a derived quantity:
1. select the new quantity type. For Scalar and Vector by components, the available scalar
quantities and the mathematical operators are listed in the upper right frames. If Vector is
selected, the available vector quantities are listed in the Quantities frame. When defining a
Vector by components, the Definition entry is replaced by a set of 2 or 3 entries, one for
each component of the new vector quantity.
2. Select Field Surface:
l A Field quantity is defined in the complete computation domain. The available quantities
for its definition are all the field quantities (if Scalar or Vector by components is selected,
the components of the field vector quantities are also available).
l A Surface quantity is defined only on surfaces. The available quantities for its definition
are all the field and solid quantities as well as the normal and tangent component of the
vector quantities.
3. Enter the name of the new quantity in the Name entry and its mathematical definition in the
Definition entry. The following operators and functions are available:
l +, -, *, ^ and / operators
l V^W is the vectorial product of vectors V and W when Vector type,
l V*W is the scalar product of vectors V and W when Scalar type,
The result of the scalar product cannot be used in the same quantity (i.e. sqrt(V*W) will return
an error). The scalar result should be reused in a new scalar derived quantity.
l V*W is
the direct product of vectors V and W when Vector
type:
(Vx.Wx,Vy.Wy,Vz.Wz).
For the direct product, "()" or "-" must be used otherwise the product will return an error.
l log, log10, exp, sqrt, pow, sin, cos, tan, cotan, sinh, cosh, tanh, asin, acos, atan(y/x) and
atan2(y,x) functions,
l if function with three arguments for the condition, the action when the condition is
(Static
satisfied and the action when the condition is not
Pressure<150000,1,0),
satisfied e.g.
if
l The geometrical coordinates as x, y and z,
l The constants 'e' and 'pi' are also predefined,
l The a to the power b is obtained by using pow function (ab = pow(a,b)), or the log and
exp functions (ab = exp(b*log(a))),
l Boolean operators: relational and equality operators (==, !=, >, <, >=, <=) and logical
operators (!, &, | for respectively not, and, or)
By double clicking with the mouse left button on any of the items listed in the Quantities,
Geometry, Op., Bool. or Constants frames, its name is automatically inserted in the Definition.
For example, enter the string "normalized pressure" in the Name entry, the string "Static Pressure
/ 101325" in the Definition entry to create a normalized pressure quantity.
Press the Apply button to create the new quantity and to insert it into the project. The new quantity
can be selected for visualization in the same way as the project field quantities.
To delete or unload a derived quantity, use the unload option or the Quantities Status dialog box as
described in Unload Quantities or Field Quantities Status Dialog Box respectively.
4.1.2
Field Quantities & Computer Memory Management
A. Quantities Load on Demand
By default, when a project file is opened, CFView™ is loading all the quantities in memory.
Compared to a situation where the data would be left on disk, this accelerates considerably the
access to the data for the creation of representations.
However, when the data sets are very large, this may require a computer memory larger than
available. For this reason, CFView™ provides the capability to postpone the data loading until
requested by the graphical representation. A selection of the quantities to be loaded can be done
by using the Partial Loader.
Releasing some computer memory by removing some of the quantities from the computer
memory is also possible from the Quantities Status dialog box . When a
quantity has been removed from the memory, it will be automatically reloaded if required.
B. Unload Quantities
The unload quantities option in the multi-view environment of CFView™ reduces the CPU time
and memory requirement for post-processing large projects. This unloading functionality works
for both steady and unsteady cases. The unload option is available from the pop-up menu that
appears on pressing the right mouse button on any field or solid data quantity in the Quantities
subpanel. Unloading of any field quantity can be done in the following way:
1. Press the right mouse button on any of the scalar or vector field quantity available in the
Quantities sub-panel.
2. A popup menu is displayed where the last item in the popup menu is Unload.
3. If Unload is selected the storage space allocated to the corresponding quantity is freed.
In the unloading process of any solid data quantity from Solid Data list in the Quantities sub-
panel shows a different menu list when right mouse button is pressed. However the functionality
of the Unload option is the same as for the field quantities.
Once the quantity is unloaded, a small bitmap file (unload icon) is placed at the left of the
unloaded quantity as observed in the right hand side image of FIGURE 4.7.
FIGURE 4.7
Unloading of a field quantity
the thermodynamic quantities from the Thermodynamics list
in the Quantities
By default
subpanel, are not loaded into the memory. After selecting such a quantity, it becomes available in the
field quantities list. Once loaded, it can be unloaded in the same way as described above.
If Unload is selected on a user-defined quantity in the field quantities list, it permanently removes
that user-defined from the field quantities list
The memory usage status can be confirmed from Quantities Status dialog box. To open the
Quantities Status dialog box select
the Quantities Status... option in the main menu
Quantity/Field Data or click on the Status button in the Quantities subpanel .
C. Field Quantities Status Dialog Box
To open the Quantities Status dialog box, select Quantities Status... in the Quantity/Field Data
menu or click on the Status button in the Quantities subpanel.
FIGURE 4.8
Access to Quantities Status
FIGURE 4.9
Quantities Status dialog box
The dialog box is listing the scalar fields on the left and the vector fields on the right. The button
on the left of each quantity name is an on/off button indicating if the quantity is loaded in the
computer memory (the button is on if the quantity is present).
By toggling the buttons and then clicking on Apply, the computer memory storage is modified
according to the user's specification.
For a derived quantity, this removes the field as well as its definition. The name used for the
derived quantity is available again for another derived quantity definition.
For a quantity defined in the project itself, this removes only the data storage. If the quantity is
needed later, it is reloaded automatically.
Below the list of quantities, a first line indicates the type of the quantity at the cursor position. This
may be "Quantity from file" or "Derived quantity". The second line is present only when a
derived quantity is under the cursor and it presents the quantity definition.
On the right, the memory used for the storage of the complete field data is mentioned.
D. Projects Comparison
This functionality allows two projects to be compared. The projects having the same mesh
topology but slightly different geometries or same geometry but different meshes can be
compared.
Two projects can be considered as having the same mesh topology if:
l the number of domains is the same.
l the meshes are either both structured or both unstructured meshes.
l for structured mesh: for each domain, the numbers NI, NJ and NK are the same.
l for unstructured mesh: for each domain, the number of points and the number of cells are the
same. For each cell, the number of nodes and the number of faces are the same. The node
indices and connected cells are the same as well.
l the bounding boxes of the two meshes are sufficiently close. A relative tolerance of 0.1 is
applied in each dimension.
For projects having the same geometry but different meshes. It means:
l if every point on every surface of mesh A is within a given tolerance of a surface of mesh B.
This tolerance can be accessed through Preference / Projects Comparison tolerance ....
The tolerance chosen should be as low as possible.
For better performance, the project with fewer blocks should be selected before performing the
comparison.
This functionality can be accessed through Quantity / Field Data as shown in FIGURE 4.10. If
two or more projects are opened in CFView, the Project Comparison ... entry is enabled
otherwise it is grayed out.
FIGURE 4.10
Projects Comparison
If the open projects are not comparable, an error message is shown to warn the user once the
option is selected. Otherwise, the Projects Comparison dialog box as shown in FIGURE 4.11
appears. There will be a list of comparable projects in the Comparable projects list box.
FIGURE 4.11
Projects Comparison dialog box
When a project is selected, its scalar and vector quantities are shown in the Quantities list box.
The "Field" and "Surface" radio buttons show the field quantities and the solid data respectively.
When a quantity is selected, the Import and Compare buttons are enabled at once. See FIGURE
4.11. The Import button imports the selected quantity from the selected project to the active
project while the Compare button computes the difference of the selected quantity between the
two projects.
Upon clicking the Import and Compare buttons, the Quantity name dialog box appears and the
new quantity name can be defined. See FIGURE 4.12.
FIGURE 4.12
Quantity name dialog box
The interpolation has to be done if two meshes are different and this computation may take a lot of
time.
A default name is proposed as the following:
l quantityName_computationName for quantity imported.
l quantityName_diff_computationName for quantity compared.
The newly created quantity will appear in the Quantities sub-panel.
E. RAM Management and Unsteady Post-processing
This functionality frees the RAM usage at each time step when post-processing unsteady data
sets. It is very useful for large projects.
available in the
This feature can be accessed through the button Free Memory On/Off
animation toolbar when an unsteady project is loaded. By default, this button is active and
highlighted in yellow. The Free Memory On/Off button is not highlighted anymore when
inactive.
Press the left mouse button on Free Memory On/Off button, to toggle this functionality on or off.
When the Free Memory On/Off button is active, and the Previous/Next Time Step buttons (
) are pressed, the memory allocated to all field and solid data quantities at the current
time step is freed, before moving to the next time step. If the Free Memory On/Off button is
inactive, all the field and solid quantities are kept in the memory for every time step.
4.2
VISUALIZE SCALAR DATA
When a scalar quantity is selected, CFView™ visualizes it in different ways:
l local values,
l isolines,
l color contours,
l iso-surfaces,
l Cartesian plots.
The Representation menu and the Representations subpanel allow the creation of such
representations. These are dynamic containers: it means that the contents of this menu and of this
subpanel depend on the type of the active quantity (scalar or vector) and on the view type (2D or
3D). This section describes only the items dealing with scalar quantities. The items concerning
vector quantities are outlined in Visualize Vector Data.
4.2.1
Local Values
Display Local Values
The local value tool is a numerical probe that prints directly the data value of the active quantity at
selected points on the active surfaces. To create local values:
1. Choose Representation/Local Value or click on the button in the Representations/Plots &
Values subpanel.
2. Select a point in the graphical area by clicking with the left mouse button. CFView™
interpolates the active quantity value at the point that is located at the intersection of the active
surface and the line that is perpendicular to the screen and which passes through the selected
point.
This item remains active until another quantity representation requiring interactive input is
selected.
The default style for number formats may be modified by using the Default Local Value Type
Editor (Preferences/Local value type...). Edit, Save & Restore Defaults for further information.
The keyboard shortcut for Local Value is <v>.
Update Local Values
To modify one or several local values represented on the screen,
1. Click on the first local value to modify, then pressing the <Ctrl> key, click on the other local
values to modify.
2. Press the right mouse button, a pop up menu appears.
It contains 4 items:
l select Marker Type... in order to modify the type of marker. A marker editor is opened .
l Select Number Format... in order to modify the way the figures are formatted. A number
format editor is opened .
l Select Text Type... in order to modify the font type and size. A Text Type editor is opened
.
l Select Delete to suppress the local values from the screen.
Delete Local Values
CFView™ provides different methods to erase local values:
l By interactive selection: as explained in Update Local Values, when a set of local values is
selected, the associated popup menu contains a Delete item. By selecting this item, the
currently selected local values are suppressed from the screen.
l By selecting Update/Delete/Local Value: all the local values associated to the active quantity
and attached to one of the active surfaces are erased.
l By selecting Update/Delete/All, all the representations (not only the local values) on all
surfaces are deleted.
4.2.2
Isolines
Single or multiple isolines are available. It is also possible to select uniformly colored isolines or
isolines colored according to the value.
Drawing a Local Isoline
To display a local isoline of the active quantity:
1. Choose Representation/Isolines/Local Isoline in the menu bar or click on the button in the
Representations/Contours & Iso Values subpanel.
The keyboard shortcut for Local Isoline insertion is <j>.
2. An iso-value can be set in three different ways:
type a single value (in between the minimum and maximum of the quantity) in the
keyboard input area and press <Enter>.
l left-click on the active surface. For each clicking operation, the value of the quantity at the
selected point is interpolated and an isoline corresponding to that value will be generated.
l left-click on the colormap of the active view to indicate the desired value.
This option remains active as long as no other scalar representation is activated.
Isoline drawing is restricted to the current range. See Control Representations Range for more
details on the quantity range.
Drawing Multiple Isolines
To generate multiple isolines, choose Isolines... from the Representation/Isolines menu or click
on the button in the Representations/Contours & Iso Values subpanel.
The keyboard shortcut for Isolines is <i>.
A dialog box is opened once the button is pressed: the isolines can be specified by the number of
isolines to be drawn or by their relative increment.
To modify the number of isolines:
l click the number option;
l adjust the Valuewith the spinner or type the value directly into the text box.
To modify the increment between two isolines:
l click the increment option;
l adjust the Valuewith the spinner or type the value directly into the text box.
FIGURE 4.13
Create Multiple Isolines
l To modify the range of which the isolines are computed:
l type the value in the from text box for the minimum value and press <Enter>.
l perform the same operation for the maximum value in the to text box.
l If an input value exceeds the quantity limits, it is automatically reset to the limit value.
l Select whether the isolines should be uniformly colored (Uniform) or colored according to the
value (Contour).
l Select Clear Before Apply (default) to remove the isolines corresponding to the active
quantities before the new ones are created.
l Click the Apply button to start the isoline computation with the new parameters.
l Click the Close button to exit the dialog box.
Isolines drawing is restricted to the current range. See Control Representations Range for more
details on the quantity range.
Modifying the Isolines
To modify the isolines represented in graphics area,
1. Left-click on one of the isolines created, immediately the isoline is highlighted in light green. It
is possible to select several isolines by pressing the <Ctrl> key.
2. Right-click to access the pop-up menu shown in FIGURE 4.14 (left). Once the Value On/Off
is toggled, the menu with more options (right) appears.
FIGURE 4.14
Right-click menu for isolines
The pop-up menu contains the following options:
l Line Type... allows the user to edit the type of line used for the representation. Note that the
line color parameter is effective only if the isolines are set in the Color Lock mode .
l Color Lock draws the isolines in a fixed color.
l Color by Value (default) draws the isolines according to the isoline's value.
l Value On/Off displays or hides the value of the isolines. Once the values of the isolines are
displayed, more options are available in the menu:
l - Larger Font/Smaller Font increases or decreases the font size.
l - Value Format ... allows the user to change the format of the values.
l - Value Colored sets the color the value according to the isoline's value.
l - Label White (default)/ Label Colored sets the background of the value to white or
according to the isoline's value.
The Line Type, Color Lock, Color by Value and Value On/Off options apply to all the isolines.
l Export to File ... exports the selected isoline(s) into a .dat file with the name given by the user
in the file chooser. The format of the file is compatible with IGG curve data files and is the
same as for the export of streamlines.
For each selected isoline:
l the first line is the name of the isoline. There can be several parts for each isoline.
l the second line is the coordinate system, i.e. "XYZ" for Cartesian, "RTHZ" for cylindrical
or "STM" for meridional.
l the third line is the number of points.
l for each point there is one line with the x, y and z coordinates.
Example:
l Cartesian Plot creates a Cartesian plot of the active quantity on the selected isoline. For
example, the wave elevation can be plotted by creating a Cartesian plot of Z on the isoline of
mass fraction with value 0.5.
The Cartesian plot is available in the Cartesian view only.
l Delete suppresses the selected isoline(s) from the graphics area.
The Export to File, Cartesian Plot and Delete options apply only to the selected isolines.
Deleting the Isolines
CFView™ provides different methods to delete the isolines:
l By interactive selection: as explained in Modifying the Isolines, when isolines are selected, the
associated pop up menu contains the Delete item. By selecting this item, the currently selected
isolines are suppressed from the graphics area.
l By selecting Update/Delete/Isoline: all the isolines associated to the active quantity and that
are drawn on one of the active surfaces are erased.
l By selecting Update/Delete/All or pressing <Ctrl> +<d> shortcut: all the representations (not
only the isolines) on all surfaces are deleted.
4.2.3
Color Contours
With color contours, the active surfaces are painted with a gradation of colors according to the
selected data values. CFView™ provides six coloring options: flat, smooth, strip and these 3
options with or without thresholding. Thresholding restricts the coloring of the quantity on the
active surface to a restricted range of the quantity values.
All colorings are restricted to the current range. See Colormap & Representations Range for more
details on the quantity range.
Flat
in the
Choose Flat from the Representation/Color Contour menu or click on the button
Representations/Contours & Iso Values subpanel. In this mode, each cell is assigned to a
unique color that corresponds to the average value of the quantity in that cell.
The keyboard shortcut for Flat color contour is <Shift> + <q>.
Smooth
Choose Smooth from the Representation/Color Contour menu or click on the button
in
the Representations/Contours & Iso Values subpanel. In this mode, the color is interpolated
inside each cell from the values of the quantity at the cell vertices.
The keyboard shortcut for Smooth color contour is <c>.
Strip
Choose Strip from the Representation/Color Contour menu or click on the button
in the
Representations/Contours & Iso Values subpanel. In this mode, the color interpolated on each
cell contour from the values of the quantity at the surface vertices is kept constant over small sub-
ranges.
The keyboard shortcut for Strip color contour is 
.
Thresholding (Flat, Smooth and Strip)
This option provides a convenient way to discard uninteresting parts of the color contours
(previous command) by allowing the introduction of minimum and maximum threshold values.
All the surface regions in which the quantity value does not fit into the threshold values are
discarded. To achieve this:
1. Choose any thresholded coloring from the Representation/Color Contour/...Threshold
menu or click on one of the buttons
Values subpanel. The message "min, max (min, max)" appears in the keyboard input area.
in the Representations/Contours & Iso
2. Providing the threshold range can be done in different ways:
l with the mouse: move the mouse into the colormap and click at a level which represents the
first limit. Drag the mouse along the colormap up to a suitable value (a line appears
between the selected point and the cursor). Release the mouse button to fix this second
limit.
l with keyboard input: click in the string input box and enter either 2 or 4 values separated by
a blank:
l if two values are provided, they are forming a single range. The first value must be
smaller than the second one.
l If four values are provided, the first pair is forming a first range and the last pair is
forming a second one. Within each pair, the first value must be smaller than the second
one.
By default, the regions with values outside the specified ranges are set to transparent. The colors,
to be used outside of the threshold range, can be specified in the Range Colors Type Editor.
This editor can be accessed through the Preferences/Range colors type… menu. As it can be
seen in FIGURE 4.15, the editor contains 4 options:
l Visible: When activated, the colors specified in the editor will be used, if not they will be set to
transparent.
l Below Range: The specified color will be used for all regions in which the quantity value is
lower than the specified minimum threshold value.
l Between Ranges: If four values are provided for the threshold range, the specified color will
be used for all regions in which the quantity value lies between the specified maximum and
minimum threshold values of the first and second range respectively.
l Above Range: The specified color will be used for all regions in which the quantity value is
higher than the specified maximum threshold value.
FIGURE 4.15
Range Colors Type Editor
The settings in the Range Colors Type Editor are only taken into account when a project is opened in
CFView™.
The region of the surface in which the quantity lies between the limits is represented. This
command remains active until another quantity representation requiring interactive input is
selected. An example of a thresholded smooth color contour is given in FIGURE 4.16.
FIGURE 4.16
Thresholded color contour of the static pressure
Color Contour Transparency
An opacity slider has been added to the quick panel. When the user change this slider, the opacity
value is given to:
l all the active surfaces
l all the active color contours.
FIGURE 4.17
Semi-transparent color contour on a cutting plane
Update Color Contour
To modify one or several colored contours represented on the screen,
1. Click on the first color contour to modify, then pressing the <Ctrl> key, click on the other
color contour representations to modify.
2. Press the right mouse button, a pop up menu appears.
It contains 6 items for smooth and strip contour (for flat contours, only the Delete item is
available):
l Select Filled to let the color contour fill the surfaces completely.
l Select Wireframe to get colored surface wireframes.
l Select Markers Only to get only the markers colored.
l Select Line Type... to edit the type of line used for the wireframe representation. Note that the
line color parameter does not have any effect in this context .
l Select Marker Type... to edit the type of markers used for the "markers only" representations.
Note that the color parameter does not have any effect in this context 
l Select Delete to suppress the contour representations from the screen.
FIGURE 4.18
Color contour shown as markers only, mesh wireframe and filled.
Delete Color Contours
CFView™ provides different methods to erase color contour representations:
l By interactive selection: as explained in Update Color Contour , when color contour
representations are selected, the associated popup menu contains a Delete item. By selecting
this item, the currently selected contours are suppressed from the screen.
l By selecting Update/Delete/Color Contour: all the color contour associated to the active
quantity and that are drawn on one of the active surfaces are erased.
l By selecting Update/Delete/All, all the representations (not only the color contours) on all
surfaces are deleted.
4.2.4
Streamlines
The Streamlines module allows the user to color the streamlines based on any scalar field quantity
available in the field quantities list in the Quantities subpanel. By default the streamlines are
computed by using the relative velocity vector field. To color the streamlines by integration of the
active scalar quantity, select Streamline from the Representation menu. A submenu appears,
containing three options to plot streamlines: Local, Section and From Grid Line…. The default
computation and representation parameters can be changed by using the Streamlines Parameters
dialog box available from Parameters… menu.
FIGURE 4.19
Access to Streamlines Module
Local Streamline
1. Select Local from Representation/Streamline menu.
2. Select the starting point. This can be done in two ways,
l With the mouse: select a point with the left mouse button on an active surface (selected in
the Surfaces subpanel).
l With the keyboard: A request message "Input or select vector line starting point" appears in
the message area of CFView™.
In the string input area, type the desired x y z coordinates of the starting point on the active
surface, then press <Enter> in the keyboard input area in order to validate the entry.
The streamline starts from this point and extends to the first non-connected boundary (i.e. full-
non-matching boundaries, rotor-stator interfaces…) encountered or until the maximum number of
points per streamline is exceeded (more details can be found in Streamlines Parameters).
Streamline from Section
1. Choose Section from Representation/Streamline menu.
2. Select a section defined by two points: A request message "Input number of vector lines and
press-drag to define section" appears in the message area of CFView™.
3. In the keyboard input area, type the desired "Number of Points:" (the default value is 5), then
press <Enter> in the keyboard input area in order to validate the entry (e.g. 25). The entered
number should be larger than 2. It defines the number of starting points on the originating
section.
4. To create the originating section of streamlines through the active surface (selected in the
Surfaces subpanel), move the mouse in the graphical area and click the left mouse button to
select the first point of the section line. Hold the mouse button and drag it, a red line is attached
to the cursor. Move the cursor in the desired direction and release the left mouse button to
define the second point of the line.
FIGURE 4.20
Section creation on an active surface for streamline plot
Streamline from Grid Line
1. Choose from Grid Line... from the Representation/Streamline menu. A dialog box shown in
FIGURE 4.21 appears:
FIGURE 4.21
Grid line definition dialog box for streamline plot
2. In the Index area, click the desired radio button. The i and j radio buttons do not necessarily
correspond to the IGG™ indices:
l If the surface is constant in I, the first index corresponds to J and the second to K.
l If the surface is constant in J, the first index corresponds to K and the second to I.
l If the surface is constant in K, the first index corresponds to I and the second to J.
3. Set a value of the constant index in the Value box between 1 and the maximum value
indicated.
4. Select the nodes from which the streamlines need to be generated in Node Range area. To do
this, enter a node range:
l Enter a number in the First box included between 1 and the maximum of the unselected
index.
l Enter a number in the Last box included between the number given in First box and the
maximum of the unselected index. This number has to be different from the first node
number. Initially the Last box indicates the maximum node number available.
5. Click the Apply button to start the streamline computation and display.
6. Click the Close button to close the dialog box.
Streamlines Parameters
The parameters of the streamlines like the maximum number of points per line or cell, the cell
average, the color, the direction, the curve type can be changed in the following way.
1. Choose Parameters... from the Representation/Streamline menu. A dialog box appears, as
shown in FIGURE 4.22.
2. To modify the maximum number of points per streamline: click on the Max points per line
box and enter the desired number of points or use the increment-decrement buttons
3. To modify the maximum number of points calculated inside each cell (this number avoids
continuous calculations when the streamline goes in a spiral inside a cell): click on the Max
points per cell box and enter the desired number of points or use the increment-decrement
buttons. This parameter is used only for surface streamlines on mesh surfaces.
4. To modify the average number of points inside each cell (this average defines the number of
points calculated inside a cell): click on the Average points per cell box and enter the desired
point average or use the increment-decrement buttons. This parameter is used only for surface
streamlines on mesh surfaces.
FIGURE 4.22
Parameters for streamlines
1. To modify the integration direction: click on the pull down menu and choose among three
options:
l Forward to set up a downstream integration,
l Backward to set up an upstream integration or
l Both to set up full stream integration.
2. To modify the computation mode: click on the pull down menu and choose among two
options:
l Volume to define streamline(s) in the 3D space or
l Surface to constrain the streamline on the surface from which it is started
3. Click the Apply button to apply the modifications.
4. Click the Reset button to discard the modifications and go back to the initial parameters.
5. Click the Close button to close the dialog box.
To modify the default line or the marker type click on the corresponding Line Type or Marker
Type page respectively .
For more info on the ribbon and tube type see Stream Ribbons & Tubes.
The settings are applied for the next created streamline(s).
Update Streamline
To modify one or several streamlines represented on the screen,
1. Click on the first streamline to modify, then pressing the < Ctrl> key, click on the other
streamlines to modify.
2. Press the right mouse button, a pop up menu appears.
It contains the following items:
l Select Uniform Color to color the streamline with pre-defined uniform color.
l Select scalar quantity (i.e. Static Pressure) to color the streamline based on the scalar quantity
which was selected when creating the streamline.
l Select Export to file to export the selected streamlines into a file. More details of Export to file
in "Update Color" (p. 192).
l Select Parameters... to edit the type of curve used for the streamline representation. Note that
the line color parameter only has an effect if Uniform Color was selected before.
l Select Delete to suppress the streamline representations from the screen.
l Select Cartesian Plot to create a Cartesian plot of the scalar quantity along the streamline.
Delete Color Streamlines
CFView™ provides different methods to erase color streamline representations:
l By interactive selection: as explained in Update Streamline , when color streamline
representations are selected, the associated popup menu contains a Delete item. By selecting
this item, the currently selected streamlines are suppressed from the screen.
l By selecting Update/Delete/Streamline : all the color streamline associated to the active
quantity and that are created from one of the active surfaces are erased.
l By selecting Update/Delete/All, all the representations (not only the color streamlines) on all
surfaces are deleted.
4.2.5
Iso-Surfaces
This option visualizes the surfaces in 3D where the active quantity remains constant. To do so:
1. Choose Iso-Surface from the Representation menu or click on the iso-surface button
in
the Representations/Contours & Iso Values subpanel.
2. Choose the iso-surface value:
l move the mouse to the keyboard input area, enter a single value (included between the
maximum and the minimum of the quantity) and press <Enter>.
l with the mouse in the colormap: move the mouse to the colormap (by default on the right
side of the graphics area) and click at a level which represents the value.
l with the mouse on an active surface: move the mouse over an active surface, click at the
location where the iso-surface is going to intersect the surface. An iso-surface with the
active quantity value at that location is displayed.
Each new input for the iso-surface value removes the previous iso-surface and displays the new
one. In the information output area, the iso-surface volumes below and over the iso-surface value
are displayed.
Iso- surface generation involves the scanning of
computationally intensive on large meshes.
the complete computational volume and is
Iso-surfaces may be saved in order to create other representations on them. To save an iso-surface,
choose Representation/Iso-Surface Save or click a second time on the iso-surface
The surface name is inserted in the project surface list for further manipulations.
button.
4.2.6
Cartesian Plots
CFView™ creates easily the plots of the quantity distribution along arbitrary sections and grid
lines.
When one of the plot commands is activated, CFView™ automatically opens a new view, that
will contain the Cartesian plot. Furthermore, the range of the plot axis is set to the limits reached
by the quantities. CFView™ defines and handles automatically one Cartesian plot view per
quantity. When the first curve of a quantity is drawn, a Cartesian plot view is opened. And the
next curves are automatically inserted in this Cartesian plot view.
By default, curves associated with different quantities are plotted in different Cartesian plot views.
When activating Global Plot View in the Representation/Cartesian Plot menu, all curves
related to all quantities will be plotted in the same Cartesian plot.
FIGURE 4.23
Global plot view option: static pressure and temperature in same plot
The layout of existing Cartesian plots can be modified interactively by selecting parts, by using
the Update/Plot menu or by the viewing buttons.
The different commands to create Cartesian plots are contained in the Representation/Cartesian
Plot menu and in the Representations/Plot & Values subpanel. These are outlined below.
Cartesian Plot along Surface Boundaries
Choose Along Boundary from the Representation/Cartesian Plot menu or click on the
Boundary button in the Representations/Plot & Values subpanel. A curve is drawn for each
boundary of the active surfaces.
In the currently active 3 or 2 dimensional view, the boundaries of the active surfaces are colored
in the same color as in the Cartesian plot.
The default style for the line and markers may be modified by using the Default Node Line Curve
Type Editor (Preferences/Node line curve type.... If the default color is different from black or
white, the color is changed from curve to curve in order to facilitate curves identification. Similarly,
the marker type and the line style are changed from curve to curve.
Cartesian Plot along Solid Surface Boundaries
Choose Along Solid Boundary from the Representation/Cartesian Plot menu or click on the
Boundary Solids button in the Representations/Plot & Values subpanel. A curve is drawn for
each boundary of the active surfaces which is a solid boundary. Also, the boundaries of the solid
surfaces are colored in the same color as in the Cartesian plot.
As for the plot along surface boundaries feature, the default line and marker styles can be changed
by using the Default Node Line Curve Type Editor (Preferences/Node line curve type...).
If no solid surface is selected at the time the Cartesian Plot/Along Solid Boundary is requested, an
empty Cartesian plot view will appear on the screen.
Cartesian Plot along Section
This option provides a convenient way of visualizing quantity distributions along arbitrary
sections of the active surfaces. To create a plot along a section:
1. Select the surfaces on which the section has to be represented.
2. Choose Along Section from the Representation/Cartesian Plot menu or click on the Section
button in the Representations/Plot & Values subpanel.
3. Select a section line defined by two points:
l move the mouse to the graphical area and click the left mouse button to select the first point
of the section line. A red line is attached to the cursor. Drag the cursor in the desired
direction and release the left mouse button to define the second point of the line.
l or, move the mouse to the string input area and successively enter the coordinates of the
two points defining the section. Press <Enter> to apply.
The section line actually defines a cutting plane perpendicular to the plane of the screen. This
plane crosses the active surfaces and generates sections. The quantity values on these sections are
immediately mapped in the Cartesian plot view, while the traces of the sections appear on the
active surfaces.
FIGURE 4.24
Pressure profile on a radial compressor blade.
The section shown in FIGURE 4.24 is obtained from a cylindrical coordinates view (constant
radius). The viewing direction is along theta and the section line is a horizontal line which
intersects the blade pressure and suction sides.
The default style for line and markers may be modified by using the Default Section Curve Type
further
Editor ( Preferences/Section curve type... ). Edit, Save & Restore Defaults for
information. If the default Section Curve Type is different from black or white, the curve color is
changed from curve to curve, as well as the line and marker styles.
This option remains active until another scalar representation which requires interactive picking is
activated.
The arc lengths are independent for each curve extracted from the active surfaces.
The keyboard shortcut for Along Section is <d>.
Cartesian Plot along a Grid Line
To create a plot along a grid line:
1. Select the desired surfaces.
2. Select Along Grid Line... from the Representation/Cartesian Plot menu or click on the
Grid Line button in the Representations/Plot & Values subpanel. It opens a dialog box.
Click on one of the I or J constant Index button to activate the desired surface family. The "I"
and "J" appellation do not necessarily correspond to the IGG™ index:
l if the surface is constant in I, the first index corresponds to J and the second to K.
l if the surface is constant in J, the first index corresponds to K and the second to I.
l if the surface is constant in K, the first index corresponds to I and the second to J.
3. Click on the Value string input and enter a number included in the limits.
4. Click on the First and Last string inputs and enter the number of the first and last grid node to
consider in the plot curve.
5. Click the Apply button to perform the action. The result is immediately mapped in the
Cartesian plot view, while the trace of the section appears on the active surfaces.
6. Click the Close button to close the dialog box.
FIGURE 4.25
Grid line definition dialog box for vector line plot
The default style for the line and markers may be modified by using the Node Line Curve Type
Editor ( Preferences/Node line curve type... ). Edit, Save & Restore Defaults for further
information. If the default color is different from black or white, the curve color is changed from
curve to curve as well as the line and marker styles.
This option is only available for structured meshes.
4.2.7 Update Cartesian Plot
A Cartesian plot view is made of several parts that can be selected and updated separately. The
curves, the axis and the axis labels are the elements that may be selected. The various ways to
update these elements are described in the following sections.
A. Duplicate Axis
When right-clicking in the Cartesian plot view, the Toggle Top X axis / Toggle Right Y axis
menu allows the user to duplicate respectively the X axis at the top and to add a new Y axis at the
right. This allows different quantities to be plotted in the same Cartesian plot (Global Plot View
in the Representation/Cartesian Plot menu) with different ranges as presented in FIGURE 4.26.
FIGURE 4.26
Control number of axis
In addition, after left- clicking on one of the curves and right- clicking, the menu Add to
Left/Right Y Axis controls to which Y axis the selected curve will belong.
B. Change Axis Variable & Range
Each axis of the Cartesian plot is attached to a variable. The available variables are:
l the quantity values,
l the arc length or its normalized value along the curve,
l the x, y or z coordinates,
l the radius or the azimuthal angle (with respect to the z axis) and
l the span or stream position for turbomachinery analysis.
In order to modify the variable related to an axis or to modify the range minimum or maximum
value, click with the left mouse button on the axis, red markers are appearing. Then, press the
right mouse button, a pop up menu is raised.
1. In the sub menu Function of, select the desired item to change the variable which is attached
to the axis.
2. Select Fit Range in order to set the minimum and maximum range values to those of the
represented curves. Note that if no element is selected in the Cartesian plot view, the popup
menu raised by pressing the right mouse button, contains the item Fit Range that performs the
same operation on both the ordinate and the abscissa axes.
3. Select Set Range... to enter a new range. There are two possible ways of doing this:
l enter the minimum and the maximum value in the string entry below the graphical area or
l press on the axis desired minimum value, drag and release on the axis desired maximum
value to provide the minimum and maximum values. During the interactive operation a red
bar appears along the axis.
4. Select Set Logarithmic in order to display the data in logarithmic scale. When an axis is
already in logarithmic scale, select the Set Linear item to come back to a linear display.
5. Select Set Reverse in order to display the data in decreasing values. When an axis is reversed,
select Unset Reverse to come back to the normal display.
6. If no element is selected in the Cartesian plot view, the popup menu raised by pressing the
right mouse button, contains the item Fit Axis that fits axis in the Cartesian plot view when
needed.
The viewing buttons are also providing shortcuts for some of the frequently used operations:
These buttons are selecting the quantity for the abscissa axis
This buttons translates the curve representations.
This button performs the zoom in or out in both the abscissa and
ordinate ranges.
This button performs the zoom on a rectangular region.
This button performs a range fitting in both directions.
This button performs a range fitting and a small zoom out, in
both directions.
The axes ranges are always updated automatically to reflect the range modifications.
C. Manage Legend in Cartesian Plot
A legend can be added in the Cartesian plot view with the menu Add to legend appearing when
right-clicking after selecting a curve in the Cartesian view.
FIGURE 4.27
Add legend to Cartesian plot
When the legend is appearing in the view, it can be viewed or hidden with the Toggle Legend
menu when right-clicking in the Cartesian view. In addition after left-clicking on the legend, right-
click to access the popup menu that control the font (Larger/Smaller Font) and the text type
(Text type).
FIGURE 4.28
Control legend of the Cartesian plot
D. Update Curve Type
To modify the line and marker style of the curves:
1. Select the first curve to be modified, then pressing the <Ctrl> key, select the other curves. The
curves may be selected in the Cartesian plot view or in the 2 or 3 dimensional view in which
they are represented.
2. Press the right mouse button, a popup menu appears.
Curve Type
The Curve Type... item opens the Curve Type Editor dialog box that allows the user to modify
the line and marker attributes .
Note that the selected curves set can still be modified after the dialog box is opened. The line and
markers style is applied to the curves that are selected at the moment the Apply button is pressed.
Set Thicker/Thinner
The Set Thicker/Set Thinner items increases or reduces the thickness of the line.
Copy/Paste/Merge Curves
The Copy/Paste items allows the comparisons between computed results by selecting Copy in a
first Cartesian plot and then Paste in a second Cartesian plot.
When plotting a curve on multiple successive surfaces, the resulting plot will contain several
curves (one per surface), while the user is frequently interested into viewing these curves as a
single one. The Merge item appears when multiple curves are selected in the Cartesian plot. It
merges all the selected curves in an automatic way.
Rename Curves
The menu Rename, as shown in FIGURE 4.29, gives the possibility to rename the selected curve
by entering the name in the New Name area and pressing the Apply button.
FIGURE 4.29
Rename dialog box
Delete Curves
The Delete item deletes the selected curves.
Note that when the curves are deleted in a Cartesian plot, the representations of the curve in the
original 2D/3D view is also deleted. But, when a curve is deleted in a 2D/3D view, it is not
removed from the Cartesian plot view.
Curve Type to Whole Section
The Curve Type to whole section item controls the type of all the curves created at the same
time as the selected curve. For example, when creating a plot along a section generating several
curves in the Cartesian view, all curves can be adapted at the same time just after selecting one of
them.
FIGURE 4.30
Illustration of "Curve Type to whole section"
Limited Section
The Limited Section item allows the user to restrict the plot between the two selected points
instead of, by default, a complete line on whole domain passing through the two selected points.
FIGURE 4.31
Illustration of "Limited Section" Curve Type
Fit Curve Range
The Fit Curve Range item scales the axis according to the range of the selected curve. This
option is useful when the Cartesian plot includes curves heavily out of range.
FIGURE 4.32
Illustration of "Fit Curve Range"
Reverse
The Reverse item reverses the orientation of the selected curve.
Regression/Interpolation/Extrapolation Curve
The Regression Curve, Interpolation Curve and Extrapolation Curve items allow the user to
create a regression, an interpolation or an extrapolation curve respectively.
The Regression Curve item creates a regression curve after defining the type of regression
(Regression Type) and pressing the Apply button. In addition the formula is appearing in the
dialog box and can be saved in a file after selecting the Save button.
FIGURE 4.33
Regression curve dialog box
The Interpolation Curve item creates a cubic spline interpolation curve after defining the
number of points (Num of Points) and pressing the Apply button. For curves that are already
smooth, the interpolation curve is almost superimposed on the original selected curve. If the curve
is not smooth, it creates a smooth curve by fitting cubic splines to the points of the original curve.
FIGURE 4.34
Interpolation curve dialog box
The Extrapolation Curve item creates an extrapolation curve by extrapolating either to the left or
to the right side the original selected regression curve (Towards Left / Towards Right option).
When respectively the option Towards Left or Towards Right is selected, the Left Extent or
Right Extent abscissa and the Number of Points at which the value of extrapolation curve will
be plotted are specified as inputs.
FIGURE 4.35
Extrapolation curve dialog box
Discrete Fourier Transform
The Discrete Fourier Transform item plots the Fourier transformation (amplitude of the scalar
quantity vs frequency) of the plotted scalar quantity function of time.
FIGURE 4.36
Illustration of "Discrete Fourier Transform"
Add to Legend
The Add to legend item adds a legend in the Cartesian plot if not existing and adds the selected
curve name to the legend. More details available in Manage Legend in Cartesian Plot to manage
the legend.
Add to Right Y Axis
The Add to Left/Right Y Axis item controls to which Y axis the selected curve will belong.
Toggle Orientation Arrow
The Toggle Orientation Arrow item plots the orientation on the curve representation in the
original 2D/3D view of the selected curve in the Cartesian plot. An arrow will appear on the
curve representation in the 2D/3D view.
View/Edit Coordinates
The View / Edit Coordinates item allows the user to edit the curve points coordinates. The
coordinates can be modified in the table and visualized in the Cartesian plot view by pressing the
Apply button.
FIGURE 4.37
View/Edit curve dialog box
Get Y Value
The Get Y Value item retrieves the ordinate value by entering the corresponding abscissa value
in the area and pressing the Apply button.
FIGURE 4.38
Get Y value dialog box
Export to File
The Export to File item saves selected curves. More details available in Export Plot Curve(s) in
File.
E. Change Axis Ticks & Labels
When right-clicking in the Cartesian plot view, the Toggle Ticks Orientation menu allows the
user to select one of the two different ticks orientations. The ticks have their centers aligned with
axes or the ticks are inwards.
FIGURE 4.39
Toggle ticks orientation
Ticks & Numbers
A specific dialog box exists for user to update the ticks and the numbers style. In order to open
this dialog box, select the axis, then, in the popup menu which is raised by pressing the right
mouse button, select the item Ticks & Numbers...
FIGURE 4.40
Axis ticks and labels definition dialog box
The dialog box contains several parts:
l The numbers orientation buttons: allow the user to choose the text orientation between
horizontal, vertical or at 45 degrees.
l The numbers text type part allows the user to choose the font name, size and color for the axis
numbers.
l The Minor/Major Ticks entries allow the number of graduations displayed on the axis to be
defined. Note that CFView™ is rounding automatically the graduations interval in order to
display values with as few significant numbers as possible.
l The Numbers distance entry enlarges or shrinks the spacing between the axis and the
graduation numbers.
Axis Label
In order to modify the axis label, it should be selected by clicking on it with the left mouse button.
Red markers are displayed around it to indicate the selected element.
When the axis label is selected, a popup menu is raised by pressing the right mouse button.
This menu contains 4 elements:
l Select Larger FontSize or Smaller FontSize to enlarge or shrink the label text.
l Select Edit Text... in order to edit interactively the text. During its edition, the text is displayed
horizontally for a better readability. The following functions are available during the edition:
l The text is inserted at the cursor position. Initially, this cursor is positioned on the first
character.
l The left and right arrow key to move the insertion cursor.
l The <Backspace> key suppresses the character on the left side of the insertion cursor.
l Select Font & Position... in order to open a dialog box in which the label font and position
can be modified.
FIGURE 4.41
Axis Label Editor
l The Font Type frame allows the user to choose the font type, size and color . The default font type can be modified in the menu
Preferences / Axis Text type.
l The Position frame allows the user to choose the position (either at the axis origin, at mid-
range or an the axis end) as well as the distance between the numbers and the label text.
F. Add Grid Lines in Cartesian Plot
If no element is selected in the Cartesian plot view, the popup menu raised by pressing the right
mouse button contains the items Show H Grid Lines and Show V Grid Lines. When selected,
grid lines are represented at each major axis graduation.
When graduation lines are represented, these items are replaced by Hide H Grid Lines or Hide V
Grid Lines which are used to remove the grid lines from the Cartesian plot. Furthermore, the
popup menu contains the items H Grid Lines Type... or V Grid Lines Type.... By selecting one
of these items, a Grid Lines Type dialog box is opened in which the grid line type, color and
thickness may be modified .
G. Resize Cartesian Plot
If no element is selected in the Cartesian plot view, the popup menu raised by pressing the right
mouse button contains the item Resize Curve Area. When this item is selected, a red rectangle is
drawn with markers in the corners and in the middle of the sides and a specific message is
displayed in the message bar.
To resize the curve area:
l Move the cursor on the marker to move. When close to the marker, the cursor is changed to
the resizing cursor symbol.
l Press, drag and release with the left mouse button to resize the curve area.
To move the curve area, without modifying its size:
l Move the cursor inside the curve area. The cursor is changed to the move cursor symbol.
l Press, drag and release with the left mouse button to move the curve area.
When the curve area is moved or resized, the axes are automatically redrawn on its sides.
To leave the resizing mode, click with the left mouse button or press the right mouse button.
H.
Insert New Curve
If no element is selected in the Cartesian plot view, the popup menu raised by pressing the right
mouse button contains the item Insert New Curve. It adds a new curve in the view by defining a
formula (By Formula) or by loading a data file (By Data).
FIGURE 4.42
Insert new curve dialog box
When By Formula is selected, the lower and upper limits of the abscissa and the number of
points can be controlled. Then the name and the equation of the curve is imposed by the user in
respectively the Name and Definition section. Finally the Apply button is pressed to create the
curve.
The equation should always be written in terms of x (abscissa) and no other independent variable can
be used for writing the equation.
When By Data is selected, a data file is selected after pressing the Import button. The data file
should have a format similar to the validation curve data file: the data should be listed in either 4
columns (x, y, z, data) or 2 columns (x, data). After importing the data, the coordinates will be
displayed and a name will have to be entered for the new curve. Finally the Apply button is
pressed to create the curve.
I.
Show Curves List
If no element is selected in the Cartesian plot view, the popup menu raised by pressing the right
mouse button contains the item Show Curves List. It opens a dialog box containing a list of all
the curves that can be visualized in the view. By activating or deactivating the check box at the
right of the curve name, the corresponding curve will be respectively visible or not in the view
after pressing the Apply button.
FIGURE 4.43
Curves list dialog box
J. Cartesian Plot Axis Editor Dialog Box
The Plot Axis Editor dialog box is opened by selecting the item Axis Editor... in the Update/Plot
menu. This 5 pages dialog box, see FIGURE 4.44 , provides a centralized access to all the
parameters that can be modified in the Cartesian plot axis:
FIGURE 4.44
Plot Axis Editor
l the first page (Scale) provides access to the axis quantity and range selection.
l the second page (Axis Labels) provides access to the axis labels text and text type.
l the third and fourth pages (Major Units - Minor Units) provides access to the grid line types.
l the fifth page (Ticks Labels) provides access to the graduation numbers text type.
K. Update/Plot Menu
The Update/Plot menu contains some frequently used items for Cartesian plots. These are the
following:
l To fit all the curves in the plot choose Original.
l To display quantity distributions as a function of the X direction, choose Function of X.
l To display quantity distributions as a function of the Y direction, choose Function of Y.
l To display quantity distributions as a function of the Z direction, choose Function of Z.
l To display quantity distributions as a function of the Arc length direction, choose Arc length.
l To display quantity distributions as a function of the normalized arc length, choose
Normalized arc length.
l To suppress the last curve inserted in the Cartesian plot, select Curve Undo
4.2.8
Export Plot Curve(s) in File
CFView™ can export all the curves from a Cartesian plot or selected curves.
To save all the curves data in an ASCII file, select Curve Output... from the Update/Plot menu.
To save only selected curves, first select them interactively (use <Ctrl> + left mouse button to
select multiple curves), then press the right mouse button and select Export to File in the popup
menu.
A file chooser is opened to specify the file directory and name. The data are saved as an ASCII
file which contains one section per curve. A section in the file has the following format
l a header line which contains:
l the number of geometrical coordinates: 3,
l followed by the number of quantities: 1,
l followed the number of curve points,
l followed by the names of the quantities surrounded by '|' characters,
l the content lines where each line contains
l the X, Y and Z coordinates of one point (or Z and R coordinates and a "0" in case the
Cartesian plot has been created from the meridional averaged view)
l followed by the quantity values.
Example:
3 1 85 |Vx|
6.344958e-002 5.638292e-002 0.000000e+000 0.000000e+000
6.345011e-002 5.638186e-002 0.000000e+000 -7.162985e-006
...
In addition of the default file containing the quantity function of X, Y and Z, a new file will be
automatically generated containing the ordinate function of the abscissa used in Cartesian plot
("usernameOrdinateFctOfAbscissa.dat")
A file containing a single section in this format can be directly loaded as a validation data . Note that files that are containing several curves
must be split before being loaded as validation data.
4.3
REPRESENT VALIDATION DATA
The validation data functionality allows the user to make a plot of a validation data set and to
compare it to the computational data. Refer to Import Validation Data for further details on how to
import validation data. To represent validation data in a Cartesian plot:
1. Load validation data from the File/Load Validation Data... menu.
The format of the validation data file is presented in Import Validation Data.
2. Choose Validation Data from the Quantity menu. A submenu appears:
It contains all the validation quantities loaded in the project.
3. Select a validation quantity: another submenu appears. It contains one or more data curve
names of the selected validation quantity. Choose one of them.
4. If the selected quantity also exists as a field quantity (i.e. is listed in the Quantity/Field
Data/Basic Quantities menu), a confirm dialog box is popped up with a question
"Comparison?". Click the Yes button to load the respective computation data from the field
quantity list to be compared with the validation data. The No button is used to load the
experimental data only.
Automatically, a new view is opened that contains the plot or, if the plot view is existing, the
curve is added to the plot view related to that quantity. The line and markers default style for the
validation data curve may be modified by using the Default Validation Data Curve Type Editor
(Preferences/Validation curve type...).
The line and markers default styles for the interpolated data curve may be modified using the
Default Comparison Curve Type Editor (Preferences/Comparison curve type...).
4.4
REPRESENT PLOT DATA
This functionality allows the user to make a Cartesian plot with plot data coming as part of a
project data set, such as those created when surface average data outputs are selected in the
FINE™ GUI (Surface Averaged Variables page). To do so:
1. Choose Plot Data from the Quantity pull down menu. A submenu appears: it contains all the
plot data present in the project.
2. Select a plot data curve with the mouse. Another submenu appears. It contains one or more
quantities defined for the selected plot data curve. Choose one of them to end the selection
procedure. Automatically, a new view is opened that contains the plot.
The line and markers default style may be modified by using the Default Plot Data Curve Type
Editor ( Preferences/Plot data curve type... ). Edit, Save & Restore Defaults for further
information.
FIGURE 4.45
Example of plot data from a NACA airfoil computation.
The plot data on the right side of FIGURE 4.45, is the convergence curve of the computed drag.
On the left side, a color contour of the vertical velocity shows the velocity distribution.
4.5
VISUALIZE VECTOR DATA
The Representations subpanel and Representation menu are dynamic. The items which appear,
after the selection of a scalar quantity are described in Visualize Scalar Data. If a vector quantity is
selected, different items appear. They are used to display vectors at given positions on the active
surfaces and to compute particle traces starting at given positions.
4.5.1
Arrow Representation
Local Vector
To obtain just one vector drawn locally on an active surface, choose Local Vector from the
Representation menu or select the
button in the Representations/Vectors subpanel. The
selection of the point where to compute and draw the local vector is either done by typing the
point coordinates into the string input box or, interactively by selecting it by clicking with the left
mouse button on the active surface in the graphical area.
The keyboard shortcut for Local Vector is <v>.
Vector on Grid Nodes
This command allows the user to represent the active vector quantity as an arrow at a given mesh
nodes of the active surfaces. These nodes are specified by a start index, an end index and a step
for the two surface indexing directions. Setting both, the I and the J step to 1 will plot a vector at
every vertex between the start and the end indices. To do so:
1. Choose Vector on Grid Nodes... from the Representation menu or select the
button in
the Representations/Vectors subpanel. A dialog box appears.
The "I" and "J" appellation do not necessarily correspond to the IGG™ index:
l if the surface is constant in I, the first index corresponds to J and the second to K.
l if the surface is constant in J, the first index corresponds to K and the second to I.
l if the surface is constant in K, the first index corresponds to I and the second to J.
2. Click on the I - Min box and enter the I value or use the small up and down arrow buttons to
set the starting node. Do the same for I - Max which is the I value of the ending node. If
necessary, change the default I - Step number.
3. Set the J value of the starting node in the J - Min box. Do the same for J - Max which is the J
value of the ending node. If necessary, change the default J - Step number.
4. Click the Apply button to represent the vector field.
5. Click the Close button to discard the dialog box.
The keyboard shortcut for Vector on Grid Nodes is <c>.
Thresholded Vector on Grid Nodes
This functionality allows the user to discard parts of the vector field which present no interest, by
introducing a minimum and maximum threshold values for the vector magnitude. All the surface
regions in which the vector magnitude is outside the given limits are discarded.
To add a thresholded vector representation,
l select the Thresholded item in the Representation menu or click on the
button in the
Representations/Vectors subpanel.
l Provide the threshold range in one of the following ways:
l with the mouse: move the mouse into the colormap and click at a level which represents the
first limit. Drag the mouse along the colormap up to a suitable value (a line appears
between the selected point and the cursor). Release the mouse button to fix this second
limit.
l with keyboard input: click in the string input box and enter 2 values separated by a blank.
They are forming a single range, the first one must be smaller than the second one.
The vector arrows having an amplitude lying between the limits are represented at the active
surfaces vertices.
The keyboard shortcut for Thresholded vector arrows is <t>.
Vectors along Section
To obtain the vector field quantity representation along an arbitrary section on the active surfaces,
choose Section from the Representation menu or click on the
button in the
Representations/Vectors subpanel.
The selection of the line section is done interactively by pressing, dragging and releasing the left
mouse button. The section line is actually defining a plane perpendicular to the screen. The
section along which the vectors are represented is the intersection of that plane with all the active
surfaces.
The keyboard shortcut for vectors along a Section is <d>.
Vectors along Grid Line
This command displays the vector arrows along constant index surface lines. To do so:
FIGURE 4.46
Vectors along Grid Lines
1. Choose Along Grid Line... from the Representation menu or click on the
button in the
Representations/Vectors subpanel. The above dialog box appears.
The "I" and "J" appellation do not necessarily correspond to the IGG™ index:
l if the surface is constant in I, the first index corresponds to J and the second to K.
l if the surface is constant in J, the first index corresponds to K and the second to I.
l if the surface is constant in K, the first index corresponds to I and the second to J.
2. Select the constant index: click on the desired Index button and set its value in the Value entry.
3. In the NodeRange frame, set the value of the first and last node to consider along the line.
4. Click the Apply button to see the vectors along the grid line.
5. Click the Close button to discard the dialog box.
This command is related to structured meshes only.
4.5.2 Update Vector Representation
Change Representation Scale
By default, CFView™ computes a scaling factor for the representation of vectors based on the
average vector field amplitude. To change that factor:
l click on the button
to enlarge the vectors or on the
button to scale down the vector
representations in the subpanel Representations/Vectors or
l use the Vector Type Editor dialog box through the Representation/Vector Type... menu as
described in Vector Type Dialog Box.
Change Color & Line Type
The vector arrow representation can be colored according to the vector amplitude or drawn in a
fixed color. The default coloring mode can be modified in the Vector Type Editor dialog box.
The coloring mode of the represented vectors as well as the line type used for the arrows may be
modified in the following way:
l Select the first vector or vector group to be modified by clicking on it with the left mouse
button. Select the other vector or vector groups by pressing the <Ctrl> key and clicking on
them. Highlighting markers are drawn on all the selected vectors.
l Press the right mouse button, a popup menu appears.
l Select Line Type... to open a Line Type Editor allowing the modification of the line type used
for the vector arrows .
l Select Color Lock to change the coloring mode into single color.
l Select Color by Amplitude to color the vectors according to their amplitude.
Vector Type Dialog Box
The representation type of the vector field as well as the representation scale and the shape of the
vector arrow head can be modified in the Vector Type Editor dialog box. To do so:
1. Choose Representation/Vector Type.... The dialog box appears.
2. Select the representation type:
l Full Vector for standard representation of vectors,
l Normal Component to represent the projection of the vectors on the surfaces local
normals,
l Tangent Component to represent the projection of the vectors on the surfaces local
tangent planes,
l Normal Difference for a representation of the locally normal component of the difference
between the mean vector and the local vector. The mean vector is computed as the average
vector on the surface, averaging being weighted by the area of the cells that are containing
the vertices,
l Tangent Difference for a representation of the locally tangent component of the difference
between the mean and the local vector. The mean vector is computed as the surface average
vector, in the same way as for the Normal Difference.
3. Select the arrow shape:
l select the Length of the arrow head relatively to the vector length,
l select the Width of the arrow head relatively to the vector length,
l select whether the arrow head should be filled or not.
4. Select the scaling factor. The Scaling factor is defined as a ratio between 2 numbers.
l double or half the numerator or the denominator by pressing on the up and down arrow
buttons.
l set the factor to a value of 1 by pressing on 1/1 button.
5. Select Color Uniform to have vectors drawn in a single color or Color Contour to have
vectors colored according to their amplitude.
6. Click the Apply button to redraw the vectors with the selected parameters without closing the
dialog box.
7. Click the Reset button to reset the changes and go back to the original values.
8. Click on Close to discard the dialog box.
The representation type and color mode parameters are applicable for the next vectors to be
created, while the scale and arrow shape are applied to all represented vectors.
The keyboard shortcut for Vector Type is 
.
Delete Vector Representations
CFView™ provides different methods to erase represented vectors:
l By interactive selection:
l select a first set of vectors by clicking on any of the vectors.
l Select others vectors to be deleted by pressing the <Ctrl> key while clicking on them.
l Press the right mouse button to raise a popup menu.
l Select the Delete item in the popup menu.
l By selecting Update/Delete/Vectors: all vector representations of the active quantity on active
surfaces are deleted.
l By selecting Update/Delete/All: all representations (not only the vectors) on all surfaces are
deleted.
4.5.3
Vector Lines
To generate vector lines by integration of the active vector quantity field, choose Vector line from
the Representation menu. A submenu appears which contains different commands. The
Representations/Vector Lines subpanel contains also shortcut buttons for these functionalities.
Vector lines may be obtained from a specified point, from a section or along a grid line. The
default computation and representation parameters can be changed by using the Vector Lines
Parameters dialog box.
Local Vector Line
To generate local vector lines:
1. Choose Local from the Representation/Vector line menu or click on the
button in the
Representations/Vector Lines subpanel.
2. Select the starting point. This can be done in different ways:
l with the mouse: select with the left mouse button a point on an active surface.
l with the keyboard: the message "Vector line starting point:" appears in the string input area.
Click on the string input box and enter the coordinates (the coordinates must be separated
with a blank) of the starting point. The actual start point is the projection of the provided
point on the closest active surface.
The vector line starts from this point and extends to the first non- connecting boundary
encountered or until the maximum number of points per vector line is exceeded .
The keyboard shortcut for Local vector line is <j>.
Vector Lines from Section
To generate a set of vector lines from a section:
1. Choose Section from the Representation/Vector line menu or click on the
button in the
Representations/Vector Lines subpanel.
2. Select a section defined by two points: move the mouse in the graphical area and click the left
mouse button to select the first point of the section line. A red line is attached to the cursor.
Move the cursor in the desired direction and click the left mouse button to define the second
point of the line.
The two points are actually defining a plane perpendicular to the screen. The section along
which the vector lines starting points are set is the intersection of that plane with the active
surfaces. The starting points are equally distributed between the two points.
A default number of 5 vector lines are generated from this section and extend to the first boundary
encountered.
When choosing Section, a message "Number of Points:" appears on the left of the string input area.
To modify the default number of starting point in the section, click on the string input box and enter
a number larger than 2.
The keyboard shortcut for vector lines from Section is <Shift> + <j>.
Vector Lines from Grid Line
To generate vector lines from the points contained in a grid line:
1. Choose From Grid Line... from the Representation/Vector line menu or click on the
button in the Representations/Vector Lines subpanel. A dialog box appears as shown in
FIGURE 4.47.
FIGURE 4.47
Vector Lines along Grid Line
The "I" and "J" appellation do not necessarily correspond to the IGG™ index:
l if the surface is constant in I, the first index corresponds to J and the second to K.
l if the surface is constant in J, the first index corresponds to K and the second to I.
l if the surface is constant in K, the first index corresponds to I and the second to J.
2. Select the constant index. Click on the desired Index button.
3. Set the value of this constant index in the Value box.
4. Select the nodes from which the lines are generated. To do this, enter a node range:
l Enter in the Firstbox a number included between 1 and the maximum of the unselected
index.
l Enter in the Last box a number included between 1 and the maximum of the unselected
index. This number shall be different from the First Node number.
5. Click the Apply button to start the vector line computation and display.
6. Click the Close button to close the dialog box.
The keyboard shortcut for vector lines From Grid Line is <Ctrl> + <j>.
4.5.4 Vector Lines Parameters
The parameters of the vector lines like the color, the direction, the curve type, the number of
points or the cell average can be changed in the following way.
1. Choose Parameters... from the Representation/Vector line menu or click on the
button
in the Representations/Vector Lines subpanel. A dialog box appears, as shown in FIGURE
4.48.
2. To modify the integration direction: click on the pull down menu and choose between three
options:
l forward, to set up a downstream integration,
l backward, to set up an upstream integration or
l both, to set up a full-stream integration.
3. To modify the computation mode: click on the pull menu and choose between two options:
l volume, to define vector line(s) in the 3D space or
l surface, to constrain the vector line on the surface from which it is started
4. To modify the maximum number of points per vector line: click on the Max points per line
box and enter the desired number of points or use the increment-decrement buttons (little up-
down arrows).
5. To modify the maximum number of points calculated inside each cell (this number avoids
continuous calculations when the vector line goes in a spiral inside a cell): click on the Max
points per cell box and enter the desired number of points or use the increment-decrement
buttons (little up-down arrows). This parameter is used only for surface streamlines on mesh
surfaces.
6. To modify the average number of points inside each cell (this average defines the number of
points calculated inside a cell): click on the Average points per cell box and enter the desired
point average or use the increment-decrement buttons (little up-down arrows). This parameter
is used only for surface streamlines on mesh surfaces.
7. Click the Apply button to apply the modifications.
8. Click the Reset button to discard the modifications and go back to the initial parameters.
9. Click the Close button to close the dialog box.
To modify the Line Type or the Marker Type click on the corresponding thumbnail that allows
the modification of the default line and marker types.
The selected parameters are applicable for the next vector line(s) to be created.
The keyboard shortcut for vector line Parameters is <q>.
FIGURE 4.48
Vector Lines Parameters
4.5.5
Stream Ribbons & Tubes
FIGURE 4.49
Ribbon and Tube type
General Parameters
The Variable options allow the user to choose if the ribbon and the tube have their size and twist
varying along the streamline.
When the size is set to Variable, the size of the ribbon/tube is proportional to the divergence of
the flow.
When the twist is set to Variable, the twist of the ribbon/tube is proportional to the vorticity of the
flow.
The parameter r0 is the size of the ribbon/tube at the beginning of the streamline. The parameter is
not a physical size, but is relative to the geometry extent of the project.
The computation of the twist and of the size is based on the interpolation of the curl and of the
divergence of the velocity field. These quantities are computed automatically the first time they
are needed and stored for latter use, when they are not present in the project.
The Scale parameters are two scaling factors that can be used to show the change of size and/or
twist in a better way. In that case, the ribbon size and twist are not related anymore to a physical
quantity. These parameters can be useful for illustration purposes,
to emphasize the flow
divergence and rotational properties.
The parameter Tube vertices is only used for tube generation: it defines the number of vertices of
the polygonal cross section of the tube.
Initial Direction
The normal at each point of the curve is computed automatically. However, the choice of the first
normal direction is left to the user, and has to be set by the Initial direction parameter. All the
directions are allowed, and you do not have to chose explicitly one of the coordinate axis, but for
the user's facility 3 shortcut X, Y and Z buttons are available for users to align the normal with one
of the axis coordinate.
It is better to use the same initial direction for all the ribbons of a given picture.
Advanced Parameters
Coincident Point Removal
The algorithms used to generate ribbons and tube geometry fail when the streamline curve has
coincident points. The "coincident point removal" option removes all the points that are too close
to each other: all the points that are closer than the Min. Distance parameter are collapsed.
When the creation of a ribbon or tube fails, the problem can often be solved by the "coincident
point removal" algorithm, and increasing the Min. Distance parameter.
Even if it is not its primary goal, the "coincident point removal" can be used to reduce the number of
points of a streamline, in order to reduce the ribbon geometric complexity.
Laplacian Filter
The "laplacian filter" algorithm smooths the streamlines and the stream tubes. The filter is a
sliding window average filter. The Pass count parameter represents the number of time the filter
is applied. The Kernel size parameter is the size of the filter's kernel (i.e. the number of points that
are taken into account in the average computation).
When filtering is on, the position of the curve points, the normals of the curve, the size and the twist
angle are filtered.
Twist Subdivision
In case of high vorticity flow, the quality of the ribbons can be low when the ribbon's geometric
density is not sufficient in comparison with the twist of the ribbon. The "twist subdivision"
algorithm refines locally the stream ribbon geometry. The general principle is to add new points to
the curve, until two successive normals never present a relative angle greater than the Minimum
angle parameter threshold. New points are added to the curve when the angle between two
successive point is too high. The Max. point parameter is the maximum number of points that
will be inserted every time a refinement is necessary.
Limitations
Generation Failure
The streams ribbon/tubes generation algorithm will fail when:
the initial stream curve contains coincident points
the local normal at the point P(i) of the curve is parallel to the local segment P(i-1)- P(i)
In these cases, a streamline will be used instead of a stream ribbon/tube.
Solution: in most of the cases, the "coincident point removal" algorithm solves these issues.
When the procedure fails, these errors are detected while computing the normals, with the
corresponding warning messages "warning: Curve contains coincident points. Can not compute
normals " and " warning: normal and previous_ segment are coincident. Can not compute
normals ". If they are detected during the ribbon/tube generation itself, the message will be
"Ribbon stream generation error: ribbon not created because of streamline data degeneracies"
Twist Angle Refinement
If the local twist angle is higher than Min angle parameter, the algorithm will add new points to
the stream ribbon/tube. However, if the number of points to add is higher than the Max Points
parameter, only this maximum number of points will be added, with the message: "Ribbon stream
generation warning: twist is too high...try reducing the twist scaling factor"
Local Computation of Divergence and of Curl
As explained before, the vorticity and the cross divergence computation are based on the
interpolation of the divergence and of the curl of the velocity field. These quantities must be
computed and stored for all the domains, even if they are only used locally by the streamline. An
amelioration could be to compute the divergence and the curl quantities only at the curve points
where they are required.
4.5.6 Update Vector Line Representation
Update Color
The vector lines may be drawn in a single color or colored according to the local amplitude of the
vector. To modify the coloring mode:
l Select the group of vector lines by clicking on any of its vector lines. Multiple selection may be
obtained by pressing the <Ctrl> key while clicking on another group of vector lines. The
selected vector lines are highlighted by markers.
l Press the right mouse button to raise a popup menu.
In this menu:
l select Uniform color to have vector lines represented in a single color or
l select Velocity color to have vector lines colored according to the local amplitude.
l select Export to File to export the selected streamline to a file. The format of the exported
file is as follows.
For each selected streamline:
1.
2.
the first line is the name of the streamline,
the second line is the coordinate system ("XYZ" for Cartesian, "RTHZ" for cylindrical or
"STM" for meridional),
3.
the third line is the number of points,
4. for each point there is one line with the x, y and z coordinates.
For example:
Streamline 2 from domain3.Kmax row_1_flux_1_Main_Blade_upStream_inlet
XYZ
63
0.264599 -0.0186495 -0.03
0.264599 -0.018613 -0.026752
......
l Select Parameters... to edit the type of curve used for the vector line representation. Note that
the line color parameter only has an effect if Uniform Color was selected before. See Curve,
Line & Marker Type Editors for a detailed description of these parameters.
l Select Delete to suppress the representations from the screen.
l Select Cartesian Plot to create a Cartesian plot of the velocity magnitude along the streamline.
Update Curve Type
In the popup menu associated to a vector line selection ,
select the Curve Type... item to open a Curve Type Editor dialog box. This dialog box allows the
user to modify the line and marker parameters as described in Curve, Line & Marker Type
Editors. Note that the color attribute is not used when the vector lines are colored according to the
local vector amplitude (Velocity color).
Delete Vector Lines
CFView™ provides different methods to erase represented vectors:
l By interactive selection: when a set of vector lines are selected , the associated
popup menu contains the Delete item. Select it to delete the selected vector lines.
l By selecting Update/Delete/Vector Lines: all vector lines representation of the active quantity
that were started from one of the active surfaces are deleted.
l By selecting Update/Delete/All: all representations (not only the vector lines) on all surfaces
are deleted.
4.6
COLORMAP & REPRESENTATIONS RANGE
4.6.1
Insert Colormap
The colormap is a color scale of the active quantity (for vector quantities, the magnitude of the
quantity is displayed). It is posted automatically when a colored representation (isolines, color
contours, vectors) is added. If posted, the colormap is also updated to the new quantity when the
active quantity is changed.
Choose Colormap from the Representation menu to display it in the current view. This
command acts as a toggle, select it again to remove the map from the current view.
The keyboard shortcut for Colormap is <Ctrl> + <r>.
4.6.2
Control Representations Range
This functionality allows the user to control the represented range of the active quantity. This
means that all colored representations of the quantity will be affected by a range selection. The
regions of the color contours with values falling outside the selected range will not be represented.
The isolines and vector having values falling outside the selected range will not be visible.
The quantity range is a global setting. It affects all the views related to the project that is edited.
Range Set
To change the limits of the color-map range, choose Representation/Scalar Range/Range Set
or Representation/Vector Range/Range Set or select the shortcut button
in the toolbar.
This option is also available when the colormap is selected (the colormap is selected by clicking
on it with the left mouse button), in the pop-up menu raised by pressing the right mouse button,
select the Set Range item.
Then insert the new limits in one of the following ways:
l Move the mouse to the string input area and enter the range of the color map. The two limits
must be separated by a blank.
l Move the mouse on the colormap and click at a level which represents the first limit. Drag the
mouse in the color map to a suitable value and release to fix the second limit.
A zoom to the selected range is performed.
Range Default
To set
the range of the color ramp to its default value, choose Representation/Scalar
Range/Range Default or Representation/Vector Range/Range Default, or press the shortcut
button
on the toolbar.
Range Active Surfaces
To set
Representation/Scalar Range/Range Active
the range of the colormap to the quantity range on the active surfaces, choose
or Representation/Vector
Surfaces
Range/Range Active Surfaces or press the shortcut button
on the toolbar.
4.6.3 Update Colormap Representation
Smooth & Strip Maps
By default, the colormap is represented with a strip and a smooth map. The colormap can also be
represented with only a smooth or a strip map.
To change the represented mapping, select the colormap by clicking on it with the left mouse
button, highlighting markers are displayed.
In the above popup menu raised by pressing the right mouse button:
l Select Smooth Only to have only a smooth colormap represented.
l Select Strip Only to have only a strip colormap represented.
l Select Smooth and Strip to have both smooth and strip map represented.
Depending on the current representation, two of these three items are present.
Reverse Colors
When right-clicking on the colormap, Select Reverse Colors in the popup menu will switch the
top and bottom colors.
Change Colormap Position & Size
By default, the colormap is represented at the extreme right of the view. CFView™ provides two
different ways of changing the location of the colormap. The default location of the colormap can
be modified in the menu Preferences / Colormap type.
To perform a location change:
l Select the colormap by clicking on it with the left mouse button, highlighting markers are
appearing.
l In the above popup menu raised by pressing the right mouse button: select the item Move or
Resize to start an interactive move or resize operation
To resize the colormap:
l move the cursor on one of the corner markers, the cursor is changed into a resizing symbol.
l press, drag and release the marker to the desired position.
To move the colormap:
l move the cursor inside the colormap, the cursor is changed into a moving symbol.
l press, drag and release the move the colormap to the desired position.
To leave the move or resize mode:
click with the left or the right mouse button or press the <Esc> key
Select the item Define Location to reposition the colormap:
l select the location of the colormap (right, left, top or bottom) by clicking at the edge of the
view where colormap needs to be placed. When the colormap moves, the name of the selected
quantity, the orientation of the number and the position of the NUMECA logo change as well.
Update Axis Graduations & Label
Ticks & Numbers
FIGURE 4.50
Axis ticks and labels definition dialog box
A specific dialog box exists for the user to update the ticks and the numbers style. In order to open
this dialog box, select the colormap, then, in the popup menu which is raised by pressing the right
mouse button, select the item Ticks & Numbers.... The default number type and format can be
modified in the menu Preferences / Colormap type.
The dialog box contains several parts:
l The numbers orientation buttons: allow the text orientation between horizontal, vertical or at
45 degrees.
l The numbers text type part allows the user to choose the font name, size and color for the axis
numbers.
l The Ticks entry allows the user to choose the number of graduations displayed on the axis.
Note that CFView™ is rounding automatically the graduations interval in order to display
values with as few significant numbers as possible. As an example, in order to decrease the
number of graduations, it may be necessary to decrease that number by several units: starting
from a default value of 10 ticks, if the value is set to 9, no change will occur. If the value is set
to 5, the number of ticks will be decreased in such a way that only one graduation over two is
kept.
l The Numbers distance entry enlarges or shrinks the spacing between the axis and the
graduation numbers.
l The Double Format allows the user to change the Number format to exponential and set the
precision of the number.
Colormap Label
In order to modify the axis label (legend), it should be selected by clicking on it with the left
mouse button. Red markers are displayed around it to indicate the selected element.
When selected, an insertion cursor is activated and the colormap label text may be modified in the
following way:
l The text is inserted at the cursor position. Initially, this cursor is positioned on the first
character.
l The left and right arrow key to move the insertion cursor.
l The <Backspace> keysuppresses the character on the left side of the insertion cursor.
When the axis label is selected, a popup menu is raised by pressing the right mouse button.
This menu contains the following elements:
l Select Larger font or Smaller font to enlarge or shrink the label text.
l Select Text Type... in order to open a Text Type Editor dialog box in which the label font can
be modified .
The default label type can be modified in the menu Preferences / Colormap type.
Colors Control
The menu Colors Control opens a dialog box to set color type and the number of stripes.
The coloring of the representations may be done using a Color (from blue to red), a Grayscale
mapping (from black to white), a B&W (cycling several times from black to white), a Matlab
Style or a User defined style. By default, the colored mapping is used. This color selection can
also use the menu bar:
l To select a grayscale mapping, select Update/Colormap/Reset Grayscale.
l To select a black and white mapping, select Update/Colormap/Reset B&W.
l To restore a standard color mapping, select Update/Colormap/Reset Color.
l To select a Matlab style, select one of the colormaps under Update/Colormap/Matlab Style.
Nine colormaps have been added in Matlab Style. The name of the new colormaps are "jet",
"cool", "hot", "summer", "winter", "spring", "bone", "copper", "pink". The colors are
inspired from Matlab.
FIGURE 4.51
Available Matlab style
l The option User defined allows the user to set customized colors. When it is selected, the
frame Colors Editor is activated. The user can change the bottom or top colors by clicking on
the small rectangles below the colormap, then choosing a color and clicking on the button
Update Colormap to update the colormap. The Apply button updates the colour format in
graphical area.
The user can also change intermediate colors in the colormap. To do this, the user must right-
click on a color in the colormap. A small rectangle appears below that color. The user can
select
this rectangle (by left- clicking on it) to define the color of this rectangle. The
intermediate rectangles can be removed by right- clicking on it. There can be at most 4
intermediate rectangles.
The color mapping is shared among all the representation of a quantity in all the views. When
changing the color mapping, the colormap and all the colored representations are modified
accordingly.
The Number of stripes is used to change the number of stripes in the colormap. The number of
stripes cannot be modified if the Matlab Style is selected.
The default color type and the default number of stripes can be modified in the menu Preferences
/ Colormap type.
4.7
REPRESENT PARTICLE TRACES DATA
This functionality allows the user to represent particle traces data computed by the Lagrangian
module of FINE™ / Turbo. These particle traces are always related to INLET boundaries. To
represent particle traces:
l Activate the INLET surfaces
from which the particle traces were started. The
Quantity/Particle Traces menu is enabled only if particle traces are attached to one of the
active surfaces.
l Select All Traces in the Quantity/Particle Traces menu to add the representations of all the
particle traces data related to the currently selected INLET boundaries.
l Select Traces... in the Quantity/Particle Traces menu to open a grid nodes chooser dialog
box which restricts the representation to a given range of nodes.
Update Particle Traces Representations
To update the type of line used to represent the particle traces, select them with the left mouse
button. The particle traces attached to a same inlet surface are forming a group that is selected
when any of its particle traces is selected.
Press the right mouse button, a popup menu appears. Select the Curve Type... item to open a
Curve Type Editor dialog box .
Delete Particle Traces
The popup menu associated to a particle traces group contains a Delete item. Select this item to
remove the representation of the particle traces group.
4.8
DECORATION TEXTS
Insert Text
Texts may be added in the active view in the following way:
1. Choose Update/Insert Text menu or click on the
button in the main tool bar.
2. Click in the active view at the position where the text should appear.
3. Input the text. Multiple text lines can be inserted by pressing the <Enter> key.
The default text font type, size and color may be changed using the Default Decoration Text Type
Editor, invoked from Preferences/Decoration Text type... (Edit, Save & Restore Defaults, for
further information on default settings and Text Type Editor for a detailed description of the text
type attributes).
The keyboard shortcut for Update/Insert Text is <Ctrl> + <t>.
Update Texts
The text can be edited using the mouse:
l Use the left button to select text for editing. The selected text appears with a box shaped frame.
l Use the left or the middle mouse button to drag the selected text in the view. Press to initiate
action and move the mouse to drag the text. Release to freeze the position of the text.
l Press the right button to raise a popup menu.
The pop up menu contains the following items:
l Select Larger font or Smaller font to increase or decrease the text size.
l Select Show frame or Hide frame to add or remove an opaque rectangular frame around the
text. The frame size is automatically set in order to fit the text extent.
l Select Text Type... to open the Text Type Editor dialog box. See Update Representations for
more details about how to use the various text controllers.
Delete Texts
CFView™ provides two methods to delete texts:
l with the mouse: select the text to be deleted with the left mouse button, a frame and
highlighting markers appear. Press the right mouse button to raise a popup menu and select the
Delete item.
l from the Update/Delete sub menu:
l choose Text All to remove all the text from the active view.
l choose Text Last to remove the last inserted text in the active view.
4.9
UPDATE REPRESENTATIONS
The data representations can be updated by selecting them individually or by groups as described
in Update Texts . Indeed, when representations are selected, a popup menu containing the
updating functionalities is accessible by pressing the right mouse button.
CFView™ provides also, in the Update menu, a set of items which allow the user to modify the
last created representation without selecting it.
For example, the line width of isolines can be modified immediately after their insertion using the
Line Type Editor started from the Update menu. However, if another representation is made, a
Gouraud shading for example, the isolines may not be modified without being interactively
selected.
The update commands are outlined below.
Undo
For some of the representations type, several representations can be inserted on the same surface.
This is the case for local values, isolines, vectors, vector lines and plot curves. For these
representation types, choose Undo from the Update menu to remove the last
inserted
representation. Each time this command is invoked, the latest representation from the group is
deleted. This command can be repeated until no object is left for that representation type.
The keyboard shortcut for Update/Undo is <u>.
Delete
It is possible to delete all or a specific representation type in the active view. To do so:
1. Choose Delete from the Update menu. A submenu appears.
2. Select a delete operation:
l choose All to remove at once all the data representations from all the active and inactive
surfaces in the active view.
The keyboard shortcut for Update/Delete/All is <Ctrl>+<d>.
l choose Text All to remove all the text from the active view.
l choose Text Last to remove the last inserted text in the active view.
l choose one of the other items to remove the associated data representations type from the
active surface(s) in the active view.
Representations cannot be removed from the active surface(s), with the Update/Delete menu, if the
corresponding quantity is not selected.
Representation Type Editors
Most of the modifications of representations attributes are done through dialog boxes. All the
dialog boxes in CFView™ use the same terminology and have a coherent behavior and aspect.
All the dialog boxes are made up of small controllers that perform editing. Some of these
controllers, such as the one allowing the selection of color, are included in several dialog boxes.
All dialog boxes have also a consistent button naming policy:
l Apply performs the editing.
l Reset discards the changes brought to the editing parameters and restores back the values they
had at the moment the dialog box was opened.
l Close discards the dialog box.
Text Type Editor
For editing a decoration text, axis numbers and axis label, text type editors are used.
These are a combination of the following controllers:
l A font controller allows the change of font type and size.
l A color controller allows the change of the text color.
l A line spacing controller allows the change of the spacing between the lines.
l An alignment controller allows the change of the text alignment.
l An anchor alignment controller allows the change of the text position relatively to its anchor
point.
l An anchor point controller allows the change of the text anchor position.
FIGURE 4.52
Text type definition dialog box
Several dialog boxes are made out of the same controls, the most common controllers are
described in the rest of this section. More specific controllers are described later in the text.
Color Controller
The color controller allows the user to change various colors in the system. To change the color
either select one of the 18 predefined ones or invoke a standard color editor by clicking on the
color editor button (Ed.).
LINUX Standard Color Editor
Windows Standard Color Editor
The color editor allows the user to select a color by specifying its definition in the RGB color
model. The RGB color model is a hardware oriented color model: Red, Green and Blue are the 3
additive components used in a color monitor to define a color).
On Linux platforms, use the RGB sliders or the entry fields to modify the color in RGB color
model space. On Windows platforms, select a color in the predefined area or in the colormap or
specify its RGB or its HSV values (Hue, Saturation, Value color model). Once a satisfying color
is obtained, click on OK to set the color in the controller and to close the dialog box. Click Cancel
to quit the dialog box without validating the choice.
Font Type Controller
The font controller allows the user to change the font type and size.
FIGURE 4.53
Font controller
The font type can be selected by clicking on the button on the right side of the entry showing the
currently selected font (arial in FIGURE 4.53) and its size by specifying an integer value.
Starting from version 3.8-22 of CFView™, two TrueType™ fonts have been introduced: Arial™
and Times™ (both are trademarks of Agfa Monotype Ltd). These fonts are based on the
TrueType technology and are rendered exactly in the same way on the screen and in bitmapped
pictures (PNG, JPEG, TIFF, PPM, PBM, PGM, NTSC). The Arial™ font is selected as the
system default font.
Curve, Line & Marker Type Editors
The Curve Type Editor dialog box is composed of a Line Type Editor and a Marker Type Editor.
The same layout and the same parameters are used throughout CFView™ to update the
representation parameters for the line and the markers. As an example, the line type editor is also
inserted as a frame in the Plot Axis Editor to edit the axis line type.
Line Type Editor
FIGURE 4.54
Line Type Editor
The Line Type Editor allows the user to modify the parameters that are controlling the appearance
of lines in the graphical area. In FIGURE 4.54, it is represented as the first page of the Curve
Type Editor.
The following parameters are controlling the line appearance:
l the line Pattern (solid, dashed, dotted, etc...)
l the line End cap.
l the line Join.
l the visibility (Visible).
l the color.
l the Thickness (1 is standard, 2 is twice as big as 1, etc...).
Marker Type Editor
The Marker Type Editor allows the user to modify the parameters that are controlling the
appearance of markers in the graphical area. In FIGURE 4.55, it is represented as the second page
of the Curve Type Editor
FIGURE 4.55
Marker Type Editor
The following parameters are controlling the markers appearance:
l the marker Symbol (Box, Circle, etc...),
l whether the marker shape should be Filled or not,
l whether the marker shape should be Lighted or not,
l the visibility (Visible),
l the color of the marker,
l the Size of the marker.
Numbers Format Editor
This controller allows the change of number formats. The following parameters shown in
FIGURE 4.56 can be modified:
l Exponent: the precision field is with the number of significant digits only if the "auto" or
"always" is selected. If "never" is selected, then the precision field is the total number of digits.
l +/- sign: whether or not the sign (+/-) should be displayed in front of the number.
FIGURE 4.56
Numbers Format Editor
l Precision: it can be increased, or decreased. The number displayed in the spinner shows an
example the current format. To adjust the number of significant digits, click on the up or down
arrow of the spinner.
4.10 EDIT, SAVE & RESTORE DEFAULTS
What Are Defaults ?
Defaults are a convenient way of predefining attributes in the system according to the user
preferences. In the current release of CFView™, 12 default attributes can be set:
l The default view background type attributes.
l The default text attributes.
l The default axis text attributes.
l The default colormap attributes.
l The default grid line attributes.
l The default surface boundaries line attributes.
l The default section curve attributes.
l The default node line attributes.
l The default plot data curve attributes.
l The default validation curve type attributes.
l The default comparison curve type attributes.
l The default local value attributes.
l The default Plot3D file type.
l The default range colors type.
l The default derived quantity epsilon.
l The default number of undo.
l The default turbo settings for STM view creation.
l The default NLH settings for spectral solution.
l The default projects comparison tolerance.
l The default limits of the loaded IGG™ curve used to create a cutting surface.
l The default lightening on contour representation. Set to on by default for marine applications
otherwise set to off
l The default hiding of blanked cells significant for projects applying the overset grids.
All the attributes are editable through the dialog boxes which are opened by selecting the
corresponding item in the Preferences menu.
Load Defaults from File
Choose Preferences/Load Defaults.... A file chooser appears in which the defaults file should be
selected.
At start- up the system tries to load the personal defaults file. This file should be located in the
subdirectory .numeca of the user's home directory and should be named .cfview.def.
Save Defaults to a File
Choose Preferences/Save Defaults.... A file chooser appears, it prompts for the name to give to
the file. A valid CFView™ defaults file have the extension '.def
At the end of the CFView™ session, the system checks if changes were brought to the defaults
configuration. If changes occurred, the system will ask whether these changes should be saved or not.
Other User Preferences
A couple of preference parameters are not saved in the default files. These are detailed in the
following sections.
Reverse Video
To swap the display background from white to black, choose Reverse Video from the
Preferences pull down menu. This acts as a toggle: selecting a second time restores the initial
background color.
This parameter can be set by the command line argument
REVERSEVIDEO environment variable.
- reversevideo or by the
The keyboard shortcut for Reverse Video is <w>.
AutoGrid
The AutoGrid item from the Preferences menu enables or disables an invisible grid on which
the views corners are attracted when performing a move or a resize operation. It is turned on by
default.
Face Displacement
The Face Displacement() item from the Preferences menu allows the user to modify the default
value of the face displacement parameter. Valid range is 0 - 1. This parameter is used for
improved rendering of the color contour (or shading) simultaneously with grid or iso-surfaces
lines. The graphic display of the faces is moved slightly backwards to allow a proper rendering of
the lines.
The default value is 0.1. But
facedisplacement or by the FACEDISPLACEMENT environment variable.
this value can be set by the command line argument -
4.11 SURFACE INTEGRALS
CFView™ provides various types of integrals which can be computed over the active surfaces.
The available types of integrals depend on the quantity type.
Surface Integrals of Selected Geometry
The surface integral functionality is contained in the Geometry/Surfaces menu. The following
integrals are available:
l Area
: select this item in the Geometry/Surfaces menu to compute the sum of the
areas of all the active surfaces.
l Projected Area
: select
this item in the Geometry/Surfaces menu to
compute the sum of the areas of the projected active surfaces. When selecting the option, the
projection plane normal has to be specified. The angle β is the angle between the normal of the
active surface and the normal of the plane on which the surface is projected.
When parts of surfaces are projected at the same place on the plane, each one contributes to the result
that is therefore greater or equal to the surface of the shade of all active surfaces on the plane. I.e. if
the surface is closed and is the boundary of a convex domain (no line that join two points within the
domain cross the boundary surface) the projected surface area is two times the surface area of the
shade. This is typically the case for a plane wing.
Surface Integrals of Scalars
The surface integral functionality is contained in the Representation/Surface Integral menu and
in the Representations/Integrals subpanel. The following integrals are available:
l Surface Area
: select this item in the Representation/Surface Integral menu to
compute the sum of the areas of all the active surfaces.
l Scalar Integral
: select this item in the Representation/Surface Integral menu or
click on the button
all the active surfaces.
in the Representations/Integrals subpanel to compute this integral on
l Scalar Average
: select this item in the Representation/Surface Integral menu or
click on the button
Integral divided by the Surface Area.
in the Representations/Integrals subpanel to compute the Scalar
l Vector Integral
: select this item in the Representation/Surface Integral menu or
click on the button
in the Representations/Integrals subpanel to compute this integral on
all the active surfaces. The direction of the integrated vector are given by the positive normal to
the surface element, and its module is equal to the local value of the scalar active quantity. As
an example, this integral can be used to compute the force exerted on a solid object by the
pressure on its surface.
l Vector Average
: select this item in the Representation/Surface Integral menu or
click on the button
Integral divided by the Surface Area
in the Representations/Integrals subpanel to compute the Vector
l Weighted Integral
: select the button
in the Representations/ Integrals
subpanel to compute this integral. The weighting factor
can be selected in the drop-down
menu below the integral buttons. By default for FINE™/Turbo solution,
the available
weighting factors are Density*Vxyz, Density*Wxyz, Vxyz, Wxyz and 1. However, any valid
vector equation can be entered as weighting factor.
The integration result is written in the information output area, on the lower right corner of the
graphics area.
When applying weighted integral with weighting factor set to Density*Vxyz or Density*Wxyz on
surface with strong backflow, the result can be far from the min/max range of the variable to be
weighted. To have a result
the weighting factor might be adapted to
Density*abs(Vxyz) or Density*abs(Wxyz) or the user can define his own weighting function..
in the min/max range,
Surface Integrals of Vectors
The surface integral functionality is contained in the Representation/Surface Integral menu and
in the Representations/Integrals subpanel. The following integrals are available:
l Surface Area
: select this item in the Representation/Surface Integral menu to
compute the sum of the areas of all the active surfaces.
l Flux
: select this item in the Representation/Surface Integral menu or click on
the button
quantity through the active surfaces.
in the Representations/Integrals subpanel to compute the flux of the vector
l Weighted Flux
: select this item in the Representation/Surface Integral menu
to compute a flux integral weighted by a scalar field. The weighting scalar (
clicking on a scalar field name in the Weighted Flux sub-menu.
) is selected by
The integral is performed on the active surfaces.
When computing flux on multiple IJK surfaces, the sign of the flux is depending of the local
surface orientation.
FIGURE 4.57
Flux through K cst surfaces where combined flux sign has to be corrected.
l Massflow
: activate a surface from the Surfaces subpanel in the Quick Access
Pad and then click the button
in the Integrals page of Representation subpanel to
compute the mass flow through the active surface. The integration result with the unit is
displayed in the information output area.
l Vector Integral
in the
Representations/Integrals subpanel to compute this integral on all the active surfaces and
provides the x,y,z components of the resulting vector. As an example, this integral can be used
to compute the total force and vector torque components on a blade.
this item by clicking on the button
: select
4.12 VOLUME INTEGRALS
The volume integral of a scalar quantity is computed by summing over each cell of the entire
domain (all the blocks) the product of the quantity interpolated at the center of the cell by the
volume of the cell. The volume integral of a vector quantity is computed component by
component. As for the volume average of a quantity, it is obtained by having the volume integral
divided by the volume of the entire domain. The volume of the whole mesh can be computed
through Geometry/Volume. The integration result is written in the information output area on the
lower right corner of the graphics area.
It is not possible to compute the volume separately for different domains in one project.
Volume Integrals of Scalars
The volume integral functionality is contained in the Representations/Integrals subpanel. The
following integrals are available for scalars:
l Volume Integral
: select the button
in the Representations/Integrals subpanel
to compute this integral on the active scalar quantity.
l Volume Average
: select the button
in the Representations/Integrals subpanel
to compute the Volume Integral divided by the Volume.
The domain of integration cannot be specified by the user.
Volume Integrals of Vectors
The volume integral functionality is contained in the Representations/Integrals subpanel. The
following integrals are available for vectors:
l Volume Integral
: select the button
in the Representations/Integrals subpanel
to compute this integral on the active vector quantity.
l Volume Average
: select the button
in the Representations/Integrals subpanel
to compute the Volume Integral divided by the Volume.
The domain of integration cannot be specified by the user.
4.13 CURVE INTEGRALS
To perform an integral along a curve, select Representation/Curve Integral. The integration is
done in the following way:
l The request message "Input equation or press and drag to select section" appears in the
message area and the name of the active quantity appears in the string input area.
l The integration may be of any valid mathematical expression (Create Derived Quantity for the
details on supported equations). By default, CFView™ is proposing to integrate the active
quantity. This expression can be replaced in the string entry. If the expression is changed, it is
validated by pressing the <Enter> key. If the expression is a scalar one, a standard scalar
integration along a line is performed. If it is vectorial, the amplitude of the component normal
the integration line is integrated.
l If the default expression is used, press with the left mouse button on the start point, then drag
and release on the end point.
l If the expression is validated by pressing <Enter>, then CFView™ proposes to press and drag
to draw the section or to enter the position of its start and end points.
l The curve integral is computed along the intersection between the plane defined by the start
point, the end point and the viewing direction (the plane that contains the start and end points
and that is parallel to the viewing direction) and the active surfaces.
l The actual start and end points for the integration are the intersection between the active
surface and the ray passing at the user specified point and parallel to the viewing direction. If
there is no intersection, the integral is computed from / to the boundary intersection.
l The integration result is written in the string input area.
The integral is performed on the active surfaces from the start point to the end point. As sketched
in FIGURE 4.58, the integration is not made on the parts of the section that fall before the start
point or after the end point. If both points are on the surface (sketched on the left), the integral is
limited between A and B. If A falls outside of the active surface (sketched at the centre), the
integral is performed between the boundary intersection and B. And if both A and B fall outside
of the surface (sketched on the right), the integral is computed over the whole section.
FIGURE 4.58
Illustration of integration from A to B.
4.14 EXPORT QUANTITIES DISTRIBUTION
"dat" Format
To export the value of the active quantity on the active surfaces, select Export Active Surfaces...
from the Geometry menu. A file chooser is opened to select the file in which the data is written.
The created file has the following format:
l For each surface:
l the first line contains the name of the surface
l the second line contains 3 numbers: the number of geometrical coordinates (3), the number
of exported quantities (1) and the number of grid points
l the following lines contain the geometrical coordinates of a point followed by the value of
the active quantity on this grid point
l if several surfaces are exported in a same file, they are separated by 2 empty lines.
Example:
Block_1.Kmin Mirror
3 1 9425 |Vxyz_X| |Vxyz_Y| |Vxyz_Z|
6.500100e-002 6.000000e-002 0.000000e+000 -1.457787e-006 -5.816685e-006 0.000000e+000
...
1.200000e-001 6.000000e-002 0.000000e+000 7.074288e-002 -3.901238e-002 0.000000e+000
Block_2.Kmin Mirror
3 1 4225 |Vxyz_X| |Vxyz_Y| |Vxyz_Z|
1.200000e-001 0.000000e+000 0.000000e+000 1.168020e-001 7.446105e-004 0.000000e+000
...
2.900000e-001 1.200000e-001 0.000000e+000 1.159577e-001 9.697273e-004 0.000000e+000
"cgns" Format
To export the value of the selected quantities on the active surfaces in CGNS format, select
Export CGNS Active Surfaces... from the Geometry menu. The dialog box shown in FIGURE
4.59 appears.
FIGURE 4.59
CGNS Surface Saver dialog box
All the quantities in the project and computed by CFView™ are available for selection. By
default, only the ones that have been loaded or computed are pre-selected. The user can add or
remove any quantities to the selection. The user can also set the CGNS Base name.
When clicking on the button Apply, a file chooser is opened to select the file in which the data are
written. If the project is unsteady, _t# is added before the .cgns extension, where # is the number
of the time step. When animating, a new CGNS file is generated for each time step.
When the computation is a harmonic computation, the harmonic data will be saved in the CGNS
file. For each surface, there is a base "HarmonicData" which contains:
l The list of the names of the harmonics in the group to which the surface belongs
("NamesFreqs")
l The list of frequencies ("Frequencies")
l The list of interblade phase angles ("InterbladePhaseAngle")
l The list of spatial modes ("SpatialMode")
l The rotation speed of the row to which the surface belongs ("RotationSpeed")
By default, the repetition settings will be written in the CGNS file. If the repetition settings can be
found when opening a CGNS surface file, CFView™ will use these settings as the default
repetition settings. If the repetition settings cannot be found when opening a CGNS surface file,
no repetition will be proposed. In this case, the user can enter the repetition type and parameters
through the menu Geometry / Repetition Settings.
The Save Scene option allows the user to save and retrieve the active scene into CFView™.
Once the option is checked, the following features will be saved in the CGNS file:
l Camera position;
l Surface materials (color, grid, transparency, etc);
l Solid rendering (gouraud, flat, etc);
l Color contours;
l Quantities' names, units and ranges;
l Vectors;
l Colormap properties (colors, ticks, title size, etc);
l Repetitions;
l Texts;
l Time label;
l Local values and vectors.
The features saved in the CGNS surface file can be retrieved once it is opened in CFView™.
All representations that are not explicitly mentioned in the list above will not be saved in the CGNS
surface file and therefore will not be retrieved upon loading. For instances, streamlines, iso-lines, axis,
Cartesian plots, fluid characteristics (derived quantities), etc.
The non conformal cells (with hanging nodes) are saved as conformal cells in the CGNS surface file.
The edges joining the hanging nodes to cells corners are added.
No license is required to open these CGNS surface data into CFView™ once they are saved.
Acoustic Radiating Surface
For harmonic computations in CFView™, the user can export an acoustic radiating surface to a
.cgns file. This can be done by selecting Acoustic Radiating Surface... from the Geometry
menu. The Acoustic Radiating Surface menu allows the user to:
l Define a cylinder in the meridional view.
l Generate the mesh on the cylinder.
l Compute harmonic data in the fixed reference frame on the cylindrical mesh.
l Save the resulting CFD surface project
into a surface cgns file that can be read by
FINE™/Acoustics and used to compute the noise radiation to the far-field microphones.
If more than 20 harmonics are present in the solution, a warning message "Computation with more
than 20 harmonics currently not supported for NLH post-processing" will be shown. In this case, the
Geometry/Acoustic Radiating Surface and Representation/NLH menus are grayed out.
The Acoustic Radiating Surface dialog box is shown as follows. When opening the Acoustic
Radiating Surface dialog box, a preview of the surface is shown in the 3D View. If the
corresponding meridional view is also opened, the surface limits are shown in the 2D view.
The Acoustic Radiating Surface should enclose all solid boundaries, like nacelle, rotor/stator blades
and non-uniform mean flow where non-linearity is remarkable.
The entries available in the dialog box are:
Geometry inputs:
l Radius: the external radius of the cylinder.
l Z min: the value of z at which the cylinder starts.
l Z max: the value of z at which the cylinder ends.
l R ( Z min ) : the minimum radius value at Z min
l R ( Z max ) : the minimum radius value at Z max
l The check button Triangulate Cylinder Bases allows to generate triangulated surfaces on
cylinder bases, avoiding singularities at null radius and avoiding the generation of excessive
number of small cells while the radius decreases.
l The check button Generate 360 degrees allows to generate the surface mesh on the full 360
degree instead of one periodicity.
l Relative Tol %: controls the minimum gap size at Rotor/Stator interfaces. This parameter
allows to control the distance between the end of a patch belonging to a group and the
beginning of the patch belonging to the group of the other side of the RS interface. The gap is
proportional to the z expand of the test case: delta_z=zMax-zMin. The user input is finally
used with the following relation: gap=delta_ z*Relative Tol*default tolerance factor. The
default tolerance factor is currently set to 1e-4.
Frequencies inputs:
l Max Frequency: The maximum frequency kept in the output file.
l Max Fourier Coef: The change of reference frame is based on a spatial Fourier transform. This
entry allows to control the number of Fourier coefficients.
Outputs inputs:
l The check button Write Module and Phase adds the Module and the Phase to the
corresponding Real and Imaginary parts in the output file.
l The check button Open Result makes CFView™ to open the resulting surface cgns output
once generated. This is useful in the design stage while the output intends to be opened by
FINE™/Acoustics.
Number of points
The number of points can be controlled in the following directions Axial, Azimuthal, Radial at Z
min and Radial at Z max. Actually, most often, the user may control only the cell size according
to the maximum frequency value. When activating the check button From Cell Size, the user
only controls the cell size and the number of points in different directions that are computed
accordingly the corresponding entries.
By default, option From Cell Size provides a surface with good resolution .
When clicking on the Save button, a file chooser is opened with a default file that is beside the
run file but a postfix "_ars" added to the project name. Only cgns extension is allowed.
4.15 OUTPUT GENERATION
To generate output from CFView™, select Print... from the File menu. The following dialog box
then appears.
On the left side, a frame allows the selection of the output file format . On the right side, the user can choose between a print of the
Active View or of all views present in the graphical area (Graphics Window).
If a title is to be inserted on the top of the picture, the Banner button must be selected and the title
should be typed in the string entry. The date may be inserted in the banner by selecting the Date
in Banneroption. The type and size of the title can also be set. If the Size is set to 0 (default), the
font does not have a fixed size but the size is computed during printing as a ratio of the banner
windows height.
FIGURE 4.60
Hardcopy Output Set-Up
The Options frame allows the user to select various options which depend on the selected file
format. The options are described in Output Format Description.
Output Format Description
By default, two output formats are proposed:
PNG
PNG is a compressed bitmapped colored format that is recommended in most cases. This format
reduces greatly the created picture file size without any degradation and it is supported by nearly
all the word processors and image handling tools.
In the Options frame, the size of the picture may be specified in percent of the screen display (by
selecting the scaling option) or by setting directly the number of pixels in width and height
(option size).
The first way of specifying the size is more intuitive. The default size is 100%, meaning that the
created picture is of the same size as the screen display.
Please note that the text rendering may suffer some degradation if arbitrary size values are used.
Recommended values are multiple of 100%, in such a way that the text size in pixels remains an
integer.
PostScript
PostScript is a page description format used for hard copy prints. Pixelised (bitmapped) option is
supported. This format is widely accepted by printer devices.
The PostScript format may be useful if the created picture is sent directly to a PostScript printer.
Furthermore, in the Options frame, the resolution is specified in dots per inch (dpi). The size and
positioning of the created picture is controlled by a specific dialog box, the Page Layout Editor,
which is opened by pressing the Page Layout button 
Other Formats
If the button Others... is selected, a more extensive list of file formats is proposed. These formats
should be used only when format compatibility problems are encountered. The proposed formats
are:
l EPS is the encapsulated PostScript bitmapped format. It is similar to PostScript except that it is
independent of any page size definition.
l PBM is a black and white bitmap format (all non white pixels become black).
l PGM is a grayscale (256 levels of gray) bitmap format.
l PPM is a color (16 million colors) bitmap format.
l TIFF is the standard TIFF RGB full color format (16 million colors)
l JPEG is a compressed colored format.
For the 5 last formats, the size may be specified in the same way as for the PNG file format 
PostScript Page Layout Editor
To control the page layout of the PostScript output, choose the Page Layout button in the Option
frame, the dialog box shown in FIGURE 4.61 appears:
l Use the Paper Size controller to set the page size used for the output.
l Use the orientation controller to select Portrait or Landscape orientation.
l Use the reduction factor control to select the reduction factor to apply to the picture. The
reduction factors are defined as the ratio between the graphical displays on the screen and on
the paper sheet. The button Max. Size computes automatically reduction factors for a maximum
size.
If the page layout is not customized before a PostScript output, a default set of parameters is used:
A4 page size, orientation best fitting the picture aspect ratio and reduction factors equals to their
maximum value).
FIGURE 4.61
Page Layout Editor
CHAPTER 5.
TURBOMACHINERY SPECIFIC FEATURES
This chapter provides a detailed description of
applications. It is divided in 5 sections:
l visualization in blade to blade coordinates,
the functionalities specific to turbomachinery
l computing a meridional view by azimuthal averaging,
l the TurboMachinery mode.
l the NLH post-processing.
l the TurboWizard module.
In this section
5.1 Visualization in Blade to Blade Coordinates
5.2 Compute Meridional View by Azimuthal Averaging
5.3 TurboMachinery Mode
5.4 NLH Post-processing
5.5 TurboWizard Module
228
232
238
242
257
5.1
VISUALIZATION IN BLADE TO BLADE
COORDINATES
The blade to blade functionality described here allows to visualize a computation solution in the
blade to blade coordinates system as well as to define usual constant span and constant stream
position cuts. It is covering a wide range of project types (not limited to AutoGrid5™ topologies)
such as multi-stage turbomachinery simulations. This functionality relies on the declaration of the
hub and shroud curves and allows to create cutting planes at constant span or stream position in
any view.
5.1.1
Hub & Shroud Definition
In order to enable the computation of span and stream positions, the hub and shroud curves must
be known by CFView™.
Starting from v8.4 of AutoGrid5™, the hub and shroud curves are saved in the CGNS file
created by AutoGrid5™ and starting from v8.6, they are also copied in the CGNS file of
FINE™/Turbo flow solver. By default when loading a FINE™/Turbo solution within
CFView™, the hub and shroud curves definition will be read first in the CGNS file of the solver,
then in the CGNS file of AutoGrid5™.
In case these two steps are not successful, it is strongly advised to open and save the mesh file in a
recent version of AutoGrid5™ or to define the hub and shroud curves in a ASCII dat file.
In case you want to compute the span and stream positions for only one row, please use the Partial
Loader .
If necessary, the hub and shroud curves definition may be modified. The menu Geometry/Load
hub and shroud curves... offers the possibility to load the hub and shroud curves definition to
allow the computation of STM views (Window/Open Blade to Blade or File/Turbomachinery)
and blade-to-blade cuts (Quick Access Pad/Surfaces/Blade to blade) in a structured or an
unstructured project.
The file used to define the hub and shroud curves can be either:
l a CGNS file generated by AutoGrid5™ (starting v8.4.),
l an ASCII dat file format with the format provided in FIGURE 5.1.
FIGURE 5.1
Define hub and shroud curves in ASCII dat file
When loading the hub and shroud definition from a CGNS file, if the geomTurbo file is not available,
no conversion factor is provided for the cases where flow solver and AutoGrid5™ do not use the
same geometry units. In this case, the script command SetAG5Conversion(float) has to be executed
to introduce a conversion factor.
When the project is including a non- axisymmetric hub or shroud, CFView™ can cope with few
points below the hub and above the shroud but if there are too many, it will consider the block as part
of a meridional effect. The workaround consists in importing an axisymmetric curve such as all the
points are included between the hub and the shroud curves.
5.1.2
Open Blade to Blade View
A blade to blade view is a normal view where all the representations are drawn in the coordinate
space formed by the span position (S), the azimuthal position (T for Theta) and the stream
position (M). By default, the geometry is represented with the M coordinate axis horizontal and
the T coordinate axis vertical.
The Preferences/Turbo Settings... menu offers the possibility to control the B2B view creation
before loading the solution file within CFView™. By default, in the B2B view the M (curvilinear
stream coordinate) is defined as in AutoGrid5™ (more details in TurboMachinery Mode).
To open such a view, select Open Blade to Blade from the Window menu. CFView™ prompts
for an interactive definition of the view size and position. Once the position and size are provided,
CFView™ computes if necessary the blade to blade coordinates for the geometry to represent.
A blade to blade view is a standard three-dimensional view in which all the representations of
scalar fields described in Flow Quantities Visualization are available. For vector quantities, only
the vector arrow representations are available, the vector line representation is not supported.
In blade to blade views, cutting planes at specific span height may be obtained from the Create
Cutting Plane dialog box or from the Blade to blade Surface dialog box described in
Visualization of Blade to Blade Surfaces.
The AutoGrid5™ zr effects are not allowed in the STM view.
5.1.3
Visualization of Blade to Blade Surfaces
Surfaces at constant span or stream position can be defined in any 3D view. It is not necessary to
open a blade to blade view, blade to blade surfaces can be created and visualized directly in a
Cartesian or a cylindrical view based on the settings imposed in the Preferences/Turbo
Settings... menu before loading the solution file.
The creation of the blade to blade surfaces is performed using the Blade to blade surface dialog
box (Geometry / Blade to Blade Surface... or the item
Pad).
in Quick Access
The keyboard shortcut for Geometry/Blade to Blade Surface ... is <Ctrl>+<b>.
FIGURE 5.2
Blade to Blade Surface creation
On the left side, the constant span or constant stream position is selected (e.g. S = 0.5 at mid-
span). By default, the span is defined as in AutoGrid5™ and the stream is defined as the hub
equals the shroud (more details in TurboMachinery Mode). The middle frame allows to sweep in
the geometry with a user defined increment. On the right side, the kind of representation can be
selected:
l Quantity: representation of the active quantity color contour or vector field. This option is
only available if a quantity is selected at the time the dialog box is opened.
l Geometry: representation of the cut surfaces grid.
l Polygon: representation of the cut as a flat polygon. This representation is very fast but is
limited to the views in STM coordinates.
The layout of the push buttons is similar to the one of the cutting plane creation dialog box:
l Press the Apply button in order to get a graphical representation of the surface corresponding to
the selected span or stream position.
l Press the Save button to save the surface which corresponds to the selected span or stream
position. The surface becomes part of the surfaces that can be selected later with the surface
selection functionality (Select Surfaces).
l Press the Reset button in order to reset the parameters to their default value (a blade to blade
surface at mid-span).
l Press the Close button in order to discard the dialog box.
FIGURE 5.3 illustrates the use of the blade to blade feature. Cutting planes at a specified distance
between the hub and the shroud can be visualized in several coordinate spaces.
FIGURE 5.3
Blade to Blade view of a Radial Compressor
On the left side of FIGURE 5.3 the mid-span cut is shown in red in the original XYZ coordinate
space. On the lower right side, the static pressure distribution on the same surface is shown in the
STM coordinate space. On the upper right, a zoom to the blade leading edge is shown.
5.2
COMPUTE MERIDIONAL VIEW BY
AZIMUTHAL AVERAGING
In projects showing symmetry around the Z axis, the azimuthal (or pitch) average of scalar and
vector quantities are calculated by weighted integration in theta direction, along R-Z constant
lines.
The integration paths originate at the nodes of a bi-dimensional mesh: the meridional mesh. This
meridional mesh is a set of subsurfaces selected in the volumetric mesh: the meridional patches. In
order to have a complete meridional view, the cumulated areas of the Z-R projections of these
patches must cover up the area of the Z-R projection of the volumetric mesh.
A set of default patches for the meridional mesh is available in CFView™. However, it is still
possible to define a different set of surfaces.
For blade passages meshed with a H topology, the patches are usually taken halfway between the
theta limits of the domain. For blade passages meshed with an O, O4H or similar topology, the
patches are usually taken as one of the periodic boundaries.
The weighted integration is performed in all the domains, in order to get an average over all the
meshed blade passages. The choice is given between two weighting modes:
l RhoV mode (mass flow averaging): the weight coefficient takes the value Density*Vm where
the meridional velocity component is:
l None mode: area averaging takes place
By default, the RhoV mode is selected.
5.2.1 Meridional Average Input Definition
The meridional average input may be defined interactively in a specific dialog box accessed
through Geometry/Set Meridional Average Input... menu. This is necessary only if the defaults
patches are not satisfying, or when working with project computed with a FINE™/Turbo version
lower than 6. A list of quantities has been added to the dialog box for averaging. By default, all
quantities that are not harmonic are selected.
A. Structured Project
Depending on the number of blocks, the dialog box is different. If the mesh contains more than
one domain, it may happen that more than one surface has to be selected, each of them in their
distinct domains.
FIGURE 5.4
Meridional average input definition dialog box of structured project for multiple domains
To add a patch to the meridional mesh:
l Select the domain from which it is extracted by clicking on the domain number in the
Domains list.
l Select the patch family by activating the I,JorK option and by setting the index value in the
Value entry. The surface is represented in blue in the currently active view.
l If necessary, select a subrange in the two surface indexing directions using the four entries in
the lower left corner of the Select frame. The representation in the active view is updated
accordingly.
l Press the add button to insert the surface in the Surfaces list.
To remove a patch from the Surfaces list or to verify the selected patches:
l Select a patch in the Surfaces list.
l Press the right mouse button, a popup menu appears:
l Select Show WireFrame in order to visualize the selected surface in the active view.
l Select Remove to remove the surface from the Surfaces list.
To select the weighting mode:
l select None for no weighting coefficient or
l select RhoV for a weighting coefficient having the value Density*Meridional Velocity
Component.
If the mesh contains only one domain, the layout of the dialog box is simplified as in FIGURE
5.5:
FIGURE 5.5
Meridional average input definition for single domain
The dialog box contains only the selection frame and the buttons to choose the weighting factors.
Once the meridional patches are selected,
l Press the Ok button to validate the choice and quit the dialog box,
l Press the Reset button to come back to the initial choice or
l Press the Close button to discard the dialog without applying the meridional patches selection.
If the RhoV mode of weighting is selected, first ensure that a vector field Vxyz or Wxyz is present.
If the scalar field Densityis not present, its value is assumed to be uniformly 1.
If the Density field is not present, such a field can be generated by making use of the derived
quantities functionality.
B. Unstructured Project
For unstructured cases, the user is allowed to choose the meridional surfaces from the dialog box
shown in FIGURE 5.6. The surface is highlighted once it is selected in the Surfaces list. By
clicking on the arrow button, the selected surfaces can be added into the Meridional Surfaces
list. CFView™ will compute the meridional view by using the meridional surfaces given by the
user.
FIGURE 5.6
Meridional average input definition dialog box of unstructured project for multiple domains
In case of an axisymmetric configuration, it is recommended to use the periodic surfaces when
available to save time and also because the meridional mesh generated automatically by CFView™
will almost always be worse than the mesh of the periodic surfaces (especially if they come from an
AutoGrid5™ mesh converted in HEXPRESS™).
If there is no surface chosen in the list, the meridional surface will be created by CFView™. This
process involves two steps:
l The envelope of the project in the meridional view is computed.
l Then the meridional mesh can be obtained by projecting the 3D mesh points in the meridional
view and then performing Delaunay triangulation for cases meshed at 360 degrees. For cases
that are not meshed at 360 degrees and are axisymmetric, it is possible to obtain a better mesh
by projecting the points of the periodic surfaces in the meridional plane.
In the creation of the meridional surface, the holes may not be detected if their boundaries are not
axisymmetric.
The mesh produced by the Delaunay triangulation may sometimes contain big cells. When the
geometry is not axisymmetric and if the test case is huge, the meridional mesh can have too many
points at some places.
The computation may be time consuming for huge cases if no meridional surface is provided by the
user.
5.2.2
Compute & Open Meridional View
The computation of the azimuthal averaging is started by selecting Compute & Open Pitch
Average from the Window menu.
A message "Computing pitch average" is displayed and a progress meter shows the computation
progression.
Once the computation is completed, a bi-dimensional project whose geometrical support is the R-
Z projection of the meridional mesh is opened. It contains the fields which are the pitch average
values of the fields selected in the Define Meridional Average Input dialog box (by default all the
fields of the tri-dimensional project).
This project can be handled as any project: several views of the same data can be opened. It is
also possible to open different meridional average computations which are based on a different
meridional patches set or on a different weighting factor.
5.3
TURBOMACHINERY MODE
The turbomachinery mode is a unifying mode for turbomachinery analysis. It combines the
display of a meridional view with the display of blade to blade surfaces and of blade surfaces in
order to facilitate the creation of standard views used in turbomachinery analysis.
TurboMachinery Settings
The menu Preferences/Turbo Settings... offers the possibility to control the STM and B2B
views creation before loading the solution file within CFView™.
By default two approaches are used:
l In the TM view, an "AutoGrid5 Definition" approach is used to create a B2B view equals to
the B2B view in AutoGrid5™: dM = ds/R where "ds" is the distance between two
consecutive flow path points and "R" the radius. When the hub contains points at R=0 (bulb
configuration), the definition is replaced by dM=ds/(R+R Shift) which leads to B2B surfaces
slightly different from AutoGrid5™ B2B view since this part of the geometry (bulb) is not
available in AutoGrid5™ B2B view.
l In the SM view, an "Hub Equal Shroud" approach is used to allow constant m cuts:
dm=ds*mFactor where "dm" is normalized to ensure the same m at outlet for each flow path.
In addition "mFactor" is applied to enlarge the view in the m direction and is currently
imposed as the maximum R on the hub.
When using macros, the command DefaultTurboMDefinition controls the approaches used in TM
and SM views. It is advised to execute the command before loading a .run file into CFView™. In
addition backward compatibility is ensured when using macros.
Two additional parameters are also available in the dialog box:
l R Shift is used for the definition of M (dM=ds/(R+RShift)) only in "AutoGrid5 Definition"
approach. R shift has to be adapted:
l when the configuration is presenting a bulb area (R=0) and depending of the length of the
bulb area,
l when the configuration is presenting AutoGrid5™ flow paths highly different from span
constant paths (especially for configuration presenting high discontinuity on hub or shroud).
l N Span Interval is used for the spanwise discretization in "AutoGrid5 Definition" and "Hub
Equal Shroud" approaches. It is the number of spanwise constant flow paths computed by
CFView™ between hub and shroud minus 1. For configuration where hub and shroud are
straight, this number can be reduced to 1, but in configuration with high discontinuity on hub
or shroud, this number must be increased.
Start TurboMachinery Mode
The turbomachinery mode can be activated in various ways:
l select TurboMachinery in the File menu, before or after opening a project,
l start CFView™ with the command line argument -turbomode or
l define an environment variable TURBOMACHINERY with a value ON.
When a project is opened and the mode is active, or when the mode is activated on an already
opened project, a dialog box is raised.
FIGURE 5.7
Start TurboMachinery Mode
l Hub & Shroud section: Select the Load hub and shroud button to open a file browser that
allows to load a CGNS or an ASCII dat file to define hub and shroud curves . This allows to modify if necessary the definition of the hub and of the
shroud that will be used to create blade to blade representations in the turbomachinery mode.
l Meridional Average section:
l Load Flow Solver Pitch Averageto open automatically the FINE™/Turbo output file.
l Compute Pitch Averageto compute a new meridional average output from FINE™/Turbo
3D outputs by defining the meridional patches thanks to the Edit CFView Meridional
Patches button that open the DefineMeridional Patches dialog box. This allows to check
and, if necessary, to modify the meridional mesh used to compute and represent the pitch
averaged data.
l Select the Ok button to proceed or
l select the Cancel button to open the project in the standard mode.
TurboMachinery Mode Description
When this mode is enabled, a set of four standard views is displayed automatically as shown in
FIGURE 5.8. These are:
l a meridional view obtained by pitchwise averaging. If Load Flow Solver Pitch Average is
activated, the view is the results already computed by the flow solver. If Compute Pitch
Averageis activated, the solution is computed using the meridional patches list. In this view,
only the averaged domains are active by default. The blade surfaces are also inserted (their
boundaries are visible), but they are not active by default.
l a 3D view in Cartesian coordinates,
l a blade to blade view showing the blade passages at mid- span (using the "AutoGrid5
Definition" approach) and
l a meridional view in turbomachinery coordinates (using the "Hub Equal Shroud" approach)
showing the blade surfaces. In this view, the blade surfaces are selected by default. The hub
and shroud surfaces are also inserted (their boundaries are visible), but they are not active by
default.
In the surfaces list, specific groups for the hub, shroud and blades are defined. These groups are
facilitating the identification and selection of these surfaces.
FIGURE 5.8
Four standard views in TurboMachinery Mode
For an unstructured mesh that has a repetition type "rotation" and a periodicity equals to 1, by default
CFView™ will cut its mesh automatically along the half-plane theta = 0, so that the STM or RTZ
views can be generated (after loading the hub and shroud curves). The value of theta (in radian) can
be changed by the macro command SetTheta0(float) which must be executed before loading the
project. The cut is made along the cells' border and therefore the boundary can be irregular, see
FIGURE 5.9.
FIGURE 5.9
STM (blade-to-blade) view of Francis Turbine with SetTheta0(10)
When a
selected,
scalar quantity is
Representations/Plot & Values subpanel:
two additional buttons
are
available
in the
l The Blade Section button creates the plot at constant span height (i.e. the blade loading plots):
l select this button to start creating such plots. The meridional view in turbomachinery
coordinates (S-M view) is automatically selected.
l select the scalar quantity if not yet selected in the view (i.e. Static Pressure).
l click at the desired span height or provide its value in the string keyboard entry.
l the curve is inserted in a Cartesian plot as a function of the streamwise position.
l The Span distribution button creates the plot showing the span profile:
l select this button to start creating such plots. The pitchwise average view is automatically
selected.
l select the scalar quantity if not yet selected in the view.
l press, drag and release with the left mouse button to specify the profile location or provide
the values in the string keyboard entry.
l the curve is inserted in a Cartesian plot as a function of the normalized arc length.
Quit TurboMachinery Mode
To quit
turbomachinery specific views are deleted.
the turbomachinery mode, select TurboMachinery in the File menu. All
the
Once the turbomachinery mode has been started on a project, it is not possible to modify the hub and
shroud definition. In order to modify this definition, it is necessary to reopen the project.
5.4
NLH POST-PROCESSING
CFView™ provides the user the ability to postprocess harmonic simulations: either reconstruct
the whole flow field in time/space or reconstruct the flow at a local point and perform a spectral
analysis.
5.4.1
Reconstruction of Flow in Time/Space
The harmonic solution can be reconstructed in time or in space by CFView™/Harmo2Time. This
feature can be accessed by selecting Open Project Selection… from the File menu or from the
Open Project Selection (
) button in the CFView™ toolbar.
The keyboard shortcut for Open Project Selection… is <p>.
The data file can be selected from the pop-up file chooser window. Selection of the data file leads
to the Partial Loader dialog box. Depending on the type of the harmonic project, the dialog box
is different.
Harmo2Time can also be launched in batch mode by using the following commands with
arguments:
l -h2t_gui
on LINUX:
cfview<version> -h2t_gui project-path/project-name.run -print
on Windows:
Installation path\bin64\cfviewx86_ 64.exe - h2t_ gui project- path\project- name.run - print
(64bits OS)
l This argument opens the Partial Loader dialog box for the user to set and save the options
of the reconstruction. This argument must be followed by the name of the run file of the
harmonic computation. E.g. cfview -h2t_gui /full_path/harmo_computation.run. When this
command is executed, the Partial Loader dialog box appears and it is possible to select the
blocks, multigrid level, etc. This is the same as if the project is loaded from the File/Open
Project Selection menu. Upon clicking the Save button, a dialog box asking for the name
of the unsteady run file appears. When a valid name is entered, a file with extension .h2t
with the same harmonic run file name is saved. E.g. /full_path/harmo_computation.h2t. The
.h2t file will also be saved when the Launch button is clicked.
l -h2t
on LINUX:
cfview<version> -h2t project-path/project-name.h2t -print
on Windows:
Installation path\bin64\cfviewx86_64.exe -h2t project-path\project-name.h2t -print (64bits
OS)
l This argument must be followed by the name of a .h2t file. The reconstruction is performed
with the parameters given in the .h2t file. The .h2t file can be edited by hand and it can
contain comments (after the # symbol).
During the reconstruction, some additional files will be created by CFView™/Harmo2Time:
l .mf Files
When the IUNSMF expert parameter is set to 1 in the FINE™/Turbo GUI before the
computation, Harmo2Time will create the .mf
files exactly like those created by
FINE™/Turbo solver when ADECMP expert parameter is set to 0. There will be one .mf file
for each time step and they are named computation_name_unst_ti.mf for a reconstruction in
time or computation_name_clock_posi.mf for a reconstruction in space.
The .mf files are not created if some blocks have been unselected by the user.
For rank-2 projects, the .mf files are only created if the solution is reconstructed in time.
There are other limitations as in FINE™/Turbo solver. They are described in the FINE™/Turbo
manual section 8-4.3.2.
l Plot3d Files
When the plot3d output is activated in the Output/Computed Variables page of the
FINE™/Turbo GUI, Harmo2Time will create the plot3d files during the reconstruction. The
files can be saved either in ASCII or binary format.
There is one .g file (geometry) and one .q file (quantities) for each time step. The format of
these files is the same as the one from FINE™/Turbo solver. The quantities saved in the plot3d
files are the density, energy and momentum. The plot3d files created by CFView™ must be
opened with the "unformatted" option, as for the files created by the solver.
For unstructured projects, the solution is saved in .cfview files for each time step or clocking
position whereas for structured projects .cgns format is used. It should be noted that the
reconstruction of the flow for unstructured projects can only be performed on the whole domain.
It is not possible to select individual blocks or the grid level. Besides, it is not possible to
reconstruct the solution at the control points. The creation of .mf and plot3d files is also not
available for unstructured projects.
For unstructured projects, the reconstruction of the flow in time by CFView™ is only compatible
with HEXPRESS™/Hybrid mesh saved in .hex format and not compatible when saved in .sph format.
A. Reconstruction in Time
When a basic harmonic computation or a clocking/ multi-rank harmonic computation with fixed
clocking is selected, the Partial Loader dialog box appears as shown below.
FIGURE 5.10
Partial Loader dialog box for a basic harmonic project
The button Reconstruct the flow in time gives the user the ability to reconstruct the harmonic
solution in time on the selected blocks and grid level. After selecting the concerned blocks and the
grid level and activating Reconstruct the flow in time, the parameters will be available for the
unsteady solution reconstruction.
l First the user should select the harmonics that will be used for reconstruction. Upon clicking
on the Harmonics Selection button, the Harmonics Selection dialog box with the list of all
harmonics by group appears. See below. By default, all the harmonics are selected.
FIGURE 5.11
Harmonics Selection for reconstruction of a basic harmonic project
l In the Time reconstruction settings frame, the Total number of time steps should be defined.
For the time length, the use may define the Full time length as a multiple of the period that
corresponds to the minimum frequency of all the harmonics, or as a physical time length in [s].
When one of the two values is modified, the other one is automatically adapted. After defining
the Total number of time steps and Full time length, the time step will be shown in the
frame. By default, all the time steps will be reconstructed in time. The user may also
reconstruct part of the time steps by selecting the option Reconstruct only time steps and
specifying the range of the time steps.
l In the frame Space reconstruction settings:
l The Number of repeated blade channels is used to specify the number of repeated blade
channels in the reconstructed solution. For example, if the Number of repeated blade
channels is 1, two channels will be represented in the reconstructed solution. The option
Max can be activated to set the Number of repeated blade channels to its maximum
value (Maximum Periodicity - 1).
l The Displacement of the channels is used to specify a rotation of the blade channel as a
multiple of the pitch of the blade channel. The Displacement of the channels must be an
integer number.
Note, the specified settings in the frame Space reconstruction settings are applied to the
selected groups. The groups correspond to the rows of the turbomachine and may not be
numbered in the natural order. When the user clicks on a group in the list, the name of the
group will be selected. And the related blocks of the group will also be highlighted in the
block list in the left upper frame. Keeping <Ctrl> pressed allows to select multiple groups at
the same time.
l The radio button Represent perturbation only outputs the perturbation of the quantities only
and not the unsteady flow (time averaged value + the perturbation).
l The radio button Represent next blade channel after a rotation of one pitch displays the
following rotating blade channel in the reconstruction after displacement over more than one
pitch instead of the same blade channel(s) represented on the whole period of reconstruction.
l The Control Points is used to define control points where the flow will be reconstructed
locally. Upon clicking on the Control Points button, the Control Points Input dialog box as
shown below appears. A file named computation_name_unst_info_ctrlpts.dat containing the
number and the coordinates of each control points is saved by CFView™ after the
reconstruction.
FIGURE 5.12
Control Points Input dialog box
For each control point defined, there is a file saved by CFView™ named computation_name_
unst_P#.dat where # is the index of the control points. This file contains the values of the
quantities for each time step or clocking position. The quantities include:
l time,
l density,
l relative velocity,
l static pressure,
l static temperature,
l eddy viscosity (for turbulence models only),
l wall distance (for turbulence models only),
l turbulent kinetic energy k (for SST turbulence model if it is present in the CGNS file),
l dissipation rate ω (for SST turbulence model if it is present in the CGNS file).
The values of I, J and K of the control points are limited to NI, NJ and NK of the selected grid
level.
If a block is unselected in the Partial Loader dialog box, the control points in that block are
discarded.
The maximum number of control points is 200.
The reconstruction at control points is not possible for unstructured projects.
When clicking on Apply, a file chooser allows the user to specify the name of the output files (by
default set with the extension "*_unst.run"). When clicking on Save (on Windows) or Ok (on
Linux), the unsteady solution files (by default "*_ unst.run" and "*_ unst_ t#.cgns" or "unst_
t#.cfview" respectively if FINE™/Turbo or FINE™/Open with OpenLabs™ solution) will be
created.
B. Reconstruction in Space
When a clocking/multi-rank harmonic computation with variable clocking is selected, the Partial
Loader dialog box appears as shown below
FIGURE 5.13
Partial Loader dialog box for a clocking harmonic project with variable clocking
Selecting the Reconstruct the flow button, the user can choose reconstructing the harmonic
solution in time or in space (clocking) on the selected blocks and grid level. Reconstructing the
flow in space (clocking) will reconstruct time-mean flow for different clocking positions of the
selected row that is indicated by the option Variable clocking , as explained below. After
selecting the concerned blocks and the grid level and activating Reconstruct the flow in space,
new inputs/parameters are available for reconstruction in space (in addition to the reconstruction
in time):
l Harmonic selection:
l When the computation is a clocking harmonic computation,
the user can select the
harmonics that will be used to reconstruct the time- mean flow at different clocking
positions.
l When the computation is a multi-rank harmonic computation, the user can select if the
Time mean flow and/or the Time harmonics will be reconstructed. By default, the Time
mean flow is selected. The time mean flow will be reconstructed at each clocking position.
If selecting Time harmonics, the selected time harmonics will be outputted to file together
with the time mean flow, so that the user can check the time harmonics at each clocking
position. For the time harmonics, the user can select All or User defined. When User
defined is selected, the Settings button is enabled. Upon clicking the button, a pop-up
window appears allowing the selection of the time harmonics for each row.
l The Number of clocking positions is used to define the clocking positions where the time
mean flow will be reconstructed.
l In the frame Space reconstruction settings:
l The Displacement of the channels is used to specify a rotation of the blade channel as a
multiple of the pitch of the blade channel. The Displacement of the channels can be a real
number.
l The Variable clocking can be activated for one group only or one inlet distortion.
l One more input is available only if an inlet distortion is applied in the project. It allows to
impose the pitch Tangential displacement of the inlet distortion and to activate the option
Variable clocking.
l The radio button Represent perturbation only outputs the perturbation of the quantities only
and not the space averaged value with the perturbation.
When clicking on Apply, a file chooser allows the user to specify the name of the output files (by
default set with the extension "*_clockrowi.run"). When clicking on Save (on Windows) or Ok
(on LINUX), the time-mean flow will be reconstructed for each clocking position of the group or
inlet distortion (with option Variable clocking active) and solution files ("*_clockrowi.run" and
"*_clockrowi_posi.cgns") will be created.
5.4.2
Local Reconstruction and Spectral Analysis
The reconstruction of harmonic computations is quite time consuming and requires a large disk
space to save the unsteady solution. CFView™ provides several functions, allowing the user to
get the local time evolution or the local spectrum of the selected quantity without the need of
reconstructing the whole computation in time.
All the functions are available under the menu Representation / NLH. After opening a harmonic
project and select a quantity in the QAP Quantities, the menu Representation / NLH becomes
accessible.
When performing a local reconstruction, the harmonics data must be in the cgns file.
The spectral analysis is not possible for unstructured projects.
A. Harmonics Selection
The menu Representation / NLH / Harmonics selection allows the user to select the harmonics
that will be used for all the NLH post-processing under the menu Representation / NLH /.
FIGURE 5.14
Harmonics selection for local reconstruction
By default, all the harmonics are active. The user can select a group and deselect some of the
harmonics by clicking in the check-box in the list of the harmonics.
B. Local Time Evolution
The menu Representation / NLH / Local Time Evolution allows the user to make a Cartesian
plot of the time evolution of the selected quantity at a point.
When the menu Local Time Evolution is selected, a dialog box appears:
FIGURE 5.15
Local time evolution
The user can enter the coordinates of a point and choose whether this point is fixed in space or
attached to the mesh. The point is interactively shown in the 3D view. The user can translate the
point in the x, y or z direction by pressing the X, Y or Z button and moving the mouse to the left or
to the right. The point may not be in the computation domain, it can be in one of the repetition.
Then the Number of time steps and Time interval should be specified. When the user clicks on
the button Apply, the time reconstruction is performed only at the selected point and over the
given number of time steps and time interval. By default, the number of time steps is 10 and the
time interval is the maximal period of all harmonics (corresponding to the lowest frequency). The
Cartesian plot then appears.
Currently, the reconstruction is only made in time and thus the clocking harmonics are not taken into
account. So, for a clocking simulation, the reconstructed solution by Local time evolution will be
different from the reconstructed solution by the Partial Loader.
The local time evolution is not available for derived quantities.
C. Local Spectrum
The menu Representation / NLH / Local Spectrum allows the user to get the spectrum of the
selected quantity at a point.
When the menu Local Spectrum is selected, a dialog box appears:
FIGURE 5.16
Local spectrum
The user can enter the coordinates of a point and choose whether this point is fixed in space or
attached to the mesh. The point is interactively shown in the 3D view. The user can translate the
point in the x, y or z direction by pressing the X, Y or Z button and moving the mouse to the left or
to the right. The point may not be in the computation domain, it can be in one of the repetition.
When the user clicks on the button Apply, the amplitude spectrum of the active quantity appears.
When the point is attached to the mesh, the frequencies are just plotted. When the point is
detached from the mesh, a spectral analysis is performed. So, the circular arc from that point
cannot cross a solid surface. The value of Kmax used in the spectral analysis can be set by the
macro SetKMaxNLH().
The real and imaginary components of harmonics have to be selected for output before the
computation in order to plot local spectrum of a point in CFView™.
The Local Spectrum is not compatible with rank-2 harmonic computation.
D. Frame of reference change of the spectral solution
Selecting the menu Representation / NLH / Circular Arc will draw a circular arc between two
periodics, either by interactively clicking in the 3D view or by typing x, y and z values in the
input entry. If drawing a circular arc by interactively clicking in the 3D view, the periodic surfaces
must be selected. The circular arc contains all intersections of the circle with the intersected cell
surfaces and is colored by the active quantity. Note the circular arc cannot cross solid surfaces.
The change of reference frame is based on Fourier series whose number of terms is controlled by
the K parameter . The circular arc is the trajectory of the observer in the frame of
reference of the computation.
FIGURE 5.17
Right-click menu on the circular arc
When clicking-right on the circular arc, a pop up shown in FIGURE 5.17 appears:
l The Delete menu allows to delete the circular arc.
l The Update Quantity menu allows to update the quantity once the active quantity has
changed.
l The Cartesian Plot menu allows to get a Cartesian Plot of the selected quantity.
l The Spectral Analysis menu is available only if one single arc is selected and its real and
imaginary components of harmonics are available as well as the corresponding averaged
stationary field. The menu opens a dialog box that allows to specify the following parameters:
l Theta: defines the location of the observer on the circular arc.
l K: defines the number of terms in Fourier series.
l Rotation Speed: defines the rotation speed of the observer. The unit is RPM.
When clicking on the button Ok, the spectrum, which is observed in the reference frame defined
by the Rotation Speed, will be plotted. In the spectrum graph, the ordinate has been set under
logarithm form:
l If the active quantity U is the pressure, the decibel (dB) scale is used:
where:
l If the active quantity U is a velocity, the decibel (dB) scale is
where
l If the active quantity U is the density, the decibel (dB) scale is
where
and c=340 [m/s].
l In other cases, where no reference threshold is known, the value is given by:
and therefore leads to negative values as soon as |U|<1.
The reference values pref, νref and ρref can be modified in the menu Preferences / NLH Settings.
By default, a RMS normalization is done (the reference values are multiplied by √2). In the
preferences, the user can also choose to use a linear scale rather than a logarithmic scale. The
default value of Kmax can also be modified in the preferences.
5.5
TURBOWIZARD MODULE
The TurboWizard module enables an automatic post- processing of FINE™/Turbo or
FINE™/Open turbomachinery solution through the use of two tools:
l the averaging of variables on meridional (RTHZ) stations;
l the sampling of variables on blades at specific span heights.
The module TurboWizard can be reached in the Macros tab when loading a FINE™/Turbo or
FINE™/Open turbomachinery solution.
FIGURE 5.18
TurboWizard plugin
The user can still open his own module on top of the pre-loaded TurboWizard module if needed. The
module will appear in the list as well.
The TurboWizard module is available for steady, harmonic and for a time step of an unsteady
solution.
The TurboWizard module is not available in batch mode.
The TurboWizard module does not allow:
l comparison of averages on stations leading to performance coefficients.
l comparison between turbomachinery solutions.
The TurboWizard module is a 4 steps wizard described subsequently further:
l step 1: the configuration file definition;
l step 2: the inputs definition for the post-processing tool dedicated to meridional (RTHZ)
station averages;
l step 3: the inputs definition for the post-processing tool dedicated to the blade profiles;
l step 4: the display of the post-processing output pictures.
"TurboWizard Module" (p. 257)
5.5.1
TurboWizard Step 1 : Configuration File
The first step of the TurboWizard module is the configuration file ".in" definition: an existing file
can be loaded or a new one can be created. When creating a new configuration file (i.e.
"turbo.in"), a folder "TurboWizard_turbo" is created including the configuration file and two
empty subfolders "datafiles" and "picturefiles" that will contain the output data and PNG picture
files of the post-processing tool(s).
FIGURE 5.19
TurboWizard step 1
The configuration file ".in" is a template file containing all the inputs of the TurboWizard module:
l the absolute path of the CFView Turbomachinery solution (".run" file);
l the type of the project ("structured" or "unstructured");
l the stations used for averaging with specified averaging type;
l the variables to average on meridional (RTHZ) stations with specified weighting factor;
l the absolute path of the hub & shroud definition file (only for "unstructured" project);
l the span heights;
l the name of the blades;
l the variables to sample on blades.
All modifications applied in the TurboWizard module are automatically recorded in the
configuration file.
The Cancel button stops the TurboWizard module without saving.
The Next button allows to go to the second step of the TurboWizard module. The button is not
active when no configuration file is selected.
The documentation is also available when moving the mouse on the info icon (
of the dialog box.
) on the top right
"TurboWizard Step 2 : Meridional Station Averages Post-Processing Tool " (p. 260)
"TurboWizard Step 1 : Configuration File" (p. 259)
5.5.2
TurboWizard Step 2 : Meridional Station Averages
Post-Processing Tool
The second step of the TurboWizard module is used to define the inputs for the post-processing
tool dedicated to meridional (RTHZ) station averages:
l the meridional stations to use for averaging;
l the quantities to average on meridional (RTHZ) stations with specified weighting factor.
FIGURE 5.20
TurboWizard step 2
The Stations entry (
should be selected. For each station two types of averaging can be selected:
) allows to select available stations. Only meridional stations (RTHZ)
for a surfacic average on the whole station: output one value per station;
for a profile of azimuthal averages along the spanwise direction of the station: output a
profile from hub to shroud per station.
FIGURE 5.21
TurboWizard step 2: stations selection
The Quantities entry (
stations.
) allows to select available quantities to be averaged on the meridional
All scalar quantities from the Quantities subpanel in the Quick Access Pad are available except the
Wall Distance, Y+, Cf, Residuals and Harmonics quantities.
Moreover, if not available in the Quantities subpanel in the Quick Access Pad, the following
derivable quantities are also available: Vr, Vt, Vz, Wt, Static enthalpy, Entropy, Absolute Total
Pressure/Temperature/Enthalpy , Absolute/Relative/Isentropic Mach Number
(only
available for non-incompressible solution).
For each quantity two types of averaging can be selected:
l Area for an area-averaging using no weighting factor;
l Mass for a mass-averaging using a RhoV weighting factor.
FIGURE 5.22
TurboWizard step 2: quantities selection
The TurboWizard module is not creating stations or quantities and only checks their availability in the
project before loading the wizard. If no stations are detected, a warning "No stations were found in
the project. Skip this step or create cutting planes prior to launch the TurboWizard" will raise and the
Quantities entry is not accessible. The stations and quantities should be created before launching the
module.
For profiles from hub to shroud of azimuthal averages, the stations should be restricted to the channel
and cut it only once.
Span=0% (100%) does not always correspond to the hub (shroud) of the channel but to the minimum
(maximum) extrema in (R,Z).
The mass flow through the selected stations is also computed.
The Cancel button stops the TurboWizard module without saving.
The Back button allows to go back to the first step of the TurboWizard module.
The Skip button allows to skip the post-processing tool dedicated to meridional (RTHZ) station
averages and to go to the third step of the TurboWizard module.
The Next button allows to go to the third step of the TurboWizard module. The button is not
active until both Stations and Variables have been defined.
The documentation is also available when moving the mouse on the info icon (
of the dialog boxes.
) on the top right
"TurboWizard Step 3 : Blade Profiles Post-Processing Tool" (p. 263)
"TurboWizard Step 2 : Meridional Station Averages Post-Processing Tool " (p. 260)
5.5.3
TurboWizard Step 3 : Blade Profiles Post-Processing
Tool
The third step of the TurboWizard module is used to define the inputs for the post-processing tool
dedicated to the blade profiles:
l the hub and shroud definition (only for "unstructured" project);
l the span heights;
l the blade surfaces;
l the quantities to sample on the selected blade at the specified span heights.
FIGURE 5.23
TurboWizard step 3
When "unstructured" project, the Hub & Shroud File Selection entry allows to specify the hub
and shroud definition file in order to compute the STM coordinates (More details on the file
format in "Hub & Shroud Definition" (p. 228)).
The Span heights (%) entry allows to impose the number with the
in % of the span heights where the blade profiles will be computed.
buttons and the location
The Blades entry (
profiles will be computed.
) allows to select available blades (or group of solid patches) on which the
FIGURE 5.24
TurboWizard step 3: blades selection
The Quantities entry (
list of quantity is independent from the quantity list selected for station averaging.
) allows to select available quantities to be sampled on the blades. The
All scalar quantities from the Quantities subpanel in the Quick Access Pad are available except the
Turbulent Viscosity (Mut/Mu), Cf, Absolute/Relative Mach Number, Total, Residuals and
Harmonics quantities.
Moreover, if not available in the Quantities subpanel in the Quick Access Pad, the following
derivable quantities are also available: Vt , Wt , Static enthalpy, Entropy, Isentropic Mach
Number (only available for non-incompressible solution).
FIGURE 5.25
TurboWizard step 3: quantities selection
The TurboWizard module is not creating quantities and only checks their availability in the project
before loading the wizard. The quantities should be created before launching the module.
The Cancel button stops the TurboWizard module without saving.
The Back button allows to go back to the second step of the TurboWizard module.
The Skip button allows to skip the post-processing tool dedicated to the blade profiles, to start the
post-processing tool dedicated to meridional (RTHZ) station averages only and to go to the fourth
step of the TurboWizard module. The module will also generate the output data and PNG picture
files of the meridional station averages post-processing tool in two subfolders at the location of the
configuration file.
The Start button allows to start both post-processing tools or the blade profiles post-processing
tool only (if Skip in the second step of the TurboWizard module), and to go to the fourth step of
the TurboWizard module. The module will also generate the output data and PNG picture files of
the post-processing tool(s) in two subfolders at the location of the configuration file.
The documentation is also available when moving the mouse on the info icon (
of the dialog boxes.
) on the top right
"TurboWizard Step 4 : Display Post-Processing Output Pictures" (p. 266)
"TurboWizard Step 3 : Blade Profiles Post-Processing Tool" (p. 263)
5.5.4
TurboWizard Step 4 : Display Post-Processing Output
Pictures
The fourth step of the TurboWizard module is used to display the output pictures by selecting the
options in the dropdown menus. These pictures are also available in the subfolder "picturefiles" at
the location of the configuration file. If one post-processing is skipped, only the dropdown menu
of the performed one will be displayed:
l station averages outputs;
l blade profiles outputs.
FIGURE 5.26
TurboWizard step 4
The Station averages outputs section allows to select the station average picture to display.
l The first dropdown menu includes all the stations used for averaging in step 2. The option
"all" in the menu enables to visualize all available stations in the same graph.
l The second dropdown menu includes all the available averaged quantities selected in step 2.
The Blade profiles outputs section allows to select the blade profile picture to display.
l The first dropdown menu includes all the span heights selected in step 3 where the blade
profiles has been computed . The option "all" in the menu enables to visualize all available
span heights in the same graph.
l The second dropdown menu includes all the blades (or group of solid patches) selected in step
3 on which the profiles has been computed. The option "all" in the menu enables to visualize
all available blades in the same graph.
l The third dropdown menu includes all the available quantities selected in step 3 sampled on
the blades.
The Show button in each section allows to display the picture of the selection. Several pictures
can be shown independently in separate windows.
For station averages, to each station corresponds maximum two colors related to the different
weighting factors "area average" and/or "mass-average".
l The vertical discontinuous line, labeled as "average" in the legend, represents the surfacic
average scalar value on the station.
l The continuous line, labeled as "profile" in the legend, represents the profile from span=0%
(extremum at min(R,Z)) to span=100% (extremum at max(R,Z)) of the curvilinear azimuthal
averages on the station.
FIGURE 5.27
Station averages output pictures
For blade profiles, a specific color corresponds to each combination of blade and span height.
Each continuous line represents the profile from leading edge (chord=0%) to trailing edge
(chord=100%) of the selected quantity sampled at the specific span height along both pressure and
suction sides. Blade names and span heights are labeled in the legend.
FIGURE 5.28
Blade profiles output pictures
The Back button allows to go back to the third step of the TurboWizard module.
The Close button allows to quit the TurboWizard module.
The documentation is also available when moving the mouse on the info icon (
of the dialog box.
) on the top right
CHAPTER 6.
ANIMATIONS & UNSTEADY DATA
ANALYSIS
This chapter provides a description of animation capabilities in CFView™. The animation capabilities
are divided into two main areas: animations of steady state data sets and animations of unsteady data
sets.
The first section describes the animations that can be performed on steady state data sets. These are:
l the animation of vector lines,
l the animation by mesh surfaces sweeping and
l the animation by cutting planes sweeping.
The second section describes how to create animations from unsteady data sets and how to record such
animations in video files.
In this section
6.1 Animations in Steady State Data Sets
6.2 Animation of Unsteady Data Sets
271
279
6.1
ANIMATIONS IN STEADY STATE DATA
SETS
CFView™ allows to represent pseudo particles moving along streamlines as well as scrolling
structured surfaces and cutting planes.
6.1.1
Animation of Vector Lines
The animation of vector lines applies to all the vector lines which have been computed from the
currently active vector quantity .
To start the animation of the vector lines, select the button
in the Streamline animation dialog
box from the Geometry/Animations/StreamLine Animation... menu. The animation consists of
markers or arrows moving along the streamlines with a velocity proportional to the local velocity
amplitude.
FIGURE 6.1
Streamline Animation
The max frame/sec control allows to limit the number of animation steps by second. During the
animation, a different value may be entered into the string area and validated by pressing the
Apply button.
To end or pause the animation, select respectively the button
The animation markers are respectively erased or frozen on the vector lines.
or
from the dialog box.
To start recording the animation, select the button
if the animation parameters have to be modified during the animation:
. Once the animation parameters are set, or
l SelectApply to validate any modification of the content of the dialog box. This affects the
animation in real time.
l Select Reset to cancel all modifications and the dialog box finds back its original status.
l Select Close to cancel the animation. The dialog box is closed and the animation markers are
erased from the vector lines.
Markers
The markers density is controlled by the marker Emission rate control in the dialog box.
The marker type used for the animation is the one which is associated to the vector lines. The
actual marker type of a vector line may be:
l the default marker type for the vector lines. This marker type may be modified in the Curve
Type Editor dialog box opened by selecting Curve Type... in the popup menu of the vector
line  or
l the marker type applied to an individual vector line or to a group of vector lines. Refer to
Stream Ribbons & Tubes for a description of how to modify the curve type attributes of vector
lines.
The animated markers are always visible, independent of the visibility (Visible) of the vector lines
markers.
Arrows
FIGURE 6.2
Vector Line Parameters
The interface for drawing arrows on streamlines is shown in FIGURE 6.2. This can be accessed
in two ways:
l If a scalar quantity is active, select Representation --> Steamlines --> Parameters and if a
vector quantity is active, select Representation --> Vector line --> Parameters.
l Right-click on a streamline or a vector line and select Parameters.
In Vector Lines Parameters dialog box, entries allow to control the visibility, size and density of
arrows. The three widgets perform following functions:
l Visible: by default this is set to off for backward compatibility issues. To make arrows visible
on streamlines instead of markers, first set Visible to on and secondly press Apply.
After this whenever a new streamline is created, arrows will be drawn on it by default.
Arrows are made visible only when streamlines are drawn with line representation. In case of
tube or ribbon representation no arrows are drawn.
l Size of Arrows: arrows are drawn in the form of two-dimensional filled equilateral triangles as
shown in FIGURE 6.3.
FIGURE 6.3
Arrow size
Size of arrow is a relative variable and its default value is 1. When this value is decreased a
relatively smaller equilateral triangle is drawn such that the front vertex of the triangle remains
unmoved. The two vertices in the aft position are made closer to the front vertex as well as to
the streamline. These two aft vertices are always drawn such that the equilateral triangle
remains normal to the camera view every time.
l Density of Arrows: this variable controls the number of arrows per unit length. The default
value is such that approximately 20 arrows will be drawn on any streamline that encompasses
the length of the bounding box/sphere of the whole domain. This model is based on an already
existing model that is currently used for the default density of markers in streamline animation.
All the arrows are equidistant as shown in FIGURE 6.4.
FIGURE 6.4
Arrow density
When the streamlines are drawn with the non-uniform color, the color of the arrows will also
vary depending on their location as shown in FIGURE 6.5. In case of uniform color, all
arrows are drawn with the same color.
FIGURE 6.5
Arrow color
6.1.2
Animation by Mesh Surfaces Scrolling
This functionality allows to sweep automatically across a family of mesh surfaces. The sweeping
animation is controlled from the Structured Surfaces Scrolling dialog box
To access this dialog box, select Surface IJK Scrolling... from the Geometry/Animations menu.
FIGURE 6.6
Structured Surface dialog box for animation
The dialog box contains several parts:
l the Index area with the three radio buttons I J K allowing to select the scrolling index,
l the Domains list appears if the mesh contains several domains. It allows to select the domains
in which the animation is performed,
l The Animation Control area contains the following animation control buttons:
starts/stops the animation recording.
sets the animation in decreasing index, double speed.
sets the animation in decreasing index, normal speed.
sets the animation in increasing index, normal speed.
sets the animation in increasing index, double speed.
pauses the animation, leaving the last represented surface.
stops the animation, no represented surfaces is left.
when the animation is paused, this button steps back to the previous surface.
when the animation is paused, this button steps to the next surface.
Furthermore, two string editors provide additional control on the speed of the scrolling:
l The Step control allows to choose the value of the scrolling index increment between two
animation steps.
l The max frame/sec control allows to limit the number of animation steps by second.
l The buttons Geometry and Quantity appear only if a quantity is selected.
l The surfaces are represented by their grid wireframe if the option Geometry is selected.
l The surfaces are represented by a color contour if the option Quantity is selected.
Once the animation parameters are set, or if the animation parameters have to be modified during
the animation:
l Select Apply to validate any modification of the content of the dialog box. This affects the
animation in real time.
l Select Reset to cancel all modifications and the dialog box finds back its original status.
l Select Close to cancel the animation. The dialog box is closed.
6.1.3
Animation by Cutting Planes Scrolling
To access the dialog box allowing to launch the animated scrolling of Cutting Planes, select
Cutting Plane Scrolling... from the Geometry/Animations menu.
FIGURE 6.7
Cutting plane scrolling dialog box for animation
The dialog box contains several parts:
l The Normal area allows to control the cutting plane orientation:
l The X, Y and Z string editors allow to input the X, Y and Z components of the cutting
plane normal.
l The three buttons
allow the choice of the direction of the cutting plane normal
which will be oriented respectively along the X, Y or Z axis.
l The three buttons
allow to rotate the cutting plane around X,Y and Z axes.
Activating one of them with the left mouse button, and dragging the mouse to the left will rotate
the cutting plane clockwise, and to the right, counterclockwise.
l The Animation Control area allows to control the animation as described in Animation by
Mesh Surfaces Scrolling. The Step string editor allows to input the distance between two
consecutive cutting planes.
l The Geometry and Quantity buttons allow the user, when a quantity is selected, to choose
between a grid wireframe representation (the Geometry option) or a color contour
representation (the Quantity option).
l The Apply button validates new parameters during the animation.
l The Reset button restores the initial values of the animation parameters.
l The Close button stops the animations and discards the dialog box.
6.1.4
Recording a Steady Animation
Steady animation includes streamlines, cutting planes and structured surfaces animations. The
example given below only describes the case for streamlines animation. Everything described
below can be applied for cutting planes and structured surfaces animations. The interface for
streamlines animation recorder is shown in FIGURE 6.8.
FIGURE 6.8
Record steady animations
In order to record streamline animation:
1. Click on Record button to activate it (FIGURE 6.1).
2. Animation Output Set Up dialog box (FIGURE 6.8) will pop up. This dialog box is same as
the one used for unsteady recording except for one change – Delete Image Files is active by
default. Make necessary changes. Press Ok.
3. Save Animation in GIF Format dialog box will pop up. Enter the name for the animated GIF
file. Press Ok.
4. Animate required frames using Play button (FIGURE 6.1). For each frame an image will be
saved.
5. Click on Record button to deactivate it (FIGURE 6.1 ). All the images saved during the
interval when the Record button was active are combined in the form of an animated GIF file
with the name specified by the user.
If in step 3, user specifies the name of the animated GIF file to be "animated.gif", the PNG
images in step 4 are created with names derived from "animated.gif" by appending "_
steadycfvtmp" to it (e.g animated_steadycfvtmp_t01.png, animated_steadycfvtmp_02.png, etc).
When the Record button is active and the Play button pressed, an image is saved for each frame. It
may happen that the user gets busy with some other work and does not deactivate the Record button
after sometime. In that case the hard disk will get filled with images. This may even lead to a system
crash. To avoid such a scenario following approach has been undertaken. For any steady animation, it
is repeated after a certain number of frames. Suppose that the streamlines animation gets repeated
after every 10 frames. In that case, only the images for first 10 frames will be saved and although the
animation goes on indefinitely till the user presses Stop button, no image will be saved for any frame
starting from frame 11.
6.2
ANIMATION OF UNSTEADY DATA SETS
CFView™ introduces the ability to animate representations of unsteady data sets in time and in
space (harmonic with clocking).
l With FINE™/Turbo data sets, when loading the ".run" file, CFView™ detects automatically
that a computation project has been run as an unsteady one and prompts for the range of time
steps (or clocking positions) to be used.
l Select All Time Steps to perform an analysis on all the available time steps.
l Select Initial and set the initial and final time steps to the desired value for an analysis of a
predefined range.
l Press Ok to start the project opening.
l Press Cancel to exit.
If the Partial Loader is used, the interval between consecutive time steps can also be selected,
see Partial Loader.
l With FINE™/Open with OpenLabs™ data sets created defining a ".snap" file (more details in
the FINE™/Open User Guide), the ".run" file should be loaded into the Partial Loader (the
time step interval and range of time step is defined by the content of the .snap file), see Partial
Loader. That will automatically load the related "*_t#_a#.cfv" files (and associated output
files).
When the project is loaded, the first time step (or clocking position) is loaded and a set of
animation control buttons is added to the general toolbar.
This button brings the animation back to the first time step:
This button moves the current time step to the previous one (or the last one if the current time step
is the first one). The same representations are drawn in the views, but with the data from the
previous time step.
This button moves the current time step to the next one. The same representations are drawn in
the views, but with the data from the next time step:
This button starts the animation of the current representation. The same representations are drawn
in the views, for each time step successively:
This button stops a running animation:
This button enables or disables the automatic restart at the first time step, when the animation has
reached the last time step. If the feature is turned on, the first time step is considered as the one
following the last time step. If the feature is turned off, the animation stops when it reaches the last
time step:
This button frees the RAM usage at each time step when post-processing unsteady data sets. By
default it is activated. See Projects Comparison for a more detailed description:
This button enables or disables the animation recording. It acts as a toggle: when the recording is
turned off, the button background is gray (this is the default) and when the recording is turned on,
the button background is yellow:
This buttons saves a time-averaging solution for the selected time steps.
This entry allows the user to input a time step. The same representations are drawn in the views,
but with the data from the selected time step. The maximum number of time steps is equal to the
number of time steps loaded. The first time step is always 1. For example, if there are 10 time
steps available in a project and the user loads the time steps 3 to 8 with an interval of 2, the GUI
will show 1 / 3 when the project is opened and the 3 loaded time steps correspond to the time
steps 3, 5 and 7 of the full unsteady project.
When working with an unsteady (in time or in space) data set (including the pitchwise averaged
view), the time (space) value may be added in the graphical view by selecting Time Label or
Clocking Position in the Quantity menu. The time label or clocking position appears as a text
"t=----" or "Position #" that can be selected interactively for changing its position or its text type.
To create an animation, proceed as follows:
l Create the representations on the initial time steps.
l Start the animation either step by step (
) or continuously (
).
l Stop (
) the animation or let it go to its end.
CFView™ automatically records a macro of the current representation and applies it to the next
time step. Initially, a minimum amount of data is loaded in the computer memory. The data
needed to create representations at further time steps is progressively loaded into the computer's
memory. To prevent a rapid saturation of the available resources, the most memory consuming
data is not kept permanently.
For a typical animation, the first loop through the whole set of time steps requires data loading.
After the first loop, all the needed data has been loaded and the animation speed is increased
significantly.
6.2.1
Recording an unsteady animation
For unsteady cases, the button
unsteady animation.
(Start/Stop Animation Recording) allows to record an
By default the state of this button is off. When clicking on the button for the first time, the state is
changed to on and an Animation Output Set Up dialog box (FIGURE 6.9) pops up asking for
the parameters for creating the animation. This dialog box contains all the parameters that are
needed for creation of PNG images. The top part of the dialog box is very similar to the Print
Output Set Up dialog box that is invoked from File/Print... menu. The lower part of the dialog
box contains options specific to the animation. The Other Options area allows to specify the
delay between two frames (in 1/100th of a second) and the number of loops in the animation (0
corresponds to a never ending loop). It is also possible to choose to Delete Image Files after an
animated GIF has been created from them. After setting the parameters, click on the Ok button to
pop up a file selection dialog box (Save Animation in GIF Format) that allows to specify the
name for the animated GIF file.
FIGURE 6.9
Animation output set up
When an animation has to be created:
1. Click on Start/Stop Animation Recording
to activate it.
2. The Animation Output Set Up dialog box (FIGURE 6.8) will pop up. After setting the
parameters, press Ok.
3. The Save Animation in GIF Format dialog box will pop up. Enter the name for the animated
GIF file. Press Ok.
4. Animate required frames using the Play button
. For each frame an image will be saved.
5. Click on Start/Stop Animation Recording button to deactivate it. All the images saved
during the interval when the Start/Stop Animation Recording button was active are
combined in the form of an animated GIF file with the name specified by the user.
If in step 3, user specifies the name of the animated GIF file to be "animated.gif", the PNG
images in step 4 are created with names derived from "animated.gif" by appending "_
steadycfvtmp" to it (e.g animated_steadycfvtmp_t01.png, animated_steadycfvtmp_02.png, etc).
6.2.2
Export Time-Averaging Steady Results
When an unsteady project is loaded, the user has the possibility to create a steady project by
averaging the quantities in time. The time steps used for the computation of the average are the
time steps chosen by the user when opening the unsteady project.
To save the time averaging results, just click on the button
FIGURE 6.10 will appear:
, then the popup window shown in
FIGURE 6.10
Quantity Choice dialog box
The user can choose the quantities among all quantities that are available for the unsteady project,
including derived thermodynamics quantities (e.g. rothalpy), derived mechanics quantities (force
and torque), gradient, divergence or curl of other quantities and user defined quantities.
When clicking on Apply, a file chooser allows the user to specify the name of the output files (by
default set with the extension *_tav.run). When clicking on Save (on Windows) or Ok (on
Linux), the time averaging steady solution files (by default *_tav.run and *_tav.cgns) will be
created.
The time-averaging steady results can only be computed for structured (FINE™/Turbo) projects.
6.2.3
Cartesian Plot Function of Time/ Clocking Position
After loading an unsteady solution with the partial selection loader ( File/Open Project
Selection... menu), Cartesian plots of static quantities can be plotted with the menu
Representation/Cartesian Plot/Scalar vs Time or Scalar vs Clocking Position.
The menu opens a dialog box which allows the user to define the extraction point in Cartesian
coordinates. By activating Attach to Mesh option, the point will have the same rotation speed as
the block/ group it belongs to. To plot the selected scalar quantity at the extraction point with time
evolving or clocking position, hit the Apply button follows by the play button (
).
FIGURE 6.11
Cartesian plot function of time
CHAPTER 7.
MACRO LANGUAGE
This chapter describes the macro language of CFView™ and the available instruction set. The macro
script is a very powerful feature that automates CFView™.
'Macros scripts' are programs that are written using a macro language. They can be produced either by
recording the actions performed during a visualization session or from scratch using a normal text
editor. Macro scripts can be recorded, saved, loaded and executed in CFView™, using the items in the
File / Macro menu (Use Macro Scripts).
In this section
7.1 Python Language
7.2 Python Language Overview
7.3 Macro Script Examples
7.4 Python CFView™ Module
7.5 CFView™ Command Description
7.6 Utilities for Handling Curves
287
287
294
297
298
378
7.1
PYTHON LANGUAGE
The core of the macro language of CFView™ is called Python. It is a very compact, extensible,
elegant and extremely powerful interpreted object-oriented language. The description of Python is
provided in a special manual (the "Python Tutorial" is available on the Python web site
http://www.python.org). In order to get a good introduction to Python read Chapter 3, Chapter 4
and Chapter 5 of the Python User Manual.
Python has been extended with commands that allow to perform visualization operations. These
commands are described in Python Language Overview. Each command is presented in terms of:
l arguments,
l return value,
l associated menu item,
l actual operation performed,
l exceptions (errors) it will raise.
As an example, see the command string FileOpenProject(string filename):
l This command takes 1 argument of type string (strings in Python are single or doubled
quoted).
l The argument should be the complete name of the CFView™ project file to load.
l The command returns the name of the view that is created during the command execution.
l Its associated menu item is File/Open Project: the command performs the same operation as
the selection of this menu item.
l The actual operation performed is to open the project in a new view (the view appears in full
screen mode).
l If the project cannot be loaded the command will raise an IOError exception. By default, this
error message will be indicated in a dialog box that pops up. If CFView™ was started in batch
mode, the error message is written in the shell terminal from which CFView™ was launched.
To load the project '/usr/people/me/case.cfv' type: FileOpenProject('/usr/people/me/case.cfv')
7.2
PYTHON LANGUAGE OVERVIEW
This section provides a brief overview of the basic features of the Python language. Interested
readers are recommended to consult the tutorial documents or the systematic description of the
language available on the Python web site (http://www.python.org).
Python is a real programming language, offering support for structured and object- oriented
programming together with a very high level of error checking and a lot of native features such as
lists, arrays, predefined mathematical functions and constants,...
Scripts are evaluated line by line. However, line evaluation continues on the next line if the
character '\' is the last character of the line.
The character "\" in a string will lead to tab character when combined with "t" ("\t") and to carriage
return when combined with "n" ("\n"). Instead of writing "\", "\\" has to be used.
Adding Commented Lines
The '#' character specifies that the rest of the line is a comment and will be skipped while the
macro is executed.
Support for Mathematical Operations
l the operators +, -, * and / are defined,
l parenthesis can be used and nested to any level,
l functions abs(x), int(x), floor(x), ceil(x) and sqrt(x) for square root are available,
l trigonometric functions sin(x), cos(x), tan(x), acos(x), asin(x), atan(x) are available, atan2(y,x)
returns atan(y/x),
l logarithmic functions log(x) for neperian logarithm, log10(x) for base 10 logarithm, exp(x),
sinh(x), cosh(x), tanh(x), asinh(x), acosh(x) are available,
l x to the power y is obtained by the function 'pow(x,y)',
l boolean values are returned by the operators > (larger than), < (less than), <= (less or equal
than), >= (larger or equal than), == (equal to), != (different from), and, or
l the constants pi and e are predefined.
The mathematical operations supported in the Python language are different from those available for
the definition of derived quantities 
String Handling
Strings are handled in the following way:
l they are enclosed in single <'> or double <"> quotes,
l concatenation is obtained with the operator + (e.g. 'cut'+'plane' gives 'cutplane'),
l duplication is obtained by the multiplication by an integer, the operator * (e.g. 'enter'*2 gives
'enterenter'),
l access to the ith element is obtained by the suffix '[i]' and access to a substring is obtained by
the suffix [i:j] for a substring starting from the ith character up to the jth one (e.g. if s contains
'cut', s[0] is 'c' and s[1:2] is 'ut')
l numerical values contained in variables can be inserted in a string by enclosing the variable
name with reverse quotes (') or by using a formatting specification:
s = 'The Value of x is' +'x'
s = 'The Value of x is %3d' %(x)
The formatting symbols are interpreted as follows :
l %d formats in an integral value (rounded if necessary),
l %nd (where n is an integer) in an integral value having a length of exactly n characters (space
characters are inserted on the left if necessary),
l %n.mf (where n and m are integers and n>m) formats into a floating point value having at
most n characters length and a fractional part of m characters exactly,
l %n.me(where n and m are integers and n>m) formats into a scientific representation having at
most n characters length and a fractional part of m characters exactly.
Stripping of the leading or trailing white spaces is obtained by the function strip ( strip(' cut plane
') gives 'cut plane').
Lists Handling
A list is an ordered set of items.
l A list is defined by enclosing the comma separated items by square brackets. A list may be
empty.
my_list = [a,b]
empty_list = []
Note that a list definition can be extended over several lines without the '\' terminating
character.
l An item is accessed by adding the suffix [i] to the list name (ex: my_list[1]). Note that list
indices start at 0.
l Lists can be nested to any level (e.g. [[a,b],[c,d,e]] is a list made of 2 lists).
l Appending is obtained by the operator + (ex: my_list + my_list2) or by the function append
(ex:my_list.append([c, d])).
l Multiplication (appending oneself n times) is obtained by the multiplication operator (ex: my_
list*3).
l The functions insert(index, value) inserts value at position index, the elements at upper position
are shifted.
l The function index(value) returns the index of the first item whose value is value.
l The function remove(value) removes the first item whose value is value.
l The functions sort(), reverse() and len() are, respectively, sorting, reversing the elements and
returning the number of elements in the list.
Program Flow Control: Conditional & Loop Statements
In Python, different kinds of flow control statements are available: the conditional if, elif
statements, and the for and while loop statements.
These instructions start by a specific control line terminated by colon. The body part (that is, the
set of statements depending on the control statement) is defined by the indented lines that are
following the control line. The indentation can be marked by a < TAB > or by white space
characters. The end of the loop body is marked by the first line which is not indented. Nested
statements are obtained by heading lines with successive levels of indentation.
l if statement:
if x < 0 :
print 'x is negative'
elif x==0 :
print 'x is null'
else :
print 'x is positive'
elif and else clauses may be omitted. A value of 1 is equivalent to true and a value of 0 is
equivalent to false
l loop statements: the for loop iterates on the elements of a list and the while loop iterates as long
as the condition is met. A break statement may be inserted to step out of the loop. In the
following examples the statement, "for x in a[:]:" means: for each element of the list a.
for x in a[:]:
for x in range(0,10) :
while x>0 :
where the range function returns a list of integers starting from the first argument value to the
second argument value with a step indicated by the third argument if existing (default value is
1).
When creating manually a macro including a loop for example on grid points, each time "ProbeIJK"
or "QntFieldScalar" is called, a line is added to the character string that is used for generating the file
when saving the macro. Consequently, this string becomes huge, uses a lot of memory and its
management a lot of CPU. The best practice is to record a macro "loop.py" including the loop only
and to use the MacroExecute command calling the macro "loop.py" in a second macro. The
MacroExecute suspends the record of the operation and is thus not adding any line.
Function Definition
Function definition starts with the standard header
def function_name (arg1, arg2, arg3 = default_value, ...) :
where def is a reserved keyword. The arguments can be of any type (it is a user responsibility to
provide meaningful ones) and last arguments may have a default value (as arg3 in the above
example).
Each line of the function's body is indented with a <TAB> character. The function definition ends
with the first line which is not indented by a <TAB> character.
All arguments are passed by value. When arguments are passed by value to a function, even if the
values of the arguments are modified inside the function, the values of the arguments, seen from
the main program or the calling function, are not modified by the execution of the function.
A returned value may be specified using the 'return' statement followed by the name of the
variable or by a value. In any case, a value is returned and not a reference on a local variable or
object. The type of the returned value is a list, this means that appending a new element in the
returned list is obtained by the statement 'return.append(x)'.
Global scope variables can be accessed if they are declared as such by a statement 'global' (e.g.
'global x' specifies that the x variable is a global variable for the current function). The global
variable lifetime is not limited to the present scope.
File Handling
Files can be opened for reading and writing. A file is associated to a variable, that is initialized at
its opening:
f = open(fileName, mode, bufferSize)
where fileName is the full file name including its path and f is a variable that is used to handle the
file operation. The parameter mode is a character string whose value may be:
l 'r' or 'rb': file opened for reading,
l 'w' or 'wb': file opened for writing, creates it if not existing or the previous content is discarded,
l 'a' or 'ab': file opened for appending, creates if not existing or writes at the end of the file.
The 'b' character is used only on Windows systems to indicate that the file is in binary mode, on a
Linux system, it is neglected. The parameter bufferSize is the integer value of the size of the
buffer. The system default size is chosen if the value is negative. The file is opened in the
unbuffered mode if the value is 0, a value of 1 specifies a line-buffered mode.
On the Windows platforms, file names may be specified with the \ or the / separator. Note that to
include a \ character in a string, it must be prefixed by a \. So a file name may be
'C:\\my documents\\my script.py'
or
'C:/my documents/my script.py'
The following functions can be used to handle the file content:
l f.close(): close file,
l f.flush(): flush file's internal buffer,
l f.read(n): read at most n bytes from the file and return them as a string. if n is omitted, read up
to the end of the file,
l f.readline(): read one entire line,
l f.readlines():read until the end of the file and return a list of lines,
l f.seek(offset, whence=0): set file's position, if whence =0 or is omitted, offset is the absolute
position, if whence=1 offset is relative to the current position and if whence = 2, offset is
relative to the file end,
l f.tell(): returns file current position,
l f.write(string) write string to file (f.write(string+'\n') is writing the string content on a line).
Execute Python Script from another Python Script
The command execfile starts the execution of a Python script from another Python script. E.g:
execfile("macro1.py")
This command starts the execution of the script file named macro1.py.
In order to use a macro with arguments, an intermediate script like the following needs to be used:
CFViewBackward(811)
import sys
sys.argv = ["arg1", "arg2"]
execfile("Y:/users/tmp/test_script.py")
where test_script.py is the macro that the user wants to execute and "arg1" and "arg2" are the
arguments needed for it to run.
Create & Use Modules (Library of Functions)
The Python language provides the concept of module for grouping a set of functions in a same
file. The module name is the name of the file containing the functions.
The functions can be made available into a script in a similar way as the large set of utility
functions provided with CFView™. If a set of functions is defined in a file called MyModule.py,
and the file is located in the directory /people/myself/cfview_scripts, they can be made available in
another script through the following instructions:
sys.path.append('/people/myself/cfview_scripts')
this declares to the system that some Python files are available in that directory. Then, two
different ways can be used to import the functions:
from MyModule import *
or
import MyModule
The first one sets all the functions defined in MyModule directly available, while the second form
makes them available with the MyModule. prefix (e.g. if a function f is defined in MyModule, it is
invoked by the command MyModule.f()).
The standard Python modules may be imported with both of the above mentioned forms. The
directory declaration is not necessary.
It is also possible to load a macro using the following macro command:
MacroModuleLoad(string FileName)
The standard CFView™ macro commands are part of the module CFView, when they are used in
another module, they have to be imported (from CFView™ import *).
Limitation: it is not allowed to load 2 modules with the same name.
7.3 MACRO SCRIPT EXAMPLES
Compute Surface Integrals
This section explains how to use the macro to compute various types of integrals.
1. In CFView™ load the project provided with the CFView™ test case distribution from Open
toolbar button.
2. Select Record (File/Macro) to turn on the macro recorder by selecting.
3. Select the desired surface on which the integrals should be computed from the Surfaces
subpanel by pressing the right mouse button and selecting the Select item in the popup menu.
Also you may create a new surface using Geometry menu options (Create Surfaces for
detailed information about surface creation).
4. Select the required field quantity to be integrated from Quantities subpanel (say 'Density').
At this point, all the operations regarding the surface creation and selection as well as the
quantity selection are recorded internally in CFView™.
5. Select Save… from File/Macro menu to save the macro script, this raises a file chooser.
l Enter or select the file name in the file chooser.
l Press OK to validate the entry.
6. Using a text editor, open the saved file ('.py').
7. Add the commands for surface integral computation and the display of the results of the
calculations in the active view :
a=GmtArea()
#(area of the surface)
i=SclIntegral()
#(scalar surface integral of 'Density')
wi=SclWeightedIntegral('Static Pressure')
#("Static Pressure"-weighted surface integral)
pf=SclForce()
#(vector surface integral of 'density')
pt=SclTorque(x,y,x)
#(vectorial surface integral of 'Density' , taken as a
torque with respect to the point having coordinate x,y,z)
pta=SclTorqueAmplitude(x,y,z, i,j,k)
#(scalar product of the same integral as SclTorque with the unit vector i,j,k)
QntFieldVector('Vxyz')
f=VectorFlux()
#(flux of 'Velocity' through the active surfaces)
wf=VectorWeightedFlux('Density')
#('Density'-weighted flux of 'Velocity' through the active surfaces)
InsertText(0.1,0.9,0.0,"Area . . . . . . . . . . . : %11.4e"%(a))
InsertText(0.1,0.8,0.0,"Integral density . . . . . : %11.4e"%(i))
InsertText(0.1,0.7,0.0,"Integral pressure x density : %11.4e"%(wi))
InsertText(0.1,0.6,0.0,'Flux velocity . . . . . . : %11.4e'%(f))
InsertText(0.1,0.5,0.0,'Mass flow . . . . . . . . : %11.4e'%(wf))
InsertText(0.1,0.4,0.0,'Torque around (0,0,1) . . : %11.4e'%(pta))
InsertText(0.1,0.3,0.0,"Force . . . . . . . . . . : %9.2e %9.2e %9.2e"%(pf[0], pf[1], pf[2]))
InsertText(0.1,0.2,0.0,'Torque . . . . . . . . . . : %9.2e %9.2e %9.2e'%(pt[0], pt[1], pt[2]))
See String Handling for a detailed explanation of string formatting used in the Insert-Text
commands.
8. Open a new view of the same geometry:
l Select Open Cartesian from Window menu.
l Press, drag and release the left mouse button to specify the view limits.
l Select Full from View menu in order to have a full sized view.
l Select Execute... from File / Macro to open a file chooser.
l Select the file containing the modified recorded script as described above.
l Select OK, it displays all the results on the graphics area.
Export Field Values to a File
The following example shows how to export field values at some locations into an text file. The
coordinates of the points where the field values are to be extracted are read from a file and the
result is written in another file.
CFViewBackward(89)
#(file opening)
fi=open('/disk1/macros/listIn.dat','r',0)
fo=open('/disk1/macros/listOut.dat','w',0)
#(write header line)
fo.write('Node# x_cord y_cord z_cord fieldValue\n')-
#(select quantity - if the following line is commented, the active quantity is used)
#QntFieldScalar('Static Pressure')
#(import the type module for later use)
from types import *
#(skip the first line, read the file lines and extract the quantity value.)
s=fi.readlines()
for i in range(1,len(s)-1) :
#(scan line)
lineList=[]
for x in splitfields(s[i]) :
if (x!='') : lineList.append(atof(x))
#(write number and point coordinates)
fo.write("%i %e %e %e"%(lineList[0], lineList[1], lineList[2], lineList[3]))
#(compute value)
q=ProbeXYZ(lineList[1], lineList[2], lineList[3])
#(write value - if the quantity is vectorial then q is a tuple (ordered list of elements))
if (type(q) == tupple) :
for j in range(0,len(q)) : fo.write(' %e'%(q[j]))
else :
fo.write(' %e'%(q))
#(write end of line)
fo.write('\n')
#(close files)
fi.close()
fo.close()
7.4
PYTHON CFVIEW™ MODULE
All the CFView™ commands can be accessed from the python shell using python CFView™
modules. Using this module, CFView™ macro execution and debugging can be done in python
shell. Though the Python CFView™ module can be loaded from any python debugger, it has
only been tested with the debugger provided with the standard Python distribution, i.e. pdb. This
functionality is available on Windows 64 bit and Linux 64 bit environment.
Testing is done with IDLE python editor. IDLE is default python editor which comes with Python 2.x
distribution.
Using Python CFView™ Module on Linux
The user can launch Python CFView™ module using the following command:
cfview_version -pdb <macro.py> (optional) <-trace_pdb> (optional)
The "- pdb" argument
CFView™ module instead of the CFView™ executable.
tells numeca_ start_ version to launch Python and to load Python
In order to start CFView™ with the "-pdb" argument, the following commands are required:
CFView_args = ['-driver', 'x11', '-interactivegui']
InitCFView(*CFView_args)
If an optional CFView™ macro "macro.py" is provided in command line argument, this will
execute the macro from the Python shell. The user has to provide complete path of the CFView™
macro. The optional command line argument "-trace_pdb" executes the CFView™ macro in
Python debugger mode. In Python debugger mode the macro is executed in steps. For information
on using the Python debugger, please read pdb module in Python documentation on web.
When specific modules (i.e. wxpython) cannot be imported in the integrated CFView™ Python
interpreter, CFView™ can now be launched in interactive mode with the argument "-
interactivegui" from a standard Python interpreter supporting these specific modules.
Only modules compiled with the same Python version (v2.7.12) than the one provided in the
package and the one with which the CFView™ Python module is compiled can be used. For
example, user cannot load a module compiled with v2.6 or v3.0 with a Python interpreter v2.7.
Using Python CFView™ Module on Windows
In order to use Python CFView™ module under Windows the user has to define environmental
variables before launching Python, this can be done for example with following batch file:
set NUMECA_DIR=C:\NUMECA_SOFTWARE\fine_some_version
set Path=C:\NUMECA_SOFTWARE\fine_some_version\bin64
set PY_EXE=path to python executable
set DEBUG_MACRO=macro_to_debug.py
set PDB_SET_TRACE=TRUE
%PY_DIR%\python.exe %PY_DIR%\Lib\idlelib\idle.py -c "execfile('%NUMECA_DIR%\_
python\_CFView\load_cfview.py')"
The DEBUG_MACRO and PDB_SET_TRACE lines are optional. On the execution of the
batch file, Python Idle prompt is open. Use command "debug_cfview()" in IDLE Python shell
for executing the macro. The argument "set PDB_SET_TRACE=TRUE" executes the macro
in debugger mode.
When specific modules (i.e. wxpython) cannot be imported in the integrated CFView™ Python
interpreter, CFView™ can now be launched in interactive mode with the argument "-
interactivegui" from a standard Python interpreter supporting these specific modules. This can be
done for example with following batch file:
set NUMECA_DIR=C:\NUMECA_SOFTWARE\fine_some_version
%NUMECA_DIR%\python64\python.exe %NUMECA_DIR%\_python\_CFView\load_
cfview.py -interactivegui
Only modules compiled with the same Python version (v2.7.12) than the one provided in the
package and the one with which the CFView™ Python module is compiled can be used. For
example, user cannot load a module compiled with v2.6 or v3.0 with a Python interpreter v2.7.
7.5
CFVIEW™ COMMAND DESCRIPTION
All macros created with CFView™ v8.7 contain as a first line CFViewBackward(84). This line
should not be removed. If such line is not present, the macro can only be executed if the
CFVIEW_BACKWARD variable has been set to 74, as described below.
Starting CFView™ v8, to execute a macro created with an earlier version CFView™ has to be started
by using the -backward argument when starting CFView™ (e.g. cfview -niversion 8.x -backward
74 ) or by setting the environment variable CFVIEW_ BACKWARD to 74 before launching
CFView™. By default, the CFVIEW_BACKWARD variable is set to 810.
Starting CFView™ v8.9, macros are containing as a first line CFViewBackward(89) to ensure
backward compatibility for creation of STM views.
Starting CFView™ v8.10, macros are containing as a first line CFViewBackward(810) to ensure
backward compatibility for harmonic reconstruction.
The number of macro arguments is limited to 255. For macros with more than 255 arguments, the
to apply (CommandName,
syntax should be changed from CommandName (argumentList)
argumentList).
Add # coding=utf-8 as a first line in the macro to allow French accents in the macro.
7.5.1
Commands Related to Default Settings
l FaceDisplacement(float f)
l Associated menu item: Preferences/Face Displacement.
l Operation (Face Displacement): sets the face displacement value.
l DefaultsLoad(string filename)
l Associated menu item: Preferences/Load Defaults....
l Operation (Load Defaults from File): opens filename and loads its content as a new set of
default parameters.
l Exceptions: Raises IOError if the project cannot be loaded.
l DefaultDecorationTextType(TextType texttype, int lineAlign, int lineSpacing)
l Associated menu item: Preferences/Decoration Text type...
l Operation (What Are Defaults ?): sets the default type for text insertion. The parameter
lineAlign may have a value of 0 (centering), 1 (left justification) or 2 (right justification).
The parameter lineSpacing may have a value of 0 (normal spacing), 1 (spacing 50% larger)
or 2 (double spacing), Description of Argument List for Some Standard Features for the
textType argument description.
l DefaultColormapType(ColormapType t)
l Associated menu item: Preferences/Colormap type...
l Operation: sets the default type for colormap text, location and color.
l DefaultAxisTextType(TextType t)
l Associated menu item: Preferences/Axis Text type...
l Operation: sets the default type for axis text. See Description of Argument List for Some
Standard Features for the textType argument description.
l DefaultGridLineType(LineType line)
l Associated menu item: Preferences/Grid line type...
l Operation (What Are Defaults ?): sets default type for the wire frame of mesh surfaces,
Description of Argument List for Some Standard Features for the lineType argument
description.
l DefaultBoundaryCurveType(CurveType curve)
l Associated menu item: Preferences/Boundary curve type...
l Operation (What Are Defaults ?): sets default type for the boundaries of mesh surfaces,
Description of Argument List for Some Standard Features for the curveType argument
description.
l DefaultSectionCurveType(CurveType curve)
l Associated menu item: Preferences/Section curve type...
l Operation (What Are Defaults ?): sets default type for curves associated to Cartesian plots
on sections, Description of Argument List for Some Standard Features for the curveType
argument description.
l DefaultNodeLineCurveType(CurveType curve)
l Associated menu item: Preferences/Node line curve type...
l Operation (What Are Defaults ?): sets default type for curves associated to Cartesian plots
along grid lines, Description of Argument List for Some Standard Features for the
curveType argument description.
l DefaultPlotDataCurveType(CurveType curve)
l Associated menu item: Preferences/Plot data curve type...
l Operation (What Are Defaults ?): sets default type for plot data curves, Description of
Argument List for Some Standard Features for the curveType argument description.
l DefaultValidationCurveType(CurveType curve)
l Associated menu item: Preferences/Validation curve type...
l Operation (What Are Defaults ?): sets default type for validation data curves, Description of
Argument List for Some Standard Features for the curveType argument description.
l DefaultComparisonCurveType(CurveType curve)
l Associated menu item: Preferences/Comparison curve type...
l Operation (What Are Defaults ?): sets default type for curves presenting mesh interpolated
values to be compared with validation data, Description of Argument List for Some
Standard Features for the curveType argument description.
l DefaultLocalValueType ( MarkerType markerType, TextType textType, DoubleFormat
doubleFormat)
l Associated menu item: Preferences/Local value type...
l Operation (What Are Defaults ?): sets type for local values, Description of Argument List
for Some Standard Features for the textType argument description and for the markerType,
textType and doubleFormat arguments descriptions.
l DefaultComparisonToleranceValue(float f)
l Associated menu item: Preferences/Derived quantity epsilon...
l Operation: sets default value for the epsilon of a derived quantity.
l DefaultRangeColorsType(int i, float h, float s, float v, float h, float s, float v, float h, float s,
float v)
l Associated menu item: Preferences/Range colors type...
l Operation (Thresholding (Flat, Smooth and Strip)): sets out of bound colors when plotting
thresholded contours. The fist argument is 1 if out of bound are used 0 otherwise (no colour
for out of bound). The next 9 arguments are hsv values for "below range", "between
ranges" and "above range" colors. The "between ranges" is used when 4 values are
provided as input for the threshold range. More info on hsv values in Description of
Argument List for Some Standard Features.
l DefaultLightOnContours(bool b)
l Associated menu item: Preferences/Light on contours
l Operation: activates or deactivates the lightening on contour representation.
l DefaultNLHSettings(int scaleType, float pRef, float rhoRef, float vRef, int rms, int kMax)
l Associated menu item: Preferences/NLH Settings...
l Operation: sets default values for NLH computations.
scaleType : 0 for linear scale, 1 for logarithmic scale. Default is 1.
pRef : reference pressure for conversion in dB. Default is 2e-04 Pa.
rhoRef : reference density for conversion in dB. Default is
kg/m³ , c=340 m/s.
vRef : reference velocity for conversion in dB. Default is 5e-08 m/s.
rms : 0 for no normalization, 1 for rms normalization. Default is 1.
kMax : defines the maximum number of terms in Fourier series. Default is 4. More
information see Frame of reference change of the spectral solution.
l SetCFViewNumOfOmpThreads(int numOfThreads)
l Operation:
sets
the number of openmp threads
to the maximum available if
numOfThreads is less than or equal to 0.
l GetCFViewNumOfOmpThreads() returns the number of openmp threads as integer number.
l HideBlankedCells(bool) activates or deactivates cells representation for the overlapping grids.
7.5.2
Picture Output Generation
l PageLayout ( int paperType,
float pageHeight,
float pageWidth,
int orientation,
float
reductionHeight, float reductionWidth, int reductionLink)
l Associated item: File / Print... /Print Set Up Editor/Page Layout Editor.
l Operation (PostScript Page Layout Editor): sets the parameters describing the page layout
for a PostScript output. PaperType may be 0 (A4), 1 (A3), 2 (B5), 3 (B4), 4 (US 8.5 x 11),
5 (US 8.5 x 14), 6 (US 11x 17), 7 (US 4 x 5), 8 (slide 24 x 36 mm), 9 (other). Page height
and width are given in cm. Orientation may be 0 (automatic choice), 1 (landscape) or 2
(portrait). Reduction factors are in natural units and if reduction link is 1, reduction in width
is not taken into account.
l SetPrintBannerFont(string fontName, int size)
l Associated item: File / Print... /Banner Type and Size.
l Operation (Output Generation): sets the type and size of the Banner text before printing.
The valid font names are Arial, Times, Roman, Sansserif, TypeWriter, Stroked, NewField,
Enfield, Brooktondale and Kuma.
l Print ( int graphicsFormat, int viewMode, int sizeMode, int bitmapped, int resolution, int
pixelWidth, int pixelHeight, int banner, string fileName, string title, int date, int frame, int
quality)
l Associated item: File / Print... / Print Set Up Editor.
l Operation (Output Generation): creates a hardcopy output.
l graphicsFormat indicates which picture file format to use: graphics format may be 0
(PostScript), 1 (EPS), 2 (PPM), 3(PGM), 4 (PBM), 5 (NTSC), 6(TIFF), 7(JPEG), 8(PNG).
l viewMode indicates if the active view is printed (viewMode =0) or if the whole graphics
area is printed (viewMode = 1).
l sizeMode indicates how the picture size is provided. The picture size is not provided in the
same way for all formats:
l for bitmapped formats (PPM, PGM, PBM, NTSC, TIFF, JPEG and PNG): the picture size
may be specified in pixelWidth and pixelHeight (sizeMode = 1) or computed from the
screen graphical size and the parameter resolution (sizeMode = 0).
l for vectorized formats (PostScript and EPS): the parameter is not taken into account and the
picture size is always computed from the screen graphics size and the parameter resolution.
l bitmapped is used only for vectorized formats: PostScript and EPS formatted output may
be bitmapped (bitmapped =1) or not (bitmapped=0).
l resolution is used for vectorized formats and for bitmapped formats if sizeMode is set to 0:
l for bitmapped formats (PPM, PGM, PBM, NTSC, TIFF, JPEG and PNG), resolution is
the scaling factor (in percent).
l for vectorized formats (PostScript and EPS), resolution is the resolution in dot per inch
(dpi).
l pixelWidth and pixelHeight are indicating the picture size in the case of bitmapped format
and sizeMode set to 1 (otherwise the values are not used).
l banner indicates if a banner is to be added to the picture (banner =1) of not (banner =0).
fileName is the name of the file to be created. Please note that no check is performed about
the existence of this file and a pre-existing file would be replaced.
title is the text to be inserted in the banner if the banner parameter is set to 1 (otherwise,
the content is not used).
l date is a Boolean value indicating if the print date should be mentioned in the banner or
not. This argument may be omitted.
l frame indicates if the frame is printed (frame = 1) or no frame is printed (frame = 0).
l quality is an integer value, ranging from 0 to 3. It specified the internal size of the image
that will be computed, as well as the number of blur passes. "normal" corresponds to
quality = 0, "high" to quality = 1, "thin lines" to quality = 2, "very thin lines" to quality =
l PostScriptSave(string filename)
l Operation (Output Generation): saves the current display in PostScript format. Aspect ratio
and resolution depend on the actual size of the display on the screen and are automatically
computed.
l EPSSave(string filename)
l Operation ( Output Generation ): saves the current display in Encapsulated PostScript
format. Aspect ratio and resolution depend on the actual size of the display on the screen.
l PPMSave(string filename), PGMSave(string filename), PBMSave(string filename)
l Operation (Output Generation): saves the current display in PPM, PGM or PBM format.
l NTSCSave(string filename)
l Operation: saves the current display in NTSC format. Produces 3 files with suffix '.U',
'.Y'.and '.V' that can be used to produce animations.
7.5.3
Commands Related to Project Handling
l string FileOpenProject(string filename)
l Associated menu item: File/Open Project...
l Operation (Project Management): opens filename as a CFView™ project. Returns the
name of the created view.
l Exceptions: Raises IOError if the project cannot be loaded.
l string FileOpenProjectSelection(string filename, string grid level, int grid level, string all or
blocklist, int nr of blocks, string range, string all or loadqnt, string quantityName)
l Associated menu item: File/Open Project Selection...
l Operation (Project Management): opens filename as a CFView™ project. Returns the
name of the created view. This macro allows the user to specify the blocks list and the
quantities to load.
l Exceptions: Raises IOError if the project cannot be loaded
l This command can be used to load unsteady projects. The unsteady keyword indicates that
a list of time steps to load will follow. The time steps refer to the file naming of
FINE™/Turbo flow solver output.
Example: 'FileOpenProjectSelection ('/server/home/user/example.run',
'all',
'loadqnt', 'Static Temperature', 'Y+', 'Cf', 'unsteady', '5 25 10')' to load the interval of time
steps from the first time step 5 to the last time step 25 with interval steps of 10. This means
the following files: project_t5.cgns, project_t15.cgns and project_25.cgns.
'gridlevel', 2,
l This command can be used to reconstruct unsteady time steps and clocking positions from
harmonic solution. The 'reconstruct_unsteady' keyword indicates that a reconstruction will
be performed. The parameters of the reconstruction follow:
l the repetitions keyword followed by the repetition per group,
l the name of the output file,
l the harmonic_selection keyword followed by the list of selected harmonics for each group,
the harmonics keyword followed by the number of harmonics,
for backward
compatibility. If both harmonics and harmonic_selection keywords are present, then the
harmonic_selectionkeyword will not be considered.
is kept
l the periods keyword followed by the number of periods only if reconstruction in time,
l the pitch_displacement keyword followed by the pitch displacement per group,
l the only_perturbation keyword to plot perturbation only,
l the get_back keyword if the next blade channel must be represented after a rotation of 1
pitch,
l the time_mean keyword if the time-mean flow is reconstructed (clocking) followed by the
keyword moving_group and by the index of the moving group. If the argument 'time_
mean' is used, the number of clocking positions is specified in the string after the argument
'unsteady' instead of the time steps.
l the time_harmonics keyword if the time harmonics needs to be exported (Rank-2 with
variable clocking) followed by the index list of the harmonics for each group. When the
time-mean is not selected, the keyword 'time_harmonics' should be replaced by 'time_
harmonics_only'.
of
reconstruction
in
Example
'FileOpenProjectSelection
('/server/home/user/example.run', 'gridlevel', 2, 'blocklist', 30, '1-25 31-35', 'unsteady', '1 20
1', 'reconstruct_unsteady', 'repetitions', '2 2 2 2 2 0 2', '/server/home/user/example_unst.run',
'harmonics', 2, 'pitch_displacement', '0 0 1 0 0 0 0', 'time_mean', 'moving_group', 3) to
reconstruct 20 clocking positions with variable clocking on group 3 with 2 repetitions on all
groups except group 6 and a pitch displacement only on group 3.
space:
reconstruction
in
'gridlevel', 2,
of
Example
'FileOpenProjectSelection
('/server/home/user/example.run',
'reconstruct_
unsteady', 'repetitions', '2 2 2 2 2 0 2', '/server/home/user/example_unst.run', 'harmonics', 2,
'periods', 5, 'pitch_displacement', '0 0 1 0 0 0 0', 'only_perturbation') to reconstruct only the
quantity perturbations on 20 time steps and on 5 periods with 2 repetitions on all groups
except group 6 and a pitch displacement only on group 3.
'unsteady',
'1 20 1',
time:
'all',
l When inlet distortion, under 'pitch_displacement' the last item refers to it and if variable
clocking is applied on inlet distortion last group index should be mentioned.
in
of
space with
reconstruction
Example
distortion:
'FileOpenProjectSelection('/server/home/user/example.run', 'gridlevel', 2, 'all', 'unsteady', '1
20 1', 'reconstruct_ unsteady', 'repetitions', '2 2 2 2 2 0 2', '/server/home/user/example_
unst.run', 'harmonics', 2, 'pitch_displacement', '0 0 0 0 0 0 0 2', 'time_mean', 'moving_
group', 8) to reconstruct 20 clocking positions with variable clocking on inlet distortion
(group 8) with 2 repetitions on all groups except group 6 and two pitch displacement only
on inlet distortion (group 8).
inlet
l the ctrl_pts keyword if control points are defined for reconstruction followed by the number
of control points. For each control points, there is a string containing the block number and
the I, J and K indices.
Example: 'FileOpenProjectSelection ('/server/home/user/example.run',
'all',
'loadqnt', 'Static Temperature', 'Y+', 'Cf', 'unsteady', '5 25 10', 'ctrl_pts', 3, '5 4 7 9', '5 6 9
1', '23 1 1 1')' to load the interval of time steps for the control points specified from the first
time step 5 to the last time step 25 with interval steps of 10.
'gridlevel', 2,
string OpenCGNSProject(string fileName, string baseName)
l No Associated menu item
l Operation: opens a CFD data set in the CGNS formatted file. fileName is the name of the
file and baseName is the name of the CGNS base to be loaded.
l Exceptions: Raises IOError if the project cannot be loaded.
l string OpenCGNSAutogrid(string fileName)
l Associated menu item: File/Open Mesh ...
l Operation: opens a structured mesh in CGNS format. Returns the name of the created view.
l string OpenUnstructuredMesh(string fileName)
l Associated menu item : File/Open Mesh ...
l Operation: opens an unstructured mesh in HEX or SPH format. Returns the name of the
created view.
l string OpenPlot3DProject ( string geometryFileName,
string solutionFileName,
string
functionFileName, string nameFileName)
l Associated menu item: File/Open Plot3D Project...
l Operation): opens a CFD data set in the PLOT3D format. The geometryFileName
argument is mandatory, while the three others are optional. geometryFileName is the name
of
solution file;
functionFileName and nameFileName are the name of the function and name files.
the geometry file, geometryFileName
the name of
the
is
l Exceptions: Raises IOError if the project cannot be loaded.
l DefaultPlot3DFileType(int format, int bigEndian, int blanking, int multiZone, int dim)
l Associated item: Default Plot3D type dialog box raised from the Plot3D file chooser.
l Operation: sets the parameters that are necessary to read correctly the Plot3D formatted data
sets.
format indicates the type of file formatting: 0 for ASCII, 1 for unformatted single precision,
2 for unformatted double precision, 3 for formatted single precision and 4 for formatted
double precision.
bigEndian must have a value of 1 if the data set was created on a binary big endian
computer or a value of 0 if it was created on a lower (or little) endian computer system.
blanking has a value of 1 if blanking information is included in the files, or a value of 0 if
such information is not included.
multiZone must have a value of 1 if the data set is a multi block grid, it must be set to 0
otherwise.
dim indicates the dimensionally of the data set: its value must be 2 or 3.
l string UnsteadyProjectOpen(string filename, float time [,string fileName, float time]*)
l Operation: opens an unsteady project having more than one time step. Each time step is
specified by the corresponding file name and its time value. The command opens the first
time step in a new view and returns the name of the created view.
l int NumberOfTimeSteps()
l Operation: returns the number of time steps in the current project.
l [int, int] GetProjectDimensions()
l Operation: returns Topological and Physical dimensions of the active projects.
Example:
dims=GetProjectDimensions()
print 'Topological dimension=',dims[0], 'Physical dimension=',dims[1]
l If the active project is a common 3D project, both dimensions are 3.
l If it is a CGNS surface project, Topological dimension is 2 and Physical dimension is 3.
l If it is a meridional averaging, both dimensions are 2.
l SetActiveTimeStep(int i)
l Operation: loads the specified time step starting from 0. The maximum number of time
steps is equal to the number of time steps loaded - 1. The first time step loaded is always 0.
For example, if there are 10 time steps available in a project and the user loads the time
steps 3 to 8 with an interval of 2, 3 time steps will be available corresponding to the time
steps 3, 5 and 7 of the full unsteady project. When i is set to 0, the time step 3 will be
loaded.
l SelectTimeStep(int i)
l Operation: loads the specified loaded time step starting from 1. The maximum number of
time steps is equal to the number of time steps loaded. The first time step loaded is always
1. For example, if there are 10 time steps available in a project and the user loads the time
steps 3 to 8 with an interval of 2, 3 time steps will be available corresponding to the time
steps 3, 5 and 7 of the full unsteady project. When i is set to 1, the time step 3 will be
loaded.
l NextTimeStep()
l Operation: loads the time step following the current one. The NextTimeStep function
makes CFView™ do whatever the macro contains before this command. This can lead to a
slow down and a lot of memory. The best practice is to record a macro "macro.py" for one
time step and use the MacroExecute command in the macro for the unsteady computation.
The MacroExecute suspends the record of the operations for the NextTimeStep function.
Then, a loop of the time steps can be performed as presented in the example below.
l Example:
CFViewBackward(811)
macro='D:/macro.py'
Number_Of_Time_Steps=50
timeString='1 '+str(Number_Of_Time_Steps)+' 1'
FileOpenProjectSelection('Y:/users/results_unst.run','all','unsteady',timeString)
i=1
MacroExecute(macro)
for i in range(2,Number_Of_Time_Steps+1):
print 'i=',i
NextTimeStep()
The macro 'D:/macro.py' must not contain opening command.
l FileLoadNextTimeStep()
l Operation: goes to next time step without executing what the macro contains before this
command.
l FileCloseProject()
l Associated item: File / Close Project....
l Operation: closes the project associated to the active view. All views related to that project
are closed too.
l Exception: raises an AttributeError if these is not active view.
l Quit()
l Operation: quit CFView™.
7.5.4
Commands Related to Additional Views Creation
Most of the commands listed in this section are returning the name of the created view. This
feature allows to handle multiple views in a macro script. As an example, the following script
opens a first project. then a second one, and finally selects the view associated to the first project:
vp1 = FileOpenProject( ... )
#Opens a first project and stores in vp1 the name of the view associated to the project.
vp2 = FileOpenProject( ... )
#Opens another project and stores in vp2 the name of the view associated to this second
project. The active view is now vp2.
ViewActivate(vp1)
#Re-selects the view associated to the first opened project. Any further command applies now to
the first project.
l string ViewOpen(double xmin, double xmax, double ymin, double ymax)
l Associated menu item: Window/Open Cartesian.
l Operation (Multiple Views): opens a new view of the current project at position (xmin,
xmax, ymin, ymax). Returns the name of the view created. The upper right corner of the
graphics area is (1, 1) and the lower left (-1, -1).
l Exceptions: raises an Attribute Error if there is no current project.
l string ViewOpenRTZ(double xmin, double xmax, double ymin, double ymax)
l Associated menu item: Window / Open Cylindrical.
l Operation (Multiple Views): opens a new view of the current project at position (xmin,
xmax , ymin , ymax ) in the cylindrical coordinate system. Returns name of the view
created. The upper right corner of the graphics area is (1, 1) and the lower left (-1, -1).
l Exceptions: raises an Attribute Error if there is no current project.
l string ViewOpenSTM(double xmin, double xmax, double ymin, double ymax)
l Associated menu item: Window / Open Blade to Blade.
l Operation (Open Blade to Blade View ): Opens a new view of the current project at
position (xmin, xmax, ymin, ymax) in the STM coordinate system. Returns name of the
view created. The upper right corner of the graphical area is (1, 1) and the lower left (-1, -1)
l Exceptions: raises an Attribute Error if there is no current project.
7.5.5
Commands Related to Animation Control
The following section describes the macros for unsteady animation control.
l RecordAnimation(bool b)
l Operation: executed when the user clicks on "Start/Stop Animation Recording" button.
l SetRecordAnimParam(int viewmode, int sizemode, int scaling, int xpixels, int ypixels,
loops, bool
string bannertext, bool datemode,
int delay,
int
bool bannermode,
deleteimagefilesmode, string animationfilename)
l Associated menu item: Start/Stop Animation Recording button.
l Operation: this macro sets the values of animation parameters.
l viewmode: 0 saves the active view and 1 saves the graphics window.
l sizemode: 0 means that the scaling mode will be used, 1 means that the pixels mode will be
used.
l scaling: performs a scale of the picture (maximum: 1600 and minimum: 30).
l xpixels and ypixels: define the number of pixels along X and Y directions (maximum:
5000 and minimum: 16)
l bannermode: includes a banner if it sets to 1.
l bannertext: text included in the banner if bannermode is set to 1.
l datemode: the date is included in the animation.
l delay: imposes a delay between 2 frames (in 1/100th of a second).
l loops: includes a number of loops in the animation.
l deleteimagefilesmode: deletes the intermediate pictures when saving the animation.
l animationfilename: name of the animation file.
l AnimPrint()
l Operation: this macro is similar to Print macro (Picture Output Generation). It creates PNG
image files using the information that has been set through SetRecordAnimParam macro.
l AnimationLoop(bool b)
l Operation: this macro activates the loop for the recorded animation if the Boolean is set to
1.
l FreeMemory(bool b)
l Operation: activates or deactivates the "Free Memory On/Off" button respectively.
The following section describes the macros for steady animation control. It includes all of
these: streamline, cutting plane, and structured surface animations.
l RecordSteadyAnimation(bool b)
l Operation: its usage is similar to RecordAnimation macro used for unsteady animation.
This macro is executed when the Record button is activated (b = 1) or deactivated (b = 0).
l SteadyAnimationNextStep()
l Operation: draws the next frame for steady animation.
l SetRecordSteadyAnimParam ( int viewmode,
int
ypixels, bool bannermode, string bannertext, bool datemode, bool annotatemode, string
bool
annotatetext,
deleteimagefilesmode, string animationfilename)
annotatelocation,
int sizemode,
bordermode,
int xpixels,
int scaling,
delay,
loops,
bool
int
int
int
l Operation: Its usage is similar to SetRecordAnimParam macro used for unsteady
animation. This macro sets the values of animation parameters.
l StreamLineAnimationInit()
l Operation: initializes and draws the first frame of the animation.
l StreamLineAnimationStop()
l Operation: stops the animation and clears the markers used for the animation.
l StreamLineAnimationConfigure(float emission rate)
l Operation: sets the emission rate of the streamline animation.
l CuttingPlaneScrollingInit()
l Operation: initializes and draws the first frame of the animation.
l CuttingPlaneScrollingStop()
l Operation: stops the animation and clears the markers used for the animation.
l CuttingPlaneScrollingConfigure (2, 6, normal X, normal Y, normal Z, step, type, max
frame/sec)
l Operation: sets parameters for the cutting plane scrolling. type is set to 0 for geometry and 1
for quantity.
l SurfaceIJKScrollingInit()
l Operation: initializes and draws the first frame of the animation.
l SurfaceIJKScrollingStop()
l Operation: stops the animation and clears the markers used for the animation.
l SaveAveragedSteadyProject(string filename, string name1, string name2, ......)
l Operation: saves time-averaging steady solution for the specified quantities to file. The
7.5.6
Commands Related to Multiple Views Handling
l ViewActivate(string viewName)
l Associated Item: view selection by clicking with the left mouse button.
l Operation (Multiple Views): activates the view having name viewName.
l Exceptions: if view is not existing will raise Attribute Error.
l GraphicsViewActivate()
l Operation: if the current view is a 2D or a 3D view, the command does nothing. If the
current view is a Cartesian plot view, a new 2D or 3D view is opened, with the same
position and size as the Cartesian plot view.
l PlotViewActivate(string quantityName)
l Operation: activates the Cartesian plot view associated to the specified quantity. If the
quantity exists in the project and if there is not already a Cartesian plot view associated to it,
a new Cartesian plot view is created.
l ViewTile()
l Associated menu item: Window / Tile Views.
l Operation (Multiple Views): tiles all the views on the display.
l Exceptions: -
l ViewAlign(string viewName)
l Associated menu item: View / Align Views.
l Operation: sets the camera of the active view in the same position and orientation as the
camera in the view having the specified name.
l SynchronizeViews(string viewName)
l Associated menu item: View / Synchronize Views.
l Operation: synchronizes the selected view with the active view ("master" view).
l ShowSynchronizedViews(int b)
l Associated menu item: View / Show Synchronized Views.
l Operation: displays a label (b=1) at the bottom of each view indicating the ID of the view
as well as all the "slaves" views synchronized with it when "master" view.
l StopSynchronizedViews()
l Associated menu item: View / Stop View Synchronization.
l Operation: stops the dynamic synchronization of the whole CFView™ session.
l ViewSwap(string viewName)
l Associated menu item: View / Swap Views.
l Operation: exchanges the limits specification between the active view and the one with the
provided name.
l ViewSuperpose(string viewName)
l Associated menu item: View / Superpose Views.
l Operation: sets the limits of the view with the provided name equal to the limits of the
active view and sets the active view transparent.
l MatchRanges(string viewName)
l Associated menu item: View / Match Ranges
l Operation: sets the colormap range for the first activated view equal to the range of second
selected view.
l ArrangeIcons()
l Associated menu item: Window / Arrange Icons.
l Operation (Multiple Views): arranges the iconized views on the display.
l Exceptions: -
l Update()
l Associated menu item: Window / Refresh.
l Operation (Multiple Views): refreshes the graphical area.
l Exceptions: -
l CFViewWarning(string text)
l Operation: displays a warning in red in the message area below the graphics area.
l Example: CFViewWarning('Macro has been executed')
7.5.7
Commands Related to Turbomachinery Mode & B2B
View
l LoadHubAndShroud(string filename)
l Associated item: Geometry / Load hub and shroud curves...
l Operation: reads in the specified filename (.cgns or .dat) the definition of the hub and
shroud curves to create STM views and blade-to-blade view.
l SetAG5Conversion(float)
l Operation: imposes a conversion factor to the AutoGrid5™ hub and shroud data for
unstructured meshes when units are different from flow solver ones.
l SetTheta0(float theta0)
l Operation: cuts the unstructured mesh (blocks meshed on 360 degrees) along the half-plane
theta=theta0 (in radian) after loading the hub and shroud curves. This command should be
executed before loading the project.
l DefaultTurboMDefinition(int mode TM, int nrofspan, float rshift, int mode SM)
l Associated menu item: Preferences / Turbo Settings.
l Operation: defines M definition mode in TM and SM views when activating
turbomachinery mode (File/Turbomachinery). mode is set to 0 for "Backward 8.7", 1 for
"AutoGrid5 Definition" and 2 for "Hub Equal Shroud". nrofspan is the number of
spanwise constant flow paths used for the discretization. rshift is the shift used in
"AutoGrid5 Definition" mode.
It is advised to execute the command before loading a .run file into CFView™.
l SetTurboMode(), UnsetTurboMode()
l Associated menu item: File / Turbomachinery.
l Operation: enables or disables the turbomachinery mode.
l OpenTurboModeStandard3DView(int forceNew)
l Operation: opens a standard three dimensional view at its default location. If the forceNew
value is different from 0, a new view is created (and replaces the already existing one if
necessary).
l OpenTurboModeBladeToBladeView(int forceNew)
l Operation: opens a blade to blade view at its default location. If the forceNew value is
different from 0, a new view is created (and replaces the already existing one if necessary).
l OpenTurboModeBladeView(int forceNew)
l Operation: opens a blade view at its default location. If the forceNew value is different
from 0, a new view is created (and replaces the already existing one if necessary).
l OpenTurboModeMeridionalView(int forceNew, int computeAverage)
l Operation: opens a meridional view at its default location. If the forceNew value is
different from 0, a new view is created (and replaces the already existing one if necessary).
If the computeAverage value is set to 1 then the meridional average is computed instead of
loaded from the solver data.
7.5.8
Commands Related to Meridional View Creation
l string OpenPitchAveraged(int mode, int listLength, ...., string weightOption)
l Operation: computes the pitch average based on the provided meridional mesh and opens a
new view in which the results are shown.
l SetDefaultPitchAveragePatches ( int mode,
int
listLength,
...., string weightOption,
int
noOfScalars, int noOfVectors, listOfScalars, listOfVectors)
l Associated menu item: Geometry / Set Meridional Average Input...
l Operation:
defines
command
default meridional mesh
OpenDefaultPitchAverageView (). If the last four parameters are not defined, all the
quantities will be averaged.
used
the
the
by
l Explanation of arguments meaning:
mode: specifies how the meridional mesh is provided in the following arguments. Three
modes are supported:
if mode = 1, the surfaces list is provided as a set of names and the listLength value is the
number of surfaces in the meridional mesh.
if mode = 2, the surfaces list is provided as a serie of 3 integral values: domain number,
index family, index value, it defines one of the subsurfaces belonging to the meridional
mesh, the list length argument is the total number of integer values defining the whole set of
subsurfaces. Thus, for example, one subsurface needs three numbers, and the list length
argument value is 3 if the meridional mesh contains only one subsurface, 6 if the meridional
mesh contains two subsurfaces, etc... 
if mode = 3, the surfaces list is provided as a series of mesh surfaces described by
normalized parameters. These parameters are the domain index, the surface family index,
the normalized index value and the normalized range to be considered 
noOfVectors: the number of selected vectors to be averaged. (optional)
listOfScalars: the list of selected scalar names to be averaged. (optional)
listOfVectors: the list of selected vector names to be averaged. (optional)
l SetMeridionalAverageInput(string weightOption, int noMeridionalSurf, listOfNames, int
noOfScalars, int noOfVectors, listOfScalars, listOfVectors)
l Associated menu item: Geometry / Set Meridional Average Input...
l Operation: sets the meridional average input for unstructured project with the parameters
given. If the last four parameters are not defined, all the quantities will be averaged.
weightOption: a string value specifying the applied weighting. "1" means a value 1 is
given to the weighting coefficient and "Density*Vxyz" or "Density*Wxyz" means that a
mass flow weighting is applied.
noMeridionalSurf: the number of meridional surfaces selected.
listOfNames: the list of names for the selected meridional surfaces.
noOfScalars: the number of selected scalars to be averaged. (optional)
noOfVectors: the number of selected vectors to be averaged. (optional)
listOfScalars: the list of selected scalar names to be averaged. (optional)
listOfVectors: the list of selected vector names to be averaged. (optional)
l string OpenDefaultPitchAveragedView()
l Associated menu item: Window / Compute & Open Pitch Average
l Operation: computes and opens a pitch average view, by using the default meridional
command
from the
specified
project
taken
file
the
by
or
patches
SetDefaultPitchAveragePatches().
When the user creates a pitch averaged view, the numerotation is modified. For example, for a
multistage project including 6 blocks, the user creates a meridional view in which there is only 4
patches leading to a different resulting numerotation. The function StructuredDomainSize will
not return the same results in the 3D view and in the pitch averaged view.
7.5.9
Commands Related to Active View Only
Unless differently stated, all these commands perform no action if no view is active.
l string ViewName()
l Operation: returns the name of the currently active view.
l Exceptions: if no view is active, raises a Run Time Error.
l BackgroundType(int type, arguments)
l Associated menu item: Set Background
l Operation: sets the active view background to single color (type=0), shaded colors
(type=1), picture file (type=2) or skybox file/script (type=3).
l Arguments:
l when single color: BackgroundType(0, h, s, v) where the 3 arguments h, s and v refer
to the HSV color.
l when shaded colors: BackgroundType (1, h1, s1, v1, h2, s2, v2) where the 6
arguments h1, s1, v1 and h2, s2, v2 refer to refer to the 2 HSV colors selected to define
the shaded background.
l when picture file: BackgroundType(2, string filenamepath, ints) where the arguments
are the full path of the picture file to be loaded and the stretching option (stretched (s=0)
or normal mode (s=1)).
l when skybox file/script: BackgroundType(3, string filenamepath) where the argument
is the full path of the skybox file or script to be loaded.
l ResetViewContent()
l Associated menu item: Window / Reset View
l Operation: resets the view to its default content. For 3D and 2D views, all solid surfaces
boundaries are shown and the camera is set in its original position. For Cartesian plot
views, the command removes all the curves.
l DeleteViewContent()
l Operation: delete all the content of the active view.
l ViewPushBack(), ViewBringToFront()
l Associated menu item: View / Push Back.
l Operation: pushes the active view behind the other ones or bring it in front of others.
l ViewClose()
l Associated menu item: Window / Close.
l Operation (Close Active View): closes the current view. After this operation no view is
active.
l Exceptions: raises an Attribute Error if there is no current view.
l Border(int b)
l Associated menu item: View / Parameters / Border.
l Operation (View/Parameters): suppresses (b=0) or activates (b=1) the view border.
l Transparent(int b)
l Associated menu item: View / Parameters / Transparent.
l Operation (View/Parameters): sets the current view in transparent mode (b=0) or in opaque
mode (b=1).
l LimitsFull()
l Associated menu item: View / Full.
l Operation ("Change View Size/Position" (p. 54)): sets current view to full size.
l Limits(float xmin, float xmax, float ymin, float ymax)
l Associated menu item: View / Move and View / Resize.
l Operation ("Change View Size/Position" (p. 54)): sets the lower left corner of the active
view to (xmin, ymin) and its upper right corner to (xmax, ymax). The lower left corner of
the graphics area is in (-1,-1) and its upper right corner is in (1,1).
l ViewIconize()
l Associated menu item: View / Minimise.
l Operation ("Change View Size/Position" (p. 54)): iconizes the current view.
l Exceptions: raises an Attribute Error if no view is active.
l LimitsPref()
l Associated menu item: View / Preferred Size.
l Operation ("Change View Size/Position" (p. 54)): resets the current view to the size it had
before a ViewIconize command (only if the last resizing command was ViewIconize).
l UpdateUndo()
l Associated menu item: Update / Undo.
l Operation (Undo): deletes the last added representation.
7.5.10 Commands Related to Viewing Geometry of Active
View
Unless stated differently, all these commands perform no action if no view is active.
l Projection(int m)
l Associated menu items: View / Parameters / Stretched, Orthographic and Perspective
l Operation (Projection Mode): sets the projection mode in stretched (m=0), orthographic
(m=1) or perspective mode (m=2).
l Exceptions: raises Attribute Error if m is not 0, 1 or 2.
l Normal(float nx, float ny, float nz)
l Associated menu item: View / Parameters / Normal
l Operation (View Concepts): sets the camera to point in a direction parallel to the vector (nx,
ny, nz).
l UpVector(float nx, float ny, float nz)
l Associated menu item: View / Parameters / UpVector
l Operation ("View Concepts" (p. 42)): sets the up direction parallel to the vector (nx, ny,
nz).
l FullRender(bool b)
l Associated menu item: View / Parameters / FullRender
l Operation (View/Parameters): activates the Full Render mode if b is set to 1.
l FastPreview(bool b)
l Associated menu item: View / Parameters / Fast Preview
l Operation (View/Parameters): activates the Fast Preview mode.
l ViewOriginal(bool onlyVisibleGeometry)
l Associated item: original viewing button.
l Operation (Viewing Buttons): if onlyVisibleGeometry = 0 : takes all the geometry into
account for the fit. If onlyVisibleGeometry = 1: takes only the visible geometry into
account for the fit (the "fit camera" button fits only the visible geometry).
l ViewPlaneX/Y/Z()
l Associated item: projection viewing buttons.
l Operation (Viewing Buttons): projects the current view on a X, Y, or Z plane.
l ViewRotateX/Y/Z(float a)
l Associated item: rotates viewing buttons.
l Operation (Viewing Buttons): rotates the current camera around an axis defined by the
target point and the axis X, Y, or Z. Rotation angle is given by 'a' in radian.
l ViewDolly(float a)
l Associated item: dolly viewing button.
l Operation (Viewing Buttons): rotates the view around the view axis from an angle a.
l ViewRotate(float u, float v, float -)
l Associated item: free rotation viewing button.
l Operation (Viewing Buttons): rotates the view of an angle u around the horizontal axis
perpendicular to the view axis and of an angle v around the view axis;
l ViewScroll(float u, float v, float -)
l Associated item: translation viewing button.
l Operation (Viewing Buttons): Translates the view from vector (u,v). (2,2) corresponds to a
translation from the lower right corner to the upper left corner.
l ViewZoom(float f)
l Associated item: zoom button.
l Operation (Viewing Buttons): performs a zoom in/out operation by multiplying the camera
width and height by f. Values larger than 1 result in a zoom out operation, while values
smaller than one result in a zoom in operation.
l ViewZoomAreaIn(float xmin, float xmax, float ymin, float ymax)
l Associated item: zoom area viewing button.
l Operation (Viewing Buttons): Zooms in the view. The rectangle defined by (xmin, xmax,
ymin, ymax) becomes the whole scene after the operation. On 3D and 2D views, a zoom of
(-1, 1, -1, 1) is a full view zoom (i.e. has no effect). In Cartesian plot views, the arguments
correspond to the abscissa and ordinate axes ranges.
l ViewZoomAll()
l Associated menu item: zoom all viewing button.
l Operation (Viewing Buttons): Performs a fitting operation.
l ViewTarget(float f)
l Associated item: target viewing button.
l Operation (View Concepts): moves the camera along the line of view. The new position is
obtained by multiplying the distance between the camera and the view point by f. The
command ViewTarget () only works when the projection mode Perspective ( View /
Parameters / Perspective) is active.
l ViewPlane(float f)
l Associated item: plane viewing button.
l Operation (View Concepts): moves the camera target and the associated clipping planes
along the line of view. The new target position is obtained by multiplying the distance
between the camera and the view point by f. The clipping plane are moved by an equal
distance.
l SetCamera(float p1, float p2, float p3, float t1, float t2, float t3, float v1, float v2, float v3,
float w, float h)
l Associated menu item: dynamic viewing button.
l Operation ( Viewing Buttons ): sets the camera position and viewing parameters. The
vertical vector defines which vector should be up. It controls the angle of the view (i.e as a
lateral flexion of the head pointing a target in front of you). While the view itself is
controlled by the vector from the camera position coordinates to the target point
coordinates.
l Arguments:
l p1, p2, p3 are the coordinates of the camera position.
l t1, t2, t3 are the coordinates of the target point.
l v1, v2, v3 are the coordinates of the vertical vector direction.
l w and h are respectively the width and height of the view.
l SetCameraWidth(float f), SetCameraHeight(float f)
l Operation: sets the camera width / height to the specified value.
l GetCamera()
l Operation: returns a list with the camera position coordinates (p1, p2, p3), the camera target
coordinates (t1, t2, t3), the camera up vector coordinates (v1, v2, v3), the camera width (w)
and the camera height (h). The first 3 parameters are vectors, the last 2 are numbers.
Example:
camera = GetCamera()
cameraPosition = camera[0]
cameraTarget = camera[1]
cameraUpVector = camera[2]
cameraWidth = camera[3]
cameraHeight = camera[4]
ViewOriginal(1)
SetCamera(cameraPosition[0],cameraPosition[1],cameraPosition[2],cameraTarget[0],
cameraTarget[1], cameraTarget[2],cameraUpVector[0],cameraUpVector
[1],cameraUpVector[2],cameraWidth, cameraHeight)
7.5.11
Commands Related to Mesh Representation
These commands are related to the active view. no action is performed if no view is active.
l PostDefaultSurfaces()
l Operation: adds the representation of the boundaries of the default surfaces. This command
is performed when a new 2D or 3D view is opened.
l GmtToggleBoundary(), GmtBoundaryVisibility(int b, [string name])
l Associated menu item: Geometry / Boundary.
l Operation (View Surfaces): toggles or sets visibility of the boundaries of surfaces. The b
argument is interpreted as a Boolean value: if b=0, the boundary visibility is turned off,
otherwise it is turned on. If a name is provided, the visibility of the specified surface is set,
otherwise all the active surfaces boundaries visibility is set. There may be more than one
name passed as argument.
l GmtToggleBoundarySolid()
l Associated menu item: Geometry / Solid Boundary.
l Operation (View Solid Boundaries): toggles the visibility of the boundaries of the active
surfaces having a solid boundary condition.
l UpdateBoundaryLineType(LineType lineType)
l Operation: sets the line type attributes for the boundary lines of the active surfaces
( Description of Argument List for Some Standard Features for a description of the
LineType argument).
l GmtToggleGrid(), GmtGridVisibility(int b, [string name])
l Associated menu item: Geometry / Grid.
l Operation (View Grid Wireframe): toggles or sets the visibility of the grid (mesh wire
frame) of surfaces. The b argument is interpreted as a Boolean value: if b=0, the grid
visibility is turn off, otherwise it is turned on. If a name is provided, the visibility of the
specified surface is set, otherwise the visibility off all the active surfaces is set. There may
be more than one name passed as argument.
l GmtScale(float sx, float sy, float sz)
l Associated menu item: Geometry / Scale.
l Operation: sets the scale of the current view in x, y, and z directions to sx, sy and sz.
l Exceptions: Negative or zero scales will produce a ValueError.
l GmtRepetitionToggle(), GmtRepetitionSet(int b)
l Associated menu item: Geometry / Repetition on/off.
l Operation (Graphics Repetition): toggles or sets repetition on domains having at least one
active surface in the view. The argument b is interpreted as a Boolean value: if b=0, the
repetition is disabled, otherwise it is enabled.
l repetitionType GetMeshRepetitionType (), repetitionType GetDomainRepetitionType ( int
domId), repetitionType GetSurfaceRepetitionType(string name)
l Operation: returns the repetition description associated to the current project,
to the
specified domain or to the specified surface. A domain is specified by its index, between 1
and the number of domains. A surface is specified by its name. The returned value is a
variable list of parameters. The first parameter in the list indicates the repetition type:
l 0: no repetition. In that case the list does not include other parameters.
l 1: repetition by translation. The following parameters in the list are the 3 components of the
translation vector, followed by the number of repetition.
l 2: repetition by rotation. The following parameters indicate the rotation angle in degree,
then the three components of the point defining the rotation axis position and then the three
components of the rotation axis direction.
l 3: repetition by mirroring. The following parameters are the three components of the point
defining the mirror position followed by the three components of the normal to the mirror.
All components of vectors and positions are specified in Cartesian coordinates.
l SetDomainRepetitionType(int domId, repetitionType type)
l Operation (Graphics Repetition): sets the type of repetition for the specified domain .
l Exceptions: invalid domain index will produce a ValueError.
l RepetitionCgnsSurfaces(string surfacename, int ntype, float p_1x, float p_1y, float p_1z,
float v_1x, float v_1y, float v_1z, int nrepetition, int nperiodicity)
l Associated menu item: Geometry / Repetition Settings.
l Operation: sets the number of repetitions on surfaces that comes from the surface CGNS
file. It takes the following arguments:
the name of a surface (surfacename) or 'all'
an integer ntype indicating the type of the repetition (1: translation, 2: rotation, 3: mirror)
the 3 coordinates of a point (point)
the 3 coordinates of a vector (vector)
if translation or rotation, the number of repetitions (nrepetition)
if rotation, the number of periodicity (nperiodicity)
There can be a list of surfaces, each one followed by the above arguments.
l GmtRepetitionNumber(int n)
l Associated menu item: Geometry / Repetition Number.
l Operation (Graphics Repetition): sets the number of repetitions on domains having at least
one active surface in the view. The number of the arguments can be 1 (for all
blocks/groups) or the number of groups (one number for one group)
l Exceptions: zero number will produce a ValueError.
l AddRprCellList, RprCellList, RemoveRprCellList(float sizeFactor, int domainIndex, int
cellListSize, int cellIndex1, ..., int cellIndexn)
l Associated menu item: Geometry/Cells
removes cells
l Operation ( View Elements (Unstructured Meshes Only) ): adds or
representation; sizeFactor is the scaling factor applied to the cell
representation;
cellListSize is the number of cells respectively: added to the representation, represented, or
removed from the representation, their indexes are contained in the remaining parameters:
cellindex1,...cellIndexn.
l ShowSelectedSurfacesNormal(string names)
l Associated menu item: Right-click on selected surface
l Operation: shows the normals on the surfaces defined by names
l ReverseSelectedSurfacesNormal(string name)
l Associated menu item: Right-click on selected surface
l Operation: reverses the normals on the surfaces defined by names
l RotateBlock (int blockIndex, float angle, float axis_x, float axis_y, float axis_z, float p_x,
float p_y, float p_z)
l Rotates the specified mesh together with the solutions (cutting planes, color contours,
vectors, local values, etc.).
l TranslateBlock (int blockIndex, float vector_x, float vector_y, float vector_z)
l Translates the specified mesh together with the solutions (cutting planes, color contours,
vectors, local values, etc.).
RotateBlock() and TranslateBlock() will not be applied on the streamlines and the Cartesian
plots.
It is recommended to use these commands RotateBlock() and TranslateBlock() after loading the
project and before doing any representation.
l RemoveSelectedSurfacesNormal(string name)
l Associated menu item: Right-click on selected surface
l Operation: removes the normals on the surfaces defined by names
7.5.12 Commands to Obtain Informations on Data Set
l [int, int, int] StructuredDomainSize(int i)
l Operation: returns the number of points in the I, J and K directions for the domain i.
l Exception: if i is out of the valid range (i.e. is lower than 0, equal to 0 or larger than the
number of domains) the function returns three null values. If the value for i is not an integer,
a Syntax Error exception is raised.
l string ProjectFile()
l Operation: returns the file name with path and extension of the data set associated to the
active view.
l Exception: raises a RuntimeError if there is no active view.
l string GetProjectPath()
l Operation: returns the folder of the project opened in the active view.
l string GetProjectName()
l Operation: returns the name of the project opened in the active view.
l int SurfaceExist(string name)
l Operation: returns 1 if a surface or a group of surfaces having the provided name is existing
in the current project. Returns 0 otherwise.
l int NumberOfDomains()
l Operation: returns the number of domains of the loaded project when partial loader is used
and does not load all the available domains. For instance, to get the value, use the following
lines:
nDom = NumberOfDomains ()
print 'NumberofDomains=', nDom
l int NumberOfDomainsInRunFile()
l Operation: returns the number of domains of the active project.
l int GetIndexInRunFile(int i)
l Operation: returns the original index in the run file from the loaded domain index.
l int NumberOfPoints(string name)
l Associated item: Surfaces / Right-click on the selected surface
l Operation: returns the number of points of the active surfaces.
l int GetDomainIndexByName(string name)
l Operation: returns the domain index for the domain called name. "0" is returned when
domain index does not exist or is not loaded.
l int GetDomainIndexBySurfaceName(string name)
l Operation: returns the domain index of the input surface name. For structured case, if the
partial loader has been used the domain index returned will be the initial block number of
the block. I.e. if only block 3 is loaded it returns 3 instead of 1.
Example:
domId=GetDomainIndexBySurfaceName('deck solid')
l int GetDomainIndexByRegex(string name)
l Operation: returns the domain index (or a list of indexes) based on regular expressions
defined by name.
l string GetDomainNameByIndex(int i)
l Operation: returns the domain name for the domain index i (starting from 1). "Domain not
found" is returned when domain name does not exist or is not loaded.
l SurfaceLimitIndices(string name)
l Operation: returns a list [i0,i1,i2,i3,i4,i5] which contains IJK information on the surface
called name. The information are:
i0: I*min of the surface = Imin if J or K constant surface & Jmin if I constant surface
i1: I*max of the surface = Imax if J or K constant surface & Jmax if I constant surface
i2: J*min of the surface = Jmin if K constant surface & Kmin if I or J constant surface
i3: J*max of the surface = Jmax if K constant surface & Kmax if I or J constant surface
i4: 0, 1, 2 respectively if I, J or K constant surface
i5: constant indice of the surface
l GetSclQntSurfaceList()
l Operation: returns the list of scalar quantity names on surface.
l GetVecQntSurfaceList()
l Operation: returns the list of vector quantity names on surface.
l GetSclQntDomainList()
l Operation: returns the list of scalar quantity names in the field.
l GetVecQntDomainList()
l Operation: returns the list of vector quantity names in the field.
l GetFluidType()
l Operation: returns the fluid type of the computation.
l ThermoTableCompute(string "TableName", float arg1, float arg2, int domainId)
l Operation: returns the value of a thermodynamic field according to the table name, arg1,
arg2 and domainId. Arg1 and arg2 are two real numbers for the two thermodynamic field
input values. domainId is the block number of the fluid domain.
l Examples:
If the table is the 1D saturation table: Table name=PSA, arg1 is the pressure (real number),
arg2 is the option (integer) that controls the returned value and domainId is the block
number of the fluid domain:
1=D liquid; 2=D vapor; 3=H liquid; 4=H vapor; 5=S liquid; 6=S vapor; 7=E liquid; 8=E
vapor
rl=ThermoTableCompute("PSA", 1e+5, 1, 3)
rl is D liquid at 100000 Pa in the domain 3.
If the table is a 2D table:
s = ThermoTableCompute("SHP", 2.73e+6, 187000, 2)
s is the entropy for the enthalpy= 2.73e+6 and pressure = 187000 Pa in the domain 2.
Warning: The RHS table does not return D but the ratio P/D.
l float Distance(float p1_x, float p1_y, float p1_z, float p2_x, float p2_y, float p2_z)
l Associated item: Tools / Distance
l Operation: measure the distance between two points p1 and p2. It returns a list containing
the distance between the two points and the values of dx, dy and dz.
7.5.13 Commands Related to Surface Creation
l string CutPlaneSave(float p_x, float p_y, float p_z, float n_x, float n_y, float n_z, int coord,
string name)
l Associated item: Geometry / Create Cutting Plane....
l Operation (Create Cutting Plane): creates and saves the cutting plane defined by the point
(p_x, p_y, p_z) and the normal direction (n_x, n_y, n_z).
The last two parameters ( coordinateSystem and name ) can be omitted for backward
compatibility.
l p_x, p_y, p_z are the coordinates of the point defining the plane,
l n_x, n_y, n_z are the coordinates of the normal to the plane,
l coord indicates in which coordinates system p1, p2, p3, d1, d2, d3 are provided. If this
parameter is omitted, the assumed coordinates system is the one of the active view. Values of
0, 1 and 2 correspond respectively to Cartesian, cylindrical and blade to blade coordinates
system.
l name is the root name for the created surfaces and the name of the group if a group is created.
If this parameter is omitted, a root name is generated automatically: 'CUT' followed by a
number.
If the cut is crossing several domains, the name of the group is returned. This name is identical
to the name provided as last argument or is the automatically generated root name. If only one
domain is cut, the name of the created surface is returned. If the cut specification does not cross
the grid, no value is returned.
l Exceptions: A zero direction (dx=dy=dz=0) will trigger a ValueError.
l Typical uses of this function are:
l Creation of a cut and setting the active surface to the cut only (whatever the number of cut
domains):
cutName = CutPlaneSave( ... ),
SelectFromView(cutName).
l Creation of a cut and check of its existence:
cutName = CutPlaneSave( ... )
from types import *
if (type(cutName) != StringType) : print "Cut plane do not cross the grid"
l Creation of a cylindrical cut at R=0.5 and computation of its area:
cutName = CutPlaneSave(0.5, 0., 0., 1., 0., 0., 1, 'cutAtR05')
SelectFromView(cutName)
a = GmtArea()
l Creation of a cut and exclusion of some a priori known domains from it:
cutName = CutPlaneSave(..., 'myCut')
DeleteFromProject('myCut.D5', 'myCut.D4')
Note that the last argument in the CutPlaneSave command enforces that the name of the group
is 'myCut' and that each cut surface has a name of the form 'myCut.Dn' where n is the domain
number. The DeleteFromProject command destroys the surfaces if they exist. If a surface does
not exist, the argument is ignored.
Please note that, along with the version 3.8-22 of CFView™, the automatic naming of cut planes
has changed. Macros scripts including the names created automatically in earlier versions may not
work with newer version. The macro scripts where the cut planes names are handled by means of
Python variables do not have this limitation.
l CutSurfaceSave (float p1_x, float p1_y, float p1_z, float n1_x, float n1_y, float n1_z, int
coord1, float p2_x, float p2_y, float p2_z, float n2_x, float n2_y, float n2_z, int coord2, string
name)
l Associated item: Geometry / Split Surface...
l Operation: extracts the portions of active surfaces delimited by two planes. This macro is
based on the macro CutPlaneSave 
l string SurfaceIJKSave(2, 8, int domainIndex, int surfaceType, int surfaceValue, int Is1, int
Js1, int Is2, int Js2, int displayMode)
l Associated item: none.
l Operation (Create Mesh Surface): creates, saves and returns the name of a mesh surface for
one domain. The two first parameters should be present with their prescribed value. The
parameter 'domainIndex' specifies the domain number (first domain is 0). The parameter
'surfaceType' indicates the surface type: I (index=0), J (index=1) or K (index=2) constant.
The parameter indexValue is the index of the surface within its family. Is1, Js1, Is2 and Js2
indicate the node ranges for the surface as indicated in the table here below. The parameter
displayMode is not used. The values are in the range 0, "number of points"-1, where
"number of points" is the number of points in the respective direction.
Surface family
Is1 / Is2
Jmin / Jmax
Imin / Imax
Imin / Imax
Js1 / Js2
Kmin / Kmax
Kmin / Kmax
Jmin / Jmax
The use of this function is discouraged. The command StructuredSurfaceSave is a more flexible
alternative and the recording of structured surfaces creation is using the StructuredSurfaceSave
command.
l string StructuredSurfaceSave(int domainIndex, int surfaceType, float surfaceValue, float
IFirst, float JFirst, float ILast, float JLast)
l Associated menu item: Geometry / Create IJK Surface....
l Operation: creates, saves and returns the name of a mesh surface for one domain. The
parameter 'domainIndex' specifies the domain number (first domain is 1). The parameter
'surfaceType'
indicates the surface index: I (index=0), J (index=1), K (index=2).The
following parameters: surfaceValue, IFirst, JFirst, ILast, JLast, are float-valued. They are
the normalized values of the integer indices as a function of their respective ranges. The
parameter surfaceValue is the float- valued index of the surface within its family (0.
represents the lowest index value, 1. represents the highest index value).The parameters
IFirst, JFirst, ILast and JLast, are normalized in the same way, they indicate the node ranges
for the surface.
l Example:
Creation of a surface at mid-domain for a constant I value:
StructuredSurfaceSave(1, 0, 0.5, 0, 0, 1, 1)
l LimitedCutPlaneSave(float p1, float p2, float p3, float d1, float d2, float d3)
l Operation (Surface Selection using Macro): creates and saves the cutting plane defined by
the point (p_x, p_y, p_z) and the normal direction (n_x, n_y, n_z).
l SetRevolutionSurfaceAxis (float p_x, float p_y, float p_z, float d_x, float d_y, float d_z)
l Specifies the rotation axis (Origin (p_) and the vector Direction (d_)) used to create a
surface of revolution from an IGG™ curve.
l IggCurveLoadAndCut(string fileName)
l Associated menu item: Geometry / Create Cutting Surface Along Igg Curve....
l Operation (Create Cutting Surfaces defined from IGG™ curve): loads an IGG™ curve and
creates a revolution surface into the active project.
l DeleteSurface(string name)
l Operation (Select Surfaces): removes all representations of the surface in the active view. If
the surface is a cut, a mesh surface, a blade to blade surface or an iso- surface, all
representations in other views are removed also and the surface is removed from the surface
list.
l string CutPlaneSaveFrom3Points(float p_x1, float p_y1, float p_z1, loat p_x2, float p_y2,
float p_z2, loat p_x3, float p_y3, float p_z3 )
l Associated item: Geometry / Create Cutting Plane From 3 Points
l Operation: creates a plane from three point (p_x1,p_y1,p_z1), (p_x2,p_y2,p_z2) and (p_
x3,p_y3,p_z3), and returns the name of the plane
7.5.14 Commands Related to Surface or Group Surface
Selection
Some of the functions described below are taking a variable number of arguments. If the
arguments to be passed to the command are contained in a list, the form apply(command,list) may
be used to call the command with the arguments contained in the list.
Example:
for i in range(1,10):
mySurfacesList.append(CutPlaneSave(....))
apply(SelectFromProject, mySurfacesList)
l SurfaceRename(string oldName, string newName)
l Associated operation: surface or group renaming from the Surface Selection dialog box.
l Operation (What are Surfaces in CFView™?): change the name of the indicated surface or
group from oldName into newName.
l Exception: raises an Attribute Error if newName is missing or is already used by another
surface or group. The error is raised also if oldName does not correspond to an existing
surface or group.
l [...] GetViewSurfaceList()
l Operation: this command returns the list of all the surfaces that are represented in the active
view. Note that for the surfaces that have been introduced as part of a group, only the group
name is included in the list.
l [...] GetViewActiveSurfacesList()
l Operation: this command returns the list of surfaces that are currently selected in the active
view.
l SelectFromView(string name1, string name2, ...)
l Operation (Select Surfaces): activates the surfaces having names name1, name2, etc...
l SelectFromViewRegExp(string regexp), UnselectFromViewRegExp(string regexp)
l Operation: adds or removes the surfaces having names matching the regular expression
regexp to or from the selection (for example '*' will match all, '*solid*' will match all solids,
etc...). The "SelectFromViewRegExp" command is similar to "SelectFromProjectRegExp".
l RemoveFromView(string name1, string name2, ...)
l Operation (Select Surfaces): removes the surfaces having names name1, name2, etc from
the active view. The operation only removes the representation on the indicated surface.
The surface will still exist but is not displayed (e.g. a color contour is no longer displayed).
l RemoveFromViewRegExp(string regexp)
l Associated menu item: -
l Operation: removes the surfaces having names matching the regular expression regexp (for
example '.*' will match all, '.*solid*' will match all solids, etc...) from the active view. The
operation only removes the representation on the indicated surface. The surface will still
exist but is not displayed (e.g. a color contour is no longer displayed).
l [...] GetProjectSurfaceList()
l Operation: returns the list of all the surfaces that are existing in the project. Note that for
surfaces that are part of a group, both the group name and all its members are included in
the list.
l SelectFromProject(string name1, string name2, ...)
l Associated menu item: Geometry / Select Surfaces....
l Operation (Select Surfaces): selects only the surfaces listed (having names name1, name2,
etc) from the project into the active view.
l SelectFromProjectRegExp(string regexp)
l Operation: adds surfaces from the project having names matching the regular expression
regexp to the selection (for example empty string ('') will match all and simply typing 'solid'
will match all solids etc...). Command equivalent to "SelectFromViewRegExp".
l SelectTypeFromProject(string type), UnselectTypeFromView(string type)
l Operation: activates or inactivates all the surfaces which have a boundary condition type
identical to the specified one (only the first 3 letters are considered, i.e. type may be sol, inl,
out, ext, mir, rot, con, cmb, nmb, per, pmb, pnm or sng).
l DeleteFromProject(string name1, string name2, ...)
l Operation (Select Surfaces): deletes the surfaces having names name1, name2, ..., from the
project (and also from the active view). DeleteFromProject removes all representations on
the indicated surfaces in all the views of the project AND deletes the surface(s) from the
project ONLY IF the surface was created during the project session. The names name1,
name2,..., can also be the name of a group of surfaces: DeleteFromProject deletes the
groups but not the surfaces inside.
l DeleteFromProjectRegExp(string regexp)
l Operation: deletes the surfaces from the project having names matching the regular
expression regexp (for example '*' will match all, '*solid*' will match all solids etc...).
DeleteFromProject removes all representations on the indicated surfaces in all the views
of the project AND deletes the surface(s) from the project ONLY IF the surface was
created during the project session.
l (e.g. a cutting plane).
l SurfaceActivate(float p1x, float p1y, float p1z, float p2x, float p2y, float p2z)
l Associated menu item: Geometry / Activate Surface ().
l Operation (Select Surfaces): toggles the selection status of the surface intersected by the line
defined by the points (p1x,p1y,p1z) and (p2x,p2y,p2z). If more than one surface is
intersected, the closest one to the camera is selected.
The arguments of the function SurfaceActivate are (p1x,p1y,p1z,p2x,p2y,p2z). p1and p2 are two
points in Cartesian coordinates. When using the function in the meridional view, (Z,R,Theta)
coordinates are used to locate a point (p1z,p1r,p1theta,p2z,p2r,p2theta).
l ActivateSurfacesFromDomainIndex(int domId, string 'surface type')
l Operation: selects all surfaces from domain specified by its domain ID. The second
argument is optional and it allows the selection of some type of surfaces only. The available
surface types are the same than the command SelectTypeFromProject . If second
argument is missing, all surfaces are selected.
Example:
ActivateSurfacesFromDomainIndex(3, 'sol')
l CreateSurfaceGroup(string groupName, string surfaceName, ...)
l Operation (Surfaces Groups): create a group with the specified name and containing the
surfaces provided in argument.
l SelectedSurfacesAdd(string surfaceName)
l Associated item: right-click on the selected surfaces and Add to Selection
l Operation: add the selected surfaces to the current selected surfaces list.
l SelectedSurfacesRemove(string surfaceName)
l Associated item: right-click on the selected surfaces and Remove from Selection
l Operation: remove the selected surfaces to the current selected surfaces list.
l GroupRemove(string groupName)
l Operation (Surfaces Groups): suppresses a group, leaving intact all its members.
l GroupItemMove(string surfaceName, string originalgroupName, string newgroupName)
l Operation: groups selected surface and existing group in a new group.
7.5.15 Commands Related to Surface Rendering
These commands apply to the active surfaces of the active view. No action is performed if no
view is active.
l RenderHidden(), RenderUniform(), RenderFlat(), RenderGouraud(), RenderPhong(),
RenderNone()
l Associated menu items: Render / and Render / Shading.
l Operation (View Surfaces): applies specified rendering option (either hidden line removal,
uniform shading, etc...) to all active surfaces in the active view.
l RenderToggleMarker(), RenderToggleEdge(), RenderToggleFace()
l Associated menu item: Render / Visibility.
l Operation: toggles visibility status of the grid nodes (markers), edges, or faces.
l RenderToggleMarkerLight(), RenderToggleEdgeLight(), RenderToggleFaceLight()
l Associated menu item: Render / Light.
l Operation: toggles lighting status of the grid nodes (markers), edges or faces.
l UpdateMaterial ( Color diffuse, Color specular,
float gloss, Color transmission,
specularAmount,
reflectionAmount)
bool
hasEnvironementMapping,
string
reflectionMap,
float
float
l Associated menu item: Update / Surface Material....
l Operation: sets the reflection properties of all active solid surfaces.
l diffuse: the color of the material in HSV format. Default is (210.857,0.25,0.54902).
l specular: the color of the specular highlight of the material. Default is white color (0,0,1).
l gloss: the extend of the specular highlight of the material. Range: [1,30]. Default is 5.
l transmission: the color used for transparent object. The r,g,b values should be the same.
default is black (0, 0, 0).
l specularAmount: the specular amount of the surface. Range [0,1]. Default is 1.0.
l hasEnvironmentMapping : 1 if the surface has environment mapping, 0 otherwise.
Default is 0 (no environment mapping)
l reflectionMap: the name of the environment map. Default is "metal-polished". The list of
available environment maps is:
metal - polished, metal - steel, metal - chrome, metal - alu, mirror - sky, mirror - mountain,
mirror - trees, mirror - hall, shading - gradient, shading - tone, shading - anisotropic.
l reflectionAmount: the amount of reflection. Range[0,1]. Default is 0.85.
l DisplayShadow(bool itDisplayShadow)
l Associated menu item: View / Parameter / Display shadow
l Operation: displays or hides the shadow under the geometry (ItDisplayShadow = 0 : hides
shadow, itDisplayShadow = 1 : shows shadow)
l UpdateLight (  float positionX,
float positionY,
float positionZ,
float directionX,
float
directionY, float directionZ, bool itIsLocalLight, float lightIntensity)
l Operation: changes the parameters of the light of the active view.
l positionX, positionY, positionZ: position of the point light in camera space. The length of
the vector position gives the relative distance r to the center of rotation. A bounding box
enclosing the scene is computed. The extent of the bounding box is b. The real distance of
the point to the center of rotation is given by the formula 1.5 * b * r.
l directionX , directionY , directionZ : normalized vector representing the direction of a
directional light
l itIsLocalLight: 0 = directional light; 1 = omni light
l lightIntensity: represents the intensity of the light. The range is [0,1] and the default is 1.0.
Corresponds to the slide "light intensity" divided by 100.
l Additional note:
- With directional light, only the direction is taken into account (not the position).
- With omni light, only the position is taken into account (not the direction).
l SetOpacity( float opacityValue)
l Operation: sets the opacityValue to all the active surfaces and to all the active color
contours.
l opacityValue : represents the opacity of
the surface. Range: [  0,1]
(0: completely
transparent, 1: completely opaque)
l DeleteSolid()
l Associated menu item: Update / Delete / Solid.
l Operation: deletes surface rendering on all active surfaces.
7.5.16 Commands Related to Quantity Selection
These commands trigger a Name Error if the quantity is unknown.
l int QntFieldExist(string name)
l Operation: the function is testing if a quantity with the specified name is existing in one or
several domains. If the quantity is existing the function returns a non null value. This macro
can not be used for solid quantities .
l int QntSurfaceExist(string name)
l Operation: the function is testing if a solid quantity with the specified name is existing on
one or several surfaces. If the quantity is existing the function returns a non null value.
l QntFieldScalar(string quantity), QntFieldVector(string quantity)
l Associated menu item: Quantity / Field Data.
l Operation (Select Field Quantity): selects quantity as the active quantity.
l QntFieldLoad(string quantity)
l Operation (Quantities Load on Demand): if the specified quantity is not already loaded
from file, it is loaded.
l Exception: a ValueError is produced if the name is not valid.
l QntFieldRemove(string quantity)
l Associated item: the Quantity Status dialog box.
l Operation (Field Quantities Status Dialog Box ): if the specified quantity is a derived
quantity, it is removed. Otherwise, no operation is performed.
l Exception: a ValueError is produced if the quantity name is not valid.
l QntFieldDerived ( int mode, string name, string definition [, string definition2, string
definition3])
l Associated menu item: Quantity / Field Data / Define New Quantity...
l Operation: creates a new field quantity named 'name'. The parameter 'mode' specifies the
new quantity type: 0 for a scalar, 1 for a vector with a definition expressed as a combination
of vectorial quantities or 2 for a vector with a definition specified component by
component. If 'mode' has a value of 2, the parameters 'definition2' and 'definition3' must be
present, otherwise they can be omitted.
l QntSurfaceDerived ( int mode, string name, string definition [, string definition2, string
definition3])
l Associated menu item: Quantity / Field Data / Define New Quantity...
l Operation: creates a new surface quantity named 'name'. The parameter 'mode' specifies the
new quantity type: 0 for a scalar, 1 for a vector with a definition expressed as a combination
of vectorial quantities or 2 for a vector with a definition specified component by
component. If 'mode' has a value of 2, the parameters 'definition2' and 'definition3' must be
present, otherwise they can be omitted.
l FieldCurl(string quantity), FieldDivergence(string quantity), FieldGradient(string quantity)
l Associated menu items: Quantity / Field Data / Curl, Divergence, Gradient
l Operation: (Apply Differential Operators: Gradient, Divergence or Curl) calculates the
Curl, Divergence or Gradient of the operand field and creates a new field quantity named
respectively: Curl, Grad, Div followed by (name of the operand field).
l FieldLambda2(string quantity), FieldQInvariant(string quantity)
l Associated menu items: Quantity / Field Data / Vortex Detection / Lambda 2, Q
Invariant
l Operation: (Vortex Detection) calculates the Lambda 2 and Q Invariant of operand field
and creates a new field quantity named respectively: Lambda 2, Q Invariant followed by
(name of the operand field).
l QntSolidScalar(string quantity), QntSolidVector(string quantity)
l Associated menu item: Quantity / Solid Data
l Operation (Select Solid Quantity): selects quantity as the active quantity.
l ThermoDynDerQnt(string quantity)
l Associated menu item: Quantity / Field Data / Computed Thermodynamics
l Operation ( Select Computed Thermodynamic Quantity ): selects quantity as the active
quantity.
l ImportQuantity(projName, qntName, newQntName)
l Associated menu item: Quantity / Field Data / Projects Comparison ...
l Operation ( Projects Comparison ): imports a quantity for comparison. The parameter
projName is the project from which the quantity will be imported, qntName is the name
of the quantity to import and newQntName is the name of the new quantity to be created
in the active project.
l CompareQuantity(projName, qntName, newQntName)
l Associated menu item: Quantity / Field Data / Projects Comparison ...
l Operation ( Projects Comparison ): compares a quantity for two opened projects. The
parameter projName is the project from which the quantity will be compared, qntName is
the name of the quantity to compare and newQntName is the name of the new quantity to
be created in the active project.
l DefaultProjectsComparisonTolerance(float tol)
l Associated menu item: Preference / Projects Comparison Tolerance
l Operation (Projects Comparison): sets the tolerance for projects comparison.
l QntPlot(string quantity)
l Associated menu item: Quantity / Plot Data
l Operation (Represent Plot Data): creates a new plot view with the plot data quantity and
makes it the active view.
l string QntValid(string quantity), string QntValidCompare(string quantity)
l Associated menu item: Quantity / Validation Data.
l Operation (Represent Validation Data): creates a new plot view with the validation data,
makes it the current view. Furthermore, QntValidCompare extracts and draws collocated
simulated data. The functions are returning the name of the view in which the data are
inserted.
l QntValidLoad(string fileName)
l Associated menu item: File / Load Validation Data...
l Operation: loads the indicated file and inserts the validation data it contains.
l QntSolidRemove(string quantity)
l Operation: unloads the quantity and place a small bitmap file (unload icon) adjacent to the
quantity in Quantities/Solid Data box in the QAP.
l QntSolidRemoveAll()
l Operation: unloads all solid quantities in Quantities box and places an unload icon beside
each solid quantity.
l QntFieldRemove(string quantity)
l Operation: unloads the quantity and place a small bitmap file (unload icon) adjacent to the
quantity in Quantities box in the QAP.
l QntFieldRemoveAll()
l Operation: unloads all field quantities in Quantities box and places an unload icon beside
each field quantity
l ParticuleTracesAll(), ParticuleTracesOnGrid (int Imin, int Imax, int Istep, int Jmin, int
Jmax, int Jstep)
l Associated menu item: Quantity / Particle Traces
l Operation (Represent Particle Traces Data): adds the representation of the particle traces
data related to any of the active INLET boundaries. ParticuleTracesOnGrid restricts the
traces to those on a subset of cells whose index is defined by a I index between Imin and
Imax, one each Istep and a J index between Jmin and Jmax, one each Jstep.
7.5.17 Commands Related to Quantity Probing
l float / [float, float] / [float, float. float] ProbeIJK(int domId, int i, int j, int k):
Operation: this function returns the value of the active quantity at the grid point of the domain
domId and whose indices are provided (domId =1 correspond to the first domain). The
required number of indices depends on the grid type:
l for 3D structured grids i, j and k are required (values between 1 and the maximum number
of grid nodes should be provided);
l for 2D structured grids (including 2D grids issued from Turbomachinery mode, only i and j
are important. In that case, one can use whatever value for k.
For instance: ProbeIJK(1,1,0) will give the same result as ProbeIJK(1,1,1).
l for unstructured grids, only i is important.
The returned value depends on the grid dimensionality and on the type of the active
quantity. If the active quantity is a scalar, the returned type is a float. If the active quantity is
a vector, the returned type is [float, float, float] in 3D grids and [float, float] in 2D grids.
l float / [float, float] / [float, float. float] ProbeXYZ(float x, float y, float z):
Operation: this function returns the value of the active quantity at the point whose geometric
position is provided. With 2D grids, the z parameter is not used and may be omitted.
The returned value depends on the grid dimensionality and on the type of the active quantity.
If the active quantity is a scalar, the returned type is a float. If the active quantity is a vector, the
returned type is [float, float, float] in 3D grids and [float, float] in 2D grids.
l Error: raises a ValueError if no quantity is selected or if the point falls outside of the
meshed domain.
l float / [float, float] / [float, float. float] ProbeTIJK(int domId, int i, int j, int k):
Operation: for unsteady projects with N time steps reconstructed from a project with
harmonics, this function returns an array of N+1 values of the active quantity. The first value is
the time step, the rest are the values in time of the active quantity at the grid point of the
domain domId and whose indices are provided (domId=1 correspond to the first domain).
The required number of indices depends on the grid type:
l for 3D structured grids i, j and k are required (values between 1 and the maximum number
of grid nodes should be provided);
l for 2D structured grids, i and j are required;
l The returned value depends on the grid dimensionality and on the type of the active
quantity. If the active quantity is a scalar, the returned type is a float. If the active quantity is
a vector, the returned type is [float, float, float] in 3D grids and [float, float] in 2D grids.
l QuantitySetScalarIJK(string quantity_name, int domain_nb, float value, float i, float j, float
k)
l Operation: this will set the value of scalar field with name quantity_name at cell index (i,
j, k) in domain domain_nb to value.
l QuantitySetVectorIJK(string quantity_name, int domain_nb, float val_X, float val_Y, float
val_Z, float i, float j, float k)
l Operation: this will set the value of vector field with name quantity_name at cell index (i,
j, k) in domain domain_nb to (val_X, val_Y, val_Z).
l [float, float] QuantityRangeDomain(int domId, float Imin, float Imax, float Jmin, float Jmax,
float Kmin, float Kmax)
Operation: this function returns the minimum and maximum values of the active quantity in the
specified domain range.
The domain range is specified by the arguments:
l domId is the domain number (first domain has the number 1).
l Imin and Imax specify the normalised node range in the I direction. Imin and Imax must
have a value between 0 and 1 (0 meaning the first node index and 1 meaning the last one).
These values are denormalized automatically.
l Jmin and Jmax specify the normalised range in the J direction;
l Kmin and Kmax specify the normalized range in the K direction.
If the quantity is a vector, the returned range is the range of the amplitude.
l Example: this command can be used to obtain the quantity range at a mid-range grid
surface (mid range in the I direction)
QuantityRangeDomain(1, 0.5, 0.5, 0,1 0,1)
l float QuantityStdDevDomain(int domId, float Imin, float Imax, float Jmin, float Jmax, float
Kmin, float Kmax)
l Operation: this function returns the standard deviation of the active quantity over a domain
the
explained
specified
above
here
for
as
is
domain
range. The
QuantityRangeDomain command.
range
l [float, float] QuantityRangeActiveSurfaces()
l Operation: this function returns the minimum and maximum values of the active quantity on
the active surfaces. If the active quantity is a vector, the standard deviation is the standard
deviation of the vector magnitude.
l [float, float, float, float, float, float] CoordRangeActiveSurfaces()
l Operation: this function returns six real values containing xMin, yMin, zMin, xMax, yMax
and zMax. For example it creates cutting planes that cross the geometry independently of
the test case.
l float QuantityStdDevActiveSurfaces()
l Operation: this function returns the standard deviation of the active quantity on the active
surfaces.If the active quantity is a vector, the standard deviation is the standard deviation of
the vector magnitude.
l CGNSSaveSurfaces(string fileName.cgns, string Basename, string v1, string v2, ..., string
Save Scene=1)
l Associated menu item: Geometry / Export CGNS Active Surfaces...
l Operation: this function exports the values of the selected quantities on the active surfaces
into CGNS data file. The first argument is the file name, the second is the base name and
the following ones are the selected quantity names. As for the last argument, it activates the
"Save Scene" option in the CGNS Surface Saver dialog box.
l SaveActiveSurfaces(string fileName)
l Associated menu item: Geometry / Export Active Surfaces...
l Operation: this function exports the values of the active quantity on the selected surfaces.
The output is stored in the file called fileName. The first line represents the name of the
surface, the second line contains the number of coordinates (X,Y,Z), the second number is
there for backward compatibility and shows the number of columns for the quantity (1 for a
scalar and vector), then the number of points is stored and the last information is the name
of the quantity between two "|".
l AcousticRadiatingSurface(string fileName,float R,float zMin,float rAtZMin,float zMax,float
int
int
nPointsAxial,
nPointsAzimuthal, bool
float
nPointsRadialAtZMax,
rAtZMax,
nPointsRadialAtZMin,
numPointsFromCellSize,
cellSize,
int
bool
int
triangulateRadialSurface, bool generate360, float maxFrequency, int maxFourierCoef, bool
writeModuleAndPhase,bool openResult,float zTolerance)
l Associated menu item: Geometry / Acoustic Radiating surfaces...
l Operation: this function exports an acoustic radiating surface to a .cgns file. The output is
stored in the file called fileName . The detailed arguments definition can be found in
Acoustic Radiating Surface.
7.5.18 Commands Related to Scalar Quantity
Representations
Unless stated differently, these commands raise an Attribute Error if the selected quantity is not a
scalar.
l DeleteAll()
l Associated menu item: Update / Delete / All.
l Operation: deletes all representations of the active view.
l DeleteAllRepresentationsFromView(string name1, string name2, ...)
l Operation: deletes all representations on the indicated surfaces.
l SelectBoundaryCurves(string name)
l Associated menu item: Right-click on the curve in the active view.
l Operation: selects the curves of the geometry defined by name.
l UpdateLineType(LineType t)
l Associated menu item: Update / Line Type Editor....
l Operation: sets last representation line type to t (Description of Argument List for Some
Standard Features for argument description).
l UpdateMarkerType(MarkerType m)
l Associated menu item: Update / Marker Type Editor....
l Operation: sets last representation marker type to m (Description of Argument List for
Some Standard Features for argument description).
l UpdateCurveType(CurveType c)
l Associated menu item: Update / Curve Type Editor....
l Operation: sets last representation type and marker type to c (Description of Argument List
for Some Standard Features for argument description).
l UpdateSectionCurveType(CurveType c)
l Operation: sets last representation type and marker type to c (Description of Argument List
for Some Standard Features for argument description) to all the curves of the Cartesian plot.
l ThickerCurveType(), ThinnerCurveType()
l Operation: increases or decreases the line width and markers size for the currently active
curves.
l UpdateCurveLineType(LineType t, String name1, String name1)
l Associated menu item: Update / Line Type Editor....
l Operation: sets selected surfaces curve type to t (Description of Argument List for Some
Standard Features for argument description). If no surface is specified, the command
applies to the whole project.
Local Values
l RprLocalValue(float px, float py, float pz, float dx, float dy, float dz, bool b, float psx, float
psy, float psz, String name)
l Associated menu item: Representation / Local Value
l Operation (Display Local Values): displays a local value (or local vector) at the intersection
between the ray defined by point (px,py,pz) and direction (dx,dy,dz) and the active
surfaces/streamlines of the active view. If a streamline is hit (b=1), the exact point on the
streamline is (psx,psy,psz) and the function returns the name of the streamline's parent
surface.
l SaveLocalValues(string fileName)
l Associated menu item: Representation / Export Local Values...
l Operation: exports all local values corresponding to the active quantity in the file fileName.
l DeleteLocalValue()
l Associated menu item: Update / Delete / Local Value.
l Operation: deletes the local values of the active quantity on the active surfaces.
l UpdateDoubleFormat(DoubleFormat f)
l Associated menu item: Update/ Numbers Format Editor...
l Operation (Numbers Format Editor): sets the number format of the active local value to f
(Description of Argument List for Some Standard Features for argument description).
l UpdateTextType(TextType t)
l Associated menu item: Update / TextType Editor...
l Operation (Text Type Editor): sets the text type of the active local values.
Color Contours
l SclContourFlat(), SclContourSmooth(), SclContourStrip(), SclContourNone()
l Associated menu item: Representation / Color Contour.
l Operation (Color Contours section): applies specified quantity coloring option (either flat,
smooth, strip or no contour).
l SclContourTFlat(float min, float max, [float min, float max]), SclContourTSmooth(float
min, float max, [float min, float max]), SclContourTStrip(float min, float max, [float min,
float max])
l Associated menu item: Representation / Color Contour
l Operation: applies specified quantity coloring option (either flat, smooth or strip). Only the
part of the surfaces having value between min and max will be visible. It is allowed to
specify one or two ranges.
l SclContourFilled(), SclContourWireFrame(), SclContourMarkersOnly()
l Operation: sets the type of coloring for the active color contours: respectively a filled
surface, a wire frame or only the markers at grid points location.
l SclContourToggleMarker(), SclContourToggleEdge(), SclContourToggleFace()
l Associated menu item: Representation / Color Contour / Visibility On/Off
l Operation: toggles the visibility status of the grid points, edges or faces of the color contour
representations on the active surfaces.
l SclContourToggleMarkerLight
SclContourToggleFaceLight()
(),
SclContourToggleEdgeLight
(),
l Associated menu item: Representation / Color Contour / Light On/Off.
l Operation: toggles the lighting status of the points, edges or faces of the current color
contour representations on the active surfaces.
l DeleteContour()
l Associated menu item: Update / Delete / Color Contour
l Operation: deletes the color contour representations on the active surfaces.
Isolines
l SclIsolinePoint(float p1x, float p1y, float p1z, float p2x, float p2y, float p2z)
l Associated menu item: Representation / Isolines / Local Isoline
l Operation (Isolines): draws the isolines containing the intersection between the line defined
by the points (p1x,p1y,p1z) and (p2x,p2y,p2z) and each of the active surfaces.
l stringSclIsolineValue(float value)
l Associated menu item: Representation / Isolines / Local Isoline
l Operation (Isolines): draws the isoline with value specified on each of the active surfaces
and returns the name of the isoline. For example, the name of the isoline is "Isoline Static
Pressure = 125000".
l SclIsolineRange(float min, float max, float inc)
l Associated menu item: Representation / Isolines / Isolines ...
l Operation (Drawing Multiple Isolines): draws a set of isolines starting from the minimum
value, min to the maximum value, max with an increment of inc.
l SclIsolineMulti(2, 4, float min, float max, float inc, int color)
l Associated menu item: Representation / Isolines / Isolines ...
l Operation (Drawing Multiple Isolines): draws a set of isolines starting from the minimum
value, min to the maximum value, max with an increment of inc. The isolines are colored
according to their value (Color =0) or not (color=1).
l SclIsolineColorLock(bool b)
l Associated menu items: Representation/ Isoline / Color Contour and Color Uniform
l Operation: sets the coloring attribute to color contour (b=0) or to color uniform (b=1).
l SetQuantityIsolineColorLock(string quantityName, bool b)
l Associated menu items: Representation/ Isoline / Color Contour and Color Uniform
l Operation: sets the coloring attribute of the isolines on the active quantity to color contour
(b=0) or to color uniform (b=1).
l SelectIsolineCurves(string isolineName, string isolineName1, ...)
l Operation: activates the isoline(s) having names isolineName, isolineName1, etc.
l ToggleIsolineValue()
l Associated menu item: right-click menu of the selected isoline
l Operation: shows or hides the isoline value.
l IsolineValueLargerFont()
l Associated menu item: right-click menu of the selected isoline
l Operation: increases the font size of the isoline value.
l IsolineValueSmallerFont()
l Associated menu item: right-click menu of the selected isoline
l Operation: decreases the font size of the isoline value.
l IsolineValueType(textType, doubleFormat)
l Associated dialog box: Isoline Value Type Editor
l Operation: sets the formats of the isoline value. See the descriptions in Description of
Argument List for Some Standard Features for textType and doubleFormat arguments.
l IsolineValueColorLock(bool b)
l Associated menu item: right-click menu of the selected isoline
l Operation: sets the values of isolines to color contour (b=0) or to color uniform (b=1).
l IsolineLabelColorLock(bool b)
l Associated menu item: right-click menu of the selected isoline
l Operation: sets the labels of isolines to color contour (b=0) or to color uniform (b=1).
l ExportIsoline(string fileName, string isolineName, ...)
l Associated menu item: right-click menu of the selected isoline
l Operation: exports the selected isoline(s) into a .dat file where fileName is the full path of
the file in which the isoline(s) will be saved and isolineName is the name of the isoline to
save. There can be more than one isolineName.
l IsolineCartPlot()
l Associated menu item: right-click menu of the selected isoline
l Operation: creates a Cartesian plot of the active quantity for the selected isoline.
l DeleteIsoline(string isolineName, string isolineName1, ...)
l Associated menu item: right-click menu of the selected isoline(s)
l Operation: deletes the selected isoline(s) on the active surface.
Example: DeleteIsoline('Isoline Density = 1.1963' ,'Isoline Density = 1.19512')
l DeleteIsoline()
l Associated menu item: Update / Delete / Isoline
l Operation: deletes all isolines.
Iso-Surfaces
l SclIsoSurfaceValue(float value)
l Associated menu item: Representation / Iso-Surface.
l Operation (Iso-Surfaces): builds an iso-surface based on a field value and returns the iso-
surface volumes below and over the iso-surface value.
l SclIsoSurfacePoint(float p1x, float p1y, float p1z, float p2x, float p2y, float p2z)
l Associated menu item: Representation / Iso-Surface.
l Operation (Iso-Surfaces): builds iso-surfaces containing the intersection of the line defined
by the points (p1x,p1y,p1z) and (p2x,p2y,p2z) and the active surfaces.
l SclIsoSurfaceSave([float value])
l Associated menu item: Representation / Iso-Surface Save.
l Operation (Create Iso-surfaces): saves an iso-surface and includes it into the project and
current view surface sets. If a value is provided, the iso-surface corresponding to that value
is computed and saved, otherwise, the iso-surface currently represented is saved. The macro
also returns the name of the created iso-surface.
l Exceptions: if no scalar quantity or if no current iso-surface.
l DeleteIsoSurface()
l Associated menu item: Update / Delete / Iso-Surface.
l Operation: deletes the current iso-surface.
Plot Generation
These commands add plot curves in the plot view associated to the active quantity. If the plot
view is not existing, it is created. If no quantity is selected, an Attribute Error is raised.
l stringRprSection(float p1x, float p1y, float p1z, float p2x, float p2y, float p2z, float dx, float
dy, float dz, [string sectionName, int coordSys])
l Associated menu item: Representation / Cartesian Plot / Along Section
l Operation (Cartesian Plot along Section): if the current quantity is a scalar, displays a plot
curve of the intersection between the plane defined by the point (p1x,p1y,p1z), the point
(p2x,p2y,p2z), the direction of the plane (dx, dy, dz) (it refers to a vector belonging to the
plane) and the active surfaces.
The sectionName argument is optional and indicates the name of the section.
The coordSys argument is optional and specifies the coordinates system in which the
position and direction are provided. If no value is provided, it is assumed that the position
and direction are provided in the same coordinates system as the active view.
The function returns the name of the Cartesian plot view in which the curve is inserted.
l stringRprSclSectionInPlot(float p1x, float p1y, float p1z, float p2x, float p2y, float p2z, float
dx, float dy, float dz, string sectionName, int coordSys, string surfaceName)
l Operation (Cartesian Plot along Sectio): this command is the same as the previous one,
except that the intersection is made between the plane and the surface whose name is
provided.
l stringBladeSection(float s)
l Operation: adds to the active quantity plot (create it if no already existing) a plot of the
active quantity at span height s. The command returns the name of the view in which the
curve is inserted.
l string SclPlotNormalizedGridLine ( int
lineIndex,
float
lineValue,
float startNode,
float
endNode, [string surfName])
l Associated menu item: Representation / Cartesian Plot/ Along Grid Line...
l Operation (Cartesian Plot along a Grid Line): creates a plot curve along a grid line. The
grid line is a line along I constant if lineIndex=0 or along J constant if lineIndex=1 (where
I and J are the local grid direction on the surface). The argument lineValue is the
normalized index of the line:
lineValue=0 for the first line on the surface,
lineValue=0.5 for the line with index equals to the half of the maximum index,
lineValue=1.0 for the line with the maximum index value.
The startNode and endNode arguments are the normalized grid point indices that indicate
the range of the grid nodes to consider (startNode=0 and endNode=1 means the whole
grid line).
l stringSclPlotGridLine(2, 4, int index, int i, int min, int max)
l Associated menu item: Representation / Cartesian Plot/ Along Grid Line...
l Operation (Cartesian Plot along a Grid Line): adds to the active quantity plot view (creates
it if not existing) a plot curve along the grid line i from node number min to node number
max (index = 0 or 1 for a line along surface index I or J, respectively). The two first
parameters must be present with their prescribed values (2 and 4).The function returns the
name of the Cartesian plot view in which the curve is inserted.
l stringSclPlotBoundarySolid()
l Associated menu item: Representation / Cartesian Plot / Along Solid Boundary.
l Operation (Cartesian Plot along Solid Surface Boundaries): adds to the active quantity plot
view (creates it if not existing) a plot of the active quantity along active solid surfaces
boundaries. The function returns the name of the Cartesian plot view in which the curve is
inserted.
l stringSclPlotBoundary()
l Associated menu item: Representation / Cartesian Plot / Along Boundary.
l Operation (Cartesian Plot along Surface Boundaries): adds to the active quantity plot view
(creates it if not existing) a plot of the active quantity along active surfaces boundaries. The
function returns the name of the Cartesian plot view in which the curve is inserted.
l SelectPlotCurves(string name)
l Operation: selects the specified plot curves.
l DeletePlotCurves(string name)
l Operation: deletes the specified plot curves.
Streamlines
A streamline represents a line created from the velocity vector but colored by the selected scalar
quantity. These commands raise an Attribute Error if the current quantity is not scalar.
l StreamLineLocal(float px, float py, float pz, float dx, float dy, float dz)
l Associated menu item: Representation / Streamline / Local
l Operation (Local Vector Line): draws streamlines starting at each intersection between an
active surface and the line defined by the points (px, py, pz) and the direction (dx, dy, dz).
l StreamLineSection(float p1x, float p1y, float p1z, float p2x, float p2y, float p2z, float dx,
float dy, float dz)
l Associated menu item: Representation / Streamline / Section
l Operation ( Vector Lines from Section ): draws streamlines starting at the intersection
between the plane defined by point (p1x,p1y,p1z), point (p2x,p2y,p2z) and direction (dx,
dy, dz) and the active surfaces of the active view.
l StreamLineSectionPoints(int n)
l Associated menu item: Representation / Streamline / Section.
l Operation (Vector Lines from Section): sets the number of section points being streamline
starting points.
l StreamLineGridNodes(2, 4, int index, int i, int min, int max)
l Associated menu item: Representation / Streamline / From Grid Line...
l Operation (Vector Lines from Section): draw streamlines starting at the nodes of the grid
line i (index = 0 or 1 for a line along local I or J, respectively) from node number min to
node number max.
l StreamLineNormalizedGridLine(int index, int i, int min, int max)
l Associated menu item: Representation / Streamline / From Grid Line...
l Operation (Vector Lines from Section): draw streamlines starting at the nodes of the grid
line i (index = 0 or 1 for a line along local I or J, respectively and i is the index value in %
of max) from node number min (first in % of max) to node number max (last in % of max).
If several surfaces are selected that have not the same indices, surface name should follow
and the previous parameters are repeated for each surface.
l StreamLineType()
l This macro is here for backward compatibility. It is only recorded from older CFView™
version, and should not be used anymore. It has been replaced by 5 new macros:
StreamLineRepresentation,
StreamLineComputationParameters,
StreamLineSurfaceType).
l StreamLineCurveType(CurveType c)
StreamLineAdvancedParameters,
StreamLineCurveType,
l Operation: sets the streamline curve type for the active streamline (only used when the
"Line" representation is chosen).
l CurveType: standard curve settings .
l StreamLineSurfaceType(SurfaceType m)
l Operation: sets the streamline surface property for the active streamlines (only used when
the "Ribbon"/"Tube" representations are chosen).
l SurfaceType: standard material settings .
l StreamLineRepresentation(int representationType, int colorType, string colorQuantity, float
r0, float initialDirectionX, float initialDirectionY, float initialDirectionZ, int itHasVariableSize,
int itHasVariableTwist, float twistScaleFactor, float sizeScaleFactor, int TubeVerticesCount)
l Operation: sets the streamline representation parameters for the active selected quantity
l representationType: 0 = line, 1 = ribbon, 2 = tube (mandatory). Default is 0.
l colorType: 0 = uniform, 1 = custom quantity, 2 = velocity color (mandatory). Default is 0.
l colorQuantity: name of the selected scalar quantity.
l ro: size of the tube/ribbon. Default is 1.
l initialDirectionX, initialDirectionY, initialDirectionZ: direction of the first normal of the
ribbon/tube. Default is 0,1,0.
l itHasVariableSize: 1 = variable size, 0 = uniform size. Default is 0.
l itHasVariableTwist: 1 = variable twist, 0 = uniform twist. Default is 0.
l sizeScaleFactor: multiplication factor to emphasis size changes. Real positive values are
allowed. Default is 1.
l twistScaleFactor: multiplication factor to emphasis twist changes. All values are allowed.
Default is 1.
l tubeVerticesCount: the number of vertices of the polygonal basis of a tube. All integer
value >= 3 are allowed. Default is 8.
l StreamLineAdvancedParameters
bool
int
itHasLaplacianFilter,
laplacianFilterPassCount, int laplacianFilterKernelSize, float twistSubdivisionMinimumAngle,
int twistSubdivisionMaximumPoints)
bool
itHasTwistSubdivision,
itHasCoincidentPointRemoval,
float minimumDistance,
bool
(
l itHasCoincidentPointRemoval: 1 = coincident point removal, 0 = no coincident point
removal. Default is 1.
l itHasLaplacianFilter: 1 = laplacian filter, 0=no laplacian filter. Default is 0.
l itHasTwistSubdivision: 1 = twist subdivision, 0 = no twist subdivision. Default is 0,
l minimumDistance: coincident point removal distance. Default is 0.01.
l laplacianFilterPassCount: number of passes of laplacian filtering. Default is 1. (only used
when itHasLaplacianFilter = 1)
l laplacianFilterKernelSize: size of the laplacian filter kernel. Default is 3. (only used when
itHasLaplacianFilter = 1)
l twistSubdivisionMinimumAngle: minimum twist angle threshold in degree. All angles
than twistSubdivisionMinimumAngle will be refined (only used when
greater
itHasTwistSubdivision = 1)
l twistSubdivisionMaximumPoints: maximum number of points inserted when refining
(only used when itHasTwistSubdivision = 1)
l StreamLineComputationParameters ( int
pointsLineMax,
int
pointsCellMax,
int
pointsCellAverage, int mode, int direction, int sectionPoints, string vectorQuantity)
l Operation: sets the streamline computation parameters for the active selected quantity
l pointsLineMax: maximum number of curve points. Default = 2000.
l pointsCellMax. Maximum number of curve points in a cell. Default = 20.
l pointsCellAverage. Average number of curve points in a cell. Default = 4.
l mode: 0 = volume, 1 = surface. Default = 0
l direction: 1 = forward, -1 = backward, 0 = both. Default = 1.
l sectionPoints: number of points when creating a VecLineSection. Default = 4,
l vectorQuantity: the vector quantity used to compute the streamline
l StreamLineArrowParameters(bool visibility, float size, float density)
l Associated menu item: Representation / Streamline / Parameters...
l Operation: this macro changes the default arrow parameters for all streamlines to be drawn.
l RprLocalValueOnStreamline()
l SelectStreamLineCurves(string Names)
l Associated menu item: Mouse left-clicking in the graphics area while holding <Ctrl>.
l Operation: selects the streamlines with the corresponding names.
l UpdateStreamLineArrowParameters(bool visibility, float size, float density)
l Operation: changes the arrow parameters for all the selected streamlines. This is executed
from Parameters... dialog box when right click is performed on selected streamlines.
l UpdateStreamLineRepresentation ( int
string
colorQuantity, float r0, float initialDirectionX, float initialDirectionY, float initialDirectionZ,
int itHasVariableSize, int itHasVariableTwist, float twistScaleFactor, float sizeScaleFactor, int
TubeVerticesCount)
representationType,
colorType,
int
l Associated menu item: Mouse right-clicking in the graphics area / Parameters...
l Operation: updates the representation parameters for the selected streamlines .
l UpdateStreamLineAdvancedParameters ( bool
bool
itHasLaplacianFilter,
int
laplacianFilterPassCount, int laplacianFilterKernelSize, float twistSubdivisionMinimumAngle,
int twistSubdivisionMaximumPoints)
itHasCoincidentPointRemoval,
float minimumDistance,
itHasTwistSubdivision,
bool
l Associated menu item: Mouse right-clicking in the graphics area / Parameters...
l Operation: updates the advanced parameters for the selected streamlines .
l UpdateStreamLineCurveType(CurveType c)
l Operation: updates the streamline curve type for the active streamline (only used when the
"Line" representation is chosen).
l CurveType: standard curve settings .
l UpdateStreamLineSurfaceType(SurfaceType m)
l Operation: updates the streamline surface property for the active streamlines (only used
when the "Ribbon"/"Tube" representations are chosen).
l SurfaceType : standard material settings .
l GetSelectedStreamLines()
l Operation: returns a string list containing the name of the selected (highlighted) streamlines.
Example:
selectedLines=GetSelectedStreamlines()
nLines=len(selectedLines)
print 'Number of streamlines=', nLines
for i in range (0, nLines) :
print '\t', selectedLines[i]
7.5.19 Commands Related to Vector Quantity
Representations
l DeleteAll()
l Associated menu item: Update / Delete / All.
l Operation: deletes all representations of the active view.
l DeleteAllRepresentationsFromView(string name1, string name2, ...)
l Operation: deletes all representations on the indicated surfaces.
Local Vector
l RprLocalValue(float px, float py, float pz, float dx, float dy, float dz)
l Associated menu item: Representation / Local Vector
l Operation (Display Local Values): displays a local value (or local vector) at the intersection
between the ray defined by point(px,py,pz) and direction(dx,dy,dz) and the active surfaces
of the active view.
Vectors Representations
These commands raise an Attribute Error if the current quantity is not vectorial.
l VectorAll(int Imin, int Imax, int Istep, int Jmin, int Jmax, int Jstep)
l Associated menu item: Representation / Vector On Grid Nodes.
l Operation ( Vector on Grid Nodes ): adds the quantity vectors on the active surfaces.
Vectors are drawn on nodes between Imin and Imax, one each Istep in first direction and
between Jmin and Jmax, one each Jstep in the second direction.
l VectorAllGridNodes()
l Associated menu item: Representation / Vector On Grid Nodes.
l Operation (Vector on Grid Nodes): adds the quantity vectors on the active surfaces.
l VectorNormalizedGridNodes(float iMin, float iMax, int iStep, float jMin, float jMax, int
jStep, [string surfaceName])
l Associated menu item: Representation / Vector On Grid Nodes.
l Operation (Vector on Grid Nodes): draws vectors arrows at the node specified on a surface:
iMin, iMax, jMin, jMax are specifying the subset of nodes in the I and J ranges. These are
normalized indices (with a value between 0 and 1).
iStep and jStep are specifying the density of the vectors arrows:
1 mean on all grid nodes,
2 means on 1 over 2 grid nodes,
i means on 1 over i grid nodes.
If no surfaceName argument is provided, the active surfaces set is considered, otherwise,
only the specified surface is considered.
l VecGridLine(2, 4, int index, int i, int min, int max)
l Associated menu item: Representation / Along Grid Line...
l Operation (Vectors along Grid Line): adds the vectors along the grid line i (index =0,1 or 2
for a line along I, J or K, respectively) from node number min to node number max.
l VectorNormalizedGridLine(int type, float value, float min, float max, [string surfaceName])
l Associated menu item: Representation / Along Grid Line...
l Operation (Vectors along Grid Line ): adds the vectors along the grid line. The type
argument is 0 for a line along the surface I direction or 1 for a line along the surface J
direction. The value argument is between 0 and 1 and is the normalized index of the grid
line. The min and max parameters are the normalized indices of the first and last grid nodes
to consider along the grid line. If no surfaceName argument is provided, the active surfaces
set is considered, otherwise only the specified surface is considered.
l VecThreshold(float min, float max)
l Associated menu item: Representation / Thresholded.
l Operation (Thresholded Vector on Grid Nodes): displays the vector arrows on all the active
surfaces, but restricts the display of the vectors to those having an amplitude between min
and max.
l VectorComponentType(int type)
l Operation: sets the vector component to be represented in the next vector representations:
0 for full vector
1 the normal component
2 the tangent component
3 the normal component of the vectors from which the mean vector is subtracted (the mean
vector is computed on the surface)
4 the tangent component of the vectors from which the mean vector is subtracted.
l VectorScale(float scale)
l Operation: sets the scale at which the vectors arrows are drawn.
l VectorArrowHeadSize(float width, float height)
l Operation: sets the size of the vectors arrows heads. The size is specified in percent of the
total arrow length. The width and height arguments must be in the interval 0 - 100.
l VectorArrowHeadType(int type)
l Operation: sets the head type of the vectors arrows. A value of 1 is used to indicate filled
arrows heads (the default) and a value of 0 for non filled heads.
l VectorType ( float denominator, float numerator, float arrowHeight, float arrowWidth, int
filledArrow, int color, int rprType)
l Associated menu item: Representation / Vector Type...
l Operation (Update Vector Representation): sets the vector representation scale factor to
numerator/denominator, arrow height and width, filled arrow heads (filledArrow =1) or
not filled arrows heads (filledArrow=0) and color according to the amplitude (color =1) or
uniform color (color =0). The parameter rprType specifies the type of vector representation:
tangential component
full vectors
(rprType=2), normal difference (rprType=3) or tangential difference (rprType=4).
(rprType=0), normal component
(rprType=1),
l RprSection(float p1x, float p1y, float p1z, float p2x, float p2y, float p2z, float dx, float dy,
float dz)
l Associated menu item: Representation / Section
l Operation (Vectors along Section): displays the vectors on the intersection between the
plane defined by point (p1x,p1y,p1z), point (p2x,p2y,p2z) and direction (dx, dy, dz) and
the active surfaces of the active view.
l VectorColorLock(int p)
l Associated menu items: Representation / Color Contour and Color Uniform.
l Operation: sets the coloring mode for the next vectors to be represented in uniform color
(p=1) or in a color corresponding to their amplitude (p=0).
l DeleteVectors()
l Associated menu item: Update / Delete / Vectors
l Operation: deletes the vector representations on the active surfaces
l DeleteLocalVectors([string name])
l Operation: deletes the local vectors, the vectors on section and the vectors on grid lines.
Without argument, the command deletes the currently selected vectors. With an argument,
the command deletes the vector representation having the specified name.
l DeleteGridVectors([string name])
l Operation: deletes the vectors on grid nodes. Without argument, the command deletes the
the vector
the command deletes
currently selected vectors. With an argument,
representation having the specified name.
Vector Lines
These commands raise an Attribute Error if the current quantity is not vectorial.
l VecLineLocal(float px, float py, float pz, float dx, float dy, float dz)
l Associated menu item: Representation / Vector Lines / Local.
l Operation (Local Vector Line): draws vector lines starting at each intersection between an
active surface and the line defined by the points (px, py, pz) and the direction (dx, dy, dz).
l VecLineSection(float p1x, float p1y, float p1z, float p2x, float p2y, float p2z, float dx, float
dy, float dz)
l Associated menu item: Representation / Vector line / Section.
l Operation ( Vector Lines from Section ): draws vector lines starting at the intersection
between the plane defined by point (p1x,p1y,p1z), point (p2x,p2y,p2z) and direction (dx,
dy, dz) and the active surfaces of the active view.
l VecLineSectionPoints(int n)
l Associated menu item: Representation / Vector line / Section.
l Operation (Vector Lines from Section): sets the number of section points being vector line
starting points.
l VecLineGridNodes(2, 4, int index, int i, int min, int max)
l Associated menu item: Representation / Vector line / From Grid Line...
l Operation (Vector Lines from Grid Line): draw vector lines starting at the nodes of the grid
line i (index = 0 or 1 for a line along local I or J, respectively) from node number min to
node number max.
l VecLineNormalizedGridLine(int index, float i, float min, float max)
l Associated menu item: Representation / Vector line / From Grid Line...
l Operation (Vector Lines from Grid Line): draw vector lines starting at the nodes of the grid
line i (index = 0 or 1 for a line along local I or J, respectively and i is the index value in %
of max) from node number min (first in % of max) to node number max (last in % of max).
If several surfaces are selected that have not the same indices, surface name should follow
and the previous parameters are repeated for each surface.
l DeleteVectorLines()
l Associated menu item: Update / Delete / Vector Lines.
l Operation: deletes the vector line representations associated to one of the active surfaces.
l VecLineMaxPoints(int maxPointsPerLine, int maxPointsPerCell, int AveragePointsPerCell)
l Associated menu item: Representation / Vector line / Parameters...
l Operation (Vector Lines Parameters): sets the maximum number of points per line, per cell,
average number of points per cell for the computation of vector lines.
l VecLineSurface(int mode)
l Associated menu item: Representation / Vector line / Parameters...
l Operation (Vector Lines Parameters): sets the mode of computation of vector lines as
volume (mode = 0) or restricted to a surface (mode=1).
l VecLineDirection(int dir)
l Associated menu item: Representation / Vector line / Parameters...
l Operation (Vector Lines Parameters): sets the direction mode for the computation of vector
lines: backward (dir = -1), in both direction (dir=0) or forward (dir=1).
l VecLineColorLock(), VecLineColorContour()
l Associated menu item: Representation / Vector line / Parameters...
l Operation (Vector Lines Parameters): sets the vector line coloring mode to uniform or to
colored according to the local vector amplitude. This applies to the last created vector line
group. By default, the coloring is uniform.
l VecLineType ( int maxPointsPerLine,
int maxPointsperCell,
int AveragePointsoercell,
int
mode, int color, int dir, int modeOption, int sectionPoints, CurveType c)
l Associated menu item: Representation / Vector line / Parameters...
l Operation (Vector Lines Parameters): sets the parameters for vector lines computation:
maximum number of points per line, per cell, average number of points per cell, volume
(mode = 0) or restricted to a surface (mode=1), backward (dir = -1), in both direction
(dir=0) or forward (dir=1). The parameters color and modeOption are not used. The
number of vector lines on a section is set to sectionPoints and the curve type to c.
l VecLineCartPlot()
l Associated menu item: right-click on the generated streamline or vector line colored by
a scalar quantity.
l Operation: creates a Cartesian Plot for the generated streamline or vector line according the
selected scalar.
l ExportStreamLine(string finename, string streamlinename1, ......)
l Associated menu item: right-click on the generated streamline then select Export to File.
l Operation: export the specified streamlines into file.
7.5.20 Commands Related to Time Label/Clocking Position
l SetTimeLabel(int b)
l Operation: displays (b=1) or remove (b=0) the time label/clocking position in the active
view.
l ToggleTimeLabel()
l Operation: displays if not visible or remove from the active view the time label/clocking
position.
l TimeLabelPosition(float x, float y)
l Operation: sets the position of the time label/clocking position. The x and y values are
normalized positions:
x=-1 and y=-1 is the lower left corner,
x=1 and y=1 is the upper right corner,
x=0 and y=0 is the center of the view.
l TimeLabelTextType(TextType type)
l Operation: sets the text type attributes for the time label/clocking position.
l float GetPhysicalTime()
l Operation: returns the physical time for unsteady simulation.
l float GetTimeStep()
l Operation: returns the time step for unsteady simulation
7.5.21 Commands for Computing Integrals on Surfaces
l float GmtArea()
l Associated menu items: Representation / Surface Integral / Surface Area or Geometry /
Surfaces / Area
l Operation: returns the computed area of all the active surfaces (
).
l float ProjectedSurfaceArea(float nx, float ny, float nz)
l Associated menu item: Geometry / Surfaces / Projected Area
l Operation: returns the projected area of all the active surfaces
where β is the
angle between the normal of the active surface and the normal (nx,ny,nz) of the plane on
which the surface is projected.
l float SclIntegral()
l Associated menu item: Representation / Surface Integral / Scalar Integral
l Operation: returns the scalar surface integral of the active quantity on the active surfaces
.
l Exceptions: having either no active quantity or a vector quantity as active quantity will
trigger a Type Error.
l float SclAverage()
l Associated menu item: Representation / Surface Integral / Scalar Average
l Operation: returns the scalar average value of the current scalar quantity. It is equivalent to
the ratio of the results returned by the commands SclIntegral() and GmtArea() .
l [float, float, float] SclForce()
l Associated menu item: Representation / Surface Integral / Vector Integral
l Operation: returns the vectorial surface integral of the active quantity on the active surfaces
in a similar way as the force on a surface is obtained from the static pressure
.
l Exceptions: Having either no active quantity or a vector quantity as active quantity will
trigger a Type Error.
The direction of the normal vector depends on the surface type:
l for cutting planes, the normal is provided as part of the cut definition;
l for structured surfaces, it depends on the surface family. The following table summarizes
the convention used.
TABLE 7.1 Convention used for the normal vector direction
Surface
I= cste
J=cste
K=cste
Normal vector direction
I decreasing
J increasing
K decreasing
l [float, float, float] SclTorque(float px, float py, float pz)
l Operation: returns the vectorial surface integral of the active quantity on the active surfaces
in a similar way as the torque - with respect to the reference point (px, py, pz) - on a surface
is obtained from the static pressure (q):
direction is taken as explained in the SclForce() command.
. Note that the normal vector
l Exceptions: No scalar quantity selected.
l float SclBoundaryForce()
l Operation: similar to sclForce, but active surfaces are restricted to boundaries and the local
normal to the surface is set to point outside of the domain.
l Exceptions: Having either no active quantity or a vector quantity as active quantity will
trigger a Type Error.
l [float, float, float] SclAverageForce()
l Associated menu item: Representation / Surface Integral / Vector Average
l Operation: returns the vector average of the current scalar quantity. It is equivalent to the
ratio of the results returned by the commands SclForce() and GmtArea() .
l [float, float, float] SclBoundaryTorque(float px, float py, float pz)
l Operation: similar to sclTorque, but the active surfaces are restricted to boundaries and the
orientation of the local normal to the surface points outside of the domain.
l Exceptions: Having either no active quantity or a vector quantity as active quantity will
trigger a Type Error. SclBoundaryTorque can only be used on boundaries of the domain
(the existing surfaces).
l float SclTorqueAmplitude(float px,float py, float pz, float dx, float dy, float dz)
l Operation: similar to sclTorque, the scalar product with the unit vector (dx, dy, dz) is
returned
l Exceptions: Having either no active quantity or a vector quantity as active quantity will
trigger a Type Error.
l float SclBoundaryTorqueAmplitude(float px,float py, float pz, float dx, float dy, float dz)
l Operation: similar to SclBoundaryTorque, the scalar product with the unit vector (dx, dy,
dz) is returned.
l Exceptions: Having either no active quantity or a vector quantity as active quantity will
trigger a Type Error.
l float VectorFlux()
l Associated menu item: Representation / Surface Integral / Flux
l Operation: returns the flux of the active vector quantity through the active surfaces (
).
l Exceptions: having either no active quantity or a scalar quantity as active quantity will
trigger a Type Error.
l float SclWeightedIntegral(string weight)
l Associated menu item: (QAP) Representations / Integrals / Weighted Integral
l Operation: returns the computed weighted (by scalar quantity named "weight") surface
integral of the active quantity on the active surfaces.
l Exceptions: having either no active quantity or a vector quantity as active quantity will
trigger a Type Error. Having no weight will consider a zero weight and will return zero.
l float VectorWeightedFlux(string weight)
l Associated menu item: Representations / Surface Integral / Weighted Flux / Qnt
l Operation: returns the weighted (by scalar quantity named "weight") surface flux of the
active quantity on the active surfaces.
l Exceptions: having either no active quantity or a scalar quantity as active quantity will
trigger an Type Error. Having no weight will consider a zero weight and will return zero.
l float WeightedIntegral()
l Operation: computes the following ratio:
the numerator is the integral over the active surfaces of the active quantity multiplied by the
current weight equation  and the
denominator is the integral over the active surfaces of the current weight equation.
l Exceptions: having either no active quantity will trigger an Type Error.
l SetProjectWeightEquation(string equation)
l Operation: sets the current weight equation used in the WeightedIntegral command.
l float VecIntegral(string fieldName)
l Associated menu item: (QAP) Representations / Integrals / Vector Integral
l Operation: integrates the active vector field fieldName on all active surfaces and prints the
three components of the resulting vector.
l float Massflow(string name)
l Associated menu item: (QAP) Representations / Integrals / Massflow
l Operation: returns the massflow value for the selected surfaces.
l Exceptions: an error is raised if the quantities Wxyz, Vxyz or Density are not present in the
list of quantities.
7.5.22 Commands for Computing Volume Integrals
l float VolumeIntegral()
l Associated menu item: Representation / Integral subpanel.
l Operation: returns the computed volume integral of active quantity.
l float VolumeAverage()
l Associated menu item: Representation / Integral subpanel.
l Operation: returns the computed volume average of active quantity.
l float Volume()
l Associated menu item: Geometry / Volume.
l Operation: returns the computed volume of the whole mesh.
7.5.23 Commands for Computing Mechanics
l SetTorqueAxis ( float Origin.x,
float Origin.z,
Direction.y, float Direction.z, coordinatesystem, bool isPointTorque)
float Origin.y,
float Direction.x,
float
l Operation: defines the origin and the direction of the Torque axis. (Select Mechanics Data)
l coordinatesystem is set to 0 for Cartesian, 1 for cylindrical and 2 for STM.
l If isPointTorque is set to 1, the torque will be computed with respect to a point. In this
case, the resulting torque is a vector field.
l float MechanicsQntSurfaceDerived(string fieldName)
l Operation: computes mechanics quantities on all active solid surfaces. (Select Mechanics
Data)
l fieldName can be Force, Scalar Torque, Vector Torque, Normals and Normalized
Normals.
7.5.24 Commands for Computing Integrals Along Curves
l float / [float, float, float] CurveSegmentIntegral(float p1x, float p1y, float p1z, float p2x, float
p2y, float p2z, float dx, float dy, float dz)
l Associated menu item: Representation / Curve Integral.
l Operation: first, the two intersection points between the surface and the two lines defined
by (p1, direction) and (p2,direction) are computed. If no intersection points, the integral is
computed along the curves defined by the intersection of the active surfaces and the plane
containing the points (p1x,p1y,p1z) and (p2x,p2y,p2z) and parallel to the direction (dx,
dy, dz). If the current equation (defined by the SetProjectEquation command) is a scalar,
the integral is
where eq is the equation. If the current equation corresponds to a
vectorial expression, the integral is
computed along the curves on the active surface limited by these intersection points.
. If intersection points are found, the integral is
l SetProjectEquation ( int mode, string name, string definition [, string definition2, string
definition3])
l Associated menu item: Representation / Curve Integral.
l Operation: defines a new equation for the integration along curves. The parameter 'mode'
specifies the new equation type: 0 for a scalar, 1 for a vector with a definition expressed as
a combination of vectorial quantities or 2 for a vector with a definition specified component
by component. If 'mode' has a value of 2, the parameters 'definiton2' and 'definition3' must
be present, otherwise they can be omitted. 5 lets CFView™ decides what type of data it is.
7.5.25 Commands Related to NLH Post Processing
l HarmoSelection(string list1, string list2, ...),
l Associated menu item: Representation / NLH / Harmonic selection.
l Operation (Harmonics Selection): selects harmonics used to NLH post processing. It takes
a number of arguments equal to the number of groups, and each argument is a string that
can be either "all", "none" or a list of numbers in the format "1-3 5 8-11" indicating that the
harmonics 1 to 3, 5 and 8 to 11 are selected.
l ScalarPlotInTime(int n, float p_1x, float p_1y, float p_1z, int ns, float internal)
l Associated menu item: Representation / NLH / Local Time Evolution.
l Operation (Local Time Evolution): plots local time evolution. The first argument is 1 or 0
according to the fact that the point is attached to the mesh or not. The next three arguments
are the coordinates of the points. The fifth argument is the number of time steps and the
sixth argument is the time interval. The last two arguments are optional.
l LocalSpectrum(int n, float p_1x, float p_1y, float p_1z)
l Associated menu item: Representation / NLH / Local Spectrum.
l Operation (Local Spectrum): plots local spectrum. The first parameter sets that the observer
is attaching to the mesh (1) or detaching to the mesh (0). The following three arguments are
the coordinates of the observer. It returns the name of the view containing the spectrum.
l GetLocalSpectrum( float p_1x, float p_1y, float p_1z, float Rotationspeed)
l Operation: returns the local spectrum. The first three arguments are the coordinates of the
point. The fourth argument is the rotation speed. It returns a list:
the first element is the number of frequencies in the spectrum,
the second element is the list of the frequencies of the spectrum,
the third element is the list of the amplitudes (in dB values if the logarithmic scale was
chosen in the preferences, in the quantity units otherwise),
the fourth and fifth elements are the real and imaginary parts of the spectrum respectively.
l float GetRotationSpeed(int blockId)
l Operation: returns the rotation speed of the specified block. The units of the return values
are in RPM.
l float GetHarmonicFrequencies(int blockId)
l Operation: returns a list of number, the first one being the number of harmonic frequencies
and is followed by the frequency values. The units of the return values are in Hz.
l float GetSpatialModes(int blockId)
l Operation: returns a list of number, the first one being the number of spatial modes and is
followed by the mode values.
l float GetInterBladePhaseAngles(int blockId)
l Operation: returns a list of number, the first one being the number of the inter blade phase
angles and is followed by their values.
l string CircularArc(float p_1x, float p_1y, float p_1z)
l Associated menu item: Representation / NLH / Circular.
l Operation: returns the name of the circular arc created.
l DeleteCircularArc(string name1, string name2, ...)
l Associated menu item: Delete in the menu when clicking-right on circular arc.
l Operation: deletes the specified circular arc. Its arguments are a list of circular arc names.
l UpdateCircularArcQnt(string name1, string name2, ...)
l Associated menu item: Update Quantity in the menu when clicking-right on circular arc.
l Operation: updates the quantity once the active quantity has changed. Its arguments are a
list of circular arc names.
l CircularArcCartPlot(string name1, string name2, ...)
l Associated menu item: Cartesian Plot in the menu when clicking-right on circular arc.
l Operation: get a Cartesian Plot of the selected quantity. Its arguments are a list of circular
arc names.
l SpectralAnalysis(string arcname, float theta, int Kmax, float rotationspeed)
l Associated menu item: Spectral Analysis in the menu when clicking-right on circular arc.
l Operation: performs a spectral analysis at a point on the circular arc. Its arguments are the
circular arc name followed by the theta, the Kmax and the rotation speed.
7.5.26 Commands Related to Plot Manipulation
All These commands raise an Attribute Error if no quantity is selected or if no plot view is
associated to the active quantity.
l ViewOpenGlobalPlot(viewName)
l Operation: creates a global plot view named viewName.
l ToggleGlobalPlotView()
l Operation: toggles the status of the "Global Plot View" option.
l ActivateGlobalPlotView()/DeactivateGlobalPlotView()
l Operation: respectively activates and deactivates the "Global Plot View" option.
l PlotOriginal(), FitCurves()
l Associated menu item: Update / Plot / Original.
l Operation (Update Cartesian Plot): restores the original parameters for the current plot
view.
l PlotPlaneX(), PlotPlaneY(), PlotPlaneZ(), PlotArcLen(), PlotNormalizedArcLen()
l Associated menu items: Update / Plot / Function of X, Function of Y, Function of Z,
Function of Arc Length.
l Operation (Change Axis Variable & Range): sets the quantity distribution (i.e. horizontal
axis) a function of X, Y, Z or arc length.
l PlotOrdinateX (),
PlotOrdinateArcLen (),
PlotOrdinateQnt(), PlotOrdinateR(), PlotOrdinateTheta(), PlotOrdinateNormArcLen(),
PlotOrdinateS(), PlotOrdinateM().
PlotOrdinateY (),
PlotOrdinateZ (),
l Operation: sets the ordinate distribution (the vertical axis) a function of X, Y, Z, the arc
length, the active quantity, the radius R with respect to the Z axis, the azimuth angle Theta
with respect to the Z axis, the normalized arc length, the spanwise position, or the
streamwise position. The last two commands have a meaning only if hub and shroud are
properly defined.
l PlotFctOfQnt (), PlotFctOfR (), PlotFctOfTheta (), PlotFctOfS (), PlotFctOfM (),
PlotFctOfM_NORM()
l Operation: sets the abscissa distribution (i.e. the horizontal axis) a function of the quantity,
the radius with respect to the Z axis, the azimuthal angle with respect to the Z axis, the span
wise position or the stream wise position. The last three commands have a meaning only if
hub and shroud are properly defined.
l ToggleTopXAxis()
l Operation: toggles the visibility of top X axis.
l ToggleRightYAxis()
l Operation: toggles the visibility of right Y axis.
l AddToRightYAxis(curveName)
l Operation: associates curve named curveName to right Y axis.
l AddToLeftYAxis(curveName)
l Operation: associates curve named curveName to left Y axis.
l ToggleLegend()
l Operation: toggles the visibility of the legend.
l SetLegendPosition(x,y,z)
l Operation: sets the position of the legend in (x,y) location, z coordinate should be set to 0.
l AddToLegend/RemoveFromLegend(curveName)
l Operation: adds/removes curve named curveName to/from legend.
l PlotCurvesMerge(string name1, string name2, ...)
l Operation: performs the merging of plot curves and returns the name of the merged curve
or a list of names if several curves created.
l SetAbscissaRange(float min, float max), SetOrdinateRange(float min, float max)
l Operation: sets the range on the horizontal or vertical axis.
l FitAbscissa(), FitOrdinate()
l Operations: adjusts the range of the horizontal / vertical axis in such a way that the curves
are completely visible.
l ZoomInAbscissa(), ZoomOutAbscissa(), ZoomInOrdinate(), ZoomOutOrdinate()
l Operations: performs an automatic zoom in/out on the range by 10%.
l PlotZoom(float z)
l Operations: zooms in or out by a factor equals to z (zoom in for z>0 and zoom out for z<0)
l ZoomArea(float xmin, float xmax, float ymin, float ymax)
l Operations: performs a zoom operation on the axes range in such a way that the view
coordinates xmin, xmax, ymin and ymax correspond to the visible area (i.e. axis range).
l SetHReverse(), SetVReverse(), UnsetHReverse(), UnsetVReverse()
l Operations: sets the horizontal or vertical axis in decreasing scale or set in increasing scale.
l SetHLogarithmic(), SetVLogarithmic(), SetHLinear(), SetVLinear()
l Operation:sets the horizontal or vertical axis in logarithmic or linear scale.
l PlotCurveUndo()
l Associated menu item: Update / Plot / Curve Undo
l Operation: removes last added curve.
l PlotCurveType(CurveType c)
l Associated menu item: Update / Curve Type Editor...
l Operation: sets the last added curve type to c.
l PlotCurveOutput(string fileName)
l Associated menu item: Update / Plot / Curve Output...
l Operation: writes the plot curves data in ASCII format in the file with specified name.
l ActivePlotCurveOutput(string fileName, string curveName)
l Operation: writes the currently specified plot curves data in ASCII format in the file with
specified name and sets default type for curves associated to Cartesian plots.
l Associated menu item: 'Export to file'. When right-clicking on the curve in the Cartesian
plot window.
l CurveYValue(curveName,x_value)
l Operation: returns ordinate value for abscissa x_ value on the selected curve named
curveName.
l ToggleTicksOrientation()
l Operation: toggles between the two orientations of ticks.
l NumOfHMajorTicks(int n), NumOfVMajorTicks(int n)
l Operation: sets the number of labelled graduations on the horizontal or vertical axis.
l NumOfHMinorTicks(int n), NumOfVMinorTicks(int n)
l Operation: sets the number of intermediate graduations on the horizontal or vertical axis.
l SetHTicksDistance(float d), SetVTicksDistance(float d)
l Operation: sets the margin size around the graduation numbers on the horizontal or vertical
axis.
l SetHTicksTextType(TextType type), SetVTicksTextType(TextType type)
l Operation: sets the text type for the graduation numbers on the horizontal or vertical axis.
l HAxisLabelText(string text), VAxisLabelText(string text)
l Operation: sets the horizontal or vertical axis label text.
l HAxisLabelFontType(int type, float size), VAxisLabelFontType(int type, float size)
l Operation: set the font type and size for the horizontal or vertical axis label. The following
font types are available: roman (0), sans serif (1), typewriter (2), stroked (3), system default
(4), newfield (5), enfield (6), brooktondale (7), kuma (8), arial (9) or times (10).
l HAxisLabelLargerFont (), HAxisLabelSmallerFont (), VAxisLabelLargerFont (),
VAxisLabelSmallerFont()
l Operation: increases or decreases the text size of the horizontal or vertical axis label.
l HAxisLabelFontColor(Color c), VAxisLabelFontColor(Color c)
l Operation: sets the color for the horizontal or vertical axis label.
l HAxisLabelPosition(int p), VAxisLabelPosition(int p)
l Operation: sets the position of the horizontal or vertical axis label. The following positions
are available: at the axis end (0), near the axis origin (2) or in the middle of the axis (4).
l HAxisLabelDistance(float d), VAxisLabelDistance(float d)
l Operation: sets the width of the internal margin around the horizontal or vertical axis label.
l LimitsCurveArea(float xmin, float xmax, float ymin, float ymax)
l Operation: sets the limits of the curve area within a Cartesian plot view.
l AxisFit()
l Operation: computes the curve area size in such a way that it takes a maximum space,
without having the axis number s and labels cut by the view border.
l ShowHorizontalGridLines (), ShowVerticalGridLines (), HideHorizontalGridLines (),
HideVerticalGridLines()
l Operation: sets visible or hidden the horizontal or vertical grid lines.
l HorizontalGridLinesType(LineType type), VerticalGridLinesType(LineType type)
l Operation: sets the line type attributes for the horizontal or vertical grid lines.
l PlotType(int fitOnInsert, int logX, int varX, int logY, int varY, float minX, float maxX, float
minY, float maxY)
l Associated menu item: Update / Plot / Axis Editor...
l Operation: sets some parameters of the current Cartesian plot: automatic scaling at curve
insertion (fitOnInsert=1) or not (fitOnInsert=0), logarithmic scale in X or Y direction (logx
or logY =1) or not (logX or logY =0) and variable associated to the axis: varX or varY = 0
), 6 (theta =
(X), 1 (Y), 2 (Z), 3 (arc length), 4 (active quantity), 5 (radius =
)
l PlotHAxisLabel(float dist, int position, TextType type, string label), PlotVAxisLabel(float
dist, int position, TextType t, string label)
l Associated menu item: Update / Plot / Axis Editor...
l Operation: sets the parameters of the horizontal and vertical axis label: 'dist' is the distance
from the axis, int is the position relative to the axis (valid values and their associated
positions are
), the text type is set to type and the label text is set to label.
l PlotHAxisTicks(int ticks, int userTicks, int logScale, int smallTicks, float dist, float offset,
float min, float max), PlotVAxisTicks(int ticks, int userTicks, int logScale, int smallTicks,
float dist, float offset, float min, float max)
l Associated menu item: Update / Plot / Axis Editor...
l Operation: sets the parameters of the axis ticks: no ticks (ticks =0) or automatic ticks
(ticks=1 and userTicks=0) or user defined ticks (ticks=userTicks=1), logarithmic scale is
indicted by logScale=1 (0 otherwise), major ticks are drawn starting at 'offset', one each
'min' and 'max' are the axis range and 'smallTicks' are inserted between two
'dist',
successive major ticks.
l PlotHAxisTicksLabels ( float
dist,
int
position,
TextType
t, DoubleFormat
f),
PlotVAxisTicksLabels(float dist, int position, TextType t, DoubleFormat f)
l Associated menu item: Update / Plot / Axis Editor...
l Operation: sets the ticks labels parameters for the horizontal or vertical axis: dist is the
distance from the axis, position may be down / left (position =0) or up / right (position =1),
the text type is set to 't' and the double format to 'f'.
l PlotHGridLines(LineType majorLines, LineType minorLines), PlotVGridLines(LineType l,
LineType minorLines)
l Associated menu item: Update / Plot / Axis Editor...
l Operation: sets the horizontal or vertical grid major and minor lines type.
l FitCurveRange(curveName)
l Operation: fits the horizontal and vertical axis based on the range of the curve named
curveName.
l RenameCurve(oldName,newName)
l Operation: renames curve named oldName to newName.
l EditCurve(curveName,fileName)
l Operation: removes the existing curve named curveName and create a new curve using the
coordinates from the file named fileName.
l InsertNewCurveByFormula(curveName,equation,lowerLimit,upperLimit,numOfPoints)
l Operation: creates a new curve named curveName with specified equation using
numOfPoints points between lowerLimit/upperLimit abscissa.
l InsertNewCurveFromFile(curveName,fileName)
l Operation: imports data from file named fileName and will create a new curve named
curveName.
l InterpolationCurve(curveName,numOfPoints,curveID)
l Operation: creates an interpolation curve by fitting cubic splines to the points of the curve
named curveName. Interpolation curve shows the values at numOfPoints points. These
points are uniformly distributed between lowest and highest abscissa. The interpolation
curve is named by appending curveID to curveName.
l ExtrapolationCurve(direction,curveName,extent,numOfPoints,curveID)
l Operation: creates an extrapolation of the curve named curveName towards left/right if
direction set to 0/1. The lower/upper limit of abscissa is specified by extent. Extrapolation
curve shows the values at numOfPoints points. The extrapolation curve is named by
appending curveID to curveName.
l GetViewCurveList()
l Operation: returns the list of curves names of the created Cartesian Plot.
l ShowCurves(curveName1,curveName2,...)
l Operation: makes the line and marker visible for the selected curves.
l HideCurves(curveName1,curveName2,...)
l Operation: makes the line and marker invisible for the selected curves.
l ShowCurvesLine(curveName1,curveName2,...)
l Operation: makes the line visible for the selected curves.
l HideCurvesLine(curveName1,curveName2,...)
l Operation: makes the line invisible for the selected curves.
l ShowCurvesMarker(curveName1,curveName2,...)
l Operation: makes the marker visible for the selected curves.
l HideCurvesMarker(curveName1,curveName2,...)
l Operation: makes the marker invisible for the selected curves.
l SetPlotSectionLimited()
l Associated menu item: Right-click on the selected curves / Limited section
l Operation: restricts the plot between the two selected points instead of a complete line on
whole domain passing through the two selected points.
l SetPlotSectionUnlimited()
l Associated menu item: Right-click on the selected curves / Unlimited section
l Operation: removes the restriction applied by the macro SetPlotSectionLimited. The curve
is a complete line on whole domain passing through the two selected points (default
behavior)
l DeletePlot()
l Associated menu item: Update / Delete / Cartesian Plot.
l Operation: deletes the current plot view or the Cartesian plot view associated to the active
quantity and all associated curves.
l SclPlotVsTime(attachToMesh,domainID,cellID)
l Operation: creates Scalar vs Time or vs Clocking Position plot for specified point.
attachToMesh is set to 1 (option Attach To Mesh enabled). domainID and cellID are the
domain and cell ID respectively starting from 1 and 0.
l SclPlotVsTime(attachToMesh,x,y,z)
l Operation: creates Scalar vs Time or vs Clocking Position plot for specified point.
attachToMesh is set to 0 (option Attach To Mesh disabled).
l GetDomainAndCellIndex(x,y,z)
l Operation: returns domainID and cellID located at specified (x, y, z) location.
l GetCellIndex(domID,i,j,k)
l Operation: returns cellID for structured test cases.
7.5.27 Commands Related to Colormap & Range Selection
These commands will raise an Attribute Error if no quantity is selected.
l RprColormap(int i)
l Associated menu item: Representation / Colormap.
l Operation (Insert Colormap): if i is different from zero, puts colormap of the active quantity
on view, else removes the colormap.
l ColormapLimits(float xmin, float xmax, float ymin, float ymax)
l Operation: sets the limits of the colormap in the view.
l ColormapSmoothOnly(), ColormapStripesOnly(), ColormapSmoothAndStripes()
l Operation (Smooth & Strip Maps): sets the kind of displayed color ramp: either only the
smooth coloring ramp, only the stripes coloring ramp or both of them.
l ColormapAxisAtLeft(), ColormapAxisAtRight()
l Operation (Change Colormap Position & Size): sets on which side of the colormap is
displayed the axis ticks numbers and label.
l UpdateColormapBW (), UpdateColormapGreyscale (), UpdateColormapColor (),
UpdateColormapJet
(),
UpdateColormapSummer (), UpdateColormapAutumn (), UpdateColormapWinter (),
UpdateColormapSpring (), UpdateColormapBone (), UpdateColormapCopper (),
UpdateColormapPink()
UpdateColormapCool
UpdateColormapHot
(),
(),
l Associated menu item: Update / Colormap / Reset B&W, Reset GrayScale, Reset
Color
l Operation (Update Colormap Representation ): sets the color map to black and white,
grayscale or COLOR ramp.
l RprRangeIn(float qmin, float qmax)
l Associated menu item: Representation / Range / Colormap Set Range.
l Operation (Control Representations Range): sets the range of the active quantity to (qmin,
qmax).
l RprRangeAll()
l Associated menu item: Representation / Range / Colormap Full Range.
l Operation (Control Representations Range): sets the range of the active quantity to the
global range.
l RprRangeActiveSurfaces()
l Associated menu item: Representation / Range / Colormap Optimum Range.
l Operation (Control Representations Range): sets the range of the active quantity to its range
on the active surfaces.
l ColormapNumOfBigTicks(int n)
l Operation (Update Colormap Representation): sets the number of graduation marks on the
axis. This number is rounded automatically in such a way that rounded values are
displayed.
l ColormapTicksNumberDistance(float d)
l Operation (Update Colormap Representation ): sets the distance between the graduated
numbers and the axis.
l ColormapTicksNumberTextType(TextType type)
l Operation (Update Colormap Representation): sets the text type attributes for the graduation
numbers .
l ColormapLabelText(string t)
l Operation (Update Colormap Representation): sets the label text of the colormap.
l ColormapLabelTextSize(int s)
l Operation (Update Colormap Representation): sets the size of the colormap label.
l ColormapLabelTextType(TextType type)
l Operation (Update Colormap Representation): sets the parameters of the colormap label
text  for a
description of the TextType argument).
l ColormapReverseColors()
l Operation (Update Colormap Representation): switches the top and bottom colors.
l ColormapDefineLocation(string edge)
l Operation (Update Colormap Representation ): sets the location where the colormap is
displayed. The argument edge is either "Right", "Left", "Top" or "Bottom". Default
location is "Right"
l ColormapNumOfStripes(int n)
l Operation (Update Colormap Representation): sets the number of color stripes.
l UpdateColormap(string type)
l Operation (Update Colormap Representation): sets the colormap type. The argument type
must be one of the following: 'BW', 'Greyscale', 'Color', 'Jet', 'Cool', 'Hot', 'Summer',
'Autumn', 'Winter', 'Spring', 'Bone', 'Copper', 'Pink' or 'User_defined'. If type = 'User_
defined', it must be followed by the hsv values of the bottom color, the top color and all the
intermediate colors, and then by the positions of the intermediate colors.
l ColormapNumbersFormat(DoubleFormat f)
l Operation ( Update Colormap Representation ): sets the number format to exponential
format.
7.5.28 Commands Related to Marker
l InsertMarker(float px, float py, float pz)
l Operation: inserts a marker in the view at point (px, py, pz). Allows to plot a given point
for instance to see the point corresponding to a probe.
l DeleteMarkers()
l Operation: deletes all markers that have been added with the command InsertMarker.
7.5.29 Commands Related to Text Manipulation
l string InsertText(float px, float py, float -, string text)
l Associated menu item: Update / Insert Text.
l Operation (Insert Text): inserts decoration text at position (px, py), (-1,-1) is the lower left
corner of the active view and (1,1) is its upper right corner. Returns the reference name of
the text string.
l string InsertText2(string name, float px, float py, float -, string text)
l Associated menu item: Update / Insert Text.
l Operation (Insert Text): inserts decoration text having a specified name at position (px, py),
(-1,-1) is the lower left corner of the active view and (1,1) is its upper right corner. Returns
the reference name of the text string. The text name is used to further reference to the
decoration text for type attributes handling. The name is a unique identification key, if a text
exists already with the provided name, it is modified (instead of inserting a new text).
l SetTextFontName(string name, string fontName)
l Operation (Update Texts): sets the font of the text with the specified name. The valid font
names are Arial, Times, Roman, Sansserif, TypeWriter, Stroked, NewField, Enfield,
Brooktondale and Kuma.
l SetTextFontSize(string name, int size)
l Operation (Update Texts): sets the font size of the text with the specified name.
l SetTextColor(string name, float h, float s, float v)
l Operation (Update Texts): sets the color of the text with the specified name. The color is
provided in its hue, saturation and value decomposition (Description of Argument List for
Some Standard Features for further reference).
l SetTextAlignement(string name, int h, int v)
l Operation ( Update Texts ): sets the horizontal and vertical alignment of the text with
specified name. The alignment is the position of the text with respect to the position point.
The h argument is interpreted as follows: h=-1 for a text placed at the right of the position
point, h=1 for a text placed at the left of the position point, h=0 for a text centered around
the point position. The v argument is interpreted as follows: v=-1 for a text below the
position point, v=1 for a text above the position point and v=0 for a text centered vertically
on the position point.
l SetTextLineAlignement(string name, int l)
l Operation (Update Texts): sets the text justification. This has only a sense for multiple lines
text. The parameter l is interpreted as follows: l=0 for centered lines, l=1 for lines aligned
on their left side and l=2 for lines aligned on their right side.
l SetTextLineSpacing(string name, int s)
l Operation (Update Texts): sets the text line spacing (used only for multi-line texts). A value
s=0 is for normal line spacing, s=1 for one and a half spacing and s=2 is for double line
spacing.
l SetTextFrameVisibility(string name, int v)
l Operation (Update Texts): sets visible (v=1) or hides (v=0) of the enclosing rectangular box
around the specified text.
l SetTextPosition(string name, float x, float y)
l Operation: sets the text position within the view: x=-1 is the left side, x=1 is the right side,
y=-1 is the bottom side and y=1 is the upper side.
l DeleteText(string name)
l Operation (Delete Texts): deletes the text having the specified name.
l DeleteTextAll(), DeleteTextLast()
l Associated menu items: Update / Delete / Text Last and Text All.
l Operation (Delete Texts): deletes all or last inserted decoration text in the active view.
The following commands are maintained for backward compatibility. However, their use is
strongly discouraged as it does not cover all the functionality.
l TextActivate(string name), TextDeActivate()
l Associated menu item: Text selection / de-selection by clicking with the left mouse button
l Operation: selects or de-selects text item with reference name given by 'name'.
l Exceptions: will raise an Name Error if the name is unknown.
l TextModify(string text, float px, float py, float -, TextType t)
l Associated menu items: text updates through Text Editor dialog box.
l Operation (Update Texts): sets the currently selected text attributes: text is its content, (px,
py) its position  command) and its text type is set to 't'.
l Exceptions: will raise an Attribute Error if no text is currently selected.
7.5.30 Commands Related to Axes Systems
Representations
Orientation Axes
l ViewAxes()
l Associated menu item: Geometry / Coordinate System / Axis.
l Operation: toggles simple axis representation.
l AxisSize(float s)
l Operation: sets the size of the orientation axes if they are represented (the default value is
0.03).
l AxisPosition(float x, float y)
l Operation: sets the axis position in way independent from the represented geometry: x=-1 is
the left side, x=1 is the right side, y=-1 is the bottom side and y=1 is the upper side.
l CoordSystem1Origin(float px, float py, float pz)
l Associated menu item: Geometry / Coordinate System / Axis
l Operation: sets simple axis representation origin at point (px, py, pz) and creates it if not
existing.
Graduated Axes
l ViewAxesGlobal()
l Associated menu item: Geometry / Coordinate System / Graduated Axis.
l Operation: toggles graduated axis representation.
l SetGradAxis1Range ( float min, float max), SetGradAxis2Range ( float min, float max),
SetGradAxis3Range(float min, float max),
l Operation: set the range of the graduated axes along the first, second or third direction. The
min arguments are defining the origin of the represented coordinate system and must be
smaller than the related max value.
l SetGradAxis1TicksSpacing (
float
s),
SetGradAxis2TicksSpacing (
float
s),
SetGradAxis3TicksSpacing(float s)
l Operation: set the spacing between the graduation on the first, second and third axis
respectively.
l CoordSystem2Origin(float px, float py, float pz)
l Associated menu item: Geometry / Coordinate System / Graduated Axis.
l Operation: sets graduated axis representation origin at point (px, py, pz).
l Exceptions: will raise an Attribute Error if graduated axis does not exist.
l SetGradAxis1Horizontal(), SetGradAxis2Horizontal(), SetGradAxis3Horizontal()
l Operation: set the graduation numbers orientation on the axis to horizontal. The numbers
are displayed horizontally whatever the axis orientation.
l SetGradAxis1Perpendicular
(),
SetGradAxis2Perpendicular
(),
SetGradAxis3Perpendicular()
l Operation: set the graduation numbers orientation perpendicular to the axis line.
l SetGradAxisTicksSize(float s)
l Operation: sets the size of the graduation ticks (as a percentage of the axis length). The
default value is 0.01.
l SetGradAxisNumbersSize ( int
s),
SetGradAxisNumbersColor(Color c)
SetGradAxisNumbersFont ( string
fontName),
l Operation: set the text size, text font or text color of the graduation numbers. The valid font
names are Arial, Times, Roman, Sans- serif, TypeWriter, Stroked, NewField, Enfield,
Brooktondale and Kuma. See Description of Argument List for Some Standard Features
for the description of color arguments.
l SetGradAxis1LabelPosition (
int
p),
SetGradAxis2LabelPosition (
int
p),
SetGradAxis3LabelPosition(int p)
l Operation: set the position of the axis label. The value of p may be 1 for placing the label at
the top end of the axis or 0 for placing the label at mid-range.
l SetGradAxisLabelsSize (
int
s),
SetGradAxisLabelsFont
( string
fontName),
SetGradAxisLabelsColor(Color c)
l Operation: set the text size, text font or text color of the axes labels. The valid font names
are Arial, Times, Roman, Sans- serif, TypeWriter, Stroked, NewField, Enfield,
Brooktondale and Kuma. See Description of Argument List for Some Standard Features
for the description of color arguments.
l SetGradAxisLineType(LineType type)
l Operation: set the line type attributes used to draw the axes lines and the graduation ticks.
See Description of Argument List for Some Standard Features for the description of
LineType arguments.
7.5.31 Description of Argument List for Some Standard
Features
l Color: float h, float s, float v
A color is described in the HSV (Chroma) model (Hue, Saturation, Value) by the parameter
triplet: float h, float s, float v; with 0 < h < 360, 0 < s < v and 0 < v < 1. Some examples are
black (0,0,0), white (0,0,1), red (0,1,1), yellow (60,1,1), green (120,1,1), cyan (180,1,1), blue
(240,1,1) and magenta (300,1,1).
l TextType: int fontType, int fontSize, int horzAlignement, int vertAlignement, float px, float py,
float pz, float spacing, int rotation, Color c
int fontType (value between 0 and 10): roman (0), sans serif (1), typewriter (2), stroked (3),
system default(4), newfield (5), enfield (6), brooktondale(7), kuma (8), times (9) or arial (10);
int horizontalAlignement, int verticalAlignement (value between 0 and 2): center (0), left or
upper (1) and right or lower (2);
float px, float py, float pz coordinates of the vector indicating the text path.
float spacing: specified in character height;
int rotation (value between 0 and 4): follow path (0), right (1), down (2), left (3) or up (4).
l LineType: Color c, int pattern, int endCap, int lineJoin, int visibility, float width (Line Type
Editor)
int pattern (value between 0 and 8): solid (0), simple dashed (1), dotted (2), dashes and dots
alternating (3), dashes and double dots alternating (4), dashes and triple dots alternating (5),
long dashes (6), very long dashes and short dashes alternating (7) and very long dash and
double short dashes alternating (8),
int endCap (value between 0 and 2): "butt" line end-cap (0), "square" line end-cap (1) and
"round" line end-cap (2),
int lineJoin (with value between 0 and 2): "mitre" line join (0), "bevel" line join (1), "round"
line join (2),
int visibility: with value 0 (not visible) or 1 (visible).
l MarkerType: Color c, int light, float size, int symbol, int filled, int visibility (Marker Type
Editor)
int light: with lighting (1) or without lighting (0),
int symbol (with value between 0 and 10): star (0), times (1), plus (2), dot (3), box (4), circle
(5), diamond (6), up triangle (7), down triangle (8), left triangle (9), right triangle (10).
int filled: filled symbol (1) or not (0)
l CurveType: LineType l, MarkerType m
Curve Type description is a juxtaposition of a line type description and a marker type
description
l DoubleFormat: int sign, int exponent, int accuracy (Numbers Format Editor) int sign: number
are signed (1) or not (0),
int exponent: scientific notation is used when necessary (0), always (1) or never (2),
int accuracy: number of significant digits.
7.6
UTILITIES FOR HANDLING CURVES
A Point and a Curve class are provided to handle curves. A typical use of this feature is to create a
curve for which each point is obtained from a user defined computation and then shown as a
Cartesian plot in the CFView™ graphics window.
This section provides first a complete description of the Point and Curve classes. Then an
example is provided as an illustration.
Point Class
This class may be used for point or vector handling. It contains the following operations:
l constructor from 3 floating point values with a default value of 0.
Examples:
p = Point(1.0,1.0,1.0)
p = Point(1.0)
l mathematical operators: +, -, *, /
operations are applied component by component.
l [float, float,float] asTuple(): return point coordinate as a tuple (a list) containing 3 elements.
l float norm (Point): returns the norm of the vector.
Curve Class
This class allows to create representations and to handle curves (defined by a list of points) in a
macro script. This class allows to compute in a macro a series of values and insert them in a
Cartesian plot and also, it allows to handle in a macro curves that are existing in a CFD data set.
Add from Curve import * at the beginning of the macro to be able to use the Curve class.
l constructor from name. If the name corresponds to an existing curve (e.g. a streamline, a
surface boundary), then its points list is taken from this curve and it is accessible only for
reading operations. If the name does not correspond to an existing curve, a new curve is
created, having zero points after the creation operation.
c = Curve('mycurve') creates a new curve.
c = Curve(VecLineLocal(pix,piy,piz, 0,0,1)) gets the streamline curve for further handling.
l char type(): returns the curve type ('c'for a curve that was already existing in the data set or 'p')
l int numOfPoints(): returns the number of points,
l float length(): returns the curve length,
l Point point(int i): returns the ith point in the curve,
l addPoint(Point p): appends the point to the curve definition (the curve should not be a curve
existing in the data set),
l Point pointAtDistance(float d): returns the Point at arc length d,
l [float, Point] closestPoint(Point p, Point v): returns the curve point closest to the Point p and
the distance which is evaluated along the v direction.
l showInPlot(string quantityName, [quantityValues]): creates a graphic representation of the
curve associated to a set of values defined on each of the curve points. The string
quantityName is used for labeling the coordinate axis. The parameter [quantityValues] is a
list of values; there must be a number of values equal to the number of curve points. The curve
defines the geometrical location of the associated values.
A plot data curve is created (having the curve name), inserted in the data set and its
representation in a Cartesian plot is raised.
l float / [float, float] / [float, float, float] computeIntegral(int type, string eqX, string eqY,
string eqZ): returns the integral along the curve of the specified mathematical expression.
Type and expression specification is identical to the derived quantities. If type is 0, the
expression should be a valid scalar definition and provided as the eqX argument; the
arguments eqY and eqZ are ignored and may be omitted. If the type equals 1, the expression
should be a valid vectorial definition provided as eqX arguments. If type is 2, the expression
should be considered as a vector provided component by component in the eqX, eqY and eqZ
arguments.
Scalar integration is the usual line integration (
), while the vector integral is the
integral of the vector (or external) product between the integrand and the normalized vector
tangent to the curve (
).
CHAPTER 8.
LIST OF SHORTCUT KEYS
Here are all the keyboard shortcuts that are defined in CFView™.
Project Handling
Shift-p
Open the file chooser to select a project (Project Management)
Open the partial loader (Partial Loader)
Ctrl-q
Quit CFView™ (Close Project)
'
Ctrl-y
Shift-r
Ctrl-d
Graphical area refresh (Refresh Graphical Area Display)
Toggle the reverse video / normal video mode (Other User Preferences)
Undo
Redo
Repetition on/off
Delete all (Delete)
Views Handling
.
Maximise size (Change View Size/Position)
Preferred size ("Change View Size/Position" (p. 54))
Minimise (Change View Size/Position)
Start the interactive move / resize mode (Change View Size/Position)
Start the interactive move / resize mode (Change View Size/Position)
Shift-n
Open a new view in Cartesian coordinates (Stretched, Orthographic, Perspective)
Ctrl-n
Close the active view (View & Window Menus)
/
=
+
Swap Views
Align Views
Superpose Views
-
Shift-v
Shift-b
Toggle view transparency (View/Parameters)
Toggle full rendering mode (View/Parameters)
Toggle border line (View/Parameters)
Camera Position
Set the camera to the original position (Original Button)
Project along the first direction (Original Button)
Project along the second direction (Original Button)
Project along the third direction (Original Button)
Surface Representation
Surfaces selection dialog box (From Geometry Menu)
Interactive surfaces selection tool (Interactive Surface Selection)
Mesh surfaces creation dialog box (Create Mesh Surface)
Cutting plane creation dialog box (Create Cutting Plane)
Blade to blade surface dialog box
Toggle active surfaces grid representation (View Grid Wireframe)
Toggle active surfaces boundary representation (View Surfaces Boundaries)
Toggle hidden line surfaces representation (Hidden Lines Rendering)
Toggle flat colored representation (Flat Shading)
Toggle Gouraud shading representation (Gouraud Shading)
Switch off rendering (Remove Rendering Effects)
Surface color edition dialog box (Modify Rendering Color)
Ctrl-s
Ctrl-a
Ctrl-z
Shift-l
Ctrl-b
Shift-f
Shift-s
Shift-h
Shift-t
Text
Ctrl-t
Starts text insertion tool (Insert Text)
Scalar Quantities Representation
Multiple isolines dialog box (Drawing Multiple Isolines)
Local isolines (Isolines)
Shift-q
Flat color contour (Flat)
Smooth color contour (Smooth)
Strip color contour (Strip)
Local value insertion mode (Local Values)
Cartesian plot along section (Cartesian Plot along Section)
Cartesian plot along grid line (Cartesian Plot along a Grid Line)
Shift-i
Iso-surface (Iso-Surfaces)
Undo-suppress last representation (Undo)
Ctrl-r
Toggle colormap representation (Colormap & Representations Range)
Vector Quantities Representation
Shift-j
Ctrl-j
Local vector lines
Vector lines from a section
Vector lines from grid line
Vector lines parameters dialog box (Vector lines from grid line)
Vector field (Vector on Grid Nodes)
Threshold vector field (Thresholded Vector on Grid Nodes)
Local vector (Arrow Representation)
Vectors along a section
Vectors along a grid line
Vector type dialog box
Undo (remove last representation) (Undo)
Ctrl-r
Toggle colormap representation (Colormap & Representations Range)
CHAPTER 9.
INPUT FILE FORMAT
This chapter describes the file formats supported by CFView™. Two file formats are supported:
l The native file format
l The FINE™ project file
This chapter is made of three sections corresponding to these formats. For the native format, the section
is divided in 5 parts:
l Create identification file,
l Create boundary condition file,
l Create unstructured cell connectivity (for unstructured meshes only),
l Create geometry and quantity files,
l CFView™ tools (please contact your NUMECA local sales or support office before using the
provided tools).
The FINE™ file format is not described in details as this file is internal to the FINE™ package.
It is recommended to attentively read the section describing the "Native File Format" (p. 384) which
introduces the input files and outlines their different types. The remaining sections provide the way to
create these files.
White spaces should be avoided in the file name.
In this section
9.1 Native File Format
9.2 FINE™ File Format
384
400
9.1
NATIVE FILE FORMAT
As mentioned in Getting Started chapter, there are four data types which are field data, surface
data, validation data and plot data. These data represent scalar or vector quantities at node
coordinates as well as along specific curves. The files containing these data are separated from the
files containing the node and curve coordinates.
Therefore, the CFView™ input data file system consists of a series of files. They are grouped in
various types of files:
1. Identification file
This file contains general information about the project. Especially, it includes all the file
names containing the boundary conditions and the geometry and quantity data.
l Format: ASCII
l Number: one by project.
2. Boundary condition files (for structured meshes)
These files contain information concerning the boundaries of the project such as the boundary
condition (external, solid, periodic, inlet...), the location and the connections with other
domains.
l Format: ASCII
l Number: one by domain.
3. Topology & Boundary Condition files (for unstructured meshes)
These files contain information on the topology and the boundaries of the project.
l Format: binary
l Number: one by domain
4. Geometry files
These files are used to store field data, surface data, validation data and plot data node
coordinates.
l Format: binary
l Number:
l one by domain for the field data and surface data.
l one for each validation data and plot data.
5. Quantity files
They are used to store the values of the scalars and the vectors of each data type at each nodes
and points defined in the Geometry files.
l Format: binary
l Number:
l one by domain for each field data and surface data.
l one for each validation data and plot data.
1. Meridional support file
This file is used to provide the geometrical support for blade to blade views
l Format: binary or ASCII
l Number: one by project
2. Particle tracks file
This file is used to import externally computed particle tracks
l Format: binary or ASCII
l Number: one by project
3. ASCII validation data files
These files are used for interactive loading of validation data.
The data type concepts and the generation of the input data files are explained in the following
sections.
CFView™ accepts structured and unstructured meshes. The CFView™ input
file system for
unstructured meshes is very similar to the structured meshes. There are some differences in the
Identification file ) but the main difference is the existence
of the Topology & Boundary Condition file.
9.1.1
Create Identification File
The Identification file contains general information about the project. Its name is characterized by
the ".cfv" extension. It includes all the file names containing boundary conditions, geometry and
quantity data.
The identification file is an ASCII file which contains numbers and character strings. It is
composed of the following parts:
1. Project identification.
2. Mesh identification.
3. Domain(s) identification.
4. Validation data identification.
5. Plot data identification.
These 5 parts are described below with concrete examples. A complete example of an
Identification file is given at the end of this section.
For unstructured meshes, the differences with the structured meshes lie in the Mesh and Domain
identification parts. See these parts for more details.
File names must be written with absolute paths. CFView™ check firstly this absolute path, if the
expected file is not there, CFView™ check secondly in the directory where the .cfv is located and if
the expected file is not there, CFView™ check thirdly in the directory defined by the relative path
"../_mesh". If the expected file is located in none of these three locations, CFView™ will not find it.
A. Project Identification
The project identification consists of five arbitrary character strings.
l The project name: It is given by the first character string. If no information is given, a blank
character string of arbitrary length has to be entered.
l The version number: It is represented by the second character string. If no information is given,
a blank character string of arbitrary length has to be entered.
l The solver description: It consists of the three remaining character strings. If no information is
given, a blank character string of arbitrary length has to be entered for each of them.
While working with CFView™, a specific command allows to display this project identification
into the graphic area. An example of a project identification is:
EXTERNAL FLOW - NUMECA
TEST CASE 999.111
EULER EQUATIONS
MESH SIZE 40*35*105
INLET CONDITIONS: MACH NUMBER 2.8
B. Mesh Identification
The mesh identification gives general information on the mesh geometry and specifies the
Geometry and Quantity file names for field data and surface data. It consists of 4 general
specifications, 1 field data and 1 surface data specification.
General Specifications
These are:
1. The dimension:
l 2D
l 3D
2. The type:
l STRUCTURED
l UNSTRUCTURED
l HEXANS
3. The coordinate system:
l CARTESIAN
4. The kind of repetition:
l NONE
l TRANSLATION
l ROTATION
l MIRROR
The specifications have to be written on one character string in the above order. You can input
2D projects by specifying the dimension parameter as 2D. For example, a three dimensional
structured mesh in a Cartesian coordinate system without repetition is specified as follows:
3D STRUCTURED CARTESIAN NONE
With repetition option, it is possible to translate, rotate or mirror the complete mesh geometry
specifying:
l The translation vector, mirror plane point or rotation axis point.
l The mirror plane normal or rotation axis direction.
l The rotation angle in degrees.
For example, the translation in y direction (0,1,0) has the following input:
3D STRUCTURED CARTESIAN TRANSLATION 0. 1. 0.
For example, the rotation around the axis parallel with Z axis, passing through the point (2,2,2),
and with an angle of 90 degrees has the following input:
3D STRUCTURED CARTESIAN ROTATION 2. 2. 2. 0. 0. 1. 90
The mirror example, with the Y plane specified as mirror plane has the following input:
3D STRUCTURED CARTESIAN MIRROR 0. 0. 0. 0. 1. 0.
The repetition of the geometry when using ROTATION type is only working with 3D projects.
Field Data Specification
The field data specification consists of field data names. Field data are scalars and/or vectors and
are defined for each domain. The only restriction is that the scalar quantities have to be entered
before the vector quantities. The input consists of the number of scalar quantities followed by the
names of these quantities. These names must be surrounded by || (e.g.: |density|). The names
cannot contain any of the following characters: |, [ or ]. The same has to be repeated for the vector
quantities.
For example, when specifying three scalars (density, entropy, and Mach number) and two vectors
(velocity and vorticity), the input is:
|density| |mach number| |entropy|
|velocity| |vorticity|
Surface Data Specification
The surface data specification consists of surface data names. They represent the quantities
confined on solid surfaces such as the heat transfer coefficient. The input consists of the number
of scalar quantities followed by the names of these quantities. These names must be surrounded
by || (e.g.: |density|). The same has to be repeated for the vector quantities. The only restriction is
that the scalar quantities have to be entered before the vector quantities.
For example, if surface data consists of one scalar (heat transfer coefficient) and one vector
quantity (the surface stress), the input is:
|heat transfer coefficient|
|surface stress|
A mesh geometry without surface data can also be considered. In this case the number of quantities
are set to zero and the lines containing the quantity names are not present.
C. Domain(s) Identification
The domain identification specifies the number of domains, the number of points for each domain,
the Geometry file names, the Boundary Condition file names and the Quantity file names for field
data and surface data.
The first string line identifies the number of domains. For example, for a mesh with two domains,
the string input is:
Next input is repeated for each domain.
The second string line depends on the grid type (structured/unstructured).
l For structured meshes, it specifies:
l the repetition type. It can be any of the allowed repetition types. If not specified then the
repetition type taken for the block is the project repetition type.
l the number of nodes in the I, J and K directions. For example, for a domain of 60 nodes in
the I direction, 70 nodes in the J direction and 50 nodes in the K direction, the string input
is:
60 70 50
For 2D structured meshes, only the nodes in J directions and I have to be specified.
l For unstructured meshes, it specifies the number of nodes and the number of cells.
After this line, you have to specify:
l The Geometry file name (containing the node coordinates).
l The Boundary Condition file name.
l The Quantity file name of each field data and surface data.
The order of the quantity file names is the same as the field and surface data quantity names (refer
to section "Mesh Identification" above).
The specification of the quantity file name of the surface data includes the identification of the
domain boundaries and patches.
In the example below, surface data for the first domain are assigned to the second patch of the first
boundary and for the second domain to the first patch of the second boundary. The boundary and
patch concepts are explained in the section describing the generation of Boundary Condition file.
For this example the domain identification is as follows:
60 70 50
extflow.d1.g
extflow.d1.bc
extflow.d1.s.1
extflow.d1.s.2
extflow.d1.s.3
extflow.d1.v.1
extflow.d1.v.2
1 2 extflow.d1.sd.s.1
extflow.d1.sd.v.1
40 70 50
extflow.d2.g
extflow.d2.bc
extflow.d2.s.1
extflow.d2.s.2
extflow.d2.s.3
extflow.d2.v.1
extflow.d2.v.2
2 1 extflow.d2.sd.s.1
extflow.d2.sd.v.1
An input file without surface data can also be considered. In this case the number of surface data is
set to zero and the lines containing the field quantity names and the file names are not present.
D. Validation Data Identification
The Validation Data identification identifies data from experiments or other computations which
are needed for comparison. Validation data are restricted to data on a single curve, either in 2D or
3D space. The number of such curves has to be input in one line of the identification file. For
example if a project has one validation data curve, the input line has to be:
After this line, you have to specify:
l The name of the curve.
l The quantity name(s).
l The Geometry file name of the curve.
l The Quantity file name(s).
For example, if a curve named "cross-section" has two validation quantities, the static pressure,
and the temperature, the file should be as follows:
|cross-section|
|static pressure|
|temperature|
extflow.vld.g
extflow.vld.s.1
extflow.vld.s.2
An input file without validation data can also be considered. In this case the number of validation
data is set to zero and the lines containing the field quantity names and the file names are not present.
E. Plot Data Identification
The Plot Data are usually functional data the user wishes to visualize, for instance a flow solver
convergence history. Any other function of one, two or three variables given in the form of
numerical table can be handled in the same way. Plot data are restricted to data on a single curve,
either in 1D, 2D or 3D.
The number of such curves has to be input in one line of the Identification file.
After this line, you have to specify:
l The name of the curve.
l The quantity name(s).
l The Geometry file name of the curve, containing the abscissa values.
l The Quantity file name(s).
For example, a run has 250 iterations with the mean density and the maximum total energy
residuals. Before specifying the residuals names, the name of the curve must be defined. For
example, "convergence history" has two residuals (mean density and the maximum total energy).
The input is as follows:
|convergence history|
|mean density residual|
|max total energy residual|
extflow.pld.g
extflow.pld.s.1
extflow.pld.s.2
An input file without plot data can also be considered. In this case the number of plot data is set to
zero and the lines containing the field quantity names and the file names are not present.
F. Geometry Support for Blade to Blade Views
Additionally you can specify a meridional mesh to be used for computing STM (s, theta, m)
views. This coordinate space is particularly interesting for visualisation project having a symmetry
around the Z axis. The meridional support mesh has to be a 2D mesh defined in the (z,r) space.
The m coordinate will be computed as the distance along J constant lines from the current point to
the line I=0. The s coordinate will be computed as the distance along I constant lines from the
current point to the line J=0. This corresponds to a blade to blade view in turbo-machinery
applications.
The meridional support mesh is specified by the geometry file name of the mesh. Additionally, if
the version description (2nd line of the file) contains the keyword AutoGrid-Mesh, it is assumed
that the mesh is an AutoGrid5™ mesh (i.e. all domains have the I direction as streamwise, the J
direction as spanwise and all points are on the support curves). This allows a faster computation
of the (s,t,m) coordinates.
FIGURE 9.1
Meridional support mesh
In general, the computation of a mesh point is based on its projection in the ZR plane. The s and
m coordinates are interpolated from the neighboring support mesh points. Additionally s and m
coordinates are normalised.
The geometry file format for a support mesh with 17 nodes in the I direction and 11 in the J
directions is presented in FIGURE 9.1.
The use of this functionality is discouraged. The interactive specification of hub and shroud surfaces
is a more flexible way to create blade to blade views.
NUMECA File Format v-1.0
POINTLIST_GRID -dim 2 -n1 17 -n2 11
<NI_BEG>
ZR
....
<NI_END>
where the "..." stands for the list of the (Z,R) coordinates ordered as list of curves in the I direction
G. Example of Complete Identification File
The complete identification file of the example chosen in the above sections is given on next
page:
EXTERNAL FLOW - NUMECA
TEST CASE 999.111
EULER EQUATIONS
MESH SIZE 40*35*105
INLET CONDITIONS: MACH NUMBER 2.8
3D STRUCTURED CARTESIAN NON
|density| |mach number| |entropy|
|velocity| |vorticity|
|heat transfer coefficient|
|surface stress|
60 70 50
domain1.g
domain1.bc
density.d1.s
static_pressure.d1.s
velocity.d1.v
vorticity.d1.v
30 70 50
domain2.g
domain2.bc
density.d2.s
static_pressure.d2.s
velocity.d2.v
vorticity.d2.v
Geometry and Quantity files have to be generated for each domain except for the validation and plot
data. There is no restriction on the file name and extension.
Quantity file names have to be specified in the same order as the quantity names defined in the mesh
identification part. There is no restriction on the file name and extension.
Note that the "0" at the end are indicating that no validation data or plot data are associated to the
data set.
9.1.2
Create Boundary Condition Files
A Boundary Condition file is generated for each domain. It contains the multi-block connectivity
the boundary condition of non- connected domain boundaries.
description,
Furthermore, a name for the domain and for each boundary part (or path) can be provided.
the type of
The number of boundaries for each domain depends on the mesh dimension, 4 in 2D case and 6
in 3D case. CFView™ attributes the following numeration to these boundaries which has to be
respected when generating the Boundary Condition file:
1. For 2D mesh, there are 4 boundaries with the following numbering:
l Boundary 1: I=1
l Boundary 2: J=1
l Boundary 3: J=Jmax
l Boundary 4: I=Imax
2. For 3D mesh, there are 6 boundaries with the following numbering 
l Boundary 1: I=1
l Boundary 2: J=1
l Boundary 3: K=1
l Boundary 4: K=Kmax
l Boundary 5: J=Jmax
l Boundary 6: I=Imax
FIGURE 9.2
3D standard notation for the boundary faces in the computational domain
To generate this file, follow the steps below. The example refers to FIGURE 9.3.
FIGURE 9.3
Example of patches distribution on the first boundary
1. Give the name of the domain. If not provided or if the provided name is 'unknown',
CFView™ will provide a default name.
2. Give the number of nodes in the I, J and K directions. For a domain of 10 nodes in the I
direction, 20 nodes in the J direction and 10 nodes in the K direction, the string input is:
10 20 10
3. For each boundary and in the order given above (from 1 to 4 for 2D, from 1 to 6 for 3D):
l Give the number of patches on the boundary. In our example, the first boundary has 3
patches, the string input is:
l For each patch of the boundary, give the patch name if existing (if no name is provided,
CFView™ uses a default name), then the boundary condition and the ending and starting
node coordinates:
Boundary condition : There are 8 boundary conditions which are identified by three
letters:
matching connection:
CON
non matching connection
CNM or CONNM
external:
inlet:
mirror:
outlet:
EXT
INL
MIR
OUT
matching periodic:
PER
non matching periodic
PNM or PERNM
singular:
solid:
SNG
SOL
In our example, the boundary condition is solid for the first patch, inlet for the second and
outlet for the third, the string input is:
SOL
INL
OUT
Node coordinates: For 2D cases, the coordinates correspond to the I and J indices of the
starting and ending nodes of the patch. For 3D cases, they correspond to the indices of the
lowest and the highest nodes of the patch shown in "Node coordinates for 3D cases" (p.
397) :
TABLE 9.1 Node coordinates for 3D cases
For I=constant boundary
For J=constant boundary
For K=constant boundary
In our example, the string input is:
SOL 1 1 20 10
INL 1 10 10 20
OUT 10 10 20 20
J and K indices.
I and K indices.
I and J indices.
For matching and non matching "connection" and "periodic" boundary conditions, an additional
string is needed beside the node coordinates. This string is composed of:
l 3 numbers: - the domain number. It indicates the domain which is connected to the current
domain.
- the boundary number. It indicates the boundary which is connected to the current boundary.
- the patch number. It indicates the patch which is connected to the current patch.
FIGURE 9.4
Standard notation for the block faces and the orientation of edges in the computational domain
Additionally for matching "connection" and "periodic" boundary conditions the relative
orientation of the connected patches has to be specified:
l 1 letter:
"R" or "E" to indicate the orientation between the connected patches. FIGURE 9.4 gives the
different orientations between the connected faces. If they have the same orientation, the
corresponding letter is E, otherwise it is R. To find the orientation, do the following steps: 1/
put the connected surfaces face to face. 2/ project the local axis of both surfaces on two
rectangles as shown in FIGURE 9.4 Permute the axis of the first rectangle to put them in the
bottom left corner. 4/ permute the same number of time the axis of the second rectangle. 4/ find
the corresponding case in table of FIGURE 9.4.
l 1 number:
It indicates the relative corner position of the connected patches .
FIGURE 9.5 gives an example of a two-domain application. The two domains are connected by
boundary number 1 (i=1).
The Boundary Condition file input for the first domain is:
100 50 50
1 1 50 50
1 1 100 50
1 1 100 50 2 3 1 E 3
1 1 100 50
1 1 100 50
1 1 50 50
The Boundary Condition file input for the second domain is:
100 50 50
1 1 50 50
1 1 100 50
1 1 100 50 1 3 1 E 3
1 1 100 50
1 1 100 50
1 1 50 50
FIGURE 9.5
Example of connectivity between two domains
9.2
FINE™ FILE FORMAT
CFView™ is able to read directly the FINE™ project files. These projects are 3D or 2D
unstructured/structured multi-block projects. The FINE™ data sets are split in a variable number
of files, however, the files that has to be selected in CFView™ are always characterized by the
".run" or the ".cfv" extension.
Please refer to the FINE™ User Manual for further information on the format of these file.
© NUMECA International, all rights reserved
EN201808281627

CONTENTS
NEW FEATURES IN V13
0.1 Flexlm based security ID updated to v18
0.2
Improve administration wizard
NEW FEATURES IN V13
This document provides a description of the new capabilities and major improvements included in
CFView™ v13, as well as statements outlining main customer benefits and known limitations.
The following is a detailed list of new capabilities and enhancements in CFView™ v13:
All Products
Flexlm based security ID updated to v18
"Improve administration wizard" (p. 3)
0.1
FLEXLM BASED SECURITY ID UPDATED TO
V18
(New in CFView™ v13.1)
(All Products)
CFView™ requires FlexLM based license keys for execution. In CFView™ v13, the security ID
has been upgraded to v18, thus requiring the delivery of new license keys for execution.
Customer Benefits
None
Known Limitations
None
0.2
IMPROVE ADMINISTRATION WIZARD
(New in CFView™ v13.1)
(All Products)
The user-friendliness of the license management and diagnostics of the administration wizard is
improved:
l License Management>Product (de)activation: Deactivate button to return all fulfillment and all
servers on the machine.
l License Management>Trusted storage: check-box to return a fulfillment and refresh button to
refresh the fulfillment status if needed.
l License Management>License server: control and display the status of the known servers and
the list of all the features deserves by the selected server.
l Diagnostics: Support request button to generate a file containing the results from the checks
performed.
Customer Benefits
More user-friendly tool to diagnose and manage licensing.
Known Limitations
None
© NUMECA International, all rights reserved
EN201808281628

FINE™/Turbo
In this documentation you can see what is new in the current version, a User Guide covering all features with a 'Getting Started' section to make it easy to start, the theoretical formulations as well as tutorials and demo cases:
System requirements

Installation

What's New? describes the New Features in v13 and the Compatibility Information.
User Guide

Theory Guide

Demo Cases

Tutorials

For more information on the mesh generation and post processing in FINE™/Turbo:
IGG™ v13.1 Documentation 
AutoGrid5™ v13.1 Documentation
CFView™ v13.1 Documentation
For design and optimization of turbomachinery configurations FINE™/Design3D can be used:
AutoBlade™ v13.1 Documentation
For design of turbomachinery channels and blades.
FINE™/Design3D  v13.1 Documentation
For optimization of turbomachinery channels and blades.

Demo Cases

FINE™/Turbo is packed with a set of 8 demo cases. These are "ready-to-run" public cases which include all the necessary elements to start a calculation and analyze the corresponding solution with a limited number of clicks. They must be understood as a complement to tutorials and necessitate basic knowledge in the management of the graphical user interface and execution of templates in CFView™. 
Files for demo case 1 and 2 can be downloaded here: FINE™/Turbo Demo Case 1 and 2.  Files for all other demo cases are available from the Products page of the Customer Area (www.numeca.be). 
Each demo case is completed with a set of illustrative pictures. The macro files (*.py) required to create these pictures are also proposed. However, the solution files are not included in the package but can be quickly reproduced through the execution of the related computations, as follows: 
The solution files can be reproduced as follows:

open FINE™/Turbo graphical user interface;
load the desired *.iec file;
import grid file if links to /_mesh directory are broken. If so, then accept the merging process;
start the calculation process.

The main characteristics of the demo cases are listed here below.


Demo Case 1 : High Subsonic Flow in Large Scale Centrifugal Compressor (LSCC)

Demo Case 2 : Transonic Flow over RAE2822 Airfoil (2D)

Demo Case 3 : Laminar Flow through 90° Bend Duct

Demo Case 4 : Transonic Flow in Axial Mono-Stage Compressor

Demo Case 5 : Subsonic Flow in Axial Multistage Turbine

Demo Case 6 : Transonic Unsteady Flow in Axial Mono-Stage Compressor (2D)

Demo Case 7 : Subsonic Transitional Flow in Axial Multistage Turbine

Demo Case 8 : Transonic Flow Inside Axial Multistage Compressor

Demo Case 9 : NLH flutter case in axial mono-stage compressor


Demo Case 1 : High Subsonic Flow in Large Scale Centrifugal Compressor (LSCC)
 
 Introduction
The LARGE SCALE CENTRIFUGAL COMPRESSOR (in short LSCC) is an experimental facility designed to duplicate the essential flow physics of high-speed subsonic centrifugal compressor flow fields in a large size, low-speed machine. The impeller has 20 full blades with a backsweep of 55°. It includes a constant clearance of 2.54 mm between the impeller blade tip and the shroud, from the impeller inlet to the impeller exit. This represents about 1.8 % of the blade height at the exit of the impeller. The impeller is followed by a vaneless diffuser that generates an axisymmetric outflow boundary condition, which is desirable for CFD analysis of an isolated blade row. The original vaneless diffuser has been modified to eliminate a region of reverse flow that occurred on the back wall of the diffuser. This modification ensured that there would be no backflow at stations downstream of the impeller. A complete description of the experimental facility for the LSCC case is provided by Hathaway et al. (1993, 1995) in the NASA technical paper 3527. 
Objective
The objective is to demonstrate the ability of FINE™/Turbo to simulate the flow in a high-speed subsonic centrifugal compressor, using high Reynolds number k-epsilon turbulence model.
Grid & Numerical Parameters
The grid, composed of seven blocks, is entirely generated using IGG™/AutoGrid5™, for a total of around 900,000 points. The working fluid is air, considered as a real gas.
The design working point is simulated; total conditions are selected at the inlet of the compressor and the mass-flow is regulated at the exit. The hub wall of the impeller is moving with the rotor blade. The whole shroud is stationary. All the solid wall boundaries are assumed to be adiabatic.
A full multi-grid strategy (3 grid levels on the finest mesh) is used, with a maximum of 300 iterations performed on each grid level. Convergence on the fine mesh (4 orders of magnitude decay) is reached in about 1000 iterations and 60-minute CPU time on an Intel® Xeon® CPU E3-1230 v5@3.40GHz processor running Linux Kubuntu 16.04. Complete stabilization of the global performances can be observed after 1000 iterations on the fine mesh. Peak memory (RAM) required by the flow solver during the calculation is about 1.06 Gb.
Computations
The project includes one computation named as follows:

ke-ExtWF-000      : finest mesh calculation, using k-epsilon turbulence model with extended wall functions.

Files
Download the files used in this Demo Case:  FINE™/Turbo Demo Case 1 and 2

Files are organized as follows:

DemoCase1.iec    : project file, including parameters of the computations and link to the mesh;
_mesh  : directory including mesh and template files (.trb, .geomTurbo, .bcs, .cgns, .igg and .geom);
_profile               : directory including input files for boundary conditions (.p);
_macro               : directory including few sample macro files (.py) to be run with CFView™;
_picture              : directory including few sample pictures (.png), as generated with macros.

References

S.Kang and Ch. Hirsch, "Numerical investigation of the three-dimensional flow in NASA low-speed centrifugal compressor impeller", 4th International Symposium on Aerodynamics of Internal flows, Sept. 1999, Dresden.
M.D. Hathaway, R. M. Chriss, A.J. Strazisar and J.R. Wood, 1995, "Laser anemometer measurements of the three-dimensional rotor flow field in the NASA low-speed centrifugal compressor", NASA Technical paper 3527.

Demo Case 2 : Transonic Flow over RAE2822 Airfoil (2D)
 
Introduction
The demo case presents the simulation of a transonic flow over a RAE2822 airfoil with an angle of attack of 2.31°. The supersonic flow on the upper surface of the 2D profile develops a shock. The simulation is conducted in the steady regime, with a upstream Mach number of 0.729. A complete description of measurements on the RAE2822 case is provided by Cook et al. (1979) in the AGARD report AR 138. 
Objective
The objective is to demonstrate the ability of FINE™/Turbo to simulate transonic flow over airfoils, using both Spalart-Allmaras and high Reynolds number k-epsilon turbulence models.
Grid & Numerical Parameters
The grid, composed of one block, is entirely generated using IGG™. A C-topology is selected in order to reach high quality standards for the mesh. The total grid number is around 35,000 points. The working fluid is air, considered as a perfect gas. The computational domain for this case is bounded by a no-slip airfoil surface and a far-field boundary placed a significant distance from the airfoil. 
A full multi-grid strategy (4 grid levels on the finest mesh) is used, with a maximum of 100 iterations performed on each grid level. Convergence on the fine mesh (4 orders of magnitude decay) is reached in less than 400 iterations and 40-second CPU time on an Intel® Xeon® CPU E3-1230 v5@3.40GHz processor running Linux Kubuntu 16.04. Complete stabilization of the global performances can be observed. Peak memory (RAM) required by the flow solver during the calculation is about 63 Mb.
Computations
The project includes two computations named as follows:

SA     : finest mesh calculation, using Spalart-Allmaras turbulence model;
ke-ExtWF   : finest mesh calculation, using k-e turbulence model with extended wall functions.

Files
Download the files used in this Demo Case:  FINE™/Turbo Demo Case 1 and 2

Files are organized as follows:

DemoCase2.iec: project file, including parameters of the computations and link to the mesh;
_mesh: directory including mesh files (.bcs, .cgns, .igg and .geom);
_macro        : directory including few sample macro files (.py) to be run with CFView™;
_picture     : directory including few sample pictures (.png), as generated with macros.

References

Cook, P.H., M.A. McDonald, M.C.P. Firmin, "Aerofoil RAE 2822 - Pressure Distributions, and Boundary Layer and Wake Measurements", Experimental Data Base for Computer Program Assessment, AGARD Report AR 138, 1979.

Demo Case 3 : Laminar Flow through 90° Bend Duct
 
Introduction
The demo case presents the simulation of the flow through a 90 degree bend duct, in the laminar regime (Re = 780). The physics of the underlying flow regime of a curved duct/pipe flow is governed by the passage vortex generated by the curvature of the duct. The flow, moving slower in the boundary layer, is pushed from the pressure side to the suction side. This gives birth to two vortices in the curved duct. The correct representation of this flow regime is of importance in order to accurately simulate losses and capture loss regions behind a blade.
Objective
The objective is to demonstrate the ability of FINE™/Turbo to simulate a laminar flow within a 3D bend duct.
Grid & Numerical Parameters
The grid, composed of one block, is entirely generated using IGG™. The total grid number is around 20,000 points. The working fluid is assumed as purely incompressible. 
2D Velocity profile is set at the inlet and a reference constant pressure level is assumed at outflow. A full multi-grid strategy (3 grid levels on the finest mesh) is used, with a maximum of 200 iterations performed on each grid level. Convergence on the fine mesh (4 orders of magnitude decay) is reached in less than 500 iterations and 16-second CPU time on an Intel® Xeon® CPU E3-1230 v5@3.40GHz processor running Linux Kubuntu 16.04. Complete stabilization of the global performances can be observed. Peak memory (RAM) required by the flow solver during the calculation is about 24 Mb.
Computations
The project includes a unique computation named as follows:

000           : finest mesh calculation, laminar regime.

Files
Files are organized as follows:

DemoCase3.iec: project file, including parameters of the computations and link to the mesh;
_mesh: directory including mesh files (.bcs, .cgns, .igg and .geom);
_profile: directory containing profiles to setup the inlet boundary conditions;
_macro: directory including few sample macro files (.py) to be run with CFView™;
_picture: directory including few sample pictures (.png), as generated with macros.

References

J.A.C. Humphrey, A.M.K. Taylor and J.H. Whitelaw, 1977 "Laminar flow in a square duct of strong curvature", Journal of Fluid Mechanics, Vol.83, pp 509-527.
N. Hakimi, Ph.D.Thesis, 1997 "Preconditionning Methods for time dependent Navier Stokes Equations", pp109-110.

Demo Case 4 : Transonic Flow in Axial Mono-Stage Compressor
 
Introduction
The demo case presents the simulation of the flow in the axial compressor rotor designed and studied experimentally at the National Aeronautics and Space Administration Lewis Research Center. The so-called which the NASA transonic rotor 37 is well documented and representative of important interactions such as corner stall, shock-boundary layers, tip-vortex and tip leakage-secondary interactions.
Objective
The objective is to demonstrate the ability of FINE™/Turbo to simulate the flow in an axial compressor, using Spalart-Allmaras model.
Grid & Numerical Parameters
The grid, composed of 9 blocks, is entirely generated using IGG™/AutoGrid5™, for a total of around 750,000 points. The working fluid is air, considered as a perfect gas.
Near choke conditions are investigated and total-to-static conditions are selected respectively at inlet and outlet of the computational domain. The mass flow is not specified as an input and thus comes as a result of the calculation. A full multi-grid strategy (3 grid levels on the finest mesh) is used, with a maximum of 100 iterations performed on each grid level. Convergence on the fine mesh (5 orders of magnitude decay) is reached in 600 iterations and 42-minute CPU on an Intel® Xeon® CPU E3-1230 v5@3.40GHz processor running Linux Kubuntu 16.04. Complete stabilization of the global performances can be observed. Peak memory (RAM) required by the flow solver during the calculation is about 765 Mb.
Computations
The project includes a unique computation named as follows:

000           : finest mesh calculation with Spalart-Allmaras model, 90,000 Pa static pressure at outlet.

Files
Files are organized as follows:

DemoCase4.iec: project file, including parameters of the computations and link to the mesh;
_mesh: directory including mesh and template files (.trb, .geomTurbo, .bcs, .cgns, .igg and .geom);
_profile: directory containing profiles to impose for the boundary conditions;
_macro: directory including few sample macro files (.py) to be run with CFView™;
_picture: directory including few sample pictures (.png), as generated with macros.

!! macros DemoCase4-AbsoluteTotalPressureMeridional.py and DemoCase4-RelativeMaMeridional.py must be run on .me.cfv files (pitchwise average solution files). 
References

AGARD Advisory Report 355 "CFD validation for propulsion system components", published may 1998, Canada Communication Group Inc.

Demo Case 5 : Subsonic Flow in Axial Multistage Turbine
 
Introduction
The Aachen 1-1/2 turbine rig stage has been investigated both experimentally (Gallus and Walraevens, 1995) and numerically (Walraevens et al., 1998). The low aspect ratio blading and the constant tip and hub endwalls contour enhance strong secondary flows. Both stators (36 blades) and rotor (41 blades) are cylindrical and untwisted. The rotor is unshrouded with a tip-clearance of 0.4 mm. Testing conditions are characterized by low inlet gas temperature (about 300K) and design speed of 3,500 RPM.
Objective
The objective is to demonstrate the ability of FINE™/Turbo to simulate the flow in a multi-elements axial turbine in the steady subsonic regime, using the Spalart-Allmaras turbulence model.
Grid & Numerical Parameters
The turbine stage is discretized using HOH topologies, each element being generated automatically using IGG™/AutoGrid5™ for a total of around 1,100,000 grid points. 
The working fluid is air, considered as a perfect gas. Along the inlet boundary, the pitch-averaged experimental absolute total pressure, total temperature and flow angles are imposed. Along the outlet boundary, the static pressure is imposed at one radius and the condition of radial equilibrium is used to compute its radial distribution. As in the experiments, only part of the hub wall is moving, while the shroud is always stationary. Periodic conditions are enforced along the boundaries upstream and downstream of each blade, and also in the tip gap region. 
A full multi-grid strategy is used on the coarse grid, with a maximum of 100 iterations performed on each grid level. Convergence on the fine mesh (5 orders of magnitude decay) is reached in less than 400 iterations and 26-minute CPU time on an Intel® Xeon® CPU E3-1230 v5@3.40GHz processor running Linux Kubuntu 16.04. Complete stabilization of the global performances can be observed. Peak memory (RAM) required by the flow solver during the calculation is about 1.0 Gb.
Computations
The project includes a unique computation named as follows:

000           : finest mesh calculation, using Spalart-Allmaras turbulence model.

Files
Files are organized as follows:

DemoCase5.iec: project file, including parameters of the computations and link to the mesh;
_mesh: directory including mesh and template files (.trb, .geomTurbo, .bcs, .cgns, .igg and .geom);
_profile: directory including files (.p) for boundary conditions;
_macro: directory including few sample macro files (.py) to be run with CFView™;
_picture: directory including few sample pictures (.png), as generated with macros.

!! macro DemoCase5-TotalPressureMeridional.py must be run on .me.cfv files (pitchwise average solution files).
References 

Gallus, H. E., and Walraevens, R. E., 1995, "Stator-Rotor-Stator Interaction in an Axial Flow Turbine and Its Influence on Loss Mechanism", AGARD Report No. CP-571.
Walraevens, R. E., Gallus, H. E., Jung, A. R., Mayer, J. F., and Stetter, H., 1998, "Experimental and Computational Study of the Unsteady Flow in a 1.5 Stage Axial Turbine with Emphasis on the Secondary Flow in the second Stator", ASME Paper No. 98-GT-25.

Demo Case 6 : Transonic Unsteady Flow in Axial Mono-Stage Compressor (2D)
   
 Introduction
The test case deals with the interaction between the upstream rotor and the downstream stator of a single stage compressor. The original configuration was experimentally investigated at DLR (Dunker, 1983). The flow conditions are subsonic for a rotating speed of 15,000 RPM. The flow is transonic in the rotor. The numbers of rotor and stator blades are respectively 28 and 60. Chen and al. (2001) validated a 2D non-reflecting rotor/stator treatment for the harmonic method against this test case after reducing the number of stator blades to twice the number of rotor blades. As a matter of fact, this allows for a cost-efficient domain-scaling full unsteady flow simulation whose results can be compared to that given by the nonlinear harmonic method. The same approach has been adopted here.
Objective
The objective is to demonstrate the ability of FINE™/Turbo to simulate the flow using the harmonic approach in a 2D axial compressor.
Grid & Numerical Parameters
The simulation of the flow is restricted to a thin radial slice with a negligible pressure gradient in the radial direction. The top and bottom surfaces have been treated as inviscid. The simulated flow is therefore pseudo-2D. The grid is thus composed of 2 blocks entirely generated using IGG™/AutoGrid5™. The first block covers a slice of the flow passage in the rotor and the second block covers a slice of the flow passage in the stator, for a total of around 40,000 grid points. 
The working fluid is air, considered as a perfect gas. Total conditions are selected at the inlet of the compressor and the static pressure is imposed at the exit. Periodic conditions are enforced along the boundaries upstream and downstream of each blade. The harmonic method is applied for one harmonic retained per periodic perturbation. The initial solution was provided by a non-reflecting mixing-plane steady flow simulation where a full multigrid strategy (2 grid levels on the finest mesh) is used, with a maximum of 100 iterations performed on the coarsest grid level. Convergence on the fine mesh is reached in 1,700 iterations and 35-minute CPU time on an Intel® Xeon® CPU E3-1230 v5@3.40GHz processor running Linux Kubuntu 16.04. Complete stabilization of the global performances can be observed. Peak memory (RAM) required by the flow solver during the calculation is about 98 Mb for the steady case and about 195 Mb for the harmonic method.
Computations
The project includes 2 separate computations named as follows:

000-steady: steady computation used for initialization;
000-harmonic: harmonic computation using one harmonic and starting from steady converged result.

Files
Files are organized as follows:

DemoCase6.iec: project file, including parameters of the computations and link to the mesh;
_mesh: directory including mesh files;
_macro       : directory including few sample macro files (.py) to be run with CFView™;
_picture: directory including few sample pictures (.png), as generated with macros.

References 

Adamczyk, J. J., 1985, "Model Equations for Simulating Flows in Multistage-Turbomachinery", ASME Paper 85-GT-226.
Chen, T., Vasanthakumar, P., and He, L., 2001, "Analysis of Unsteady Blade Row Interaction Using Nonlinear Harmonic Approach", AIAA Journal of Propulsion and Power, Vol. 17, No.3.
Dunker, R. J., 1983, "Flow Measurements in the Stator Row of a Single-Stage Transonic Axial-Flow Compressor with Controlled Diffusion Stator Blades", AGARD CP 351, Paper 23.
Gerolymos, G. A., Michon, G. J., and Neubauer, J., 2002, "Analysis and Application of Chorochronic Periodicity in Turbomachinery Rotor/Stator Interaction Computations", Journal of Propulsion and Power, Vol. 18, No. 6.
He, L. and Ning, W., 1998, "Efficient Approach for Analysis of Unsteady Viscous Flows in Turbomachines", AIAA Journal, Vol. 36, No. 11.
Karlsson, S. K. F., 1959, "An Unsteady Turbulent Boundary Layer", Journal of Fluid Mechanics, Vol. 5, pp. 622-636.
Vilmin S., Lorrain E., Hirsch C., Swoboda M., 2006, "Unsteady Flow Modeling Across The Rotor/ Stator Interface Using The Nonlinear Harmonic Method", ASME Turbo Expo 2006, Barcelona.

Demo Case 7 : Subsonic Transitional Flow in Axial Multistage Turbine
  
Introduction
The Aachen 1-1/2 turbine rig stage has been investigated both experimentally (Gallus and Walraevens, 1995) and numerically (Walraevens et al., 1998). The low aspect ratio blading and the constant tip and hub endwalls contour enhance strong secondary flows. Both stators (36 blades) and rotor (41 blades) are cylindrical and untwisted. The rotor is unshrouded with a tip-clearance of 0.4 mm. Testing conditions are characterized by low inlet gas temperature (about 300 K) and design speed of 3,500 RPM. In this demo case, the study is limited to the first stator of the Aachen Turbine.
Objective
The objective is to demonstrate the ability of FINE™/Turbo to well predict the correct location of transition onset using Spalart-Allmaras model while fully turbulent models usually fail.
Grid & Numerical Parameters
The stator of the turbine is discretized using AutoGrid5™ O4H topology, automatically generated. The mesh covers one blade passage, for a total of 345,000 grid points (fine grid level). 
The working fluid is air, considered as a perfect gas. Along the inlet boundary, the pitch-averaged experimental absolute total pressure, total temperature and flow angles are imposed. Along the outlet boundary, the static pressure is imposed at one radius and the condition of radial equilibrium is used to compute its radial distribution. Periodic non-matching conditions are enforced along the boundaries. 
A full multi-grid strategy (3 grid levels on the finest mesh) is used, with a maximum of 200 iterations performed on each grid level. Convergence on the fine mesh (6 orders of magnitude decay) is reached in less than 600 iterations and 10-minute CPU time on an Intel® Xeon® CPU E3-1230 v5@3.40GHz processor running Linux Kubuntu 16.04. Complete stabilization of the global performances can be observed. Peak memory (RAM) required by the flow solver during the calculation is about 209 Mb.
Computations
The project includes 2 separate computations named as follows:

fully_turbulent: finest mesh calculation, using Spalart-Allmaras turbulence without Transition;
transition   : finest mesh calculation, using Spalart-Allmaras turbulence with Transition (Abu-Ghanam-Shaw model).

Files
Files are organized as follows:

DemoCase7.iec: project file, including parameters of the computations and link to the mesh;
_mesh: directory including mesh and template files;
_profile  : directory including profiles (.p) used at inlet boundary condition;
_macro: directory including few sample macro files (.py) to be run with CFView™;
_picture: directory including few sample pictures (.png), as generated with macros.

References

Gallus, H. E., and Walraevens, R. E., 1995, "Stator-Rotor-Stator Interaction in an Axial Flow Turbine and Its Influence on Loss Mechanism", AGARD Report No. CP-571.
Walraevens, R. E., Gallus, H. E., Jung, A. R., Mayer, J. F., and Stetter, H., 1998, "Experimental and Computational Study of the Unsteady Flow in a 1.5 Stage Axial Turbine with Emphasis on the Secondary Flow in the second Stator", ASME Paper No. 98-GT-25.
Abu-Ghannam, B.J., and Shaw, R., 1980, "Natural transition of boundary layers: the effect of turbulence pressure gradient, and flow history", J. Mech. Eng. Sci., Vol 22, pp. 213-228.
Dhawan, S., and Narasimha, R., 1958, "Some properties of boundary layer flow during the transition from laminar to turbulent motion", J. Fluid Mech., Vol 3, pp. 418-436.
Spalart, P.R., and Allmaras, S.R., 1994, "A one-equation turbulence model for aerodynamic flows", La Recherche Aérospatiale, nº 1, pp. 5-21.
B.Tartinville, E.Lorrain, C.Hirsch, Th.Hildebrandt, M.Swoboda, M.Goller, 2004, "Numerical simulations of laminar to turbulent transition in turbomachinery applications using a one-equation turbulence model", RTO AVT Specialist Meeting, Prague.

Demo Case 8 : Transonic Flow Inside Axial Multistage Compressor
 
 Introduction
The one and a half stage is part of a 3-1/2 stages axial compressor. Both stators (38 and 40 blades) and rotor (25 blades) are cylindrical and twisted. The rotor is unshrouded with a tip-clearance of 0.3 mm and rotating with the speed 17,000 RPM.
Objective
The objective is to demonstrate the ability of FINE™/Turbo to simulate the flow in a multi-elements axial compressor in the steady transonic regime, using the Spalart-Allmaras turbulence model.
Grid & Numerical Parameters
The compressor stage is discretized using default O4H topology, each element being generated automatically using IGG™/AutoGrid5™ for a total of 1,200,000 grid points. 
The working fluid is air, considered as a perfect gas. Total conditions are imposed along the inlet boundary. Along the outlet boundary, the static pressure is imposed at one radius and the condition of radial equilibrium is used to compute its radial distribution. Hub wall attached to the central rotor blade is moving, while the shroud and remaining hub walls are considered stationary. 
A full multi-grid strategy is used on the coarse grid, with a maximum of 100 iterations performed on each grid level. Convergence on the fine mesh (6 orders of magnitude decay) is reached in less than 600 iterations and 59-minute CPU time on an Intel® Xeon® CPU E3-1230 v5@3.40GHz processor running Linux Kubuntu 16.04. Complete stabilization of the global performances can be observed. Peak memory (RAM) required by the flow solver during the calculation is about 1.3 Gb.
Computations
The project includes one computation named as follows:

000: finest mesh calculation, using Spalart-Allmaras turbulence model.

Files
Files are organized as follows:

DemoCase8.iec: project file, including parameters of the computations and link to the mesh;
_mesh: directory including mesh files (.bcs, .cgns, .igg and .geom);
_macro: directory including few sample macro files (.py) to be run with CFView™;
_picture: directory including few sample pictures (.png), as generated with macros.

Demo Case 9 : NLH flutter case in axial mono-stage compressor
 
 Introduction
The demo case presents the simulation of Fluid-Structure Interactions (FSI) in the Rotor 67 (axial compressor rotor) designed and studied experimentally 
		at the National Aeronautics and Space Administration Lewis Research Center. The Rotor 67 is the first stage rotor of a two-stage fan. The compressor 
			has 22 blades with 1.56 aspect ratio. It includes a constant clearance of 1.016 mm between the rotor blade tip and the shroud. This represents 
			about 0.8% of the blade height at the exit of the compressor. The nominal rotation speed of the Rotor 67 is 16,043 rpm.
There are different types of FSI according to the nature of the phenomena involved in the interaction. Flutter is one of the most feared in the turbomachinery 
		application, it is defined as a self-excited vibration of a structure in a fluid flow.
Objective
The objective is to demonstrate the capabilities of FINE™/Turbo for flutter case with the Non-Linear Harmonic (NLH) method. In this case, a blade deformation is prescribed according to its first mode shape corresponding to a bending mode.
Grid & Numerical Parameters
The grid, composed of 9 blocks, is entirely generated using IGG™/AutoGrid5™, for a total of around 1,300,000 points.
The working fluid is air, considered as a perfect gas. Total conditions are selected at the inlet of the compressor and the static pressure is imposed at the exit. Periodic conditions are enforced along the boundaries upstream and downstream of each blade. The Non-Linear Harmonic method is applied for one harmonic retained per periodic perturbation. The initial solution was provided by a converged steady flow simulation. The simulations are computed on a coarser grid level (grid level 111: around 180,000 points) and use double solver precision. For Fluid-Structure Interactions, the modal approach is used. A blade deformation is prescribed according to its first mode shape which corresponds to a bending mode. The Inter-Blade Phase Angle (IBPA corresponding to the phase shift between two successive blades in a row) is set to 0 which means that all blades have the same deformation over time.
Convergence is reached in 1000 iterations and 1.5-hour CPU time on an Intel® Xeon® CPU E3-1230 v5@3.40GHz processor running Linux Kubuntu 16.04. Peak memory (RAM) required by the flow solver during the calculation is about 510 Mb.
Computations
The project includes two computations named as follows:

111_Std: Steady computation on grid level 111 used for initialization;
111_NLH_Flutter_IBPA0: Non-Linear Harmonic computation on grid level 111 with Fluid-Structure Interactions starting from steady converged result.

Files
Files are organized as follows:

DemoCase9.iec: project file, including parameters of the computations and link to the mesh;
_mesh: directory including mesh files;
_macro: directory including few sample macro files (.py) to be run with CFView™;
_picture: directory including few sample pictures (.png), as generated with macros;
_profiles: directory including profiles (.p) used at inlet boundary condition;
_structure: directory including the structure file used at modal parameter.

References

A. J. Strazisar, J. R. Wood, M. D. Hathaway, and K. L. Suder. Laser anemometer measurements in a transonic axial-flow fan rotor. Technical Report NASA-TP-2879, NASA, 1989.

What's New?
The following release notes detail the new features in the latest release:

New Features in v13 of FINE™/Turbo GUI and Solver
New Features in v13 of IGG™/AutoGrid5™
New Features in v13 of CFView™
The compatibility between the available models can be verified in the Compatibility Information.

New Features in v13
This document provides a description of the new capabilities and major improvements included in FINE™/Turbo v13, as well as statements outlining main customer benefits and known limitations. 
The following is a detailed list of new capabilities and enhancements in FINE™/Turbo v13:
All Products:
Flexlm based security ID updated to v18

Improve administration wizard

General upgrades in package

FINE™/Turbo:
New default in the GUI

Real gas definition extended to fourth order equations

List of turbulent quantities to define the imposed turbulence at the inlet/external BC and in the initial solution

New quantities in ".mf" file

Repetition Data in CGNS for NLH

 
In addition to the new features, the following is a detailed list of existing capabilities and enhancements recently certified in FINE™/Turbo:
Fluid/Structure Interactions - Strong Coupling

 
Finally, the following is a detailed list of existing capabilities and enhancements included in FINE™/Turbo but still requiring additional calibration.
List of existing BETA capabilities

Two-equations turbulence model with CPUBooster
MpCCI thermal coupling via FNMB
				
MpCCI thermal coupling with condensable fluids
Solver acceleration using multicore CPU paired with multiple general purpose graphical processing units (GPGPU) (New in FINE™/Turbo v13.1)


Flexlm based security ID updated to v18
(New in FINE™/Turbo v13.1)

(All Products)
FINE™/Turbo requires FlexLM based license keys for execution. In FINE™/Turbo v13, the security ID has been upgraded to v18, thus requiring the delivery of new license keys for execution.
 
Customer Benefits

None
Known Limitations

None
		


Improve administration wizard
(New in FINE™/Turbo v13.1)

(All Products)
The user-friendliness of the license management and diagnostics of the administration wizard is improved:

License Management>Product (de)activation: Deactivate button to return all fulfillment and all servers on the machine.
License Management>Trusted storage: check-box to return a fulfillment and refresh button to refresh the fulfillment status if needed.
License Management>License server: control and display the status of the known servers and the list of all the features deserves by the selected server. 
Diagnostics: Support request button to generate a file containing the results from the checks performed.

 
Customer Benefits

More user-friendly tool to diagnose and manage licensing.
Known Limitations

None


General upgrades in package 
(New in FINE™/Turbo v13.1)

(All Products)
General upgrades are made in the package:

Use of Datakit 2017.3 (for Catia V5 file import);
Upgrade flow solver compilers on LINUX: PGI v17.10.

 
Customer Benefits


CATIA R26 support.
Solution time can be significantly reduced.

Known Limitations

None
New default in the GUI 
(New in FINE™/Turbo v13.1)

Default value changes of several parameters:

Merkle preconditioning;
Full non-matching mixing plane rotor-stator;
RBF-TFI mesh deformation algorithm for elastic deformation;
CPUBooster is deactivated during FMG cycles when the CPUBooster is active during MG cycles;
 EUWDIS set to 0 to do not take into account Euler walls for wall distance calculations;
FLXRS set to 1 1 to control the mass flow at the rotor-stator interface for non-reflecting interfaces;
 IRSPAR set to 1 for the parallel treatment of the rotor-stator interface;
KEGRID set to 10 to no more use Baldwin-Lomax during the FMG cycles;
MASPAO set to 2 to use local variables instead of global ones for the outlet BC with mass flow imposed and pressure adaptation;
RSIMGD set to 1 1 1 to improve the image mesh creation for 360 degree mesh.
Flow solver on LINUX: "Portland IMPI (PGI 17)" instead of "Portland OMPI (PGI 6)".

 
Customer Benefits

Improve robustness and solution time can be significantly reduced.
Known Limitations

None
Real gas definition extended to fourth order equations
(New in FINE™/Turbo v13.1)

Starting from FINE™/Turbo v13.1, the real gas definition is extended to 4th order equations. When the heat conduction, viscosity, heat capacity or gamma are specified by a formula in function of temperature, the user can now define the formula as a 4th order polynomial (instead of a 3rd order polynomial before).
 
Customer Benefits

The extended formula may better fit the real gas behavior in the given temperature range.
Known Limitations

None


List of turbulent quantities to define the imposed turbulence at the inlet/external BC and in the initial solution
(New in FINE™/Turbo v13.1)

Starting from FINE™/Turbo v13.1, the user can choose between different turbulent quantities to define the imposed turbulence at the inlet/external BC and in the initial solution. 
Given a 1-equation turbulence model, following turbulent quantities are available:

Turbulent Viscosity;
Turbulent Viscosity Ratio;
Turbulent Intensity and Length Scale;
Turbulent Intensity and Hydraulic Diameter;
Modified Turbulent Viscosity (only available for the initial solution);

and given a 2-equations turbulence model:

k and epsilon;
Turbulent Intensity and Viscosity Ratio;
Turbulent Intensity and Length Scale;
Turbulent Intensity and Hydraulic Diameter;
From Friction Velocity (only available for the initial solution).

 
Customer Benefits

The user is not limited anymore to the turbulent viscosity, k or epsilon to impose the turbulence.
Known Limitations

The new turbulent quantities are only compatible with constant imposed values at the inlet/external boundaries.


New quantities in ".mf" file
(New in FINE™/Turbo v13.1)

Rothalpy is now computed for turbomachinery cases. For condensable fluids, static/total enthalpy, entropy, and dryness fraction are computed at the inlet and outlet boundaries and at each rotor-stator interface; isentropic static/total enthalpy is computed at the outlet. Total to static isentropic efficiency is now computed for real gases and condensable fluids with EFFDEF expert parameter set to 2.
 
Customer Benefits

Additional quantities are automatically computed at the inlet and outlet boundaries and at each rotor-stator interface.
Known Limitations

None


Repetition Data in CGNS for NLH
(New in FINE™/Turbo v13.1)

Starting from FINE™/Turbo v13.1, for Non Linear Harmonic (NLH) computations, a new section has been added  in the CGNS file outputted by FINE™/Turbo for each domain of the CFD simulation. This section contains the periodicity of the domain, the number of repetition  considered for the domain in CFD simulation, the axis point and the axis direction of the domain.
 
Customer Benefits

Eliminate the need to input the repetition data manually when importing NLH results into FINE™/Acoustics
Known Limitations

None


Fluid/structure interactions - strong coupling
The strong coupling method is based on a subcycling approach added to the initial modal resolution algorithm. This subcycling loop is based on the repetition of the physical time step calculation while the equilibrium between the fluid and the structure is not reached. The structure deformation is updated between each subcycle. Once the equilibrium is reached, the next time step is computed.
 
Customer Benefits

More accuracy for unsteady modal computation.
Known Limitation

No additional limitation.

Tutorials

The tutorials for FINE™/Turbo as listed below provide detailed step-by-step instructions for the entire simulation process. Additional tutorials of IGG™ and the tutorials of AutoGrid5™ allow a further detailed insight into the mesh generation process. Most of the tutorials are designed so as to limit use of computational resources but some of them may require a significant amount of computational time assuming they are executed on the finest mesh level. 
The available tutorials:
Axial Compressor Rotor37

Axial Turbine Aachen

Centrifugal Pump SHF

Hydraulic Turbine Francis

Multistage Axial Compressor

High Performance Centrifugal Compressor

Wind Turbine

Francis Hydraulic Turbine with Draft Tube

Multistage Axial Turbine

Flutter Axial Compressor


Where to Find the Files Used in the Tutorials?
Each of the tutorials starts with a mesh generation and uses an existing geometry. The appropriate files (and any other relevant files used in the tutorial) can be downloaded from the following link: download FINE™/Turbo input files.
Some of the project files (mesh and project, excluding solution files) can also be found in the demo cases package dedicated to ready-to-run demonstration cases and presented in the Demo Cases section. This allows to quickly start a calculation and observe the behavior of FINE™/Turbo, without necessarily going through all the steps of the tutorials.
Conventions Used in the Tutorials
Several conventions are used in the tutorials to facilitate your learning process. 
Following a short introduction, each tutorial is divided into 3 sections respectively related to mesh generation, settings and calculation, and post-treatment.
Inputs required to execute the tutorials are most often restricted to the geometry, either in a ".geomTurbo" or CAD related format, and profiles of boundary conditions.
The sequence of actions to be executed are described through a step-by-step approach, in the form of Arabic numbers.
Additional insight into some specific actions and/or features is frequently added to illustrate the tutorial further. This information is proposed for the purpose of clarity and completeness, and should not be executed. It appears as a note with a light blue background.
The calculations executed to illustrate the behavior of the flow solver include a "reasonable" number of grid points, so as to limit the computational resources required to complete the tutorials. As a consequence, most of the underlying flow solutions must be considered as qualitative. Additional mesh refinement may be required in some circumstances to obtain a more quantitative picture.
Contact NUMECA local sales or support office for any question or information you may require. To allow NUMECA local sales or support office to help you out within the shortest delays, please provide a detailed description of the observed behavior and performed analysis.

Tutorial 2: Mesh Generation

Create Mesh Project

Load Geometry

Mesh Wizard

Mesh Visualization

Check Boundary Conditions & Mesh Quality

Save Project




                                The AutoGrid5™ graphical user interface includes several windows that enable the simultaneous visualization of the geometry and mesh of the turbomachine in the meridional, blade-to-blade and 3D views. Access to the main menu and controls is provided through a menu bar and a quick access pad, and is complemented with a tool/icon bar. The execution of the different actions undertaken is summarized in the message box at the bottom of the interface.


 A step by step approach is provided in the following lines. It aims at driving you through various steps that need to be executed from the creation of the mesh project to the validation of the final mesh quality.
Create Mesh Project
1.  Select Basic Mode if necessary in the toolbar.



The Basic Mode will give access to a simplified graphical user interface. For most projects the available parameters in the Basic Mode are sufficient.
2.  Close the Open Turbo Project Wizard dialog box.
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with associated grid) including the data required to regenerate a mesh on an identical or similar geometry. In this tutorial, this data will be progressively introduced based on the geometry of the project case.
3.  Go to File -> New Project.
4.  Click yes to close the active project.
5.  Choose Initialize a New Project from a geomTurbo File. 


Load Geometry
6.  Locate and select "tutorial_2.geomTurbo" (geometry defined in [Meter]) in the dialog box and click Open. (Where to Find the Files Used in the Tutorials?)



The ".geomTurbo" file format is structured in three main blocks: the header, the channel and the row definition(s).
The channel format contains the definition of the turbomachinery meridional contour (hub, shroud). It is composed by curves defined by a set of points. The ".geomTurbo" file must contain two channel curves named respectively "hub" and "shroud".
The row definition contains the geometry of a complete row. It is defined by a row name, a row type, a periodicity and the definition of the main blade and possibly the splitter(s). The blade and splitter are defined by the pressure and the suction side surfaces identified by the keywords "pressure" and "suction". Both surfaces are specified by a set of cross sections of the blade at several spanwise locations from hub to shroud. Each section is defined by a set of points from leading to trailing edge.
The three rows are displayed in the meridional view corresponding to the three parts of the turbine. The location of the rotor/stator mixing plane is automatically defined by AutoGrid5™. The default location is set at the average meridional location between the downstream trailing edge and the upstream leading edge.

Mesh Wizard
7.  Left-click Rows Definition -> row 1 in the Quick Access Pad (QAP) to activate the current row, if not done already.
8.  Left-click Row Wizard in the toolbar.



The row wizard is also available in Expert Mode under Mesh Control subpad in the QAP.



9.  Click yes to start the wizard and to reset the mesh generation parameters.

The reset will keep the modifications performed by the user in the Row Wizard but will reset the parameters modified in Expert Mode to the default value.
The wizard is divided in 6 steps:

the geometry check (optional),
the machine characteristics definition,
the gap and fillet definition,
the flow path definition,
the blade-to-blade mesh definition,
the end of the initialization.


10. Click yes to confirm the geometry check (step 1).
During the geometry check of a blade, AutoGrid5™  performs the following operations: check blade definition, check orientation of the blade section curves, detect loop detection into the blade section curves and between the blade sections. More details can be found in the AutoGrid5™  User Guide.
11. Click Next in the dialog box to define the machine characteristics (step 2).


12. Select Axial Turbine as Row type in the Blade row type dialog box.
13. Enter the Periodicity (number of blades) if necessary. Left-click inside the string input area and type <36>, press <Enter> to confirm.
14. Select Stator.
15. Click Next in the dialog box to start the gap and fillet definition (step 3).


16. Keep all data unchanged (no gap or fillet).
17. Click Next>> in the dialog box to start the flow path definition (step 4).
18. Set Spanwise Grid Point Number to <61> <Enter> (corresponding to the flow paths number) in the Layer Control dialog box.
When increasing or decreasing the number of flow paths, the number of flow paths in the gaps and fillets is automatically updated together with the percentage of constant cells, leading to an increase or decrease of the spanwise expansion ratio.
19. Estimate the width of the first cell at the wall:

The width of the first cell close to the wall must be selected with care since the quality of the flow solution will often depend upon the capture of the flow phenomena inside the boundary layers which develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends to locate the nearest grid point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must be modeled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven by the Blasius equation, expressed as follows for turbulent flows:



where:

ywall is the distance of the nearest grid point to the wall (in meter);
Vref is a reference velocity of the flow, for instance, the inlet velocity (in m/s);
ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
Lref is a reference length of the test case (in meter);
y+ is a non-dimensional value.


In the present case, one can estimate that Vref=109.9557 m/s, Lref=0.3m and ν=1.038e-5 m²/s for row 2. Assuming one wishes to get y+ =1 at the wall, it turns out that y = 3.4 x 10-6 m. Assuming Vref=42.2633 m/s, Lref=0.3m and ν=1.038e-5 m²/s for row 1 and row 3, and keeping y+ =1 at the wall, it turns out that that y = 7.8 x 10-6 m.
Input the value of the Wall Cell Width = <7.8e-6> [Meters] <Enter> in the Layer Control dialog box.


20. Click Next>> in the dialog box to start the blade-to-blade mesh definition (step 5).
21. Set the Number of Points (of the 3D mesh) around 300,000 by clicking the << or >> buttons in the B2B Control dialog box.
 
22. Click Preview B2B to plot the blade-to-blade mesh at mid-span: default O4H topology is used with additional upstream/downstream H-blocks.

The Full Visibility option allows the user to see the mesh moving in the blade to blade view when applying the optimization steps.


 
The default O4H topology includes 5 blocks as follows:

the skin block is a O-mesh surrounding the blade;
the inlet block is a H-mesh located upstream the leading edge;
the outlet block is a H-mesh located downstream the trailing edge;
the up block is a H-mesh located above the blade section;
the down block is a H-mesh located under the blade section.



                                            23. Select Skewness or Expansion Ratio to plot respectively the orthogonality or expansion ratio field of the blade-to-blade mesh at mid-span.
  


24. Click Finish to end the initialization process (step 6).
25. Click no in order to set the row 2 and row 3 before making the complete 3D Mesh Generation.


26. Repeat step 7 to step 25 for row 2 with the following parameters :Axial Turbine as Row type, Periodicity=<41>, Rotor, Rotation speed (rpm)=<-3500>.Select Tip Gap, Width At Leading Edge = Width At Trailing Edge = <0.0004> [Meters].


 


The width at leading/trailing edge allows the user to specify the size of the gap respectively at the leading and trailing edge of the blade. The gap curve is then constructed as a linear offset of the hub (or the shroud) according to these values.

Spanwise Grid Point Number = <73>, Wall Cell Width = <3.4e-6> [Meters].
Set Number of points around 400,000.

27. Copy settings of row 1 for row 3:

Left-click Row Definition -> Row List -> row 1.
Click the Copy Row Wizard Settings tab in the toolbar ().
Left-click Row Definition -> Row List -> row 3.
Click Paste Row Wizard Settings in the toolbar ().

This copy/paste option is very useful to easily impose the same wizard settings for multiple rows in a multi-stage configuration.
28. In Row Definition, left-click Select All Rows.


29. Click Generate 3D in the toolbar.

You can check the blade-to-blade mesh quality at hub and/or shroud before generating the 3D mesh.
Go to Row Definition and left-click Select All Rows to select all rows. Go to Mesh Control -> Active B2B Layer to specify the flow path (layer) on which the mesh will be plotted in the blade-to-blade view. By default, the active view is set at the mid-span of the machine (Active Layer (%span) set to 50). The layer selected for visualization is defined in percentage of span, going from hub (0%) to shroud (100%). Enter <0> <Enter> or <100> <Enter> in order to visualize the mesh at hub or shroud respectively.


Select Update B2B View to regenerate the blade-to-blade mesh on the new specified layer in the blade-to-blade view.


A detailed analysis of mesh quality can be performed on the blade-to-blade mesh after generation. Information on orthogonality, aspect ratio and expansion ratio can be outlined in this window by clicking :

Select a row in the Row list <Enter>.
Select quality criteria using the Type pull-down menu.
Left-click Show chart to visualize the distribution of the selected criteria in the form of a histogram. The histogram is drawn for each row.
Left-click part of the histogram to plot the concerned cells in blade-to-blade view or select Display all cells to have an overview of the mesh quality.
Left-click the More info button to obtain information about minimum and maximum values of the selected criteria.
Close the quality checkbox.



After performing the blade-to-blade mesh quality check, the 3D mesh generation can be started by clicking Rows Definition -> Select all rows and then clicking the Generate 3D button.



Once a 3D grid generation is completed, grid quality is performed and displayed. Minimum cell skewness, maximum expansion ratio and aspect ratio are reported, among others. Data are available for the entire mesh separately for every entity (row, technological effect, bulb). Data related to grid quality report are automatically stored in a report file, once the project file is saved.
30. Close the dialog box. The page can be reopened by clicking .
Mesh Visualization
31. Select the View -> View 3D Solid Mesh menu.
32. Left-click the View 3D button in the toolbar to visualize only the 3D view.


By default, the 3D solid mesh is plotted on hub and blades. To remove the plot, select the menu View -> Hide 3D Solid Mesh.
33. Use Repetition icon () to toggle the repetition of the channel.
 
34. Use the View menu in the QAP to toggle edge, mesh and/or solid shading.




Check Boundary Conditions & Mesh Quality


35. Check for boundary conditions by clicking .
36. Select UND under Type pull-down menu and check that there are no patches in the patch list that are still set to an undefined type.
It is important to make sure that no undefined patches (UND) are present in the mesh. If this is not the case, they can usually be removed by increasing the tolerance and launching the Search procedure.


In a multi-stage context, interfaces between rotating and non-rotating rows are set to ROT.
37. Close the dialog box.
38. Left-click anywhere in the 3D view to activate the view (red border), if not done already.
39. Check for negative cells by clicking .


40. Click Apply.

The computation of the negative volumes is performed first. Negative cells can be outlined in the mesh by pressing the View neg cells button. Beware that the visualization of negative cells can be memory consuming when a large number of cells must be displayed. It is thus advised to first check the number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.

41. Click ok and Close the dialog box.
42. Left-click in the 3D view to activate the view (red border), if not done already.
43. Check for grid quality by clicking .
A detailed analysis of the mesh quality on a 3D mesh can be performed only once the 3D mesh has been generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell width can be outlined in this window using the Type pull-down menu.
44. Select block number (0 for all) - <Enter>.
45. Select quality criteria using the Type pull-down menu.


46. Left-click Show chart to visualize the distribution of selected criteria in the form of a histogram. The histogram is drawn per block (0 = all blocks).


47. Left-click a part of the histogram to plot the concerned cells in the 3D view.
48. Left-click the More info button to obtain information about minimum and maximum values of the selected criteria and block.


49. Close the dialog box.
Save Project
50. Go to File -> Save Project As <tutorial2> and press <Enter> to save mesh and template files.

The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the boundary condition types: ".bcs", ".cgns", ".geom" (".xmt_txt"), ".igg", ".config" and ".qualityReport". The meaning of these files is detailed in the User Guide.
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh with AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these files is detailed in the User Guide.

Now that the mesh is saved, click here to set up the computation in FINE™/Turbo interface!

Tutorial 2: Post Processing

Select Surfaces

Select Quantity

Select Representation

3D Analysis

Blade-to-Blade View

Turbomachinery Mode


The iterative process is now over and the flow solution is stored in the ".cgns" file. The number of nodes in a typical mesh usually ranges from a few hundred thousand to several million, which makes visualization delicate in most cases. As part of the FINE™ environment, NUMECA proposes the use of the home-made visualization and post-treatment tool CFView™. CFView™ is entirely integrated in the environment and includes numerous tools which are particularly suited for the analysis of turbomachinery configurations.
Access to CFView™  from the FINE™  graphical user interface is provided through the Modules/CFView... menu, or alternatively by pressing the  icon.
A step by step approach is provided in the following lines. It aims at driving you through the various steps that need to be executed from reading the solution to the extraction of the main results. CFView™  automatically opens the ".run" file associated with the active computation.


After running turbomachinery computations and assuming some variables have been selected in the Azimuthal Averaged Variables section of the FINE™  graphical user interface output page, CFView™  proposes the user to open the azimuthal averaged solution first. Otherwise, the full 3D solution will be opened.
115. Activate View the azimuthal averaged solution.
116. Left-click Start CFView.
You will now enter CFView™  !


Select Surfaces
117. Left-click "domain1" and "domain9" while holding <Shift> in the Surfaces area, then right-click and choose Select in the pop-up menu to activate them.


Select Quantity
118. Go to the Quantity menu.
119. Enter the Field Data -> Basic Quantities sub-menu.
120. Select quantity Absolute Total Pressure.


All quantities selected in the FINE™  graphical user interface are transferred to CFView™ . However, additional derived output can be accessed directly from the visualization and post-treatment tool, including vector components, gradients, divergence and curl of selected quantities. New quantities, defined as an arithmetic combination of existing quantities, possibly combined with regular operations (trigonometric functions, logarithmic functions,...), can furthermore be created
Select Representation
121. Go to the Representation menu.
122. Select Color Contour -> Smooth.


Once the candidate quantity for visualization is selected, the user must choose a representation mode. Representation is typically executed in the form of color contours (smoothed or stripped) and/or isolines. CFView™  also includes the possibility to investigate the flow field locally ("local value") and create 1D Cartesian plots. Advanced capabilities involving curve and/or surface integration can also be accessed. More details can be found in the CFView™ User Guide.
123. Access the Representation menu.
124. Select Isolines -> Isolines....
125. Activate the increment mode.
126. Change Value = <1500> <Enter>.
127. Change min range to <105000> <Enter>.
128. Change max range to <170000> <Enter>.
129. Activate Color -> Uniform.
130. Click the Apply button.




131. Close the dialog box.
CFView™  gives the possibility to superpose representation modes. In the present case, isolines with uniform color (black) are superposed on the absolute total pressure field. The number and/or increment of the isolines can be controlled, and the range of application can be modified.
132. Go to the Update menu.
133. Select Delete -> Isoline.


134. Open the Representation menu.
135. Select Cartesian Plot -> Along Grid Line.
136. Change Index from i to j.
137. Change Value to <16> <Enter>.
138. Click the Apply button.


139. Left-click Close.
Isolines have been removed and a 1D Cartesian plot has been created at about 50% span, extracting the evolution of the relative Mach number along the streamwise direction along a grid line (I-direction). Data can be extracted along a boundary, solid boundary, grid line or along a user defined section. More details can be found in the CFView™ User Guide.
140. Left-click somewhere in the Cartesian plot window to activate it (red border).
141. Type <x> to change abscissa to the streamwise direction (x or I-direction).
142. Click the  icon to fit the curve.
143. Put the mouse pointer close to the x-axis, left-click and then right-click.
144. Left-click Set Range.


145. Set minimum and maximum values respectively to <0 0.16>, press <Enter> and right-click to exit.


146. Put the mouse pointer close to the y-axis, left-click and right-click.
147. Select Set Range.
148. Set minimum and maximum values respectively to <140000 175000> <Enter> and right-click.
149. Left-click inside the Cartesian plot.
150. Right-click and select Show H Grid Lines.
151. Right-click and select Show V Grid Lines.


152. <Ctrl> + left-click all portions of the curve.
153. Right-click and select Curve Type.
154. Change Thickness from 2 to <1>.
155. Go to Marker tab.
156. Change Symbol to Circle.
157. Change Size from 0.4 to <0.3>.
158. Change the color to red.
159. Click Apply.
 
160. Left-click the Close button.
161. Left-click anywhere inside the Cartesian plot window.
162. Go to the View menu.
163. Select Maximize.


CFView™  offers the possibility to create and arrange Cartesian plots in different manners, with numerous options related to the type, thickness and colors of the lines and symbols. The manipulations are done interactively, mainly with the help of contextual menus. In addition, CFView™  includes a powerful project and windows based management, giving the user the possibility to open multiple projects and manage several windows simultaneously. More details can be found in the CFView™  User Guide.
3D Analysis
In the previous section, attention has been focused on the management and creation of plots in the meridional plane, by means of the azimuthal averaged view. The creation of 3D plots is based on the same concept of quantity selection and representation explained in the above sections. However, since the plane of drawing is no longer two-dimensional, there is a need to select and/or create a surface for representation first.
164. Go to the File menu.
165. Select Quit CFView to quit CFView™  and choose yes to confirm.
166. Access CFView™  again from the FINE™  GUI by pressing the  icon.
167. Deactivate View the azimuthal averaged solution.
168. Click Start CFView.


You will now enter 3D analysis mode in CFView™  !


169. Access the Geometry menu.
170. Select Boundary to deactivate boundary representation.
Boundary activation/deactivation is used as a toggle and acts on all selected surfaces. Fast access is ensured using the binding key <b>.
171. Double left-click the check boxes "row1_shroud", "row2_shroud", "row3_shroud" inside the Surfaces area to deactivate the sets of patches that define the shroud entity. Groups "row1_hub_(r.p.m.0)", "row1_blade", "row2_blade_(r.p.m.-3500)", "row3_hub_(r.p.m.0)", "row3_blade, row_2_ hub_(r.p.m-3500)" are the only entities that remain active at this moment.

The selection of surfaces for representation is controlled through the Surfaces area . Alternatively, identical operations can be executed from the Geometry menu.
Patches flagged as solids are selected as the default surfaces for representation. Groups created in the boundary condition area inside FINE™  are transferred directly to CFView™, so that the selection of surface entities can be performed in just a few clicks.


Fast selection of a group of surfaces in a large list including numerous surfaces, which are partly checked/unchecked, can be done by first left-clicking (combined with <Ctrl> or <Shift> for multiple surfaces) the target surface(s) desired for representation, followed by a right-click to get the contextual menu and choosing Select.



172. Go to the Geometry menu.
173. Select Boundary again to activate boundary representation on active surfaces.
174. Go to the Geometry menu once more.
175. Select Grid to display the surface mesh on active surfaces.
Fast access to mesh representation is ensured by using the binding key <g>.
176. Access the Render menu.
177. Select Shading -> Gouraud to shade active surfaces.


178. Make use of the Viewing buttons to modify the representation mode and locate the axial turbine to outline the blades and hub in a clear way.





179. Press the binding key <g> to deactivate the mesh on active surfaces.
180. Go to the Geometry menu.
181. Select Repetition Number.
182. Activate Max to set maximum number of repetitions for all rows.


183. Click on Apply.
184. Open the Geometry menu.
185. Select Repetition on/off.


186. Go to the File menu.
187. Select Print ... .
Pictures can be printed in different formats, either from the active or graphics windows. Information can be introduced in a banner, possibly with current date of execution. Options related to picture definition can also be modified.
188. Select Active View.
189. Set banner to <AACHEN TURBINE> and press <Enter>.
190. Set the format to PNG.


191. Click OK.
192. Set the picture name and appropriate location.
193. Click Save.

The selection of Graphics Window is recommended to insert several pictures in a unique file, as they appear on the graphical window (WYSIWYG = what you see is what you get mode).
The ".png" format is often the preferred choice for printing.

194. Go to Update -> Delete -> All.
195. Go to Geometry -> Repetition on/off.
196. Click the  icon to fit the geometry.
197. Select Quantity -> Solid Data -> y+.
198. Choose Representation -> Color Contour -> Strip.
199. Select Representation -> Scalar Range -> Colormap Optimum Range.


The parietal coordinate y+ is now displayed on active surfaces (hub and blades). The range of representation has been adapted automatically to variations on the selected surfaces, so as to outline details as effectively as possible.
200. Make use of the Viewing buttons to modify the representation mode and find a suitable viewpoint.
201. Access the Representation menu.
202. Select Isolines -> Isolines.
203. Activate increment mode.
204. Change Value to <0.5> <Enter>.
205. Set min range to <0> <Enter>.
206. Set max range to <10> <Enter>.
207. Activate Color Uniform.
208. Left-click Apply.
209. Close the dialog box.


Gradients are clearly observed near the leading and trailing edge of the blades, consequently locally driving y+ values up to about 10. However, the calculation is on grid level 111 and it is expected that a calculation on the finest available mesh (level 000) will reduce y+ by a factor of about 2. The combination of color contours and isolines representation allows the main characteristics of the flow to be outlined in a clear and elegant manner.
Blade-to-Blade View
210. Go to Update -> Delete -> All.
211. Go to Representation -> Colormap to remove the colormap.
212. Open the Render menu.
213. SelectShading -> Gouraud.
214. Access the Geometry menu.
215. Select Blade to Blade Surface.
216. Set Surface type to Blade to blade.
217. Set S to <0.5> <Enter> (section located 50% spanwise).
218. Click the Apply button.


219. Click the Save button.
220. Click Close to quit the dialog box.

CFView™  has included the possibility to create cuts at constant spanwise position (also called "blade-to-blade" planes). This capability is especially useful when the endwalls are not planar. The surface for representation at constant spanwise position is then created based on linear interpolation between the endwalls.
Pressing the Save button in the dialog box creates an additional surface for representation in the Surfaces area, enabling quantity selection and representation as discussed in the previous sections.

221. Left-click "CUT1" in the Surfaces area.
222. Right-click to access the contextual menu.
223. Choose Select in order to select "CUT1" as the only active surface for representation.


224. Go to the Quantity menu.
225. Select Field Data -> Basic Quantities -> Absolute Mach Number.
Quantities included in Computed Thermodynamics are not selected from CFView™, but can be recomputed based on quantities stored in the solution file ".cgns". The quantities are computed once, and at selection only.
226. Open the Representation menu.
227. Select Color Contour -> Smooth.
228. Open the Representation menu again.
229. Now, select Scalar Range -> Colormap Optimum Range.
Colormap Optimum Range restricts the bounds of the colormap to those related to active surfaces instead of the complete 3D domain. This capability is useful to outline a number of details in a clearer manner. It can also be accessed by pressing the  icon.
230. Left-click the colormap.
231. Right-click and select Move or Resize.


232. Drag and drop the colormap to an appropriate location.
233. Move the mouse to a corner of the colormap to adjust the size.
It is advised to put the colormap at a location where it does not interfere with the representation, to avoid any difficulty in the interpretation of the results.
234. Left-click the colormap.
235. Right-click and select Smooth Only.


236. Access the Quantity menu.
237. Select Field Data -> Basic Quantities -> Wxyz.
238. Go to the Representation menu.
239. Click Vector Type ... .
240. Choose Tangent Component under Representation Type.
241. Select Color Uniform under Vector Size.
242. Click Apply.


243. Click the Close button to quit the dialog box.
244. Go to Representation -> Vector On Grid Nodes.
245. Make use of the Viewing buttons to modify the representation mode and zoom in near the leading edge of the blade.





The representation of velocity vectors in a relative frame of reference (Wxyz) outlines the quality of the flow impinging the blade. Ideally, these vectors should be aligned with the blade. In off-design conditions, the alignment may not be adequate, possibly leading to flow separation.
Turbomachinery Mode
246. Open the File menu.
247. Select Turbomachinery.
248. Choose Load Flow Solver Pitch Average under Meridional Average.


249. Click Ok.



You have now entered the Turbomachinery mode! It gives simultaneous access to meridional, meridional average, blade-to-blade and 3D views.
Actions required for surface representation, quantity selection and representation apply similarly to those described in the previous sections. More details can be found in the CFView™  User Guide.

TUTORIAL 2. Axial Turbine Aachen

NUMECA Software

Prerequisites

Problem Description

Preparation



		NUMECA Software
The resolution of computational fluid dynamics (CFD) problems involves three main steps:
		

spatial discretization of the flow equations,
flow computation,
visualization of the results.

To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal and Turbomachinery assimilations called FINE™/Turbo. The environment integrates the following tools:

IGG™  is an Interactive Geometry modeler and Grid generator, based on structured multi-block techniques.
AutoGrid5™  is a three-dimensional Automated Grid generation software tool, dedicated to turbomachinery applications. Similarly to IGG™, it is based on structured multi-block techniques.
Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes equations in the laminar, transitional and turbulent regimes.
CFView™  is a highly interactive flow visualization and post-treatment software tool.
FINE™  Graphical User Interface is a user-friendly environment that includes the different software. It integrates the concept of projects and allows the user to achieve complete simulations, going from the grid generation to flow visualization, without the need of file manipulation. 

A turbomachine is a device in which the energy is transferred either to or from a continuously flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in particular in aircraft, marine, space (liquid rockets) and land propulsion systems but also in hydraulic, gas and steam turbine applications. It is also used in industrial pipeline and processing equipment such as gas, petroleum and water pumping plants. Other applications can be related to heart-assist pumps, industrial compressors and refrigeration plants, and more.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is composed of several basic elements including the blade (also called vane if it is non-rotating), hub, and shroud. Several technological effects involving clearances, seal leakages and cooling holes among others can complete the machine. Due to the complexity of the blade shapes, the presence of technological elements and the rotation of machine, the nature of the flow is strongly three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the simulation of a multi-stage axial-flow turbomachine. It makes use of FINE™/Turbo and describes how to deal with the specific options implemented in FINE™  environment. In this tutorial you will learn how to:
		     

read an existing geometrical file into AutoGrid5™;
define the blade periodicity;
define a tip clearance;
generate and optimize the blade-to-blade mesh;
control the quality of the mesh in the blade-to-blade and 3D mesh;
manage the fluid database;
set up both boundary and initial conditions;
model rotor-stator (R/S) interactions using a mixing plane approach;
control the numerical process;
select adequate outputs;
launch the calculation process;
check for convergence;
visualize and analyze the results.

Prerequisites

		This tutorial does not require any prior experience with the menu structure in FINE™/Turbo.
		
Problem Description

		The Aachen 1-1/2 turbine rig stage has been investigated both experimentally (Gallus and Walraevens, 1995) and numerically (Walraevens et al., 1998).


The low aspect ratio blading and the constant tip and hub endwall contour enhance strong secondary flows. Both stators (36 blades) and rotor (41 blades) are cylindrical and untwisted. The rotor is unshrouded with a tip clearance of 0.4 mm. Testing conditions are characterized by a low inlet gas temperature (about 300 K) and a design speed of 3,500 RPM.		
Preparation


		Start FINE™/Turbo v13.1:


		For Linux systems, you can access the FINE™/Turbo graphical user interface with the following command line:fine -niversion 131 -print

		For WINDOWS systems, you can access the FINE™/Turbo graphical user interface from the start menu by going to /Programs/NUMECA software/Fine131/FINE.





Click the Create a New Project icon to create a new project.





		Select your directory of choice to store the project.
Enter the project name in the dialog box as <Tutorial2> <Enter>.
Click on Create Grid File to access the interactive geometry modeler and grid generator IGG™.




Access the menu Modules, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.



You are now ready to start the grid generation process and mesh the AACHEN TURBINE configuration! Click here to start the mesh generation...

Tutorial 2: Flow Settings

Link Mesh & Project

Manage Computations

Set Flow Configuration

Set Boundary Conditions

Set Numerical Model

Set Initial Conditions

Select Outputs

Control Computation Steering

Save Project & Start Calculation

Follow Convergence Steering


The mesh generation process is now completed and one can now go back to the FINE™  graphical user interface in order to set the various flow settings required before starting the computation. Access to the main menu and controls is provided through a menu bar and a left-tree, and is complemented with an icon bar.
 
Access to the FINE™  graphical user interface from the AutoGrid5™  window is provided through the Modules/Fine Turbo menu, simply confirm (yes) to enter FINE™  GUI. You are now back at the FINE™  graphical user interface!
 


A step by step approach is provided in the following lines. It aims at driving you through the various steps that need to be executed from mesh linking to the execution of the calculation.
Link Mesh & Project
51. Click the  icon and link the mesh "tutorial2.igg" to the project.


 The user may be shown a warning message concerning the solver precision; accept this message. The change of the solver precision is detailed in step 109.
 

52. Define grid units in Meters as the geometrical data inserted in the "tutorial2.geomTurbo" file is expressed in meters.
53. Select a Cylindrical and 3 Dimensions configuration.
54. Click OK to close the dialog box.


Manage Computations
55. Rename the default computation "computation_1" as "111_SA" in the Computations area, to indicate that the calculation will be executed on the coarse grid first and will use the Spalart-Allmaras turbulence model. This can be achieved by left-clicking the Rename button and replacing "computation_1" by "111_SA".
 
Similar operations can be executed using the New Computation or Remove buttons, to respectively create a new computation or remove one.
Set Flow Configuration
56. Go to the tree in the left menu and double left-click the Configuration menu.


Three sub-menus related to the definition of the working fluid, main flow characteristics and rotating machinery definition can be accessed.

57. Double left-click on Fluid Model to access the fluid database.

58. Select AIR(Perfect). Air, considered as a perfect gas, is then selected as a working fluid.



The fluid database includes a number of pre-defined fluids, covering various approximations in fluid definition such as perfect gas, ideal (real) gas, incompressible fluids and fluids defined as a set of thermodynamic tables (optional, subjected to a separate license key).
A default fluid database is provided by FINE™/Turbo. The user is also able to create and modify his/her own fluids and/or use fluids created by others. More details about these functions are available in the FINE™  User Guide.

59. Double left-click Flow Model to set the flow characteristics.
60. Select Steady to indicate that a steady solution is of interest.
61. Select Turbulent Navier-Stokes to activate the resolution of the RANS equations.
62. Select Spalart-Allmaras as the turbulence model of choice.


A number of turbulence models can be accessed through the interface. They require the additional resolution of 0-equation to 4-equations, depending upon the model selected. Some of these models do need a fine resolution near the wall (y+ ranging from 1 to 5), while others use the log-law concept and can mimic the logarithmic law. More details can be found in the FINE™  User Guide.
63. Set Reynolds Number Related Info:

Set the Characteristic length = <0.3> < Enter>,
Set the Characteristic velocity = <109.9557> < Enter>,
Set the Characteristic density = <1.9096> < Enter>.


Characteristic variables (length, velocity, density) are required to estimate the Reynolds number. This number is used at a few locations inside the flow solver, in particular inside the damping functions related to the modeling of turbulence down to the walls.
The impact of the characteristic variables on the flow solution is very limited, but it is advised to select values in accordance with characteristic quantities of the geometrical domain and flow conditions. As an example, the characteristic length may be defined on the basis of a reference diameter or length at the inlet and/or outlet of the computational domain, and/or the chord of the blade (if any). The characteristic velocity may be set to the averaged inlet velocity. The characteristic density is fixed as the average (molecular) fluid density.

64. Double left-click Rotating Machinery to set the rotating machinery definition.
65. Left-click row 1.
66. Check that the Rotational Speed = <0> <Enter>.
67. Left-click row 2.
68. Check that the Rotational Speed = <-3500> <Enter>.
69. Left-click row 3.
70. Check that the Rotational Speed = <0> <Enter>.



In the cylindrical mode, the flow solver resolves the equations by default in a relative frame of reference. As a consequence, the mesh attached to the blade is rotating at the same speed as the blade, as long as no rotor-stator interaction is present. The rotation speed has been introduced in AutoGrid5™  and transferred through FINE™, limiting user interventions in the graphical user interface.
For rotating machinery projects, the axis of rotation must be aligned along the z-direction. In addition, a unique rotation speed must be considered for the entire computational domain.

71. Left-click the Rotor-Stator tab.
A separate ID is allocated to each rotor-stator interface, based on data included in AutoGrid5™. Each interface is defined with 2 patches, located upstream and downstream of the rotor-stator interface. The definition of ID's and allocation of upstream/downstream sides is performed automatically in FINE™ .
72. Make sure that Conservative Coupling by Pitchwise Row is active on rotor-stator patches.



Several methods, based on steady quasi 3D approximations, can be accessed to ensure a proper treatment of rotor-stator interfaces.

The Conservative Coupling by Pitchwise Row method guarantees an exact conservation of mass flow, momentum and energy through the interface and has proven to be robust in most circumstances.
The Local Conservative Coupling method is recommended in projects coupling an impeller with a volute, and has proven to offer more robustness than the Conservative Coupling by Pitchwise Row in these cases.
The Full Non Matching Mixing Plane method is the default option. It guarantees an exact conservation of mass flow, momentum and energy through the interface and relaxes several constraints with respect to the preparation of the mesh. It is not activated as a default option but may be a candidate of choice in some circumstances.
The Non Reflecting 1D Mixing Plane method is recommended when wave reflection is observed at the interface, which can occur when the interface is close to the blade.
The Non Reflecting 2D Mixing Plane method is recommended when a shock wave is crossing the interface, and can give a better representation of the shock wave.
The Full Non Matching Frozen Rotor method considers the rotor-stator interface as a perfect connection and neglects the movement of the rotor in the connecting algorithm. In this approach, the periodicities must necessarily be equal between the rotor and the stator.


Set Boundary Conditions
73. Go to the tree in the left menu and double left-click the Boundary Conditions menu.

During the grid generation process, AutoGrid5™  defines the type of the boundary conditions to be applied on each block face. The most common types are INLET, OUTLET, PERIODIC and SOLID boundary conditions.
PERIODIC boundary conditions are set automatically by the flow solver and must not be modified by the user.
It is important to confirm each entry by pressing the <Enter> key.

74. Go to Mesh -> View On/Off to load the mesh into the FINE™  GUI.

This toggle menu is used to visualize the grid in FINE™. The parameters area will be overlapped by a graphics window, and the small control button on the upper-left corner of the graphics window can be used to resize the graphics area in order to visualize the parameters and the mesh simultaneously.


The selection of patches in the left column outlines the corresponding patch in the graphics area, thus enabling a fast and easy visualization of the boundary conditions.

75. Go to the INLET tab:

Select Total Quantities Imposed,
Select Angle from Axial Direction (Vz extrapolated) type of boundary conditions,




Set arctg(Vr/Vz) = <0> <Enter>,
Set arctg(Vt/Vz) from Constant Value to fct(space),




Left-click the  icon to access the boundary conditions profile editor,
Left-click Import in the profile editor and select the profile data "alpha.p" stored in "/_profiles/",




Click OK to close the profile editor,
Set Absolute Total Pressure from Constant Value to fct(space),
Left-click on the  icon to access the boundary conditions profile editor,
Left-click the Import button in the profile editor and select the profile data "Pt.p" stored in "/_profiles/",
Click OK to close the profile editor,
Set Absolute Total Temperature from Constant Value to fct(space),
Left-click the  icon to access the boundary conditions profile editor,
Left-click the Import button in the profile editor and select the profile data "Tt.p" stored in "/_profiles/",
Click OK to close the profile editor,


1D Boundary condition profiles can be set as a function of the radius (r), but also as a function of the Cartesian coordinates (x, y, z) or circumferential direction.
The profile editor also enables the introduction of 2D (surface) data. In that case, the Surface data  check button should be activated in the profile editor.


Choose Turbulent Viscosity as the Turbulent Quantities and set Turbulence Viscosity to <0.0005> <Enter>.

76. Go to the OUTLET tab:

Select Pressure Imposed,
Activate Radial Equilibrium,
Set Static Pressure = <112500> <Enter>,
Set Radius = <0.246> <Enter>,
Keep Radial Direction to J.



A constant static pressure of 112500 Pa is fixed at the exit boundary of the computational domain, at radius r = 0.246 m. Based on this data, the flow solver calculates the distribution of static pressure at the exit, along the spanwise (J) direction, according to the radial equilibrium equation. This boundary condition should be restricted to axial machines.
77. Go to the SOLID tab:


For each row, patches including the keyword "hub" are by default collected in a unique group named as "row_*_hub_(r.p.m.*)". Patches including the keyword "shroud" are grouped in "row_*_shroud". Finally, patches of the blade are grouped in "row_*_blade_(r.p.m.*)". The presence of a tip gap is automatically taken into account in the blade group, thus minimizing user intervention in the definition of the boundary conditions. For a rotor, which is defined in AutoGrid5™, it is assumed that the hub and the blade are fully rotating. The rotation speed takes the value introduced during the mesh generation process.
The shroud is assumed to be a fixed entity, with no assigned rotation speed.

Select all non-rotating parts ("row1_*", "row2_shroud" and "row3_*").
Check that Compute force and torque option is deactivated.
Keep all other default settings.

The rotation speed is usually considered as a constant for the entire patch (group). However, FINE™  integrates the possibility to define that only part of a patch is rotating (e.g. part of the hub). For the Aachen Turbine project, a constant rotation speed is considered.
The convergence of both axial thrust and torque can be monitored in the computational steering, to make sure that both quantities have reached stable values at the end of the convergence process. Both values are also available from the *.mf file located in the computation directory. The torque can also be used for the calculation on rotating patches only.
78. Go to Mesh -> View On/Off to toggle the mesh visualization, if needed.
Set Numerical Model
79. Go to the tree in the left menu and double left-click the Numerical Model menu.


This menu gives access to the most frequently used numerical parameters, including the Courant Friedrichs Lewy (CFL) number and the selection of the grid level on which the simulation will apply. It is important to confirm each entry by pressing the <Enter> key.
80. Keep CFL unchanged to 3.

The CFL number drives the pseudo-time step selected to reach a steady state solution using the time-marching method integrated in the flow solver. In combination with the 4-steps Runge-Kutta integration scheme included in the flow solver, it has a theoretical stability limit close to 2.8. However, the additional implicit smoothing scheme can increase this value slightly, which justifies the default value of 3.
The default value for CFL number is adequate in most cases, but can be decreased in some circumstances, in particular at off-design conditions.

81. Define the grid level on which the simulation will apply:

The flow solver is based on an explicit time integration technique, which is accelerated using dedicated multi-grid methods. To this end, several levels of intermediate grids must be generated started from the finest one. This is achieved by taking one node over 2 in each I-, J- or K-directions, starting from the finer grid level.
It is strongly advised to enable the definition of at least 3 grid levels, by carefully selecting the number of nodes on every edge forming the patches and blocks. More details can be found in the IGG™, AutoGrid5™  and FINE™  User Manuals.
In the FINE™  terminology, the finest grid level a user can access will be called 000, while the intermediate and coarsest ones will be named the and 222 level 111 respectively, assuming 3 grid levels can be selected.
Hybrid grid levels can theoretically be defined (e.g. 010 or 211). It is however not advised to use such hybrid levels since it deforms the mesh in a preferential direction, possibly increasing the aspect ratio. Consequently, the quality of the resulting mesh could be decreased.


Keep Current Grid Level = 1 1 1,
Keep Number of Grid(s) = 2,
Keep the Coarse Grid Initialization active.

In addition to the multi-grid acceleration technique, the number of iterations to convergence can be significantly reduced activating the coarse grid initialization
process. In that case, the simulation starts on the coarsest grid level available, leading to fast convergence. Once done, the flow solver automatically interpolates the current flow solution on the intermediate levels before the iterative process is restarted. A similar process occurs up as long as the expected finest grid level is reached. The iterative process is then pursued up as far as the convergence criteria                            convergence can be significantly reduced activating the coarse grid initialization is not reached or the maximum number of iterations is exceeded. More details can be found in the FINE™  User Manual.
Set Initial Conditions
82. Go to the tree in the left menu and double left-click the Initial Solution menu.
83. Left-click the ROWS group.
The group is automatically created when the mesh is loaded into the FINE™  GUI. In complex projects, hybrid initial solutions can be useful. In that case, a constant initial solution per block can be selected for some groups, while others can benefit from an initial solution from Turbomachinery. Limitations related to the use of hybrid initial solutions are described in the FINE™  User Manual
84. Select for turbomachinery to access the initial solution menu for turbomachinery.
Initial conditions can be selected in different forms, going from constant values per block to throughflow based solutions. When running a rotating machinery project case, it is common practice to select the initial solution for Turbomachinery. Based on a 1D estimation of the flow solution, the initial solution for Turbomachinery often enables a drastic reduction in the number of iterations in running 3D simulations. Inputs ("best estimation") related to static pressure at inlet and rotor-stator interfaces (if it applies) are requested
85. Left-click the inlet patch ("row_1_flux_1_Main_Blade_upStream_inlet").
86. Set Estimated Static Pressure = <160000> <Enter>.

87. Left-click the rotor/stator interface ID10.
88. Set Estimated Static Pressure = <150000> <Enter>.
89. Left-click rotor/stator interface ID20.
90. Set Estimated Static Pressure = <120000> <Enter>.
91. Choose Turbulent Viscosity as the Turbulent Quantities and set Turbulence Viscosity to <0.0005> <Enter>.



Groups ID10 and ID20 are automatically created when the mesh is loaded into the FINE™  GUI. The presence of an inlet condition is mandatory for use with the initial solution for turbomachinery.
Select Outputs
92. Go to the tree in the left menu and double left-click the Outputs menu. Double left-click Computed Variables.

Quantities of interest in the simulation must be pre-selected in this menu. They will be stored in the solution file (*.cgns) once the iterative process is finished and/or during intermediate steps. Quantities can be accessed both in the 3D field (Computed Variables) and/or in the meridional plane (following circumferential averaging, see Azimuthal Averaged Variables). Additional data can be selected on the solid walls and/or on predefined surfaces (Surface Averaged Variables).
The adequate selection of outputs of interest will reduce the size of the solution file. This is in particular important when projects involving very fine meshes and/or unsteady capabilities are managed.

93. Select Static, Total Absolute and Total Relative Temperature if not yet selected.
94. Select Static, Total Absolute and Total Relative Pressure if not yet selected.
95. Select Density, Entropy, Rothalpy and Dynamic viscosity if not yet selected.


96. Left-click the Velocities in the menu Categories.
97. Select Vxyz and Absolute Mach number if not yet selected.
98. Select Wxyz and Relative Mach number if not yet selected.


Vxyz and Wxyz are the velocity vector fields in respectively the absolute and relative frame of reference. The examination of solution quantities in the relative frame of reference is particularly useful to observe the flow angles relative to the blade close to leading and trailing edge.
99. Left-click the Solid data in the menu Categories.
100. Select Static pressure, Static temperature, Cf, Relative velocity and y+ (in first inner cell) if not yet selected.



Cf is known as the friction coefficient.
The parietal coordinate y+ is a direct function of the distance from the wall. Therefore, y+ = 0 at the wall and takes a non-zero value at the center of the first cell close to the wall (also called "inner cell"). As a consequence, the examination of y+ "at the wall" should be understood as the examination "in the first inner cell". Although it is not correct theoretically speaking, this concept is very often used to ease the post-treatment and benefit from the existing solid surfaces.

101. Left-click the Turbulence in the menu Categories.
102. Select Wall distance and Turbulent Viscosity ratio if not yet selected.


The analysis of the Turbulent Viscosity ratio field is often of major interest to ensure that the turbulent quantities are computed accurately, according to the selected turbulence model and mesh refinement.
103. Double left-click Azimuthal Averaged Variables.
104. Go through the various categories and select the same quantities as selected under Computed Variables.
Additionally, outputs can be re-directed using the PLOT3D format, using various formats. More details can be found in the FINE™  User Guide.
Control Computation Steering
105. Go to the tree in the left menu and double left-click the Computation Steering menu.
106. Double left-click Control Variables.
107. Set Maximum Number Of Iterations = <1000> <Enter>.
108. Keep Save Solution Every = <100> <Enter>.
109. Keep Convergence Criteria = <-6> <Enter>; change the solver precision from Single to Double.



Depending upon the quality of the initial solution, the density of the mesh (number of nodes) and the complexity of the underlying flow field, a few hundred to a few thousand iterations are typically required to reach convergence. The iterative process is stopped once the convergence criterion is reached over the entire domain or the maximum number of iterations is exceeded on the current grid level (111 in the present case).
The ability to select Minimum output offers the possibility to minimize the size of the solution files. In this case, the flow solution is stored only once the iterative process is finished, and limited information is provided during the intermediate storage. This limited information allows the user to perform a restart procedure from an existing flow solution, but cannot be visualized within CFView™ .
Static memory allocation is enabled inside the flow solver. An estimation of the memory required to run and save the flow solution is calculated and provided as a default. However, in some circumstances, the estimation may be too low and it is then required to manually increase the number of reals or integers required to drive the solution to success. To do this, click Set the requested memory and increase the inputs accordingly.

Save Project & Start Calculation
110. Open the File menu and Save the project.


The project parameters are stored in the *.iec file. This file includes the entire set of parameters required to reproduce the project, excluding the mesh.
111. Press the  icon and click Start Flow Solver in the dialog box to start the calculation: a task manager window will appear.


The calculation will start in serial mode (1 processor) on the local machine. FINE™  includes multi-processor capabilities and the ability to manage computations through a task manager and/or in batch mode. More details can be found in the FINE™  User Guide.
Follow Convergence Steering
112. Double left-click Convergence History.





The evolution of averaged residuals on the entire domain can be observed during the convergence process. Similarly, the evolution of the mass flow balance (in/ out) and/ or global quantities (isentropic efficiency, torque and axial thrust on solid walls selected in the boundary conditions page, pressure ration) can be displayed.
Local and global quantities may also be added for follow-up during the convergence process. However, their representation in the graphical area will only be effective once they are added in the Selected Variables list, see FINE™ User Guide.
The examination of residuals per block and/or for a given primitive variable can be achieved accessing the monitorTurbo tool. The tool is included in the FINE™ package and can be accessed through the adequate command line. More details can be found in the FINE™  User Guide.

113. Once the computation has converged or has reached the maximum number of iterations allowed on the current grid level, the flow solver will stop.
114. The final solution is stored in the solution file (*.cgns) and the task manager window is closed.
To check the convergence of the computation, NUMECA recommends observing the evolution of multiple criteria including (a) an adequate decrease in residuals (minimum 3 orders of magnitude); (b) complete stabilization of global performances; (c) stabilization of mass flow in/out, with satisfactory correspondence (usually less than 0.5% difference between in/out).
Now that the iterative process is over, click here to start the visualization of the solution within the post-treatment tool CFView™  integrated in FINE™/Turbo.

Tutorial 5: Mesh Generation

Create Mesh Project

Load Geometry

Mesh Visualization

Check Boundary Conditions & Mesh Quality

Save Project



The AutoGrid5™ graphical user interface includes several windows that enable the simultaneous visualization of the geometry and the mesh of the turbomachine in the meridional, blade-to-blade and 3D views. The access to main menu and controls is provided through a menu bar and a quick access pad, and is complemented with a tool/icon bar. The execution of the different actions undertaken is summarized in the message box at the bottom of the interface.


A step by step approach is provided in the following lines. It aims at driving you through various steps that need to be executed from the creation of the mesh project to the validation of the final mesh quality.
Create Mesh Project
1.  Select Basic Mode if necessary in the toolbar.



The Basic Mode will give access to a simplified graphical user interface. For most projects the available parameters in the Basic Mode are sufficient.

2.  Close the Open Turbo Project Wizard dialog box.
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with associated grid) including the data required to regenerate a mesh on an identical or similar geometry. In this tutorial, these data will be progressively introduced based on the geometry of the project case.
3.  Go to File -> New Project.
4.  Click yes to close the active project.
5.  Choose Initialize a New Project from a geomTurbo File. 


Load Geometry
6.  Locate and select "stator1.geomTurbo" (geometry defined in [Millimeter]) in the dialog box and click Open. (Where to Find the Files Used in the Tutorials?)

The ".geomTurbo" file format is structured in three main blocks: the header, the channel and the row definitions.
The channel format contains the definition of the turbomachinery meridional contour (hub, shroud). It is composed of curves defined by a set of points. The ".geomTurbo" file must contain two channel curves named respectively "hub" and "shroud".
The row definition contains the geometry of a complete row. It is defined by a row name, a row type, a periodicity and the definition of the main blade and possibly the splitter(s). The blade and splitter are defined by the pressure and the suction side surfaces identified by the keywords "pressure" and "suction". Both surfaces are specified by a set of cross sections of the blade at several spanwise locations from hub to shroud. Each section is defined by a set of points from leading to trailing edge.

7.  In Row Definition, click Add Row.
8.  Go to row 2 -> Blades -> Main Blade, left-click Main Blade.
9.  Right-click to access the contextual menu and select Define Geometry.
10. Locate and select "rotor.geomTurbo" (geometry defined in [Millimeter]) in the dialog box and click Open.
11. Repeat step 7 to step 10 to import "stator2.geomTurbo" for row 3.


The three elements are displayed in the meridional view corresponding to the three parts of the turbine. The location of the rotor/stator mixing plane is automatically defined by AutoGrid5™. The default location is set at the average meridional location between the downstream trailing edge and the upstream leading edge.
 

                12. Control the domain limits:
            

The inlet and outlet limits of the domain are by default automatically defined by AutoGrid5™  using two straight lines joining the limits of the hub and shroud definitions. The shape and the location of the inlet and outlet boundaries can be modified interactively.


You can access the control points of the inlet/outlet and modify their location by dragging the points. The exact coordinates of the control points can also be set by right-clicking the control point; a dialog box will appear, enabling the user to enter the point coordinates in (rz) mode.
In Expert Mode, there is another way to control the shape of inlet/outlet. Move the mouse onto the inlet/outlet. When it becomes highlighted in yellow, right-click and select Properties in the pop-up menu. Activate for example Z constant and enter the coordinates where the inlet/outlet should be locate.


Left-click the inlet when highlighted in yellow in the meridional view.
Right-click the Top Point when highlighted in yellow.
Set the Z value to <77.6><Enter> in the Point Location dialog box.






Left-click the Bottom Point when highlighted in yellow.
Set the Z value to <77.6><Enter> in the Point Location dialog box.
 Close the Point Location dialog box by clicking the cross at the top right corner.

13. Repeat step 12 for the outlet: for the top and bottom point, set the Z value to <266> and press <Enter>.




Mesh Wizard
14. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current row, if not done already.
15. Left-click Row Wizard in the toolbar.



The row wizard is also available in Expert Mode under Mesh Control subpad in the QAP.



16. Click yes to start the wizard and to reset the mesh generation parameters.

The reset will keep the modifications performed by the user in the Row Wizard but will reset the parameters modified in Expert Mode to the default value.
The wizard is divided in 6 steps:

the geometry check (optional),
the machine characteristics definition,
the gap and fillet definition,
the flow path definition,
the blade-to-blade mesh definition,
the end of the initialization.


17. Click yes to confirm the geometry check (step 1).
During the geometry check of a blade, AutoGrid5™  performs the following operations: check blade definition, check orientation of the blade section curves, detect loop detection into the blade section curves and between the blade sections. More details can be found in the AutoGrid5™  User Guide.
18. Click Next in the dialog box to define the machine characteristics (step 2).


19. Select Axial Compressor as Row type in the Blade row type dialog box.
20. Enter the Periodicity (number of blades) if necessary. Left-click inside the string input area and type <38>, press <Enter> to confirm.
21. Select Stator.
22. Click Next in the dialog box to start the gap and fillet definition (step 3).
 
23. Keep all data unchanged (no gap or fillet).
24. Click on Next>> in the dialog box to start the flow path definition (step 4).
25. Set Spanwise Grid Point Number to <57> and press <Enter> (corresponding to the flow paths number) in the Layer Control dialog box.
When increasing or decreasing the number of flow paths, the number of flow paths in the gaps and fillets is automatically together with the percentage of constant cells, leading to an increase or decrease of the spanwise expansion ratio.
26. Estimate the width of the first cell at the wall:

The width of the first cell close to the wall must be selected with care since the quality of the flow solution will often depend upon the capture of the flow phenomena inside the boundary layers which develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends to locate the nearest grid point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must be modelled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven by the Blasius equation, expressed follows for turbulent flows:



where:

ywall is the distance of the nearest grid point to the wall (in meter);
Vref is a reference velocity of the flow, for instance the inlet velocity (in m/s);
ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
Lref is a reference length of the test case (in meter);
y+ is a non-dimensional value.


In the present case, one can estimate that Vref=200 m/s, Lref=0.05 m and ν=1.43e-6 m²/s. Assuming one wishes to get y+ = 1.5 at the wall, it turns out that y = 3 x 10-6 m.
Input the value of the Wall Cell Width = <0.003> [Millimeters] <Enter> in the Layer Control dialog box.


27. Click Next>> in the dialog box to start the blade-to-blade mesh definition (step 5).
28. Set the Number of Points (of the 3D mesh) around 300,000 by clicking the << or >> button in the B2B Control dialog box.


29. Click Preview B2B to plot the blade-to-blade mesh at mid-span: default O4H topology is used with additional upstream/downstream H-blocks.

The Full Visibility option allows the user to see the mesh moving in the blade-to-blade view when applying the optimization steps.




The default O4H topology includes 5 blocks:

the skin block is an O-mesh surrounding the blade;
the inlet block is a H-mesh located upstream the leading edge;
the outlet block is a H-mesh located downstream the trailing edge;
the up block is a H-mesh located above the blade section;
the down block is a H-mesh located under the blade section.


30. Select Skewness or Expansion Ratio to plot the orthogonality or expansion ratio field of the blade-to-blade mesh at mid-span.
 
31. Click Finish to end the initialization process (step 6).
32. Click no to set row 2 and row 3 before making the complete 3D mesh generation.


33. Repeat step 14 to step 32 for row 2 with the following parameters:Axial Compressor as Row type, Periodicity=<25>, Rotor, Rotation speed (rpm)=<15000>.Select Tip Gap, Width At Leading Edge = Width At Trailing Edge = <0.3> [Millimeters].


The width at leading/trailing edge allows the user to specify the size of the gap respectively at the leading and trailing edge of the blade. The gap curve is then constructed as a linear offset of the hub (or the shroud) according to these values.

Spanwise Grid Point Number=<73>, Wall Cell Width=<0.003> [Millimeters].
Set Number of points around 600,000, keep Full Matching Mesh active to impose a matching connection between the channel and the gap.

34. Repeat step 14 to step 32 for row 3 with the following parameters:Axial Compressor as Row type, Periodicity=<40>, Stator.Spanwise Grid Point Number=<57>, Wall Cell Width=<0.003> [Millimeters].Set Number of points around 300,000.
35. In Row Definition, left-click Select All Rows.


36. Click Generate 3D in the toolbar.

Select Update B2B View to regenerate the blade-to-blade mesh on the new specified layer in the blade-to-blade view.


A detailed analysis of mesh quality can be performed on the blade-to-blade mesh after generation. Information on orthogonality, aspect ratio and expansion ratio can be outlined in this window by clicking :

Select a row in the Row list <Enter>.
Select  quality criteria using the Type pull-down menu.
Left-click Show chart to visualize the distribution of the selected criteria in the form of a histogram. The histogram is drawn for each row.
Left-click part of the histogram to plot the concerned cells in blade-to-blade view or select Display all cells to have an overview of the mesh quality.
Left-click the More info button to obtain information regarding the minimum and maximum values of the selected criteria.
Close the quality checkbox.



After performing the blade-to-blade mesh quality check, the 3D mesh generation can be started by clicking Row Definition -> Select All Rows and then clicking the Generate 3D button.

 


Once 3D grid generation is completed, a grid quality check is performed and displayed. Minimum cell skewness, maximum expansion ratio and aspect ratio are reported, among others. Data is available for the entire mesh and separately for each entity (row, technological effect, bulb). Data related to grid quality report is automatically stored in a report file, once the project file is saved.
37. Close the dialog box. The page can be reopened 
		
		
		by clicking .

Mesh Visualization

38. Select the View -> View 3D Solid Mesh menu.
39. Left-click the View 3D button in the toolbar to visualize only the 3D view.


By default the 3D solid mesh is plotted on hub and blades. To remove the plot, select View -> Hide 3D Solid Mesh.
40. Use the Repetition icon () to toggle the repetition of the channel.


41. Use the View menu in the QAP to toggle edge, mesh and/or solid shading.




Check Boundary Conditions & Mesh Quality


42. Check for boundary conditions by clicking .
43.  Select UND under Type pull-down menu and press <Enter> to check that there are no patches are in the patch list still set to an undefined type.

It is important to ensure that no undefined patches (UND) are present in the mesh. If this is not the case, they can usually be removed by increasing the tolerance and launching the Search procedure.


In a multi-stage context, interfaces between rotating and non-rotating rows are set to ROT.

44. Close the dialog box.
45. Left-click in the 3D view to activate the view (red border), if not done already.
46. Check for negative cells by clicking .


47. Click Apply.

The computation of the negative volumes is performed first. Negative cells can be outlined in the mesh pushing View neg cells button. Beware that the visualization of negative cells can be memory consuming when a large number of cells must be displayed. It is then advised to first check the number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.

48. Click ok and Close the dialog box.
49. Left-click in the 3D view to activate the view (red border), if not done already.
50. Check for grid quality by clicking .
A detailed analysis of the mesh quality on a 3D mesh can only be performed once the 3D mesh has been generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell width can be outlined in this window using the Type pull-down menu.
51. Select block number (0 for all) - <Enter>.
52. Select quality criteria using the Type pull-down menu.


53. Left-click Show chart to visualize the distribution of selected criteria in the form of a histogram. The histogram is drawn per block (0 = all blocks).


54. Left-click part of the histogram to plot the concerned cells in the 3D view.
55. Left-click the More info button to obtain information regarding minimum and maximum values of the selected criteria and block.


56. Close the dialog box.
Save Project
57. Go to File -> Save Project As <tutorial5> and press <Enter> to save mesh and template files in the "_mesh" subfolder.

The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the boundary condition types: ".bcs", ".cgns", ".geom" (".xmt_txt"), ".igg", ".config" and ".qualityReport". The meaning of these files is detailed in the User Guide.
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh with AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these files is detailed in the User Guide.

Now that the mesh is saved, click here to set up the computation in FINE™/Turbo interface!

TUTORIAL 5. Multistage Axial Compressor

NUMECA Software

Prerequisites

Problem Description

Preparation


NUMECA Software
The resolution of computational fluid dynamics (CFD) problems involves three main steps:

spatial discretization of the flow equations,
flow computation,
visualization of the results.


To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal and Turbomachinery assimilations called FINE™/Turbo. The environment integrates the following tools:

IGG™  is an Interactive Geometry modeler and Grid generator, based on structured multi-block techniques.
AutoGrid5™  is a three-dimensional Automated Grid generation software tool, dedicated to turbomachinery applications. Similarly to IGG™, it is based on structured multi-block techniques.
Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes equations in the laminar, transitional and turbulent regimes.
CFView™  is a highly interactive flow visualization and post-treatment software tool.
FINE™  Graphical User Interface is a user-friendly environment that includes the different software. It integrates the concept of projects and allows the user to achieve complete simulations, going from the grid generation to flow visualization, without the need of file manipulation. 

A turbomachine is a device in which the energy is transferred either to or from a continuously flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in particular in aircraft, marine, space (liquid rockets) and land propulsion systems but also in hydraulic, gas and steam turbine applications. It is also used in industrial pipeline and processing equipment such as gas, petroleum and water pumping plants. Other applications can be related to heart-assist pumps, industrial compressors and refrigeration plants, and more.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is composed of several basic elements including the blade (also called vane if it is non-rotating), hub, and shroud. Several technological effects involving clearances, seal leakages and cooling holes among others can complete the machine. Due to the complexity of the blade shapes, the presence of technological elements and the rotation of machine, the nature of the flow is strongly three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the simulation of a multi-stage axial-flow turbomachine. It makes use of FINE™/Turbo and describes how to deal with the specific options implemented in FINE™  environment. In this tutorial you will learn how to:

define multi-rows;
generate and optimize the blade-to-blade mesh;
control the quality of the mesh in the blade-to-blade and 3D mesh;
manage the fluid database;
model rotor-stator interface using mixing plane approach;
set up both boundary and initial conditions;
numerical process management;
select adequate outputs;
launch the calculation process;
check for convergence;
visualize and analyze the results.

Prerequisites
This tutorial does not require any prior experience with the menu structure in FINE™/Turbo.
Problem Description
The tutorial deals with a 1-1/2 compressor stage, which is part of a 3-1/2 stages axial compressor. Both stators (38 and 40 blades) and rotor (25 blades) are cylindrical and twisted. The rotor is unshrouded with a tip-clearance of 0.3 mm and rotating with the speed 15,000 RPM.


Preparation

Start FINE™/Turbo v13.1:

For Linux systems, you can access FINE™/Turbo graphical user interface with the following command line:fine -niversion 131 -print


For WINDOWS systems, you can access FINE™/Turbo graphical user interface from the start menu by going to /Programs/NUMECA software/Fine131/FINE.





Click the Create a New Project icon to create a new project.


Select your directory of choice to store the project.
Enter the project name in the dialog box as <Tutorial5> <Enter>.


Click on Create Grid File to access the interactive geometry modeler and grid generator IGG™.




Access the menu Modules, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.



You are now ready to start the grid generation process and mesh the AXIAL COMPRESSOR configuration! Click here to start the mesh generation...

Tutorial 5: Post Processing

Select Surfaces

Select Quantity

Select Representation

3D Analysis

Blade-to-Blade View

Turbomachinery Mode


The iterative process is now over and the flow solution is stored in the ".cgns" file. The number of nodes in a typical mesh usually ranges from few hundred thousands to several million, which makes visualization delicate in most cases. As part of the FINE™  environment, NUMECA proposes the use of the home-made visualization and post-treatment tool CFView™. CFView™ is entirely integrated in the environment and includes numerous tools which are particularly best suited for the analysis of turbomachinery configurations.
Access to CFView™  from the FINE™  graphical user interface is provided through the Modules/CFView... menu, or alternatively by pressing the  icon.
A step by step approach is provided in the following lines. It aims at driving you through the various steps that need to be executed from reading the solution to the extraction of the main results. CFView™  automatically opens the ".run" file associated with the active computation.


After running turbomachinery computation and assuming some variables have been selected in the Azimuthal Averaged Variables section of the FINE™  graphical user interface output page, CFView™  proposes the user to open the azimuthal averaged solution first. Otherwise, the full 3D solution will be opened.
122. Activate View the azimuthal averaged solution.
123. Left-click Start CFView.
You will now enter CFView™  !


Select Surfaces
124. Left-click "domain1" and "domain9" while holding <Shift> in the Surfaces area, then right-click and choose Select in the pop-up menu to activate "domain1" to "domain9".


Select Quantity
125. Go to the Quantity menu.
126. Enter the Field Data -> Basic Quantities sub-menu.
127. Select quantity Absolute Total Pressure.


All quantities selected in the FINE™  graphical user interface are transferred to CFView™. However, additional derived output can be accessed directly from the visualization and post-treatment tool, including vector components, gradients, divergence and curl of selected quantities. New quantities, defined as an arithmetic combination of existing quantities possibly combined with regular operations (trigonometric functions, logarithmic functions, ...) can furthermore be created.
Select Representation
128. Access the Representation menu.
129. Select Color Contour -> Strip.


Once the candidate quantity for visualization is selected, the user must choose a representation mode. Representation is typically executed in the form of color contours (smoothed or stripped) and/or isolines. CFView™  also includes the possibility to investigate the flow field locally ("local value") and create 1D Cartesian plots. Advanced capabilities involving curve and/or surface integration can also be accessed. More details can be found in the CFView™ User Guide.
130. Go to Representation -> Scalar Range -> Colormap Set Range.
131. Enter the range <90000 131000> in the keyboard area and press <Enter>.


132. Left-click "domain4" and "domain6" while holding <Ctrl> in the Surfaces area in Quick Access Pad (QAP).
133. Right-click to access the contextual menu and press Select.
134. Open the Representation menu.
135. Select Cartesian Plot -> Along Grid Line....
136. Change Index from i to j.
137. Change Value to <15> <Enter>
138. Left-click the Apply button.
139. Click Close.


140. Left-click the Cartesian plot window to activate it (red border).
141. Type <x> to change abscissa to the streamwise direction (x or I-direction).
142. Click the  icon to fit the curve.
143. Put the mouse pointer close to the x-axis, left-click and then right-click.
144. Choose Set Range ... .


145. Set minimum and maximum values to <0.148 0.208> and press <Enter> in the keyboard area.


146. Right-click to quit.
147. Put the mouse pointer close to the y-axis, left-click and then right-click.
148. Select Set Range ... in the pop-up menu.
149. Set minimum and maximum values to <99000 135000> <Enter> in the keyboard area.
150. Right-click to quit.
151. Click inside the Cartesian plot window.
152. Right-click and select Show H Grid Lines.
153. Right-click and select Show V Grid Lines.


154. Left-click all curves while holding <Ctrl>.
155. Right-click and select Curve Type ... .
156. Change Thickness from 2 to <1> <Enter>.
157. Go to the Marker tab.
158. Change Symbol to Circle.
159. Change Size from 0.4 to <0.3>.
160. Change color to red.
161. Click Apply.
 
162. Left-click the Close button.
163. Left-click anywhere inside the Cartesian plot window.
164. Go to the View menu.
165. Select Maximize.


CFView™  offers the possibility to create and arrange Cartesian plots in different manners, with numerous options related to the type, thickness and colors of the lines and symbols. The manipulations are done interactively, mainly with the help of contextual menus. In addition, CFView™  includes a powerful project and windows based management, giving the user the possibility to open multiple projects and manage several windows simultaneously. More details can be found in the CFView™  User Guide.
3D Analysis
In the previous section, attention has been focused on the management and creation of plots in the meridional plane, by means of the azimuthal averaged view. The creation of 3D plots is based on the same concept of quantity selection and representation explained in the above sections. However, since the plane of drawing is no longer two-dimensional, there is a need to select and/or create a surface for representation first.
166. Go to the File menu.
167. Select Quit CFView to quit CFView™  and choose yes to confirm.
168. Access CFView™  again from the FINE™  GUI by pressing the  icon.
169. Deactivate View the azimuthal averaged solution.
170. Click Start CFView.


You will now enter 3D analysis mode in CFView™  !


171. Access the Geometry menu.
172. Select Boundary to deactivate boundary representation.
Boundary activation/deactivation is used as a toggle and acts on all selected surfaces. Fast access is ensured using the binding key <b>.
 
173. Double Left-click the following check boxes: "row1_shroud", "row2_shroud", "row3_shroud" inside the Surfaces area to deactivate the set of patches that define the shroud entity. Groups "row1_hub_(r.p.m.0)", "row1_blade", "row2_hub_(r.p.m.15000)", "row_2_blade_(r.p.m.15000)", "row3_hub_(r.p.m.0)", "row3_blade" are the only entities that remain active at this moment.





Selection of surfaces for representation is controlled through the Surfaces area. Alternatively, identical operations can be executed from the Geometry menu.
Patches flagged as solids are selected as default surfaces for representation. Groups created in the boundary condition area inside FINE™  are transferred directly to CFView™, so that the selection of surface entities can be performed in just a few clicks.
Fast selection of a group of surfaces in a large list including numerous surfaces, which are partly checked/unchecked, can be done by first left-clicking (combined with <Ctrl> or <Shift> for multiple surfaces) on the target surface(s) desired for representation, followed by a right-click to get the contextual on the target surface(s) desired for representation, followed by a right-click to get the contextual menu and choosing Select.

174. Go to the Geometry menu.
175. Select Boundary again to activate boundary representation on active surfaces.
176. Go to the Geometry menu once more.
177. Select Grid to display the surface mesh on active surfaces.
Fast access to mesh representation is ensured using the binding key <g>.
178. Access the Render menu.
179. Select Shading -> Gouraud to shade active surfaces.


180. Make use of the Viewing buttons to modify the representation mode and locate the axial compressor to outline the blades and hub in a clear way.


181. Press the binding key <g> to deactivate the mesh on active surfaces.
182. Go to the Geometry menu.
183. Select Repetition Number.
184. Activate Max to set the maximum number of repetitions for all rows.


185. Click on Apply.
186. Open the Geometry menu.
187. Select Repetition on/off.


188. Go to the File menu.
189. Select Print ... .
Pictures can be printed in different formats, either on the active or graphics windows. Information can be introduced in a banner. Options related to picture definition can also be modified.
190. Select Active View.
191. Set banner to <COMPRESSOR> and press <Enter>.
192. Set the format to PNG.


193. Click OK.
194. Select the picture name and appropriate location.
195. Click Save.

The selection of Graphics Window is recommended to insert several pictures in a unique file, as they appear on the graphical window (WYSIWYG = what you see is what you get mode).
The ".png" format is often the preferred choice for printing.

196. Go to Update -> Delete -> All.
197. Go to Geometry -> Repetition on/off.
198. Click the  icon to fit the geometry.
199. Select Quantity -> Solid Data -> Static pressure.
200. Select Representation -> Color Contour -> Strip.
201. Select Representation -> Scalar Range -> Colormap Optimum Range.


The Static Pressure is now enabled on active surfaces (hub and blades). The range of representation has been adapted automatically to variations on the selected surfaces, so as to outline details as effectively as possible.
202. Make use of the Viewing buttons to modify the representation mode and find a suitable viewpoint.


Blade-to-Blade View
203. Go to Update -> Delete -> All.
204. Go to Representation -> Colormap to remove the colormap.
205. Open the Render menu.
206. Select Shading -> Gouraud.
207. Go to the Geometry menu.
208. Select Blade to Blade Surface.
209. Set Surface type to Blade to blade.
210. Set S to <0.9> <Enter> (section located 90% spanwise).
211. Click the Apply button.


212. Click the Save button.
213. Click Close to quit the dialog box.

CFView™  integrates the possibility to create cuts at constant spanwise position (also called "blade-to-blade" planes). This capability is especially useful when the endwalls are not planar. The surface for representation at constant spanwise position is then created based on linear interpolation between the endwalls.
Pressing the Save button in the dialog box creates an additional surface for representation in the Surfaces area, enabling quantity selection and representation as discussed in the previous sections.

214. Left-click "CUT1" in the Surfaces area.
215. Right-click to access the contextual menu.
216. Choose Select in order to select "CUT1" as the only active surface for representation.


217. Go to the Quantity menu.
218. Select Field Data -> Basic Quantities -> Relative Mach Number.
219. Open the Representation menu.
220. Select Color Contour -> Smooth.
221. Open the Representation menu.
222. Select Scalar Range -> Colormap Optimum Range.
Colormap Optimum Range restricts the bounds of the colormap to those related to active surfaces instead of the complete 3D domain. 
This capability is useful to outline a number of details in a clearer manner. It can also be accessed by pressing the  icon.
223. Left-click the colormap.
224. Right-click and select Move or Resize.
225. Drag and drop the colormap to an appropriate location.
226. Move the mouse to a corner of the colormap to adjust the size.


It is advised to put the colormap at a location where it does not interfere with the representation, to avoid any difficulty in the interpretation of the results.
227. Left-click the colormap.
228. Right-click and select Smooth Only.


229. Access the Representation menu.
230. Select Isolines -> Isolines ... .
231. Activate increment mode.
232. Change Value to <0.02> <Enter>.
233. Change min range to <0> <Enter>.
234. Change max range to <1> <Enter>.
235. Keep color Uniform.
236. Click Apply.


237. Go to Update -> Delete Isoline.
238. Go to the Quantity menu.
239. Select Field Data -> Basic Quantities -> Wxyz.
240. Open the Representation menu.
241. Select Vector Type ... .
242. Select Tangent Component in Representation Type.
243. Select Color Uniform in Vector Size.
244. Click the Apply button.


245. Click the Close button to quit the dialog box.
246. Open the Representation menu.
247. Select Vector On Grid Nodes.
248. Make use of the Viewing buttons to modify the representation mode and zoom in near the leading edge of the blade.


The representation of velocity vectors in a relative frame of reference (Wxyz) outlines the quality of the flow impinging the blade. Ideally, these vectors should be aligned with the blade. In off-design conditions, the alignment is not adequate, possibly leading flow separation.
Turbomachinery Mode
249. Open the File menu.
250. Select Turbomachinery.
251. Choose Load Flow Solver Pitch Average under Meridional Average.
252. Click Ok.



You have now entered the Turbomachinery mode! It gives simultaneous access to meridional, meridional average, blade-to-blade and 3D views.
Actions required for surface representation, quantity selection and representation apply similarly to those described in the previous sections. More details can be found in the CFView™  User Guide.

Tutorial 5: Flow Settings

Link Mesh & Project

Manage Computations

Set Flow Configuration

Set Boundary Conditions

Set Numerical Model

Set Initial Conditions

Select Outputs

Control Computation Steering

Save Project & Start Calculation

Follow Convergence Steering


The mesh generation process is now completed and one can now go back to the FINE™  graphical user interface in order to set the various flow settings required before starting the computation. Access to the main menu and controls is provided through a menu bar and a left-tree, and is complemented with an icon bar.


Access to the FINE™  graphical user interface from the AutoGrid5™  window is provided through the Modules/Fine Turbo menu, simply confirm (yes) to enter FINE™  GUI. You are now back at the FINE™  graphical user interface!


A step by step approach is provided in the following lines. It aims at driving you through the various steps that need to be executed from mesh linking to the execution of the calculation.
Link Mesh & Project
58. Click the  icon and link the mesh "tutorial5.igg" to the project.


 The user may be shown a warning message concerning the solver precision; accept this message. The change of the solver precision is detailed in step 116.

59. Define grid units in Millimeters as the geometrical data inserted in the "tutorial5.geomTurbo" file is expressed in millimeters.
60. Select a Cylindrical and 3 Dimensions configuration.
61. Click OK to close the dialog box.


Manage Computations
62. Rename the default computation "computation_1" as "111_SA" in the Computations area, to indicate that the calculation will be executed on the coarse grid first and will use the Spalart-Allmaras turbulence model. This can be achieved by left-clicking the Rename button and replacing "computation_1" by "111_SA".
 
Similar operations can be executed using the New Computation or Remove buttons, to respectively create a new computation or remove one.
Set Flow Configuration
63. Go to the tree in the left menu and double left-click the Configuration menu.


Three sub-menus related to the definition of the working fluid, main flow characteristics and rotating machinery definition can then be accessed.

64. Double left-click Fluid Model to access the fluid database.

65. Select AIR(Perfect). Air, considered as a perfect gas, is now selected as a working fluid.



The fluid database includes a number of pre-defined fluids, covering various approximations in fluid definition such as perfect gas, ideal (real) gas, incompressible fluids and fluids defined as a set of thermodynamic tables (optional, subjected to a separate license key).
A default fluid database is provided by FINE™/Turbo. The user is also able to create and modify his/her own fluids and/or use fluids created by others. More details about these functions are available in the FINE™  User Guide.

66. Double left-click Flow Model to set the flow characteristics.
67. Select Steady to indicate that a steady solution is of interest.
68. Select Turbulent Navier-Stokes to activate the resolution of the RANS equations.
69. Select Spalart-Allmaras as the turbulence model of choice.


A number of turbulence models can be accessed through the interface. They require the additional resolution of 0-equation to 4-equations, depending upon the model selected. Some of these models do need a fine resolution near the wall (y+ ranging from 1 to 5), while others use the log-law concept and can mimic the logarithmic law. More details can be found in the FINE™  User Guide.
70. Set Reynolds Number Related Info:

Set the Characteristic length = <0.05> < Enter>,
Set the Characteristic velocity = <200> < Enter>,
Set the Characteristic density = <1.2> < Enter>,
Set the Reference temperature = <300> < Enter>,
Set the Reference pressure = <101325> < Enter>.


Characteristic variables (length, velocity, density) are required to estimate the Reynolds number. This number is used at a few locations inside the flow solver, in particular inside the damping functions related to the modeling of turbulence down to the walls.
The impact of the characteristic variables on the flow solution is very limited, but it is advised to select values in accordance with characteristic quantities of the geometrical domain and flow conditions. As an example, the characteristic length may be defined by a reference diameter or length at the inlet and/or outlet of the computational domain, and/or the chord of the blade (if any). The characteristic velocity may be set to the averaged inlet velocity. The characteristic density is fixed as the average (molecular) fluid density.

71. Double left-click Rotating Machinery to set the rotating machinery definition.
72. Select row 1.
73. Check that the Rotational Speed = <0> <Enter>.
74. Select row 2.
75. Check that the Rotational Speed = <15000> <Enter>.
76. Select row 3.
77. Check that the Rotational Speed = <0> <Enter>.



In the cylindrical mode, the flow solver resolves the equations by default in a relative frame of reference. As a consequence, the mesh attached to the blade is rotating at the same speed as the blade, as far as no rotor-stator interaction is concerned. The rotation speed has been introduced in AutoGrid5™  and transferred through FINE™, limiting user interventions in the graphical user interface.
For rotating machinery projects, the axis of rotation must be aligned along the z-direction. In addition, a unique rotation speed must be considered for the entire computational domain.

78. Left-click the Rotor-Stator tab.
A separate ID is allocated to each rotor-stator interface, based on data included in AutoGrid5™. Each interface is defined with 2 patches, located 

                        upstream and downstream of the rotor-stator interface. The definition of ID's and allocation of upstream/downstream sides is performed automatically in 

                        FINE™.                    
79. Make sure that Conservative Coupling by Pitchwise Row is active on rotor-stator patches.



Several methods, based on steady quasi 3D approximations, can be accessed to ensure a proper treatment of rotor-stator interfaces.

The Conservative Coupling by Pitchwise Row method guarantees an exact conservation of mass flow, momentum and energy through the interface and has proven to be robust in most circumstances.
The Local Conservative Coupling method is recommended in projects coupling an impeller with a volute, and has proven to offer more robustness than the Conservative Coupling by Pitchwise Row in these cases.
The Full Non Matching Mixing Plane method is the default option. It guarantees an exact conservation of mass flow, momentum and energy through the interface and relaxes several constraints with respect to the preparation of the mesh. It is not activated as a default option but may be a candidate of choice in some circumstances.
The Non Reflecting 1D Mixing Plane method is recommended when wave reflection is observed at the interface, which can occur when the interface is close to the blade.
The Non Reflecting 2D Mixing Plane method is recommended when a shock wave is crossing the interface, and can give a better representation of the shock wave.
The Full Non Matching Frozen Rotor method considers the rotor-stator interface as a perfect connection and neglects the movement of the rotor in the connecting algorithm. In this approach, the periodicities must necessarily be equal between the rotor and the stator.


Set Boundary Conditions
80. Go to the tree in the left menu and double left-click the Boundary Conditions menu.

During the grid generation process, AutoGrid5™  defines the type of the boundary conditions to be applied on each block face. The most common types are INLET, OUTLET, PERIODIC and SOLID boundary conditions.
PERIODIC boundary conditions are set automatically by the flow solver and must not be modified by the user.
It is important to confirm each entry by pressing the <Enter> key.

81. Go to Mesh -> View On/Off to load the mesh into the FINE™  GUI.

This toggle menu is used to visualize the grid in FINE™. The parameters area will be overlapped by a graphics window, and the small control button on the upper-left corner of the graphics window can be used to resize the graphics area in order to visualize the parameters and the mesh  simultaneously.


The selection of patches in the left column outlines the corresponding patch in the graphics area, thus enabling a fast and easy visualization of the boundary conditions.

82. Go to the INLET tab:

Select Total Quantities Imposed,
Select Velocity Direction (V extrapolated) type of boundary conditions,
Set Vr / |V| = <0> <Enter>,
Set Vt / |V| = <0> <Enter>,
Set Vz / |V| = <1> <Enter>,
Set Absolute Total Pressure = <101325> <Enter>,
Set Absolute Total Temperature = <288.15> <Enter>,
Choose Turbulent Viscosity as the Turbulent Quantities and set Turbulence Viscosity to <0.0001> <Enter>



83. Go to the OUTLET tab:


Select Pressure Imposed,
Activate Radial Equilibrium,
Set Static Pressure = <106000> <Enter>,
Set Radius = <0.13> <Enter>,
Keep Radial Direction to J.




A constant static pressure of 106000 Pa is fixed at the exit boundary of the computational domain, at radius r = 0.13 m. Based on these data, the flow solver calculates the distribution of static pressure at the exit, along the spanwise (J) direction, according to the radial equilibrium equation. This boundary condition should be restricted to axial machines.
84. Go to the SOLID tab: keep default settings.
For each row, patches including the keyword "hub" are by default collected in a unique group named as "row*_hub". Patches including the keyword "shroud" are grouped in "row*_shroud". Finally, patches of the blade are grouped in "row*_blade". If the part of the row is rotating, the suffix "_(r.p.m. rot_speed)" is added to the group name. The presence of a tip gap is automatically taken into account in the blade group, thus minimizing user intervention in the definition of the boundary conditions. For a rotor,  as defined in AutoGrid5™, it is assumed that the hub and the blade are fully rotating. The applied rotation speed is the value introduced during the mesh generation process. The shroud is assumed to be a fixed entity, with no rotation speed assigned.


The convergence of both axial thrust and torque can be monitored in the computational steering, to make sure that both quantities have reached stable values at the end of the convergence process. Both values are also available from the *.mf file located in the computation directory. The torque can also be used for the calculation of the efficiency of the machine. It is common practice to enable force and torque calculation on rotating patches only.
85. Go to Mesh ->View On/Off to toggle the mesh visualization, if needed.
Set Numerical Model
86. Go to the tree in the left menu and double left-click the Numerical Model menu.


This menu gives access to the most frequently used numerical parameters, including the Courant Friedrichs Lewy (CFL) number and the selection of the grid level on which the simulation will apply. It is important to confirm each entry by pressing the <Enter> key.
87. Keep CFL unchanged to 3.

The CFL number drives the pseudo-time step selected to reach a steady state solution using the time-marching method integrated in the flow solver. In combination with the 4-steps Runge-Kutta integration scheme included in the flow solver, it has a theoretical stability limit close to 2.8. However, the additional implicit smoothing scheme can increase this value slightly, which justifies the default value of 3.
The default value for CFL number is adequate in most cases, but can be decreased in some circumstances, in particular at off-design conditions.

88. Define the grid level on which the simulation will apply:

The flow solver is based on an explicit time integration technique, which is accelerated using dedicated multi-grid methods. To this end, several levels of intermediate grids must be generated started from the finest one. This is achieved by taking one node over 2 in each I-, J- or K-directions, starting from the finer grid level.
It is strongly advised to enable the definition of at least 3 grid levels, by carefully selecting the number of nodes on every edge forming the patches and blocks. More details can be found in the IGG™, AutoGrid5™  and FINE™  User Manuals.
In the FINE™  terminology, the finest grid level a user can access will be called 000, while the intermediate and coarsest ones will be named the 111 and 222 level respectively, assuming 3 grid levels can be selected.
Hybrid grid levels can theoretically be defined (e.g. 010 or 211). It is however not advised to use such hybrid levels since it deforms the mesh in a preferential direction and thus possibly increasing the aspect ratio. Consequently, the quality of the resulting mesh can be decreased.


Keep Current Grid Level = <1 1 1>,
Keep Number of Grid(s) = <2>,
Keep the Coarse Grid Initialization active.

In addition to the multi-grid acceleration technique, the number of iterations to convergence can be significantly reduced by activating the coarse grid initialization process. In that case, the simulation starts on the coarsest grid level available, leading to fast convergence. Once done, the flow solver automatically interpolates the current flow solution on the intermediate levels before the iterative process is restarted. A similar process goes on occurs until as the expected finest grid level is reached. The iterative process is then continuedthen pursued as long as the convergence criteria is not reached or the maximum number of iterations is not exceeded. More details can be found in the Numerical Model in the FINE™/Turbo GUI.

Activate Expert Mode to access expert parameters for coarse grid initialization,
Select Increase on higher level in Scheme definition.






The amount of sweeps is the number of times the Runge-Kutta operator is
applied. In many cases, the convergence rate may be significantly improved by performing a higher number of sweeps on the coarse levels. However, it should be noted that more sweeps have as a consequence that more time is required per iteration                    
Set Initial Conditions
89. Go to the tree in the left menu and double left-click the Initial Solution menu.
90. Left-click the ROWS group.
The group is automatically created when the mesh is loaded into the FINE™  GUI. In complex projects, hybrid initial solutions can be useful. In that case, a constant 
initial solution per block can be selected for some groups, while others can benefit from an initial solution from Turbomachinery. Limitations related to the use of hybrid initial solutions are described in the Initial Solution for Turbomachinery.
91. Select for turbomachinery to access the initial solution menu for turbomachinery.
Initial conditions can be selected in different forms, going from constant values per block to throughflow based solutions. Running a rotating machinery project case, it is common practice to select the initial solution for Turbomachinery. Based on a 1D estimation of the flow solution, the initial solution for Turbomachinery often enables a drastic reduction in the number of iterations in running 3D simulations. Inputs ("best estimation") related to static pressure at inlet and rotor-stator interfaces (if it applies) are requested.
92. Left-click inlet patch ("row_1_flux_1_Main_Blade_upStream_inlet").
93. Set Estimated Static Pressure = <90000> <Enter>.
94. Left-click the rotor/stator interface ID10.
95. Set Estimated Static Pressure = <85000> <Enter>.
96. Left-click the rotor/stator interface ID20.
97. Set Estimated Static Pressure = <100000> <Enter>.
98. Choose Turbulent Viscosity as the Turbulent Quantities and set Turbulence Viscosity to <0.0001> <Enter>


Groups ID10 and ID20 are automatically created when the mesh is loaded into the FINE™  GUI. The presence of an inlet condition is mandatory for use with the initial solution for turbomachinery.
Select Outputs
99. Go to the tree in the left menu and double left-click the Outputs menu. Double left-click Computed Variables.

Quantities of interest in the simulation must be pre-selected in this menu. They will be stored in the solution file (*.cgns) once the iterative process will be finished and/or during intermediate steps. Quantities can be accessed both in the 3D field (Computed Variables) and/or in the meridional plane (following circumferential averaging, see Azimuthal Averaged Variables). Additional data can be selected on the solid walls and/or on predefined surfaces (Surface Averaged Variables).
The adequate selection of outputs of interest will reduce the size of the solution file. This is in particular important when projects involving very fine meshes and/or unsteady capabilities are managed.

100. Select Static, Total Absolute and Total Relative Temperature if not yet selected.
101. Select Static, Total Absolute and Total Relative Pressure if not yet selected.
102. Select Density, Entropy, Rothalpy and Dynamic viscosity if not yet selected.


103. Left-click Velocities in the menu Categories.
104. Select Vxyz and Absolute Mach number if not yet selected.
105. Select Wxyz and Relative Mach number if not yet selected.


Vxyz and Wxyz are the velocity vector fields in respectively the absolute and relative frame of reference. The examination of solution quantities in the relative frame of reference is particularly useful to observe the flow angles relative to the blade close to leading and trailing edge.
106. Left-click the Solid data in the menu Categories.
107. Select Static pressure, Static temperature, Cf, Relative velocity and y+ (in first inner cell) if not yet selected.



Cf is known as the friction coefficient.
The parietal coordinate y+ is a direct function of the distance from the wall. Therefore, y+ = 0 at the wall and takes a non-zero value at the center of the first cell close to the wall (also called "inner cell"). As a consequence, the examination of y+ "at the wall" should be understood as the examination "in the first inner cell". Although it is not correct theoretically speaking, this concept is very often used to ease the post-treatment and benefit from the existing solid surfaces.

108. Left-click the Turbulence in the menu Categories.
109. Select Wall distance and Turbulent Viscosity ratio if not yet selected.



The analysis of the Turbulent Viscosity ratio field is often of major interest 
to ensure that the turbulent quantities are computed accurately, according to the turbulence model and mesh refinement selected.
Running k-epsilon related models gives access to additional quantities in particular related to the production term, the kinetic energy and dissipation rate fields. It is strongly advised to activate these fields for post-treatment.

110. Double left-click Azimuthal Averaged Variables.
111. Go through the various categories and select the quantities as selected under Computed Variables.
Additionally, outputs can be re-directed using the PLOT3D format, using various formats. More details can be found in the Numerical Model in the FINE™/Turbo GUI.
Control Computation Steering
112. Go to the tree in the left menu and double left-click the Computation Steering menu.
113. Double left-click Control Variables.
114. Keep Maximum Number Of Iterations = <400> <Enter>.
115. Keep Save Solution Every = 100.
116. Keep Convergence Criteria = -6; change the solver precision from Single to Double.



Depending upon the quality of the initial solution, the density of the mesh (number of nodes) and the complexity of the underlying flow field, from few hundreds to few thousand iterations are typically required to reach convergence. The iterative process is stopped once the convergence criterion is reached over the entire domain or the maximum number of iterations is executed on the current grid level (111 in the present case).
The ability to select for Minimum output gives the possibility to minimize the size of the solution files. In that case, the flow solution is stored only once the iterative process is finished, and limited information is proposed during the intermediate storage. This limited information allows to perform a restart procedure from an existing flow solution, but cannot be visualized within CFView™.
Static memory allocation is enabled inside the flow solver. An estimation of the memory required to run and save the flow solution is calculated and proposed as a default. However, in some circumstances, the estimation may be too low and it is then required to manually increase the number of reals or integers necessary to drive the solution to success. In that case, click Set the requested memory and increase the inputs accordingly.

Save Project & Start Calculation
117. Open the File menu and Save the project.
The project parameters are stored in the *.iec file. This file includes the entire set of parameters required to reproduce the project, excluding the mesh.
118. Press the  icon and click Start Flow Solver in the dialog box to start the calculation: a task manager window will appear.


The calculation will start in serial mode (1 processor) on the local machine. FINE™  includes multi-processor capabilities and the ability to manage computations through a task manager and/ or in batch mode. More details can be found in the FINE™  User Guide.
Follow Convergence Steering
119. Double left-click Convergence History.



The evolution of averaged residuals on the entire domain can be observed during the convergence process. Similarly, the evolution of the mass flow balance (in/out) and/or global quantities (isentropic efficiency, torque and axial thrust on solid walls selected in the boundary conditions page, pressure ration) can be displayed.
Local and global quantities may also be added for follow-up during the convergence process. However, their representation in the graphical area will only be effective once they are added in the Selected Variables list, see FINE™ User Guide.
The examination of residuals per block and/or for a given primitive variable can be achieved accessing the monitorTurbo tool. The tool is included in the FINE™ package and can be accessed through the adequate command line. More details can be found in the FINE™  User Guide.

120. Once the calculation has converged or reaches the maximum number of iterations allowed on the current grid level, the flow solver stops.
121. The final solution is then stored in the solution file (*.cgns) and the task manager window is closed.
To check the convergence of the computation, NUMECA recommends observing the evolution of multiple criteria including (a) an adequate decrease in residuals (minimum 3 orders of magnitude); (b) complete stabilization of global performances; (c) stabilization of mass flow in/out, with satisfactory correspondence (usually less than 0.5% difference between in/out).
Now that the iterative process is over, click here to start the visualization of the solution within the post-treatment tool CFView™  integrated in FINE™/Turbo.

Tutorial 4: Flow Settings

Link Mesh and Project

Manage Computations

Set Flow Configuration

Set Boundary Conditions

Set Numerical Model

Set Initial Conditions

Select Outputs

Control Computation Steering

Save Project & Start Calculation

Follow Convergence Steering


The mesh generation process is now completed and one can now go back to the FINE™  graphical user interface in order to set the various flow settings required before starting the computation. Access to the main menu and controls is provided through a menu bar and a left-tree, and is complemented with an icon bar.


Access to the FINE™  graphical user interface from the AutoGrid5™  window is provided through the Modules/Fine Turbo menu, simply confirm (yes) to enter FINE™  GUI. You are now back at the FINE™  graphical user interface!


A step by step approach is provided in the following lines. It aims at driving you through the various steps that need to be executed from mesh linking to the execution of the calculation.
Link Mesh and Project
60. Click the  icon and link the mesh "tutorial4.igg" to the project.


 The user may be shown a warning message concerning the solver precision; accept this message. The change of the solver precision is detailed in step 125.

61. Define grid units in Millimeters as the geometrical data inserted in the "tutorial4.geomTurbo" file expressed in millimeters.
62. Select a Cylindrical and 3 Dimensions configuration. Click OK to close the dialog box.


Manage Computations
63. Rename the default computation "computation_1" as "111_SA" in the Computations area, to indicate that the calculation will be executed on the coarse grid first and will use the Spalart-Allmaras turbulence model. This can be achieved by left-clicking the Rename button and replacing "computation_1" by "111_SA".
 
Similar operations can be executed using the New Computation or Remove buttons, to respectively create a new computation or remove one.
Set Flow Configuration
64. Go to the tree in the left menu and double left-click the Configuration menu.


Three sub-menus related to the definition of the working fluid, main flow characteristics and rotating machinery definition can then be accessed.
65. Double left-click Fluid Model to access the fluid database and select WATER as a working fluid.



The fluid database includes a number of pre-defined fluids, covering various approximations in fluid definition such as perfect gas, ideal (real) gas, incompressible fluids and fluids defined as a set of thermodynamic tables (optional, subjected to a separate license key).
A default fluid database is provided by FINE™/Turbo. The user is also able to create and modify his/her own fluids and/or use fluids created by others. More details about these functions are available in the FINE™  User Guide.

66. Double left-click Flow Model to set the flow characteristics.
67. Select Steady to indicate that a steady solution is of interest.
68. Select Turbulent Navier-Stokes to activate the resolution of the RANS equations.
69. Select Spalart-Allmaras as the turbulence model of choice.


A number of turbulence models can be accessed through the interface. They require the additional resolution of 0-equation to 4-equations, depending upon the model selected. Some of these models do need a fine resolution near the wall (y+ ranging from 1 to 5), while others use the log-law concept and can mimic the logarithmic law. More details can be found in the FINE™  User Guide.
70. Set Reynolds Number Related Info:

Set the Characteristic length = <0.4> < Enter>,
Set the Characteristic velocity = <10.472> < Enter>,
Set the Characteristic density = <1001> < Enter>.


Characteristic variables (length, velocity, density) are required to estimate the Reynolds number. This number is used at a few locations inside the flow solver, in particular inside the damping functions related to the modeling of turbulence down to the walls.
The impact of the characteristic variables on the flow solution is very limited, but it is advised to select values in accordance with characteristic quantities of the geometrical domain and flow conditions. As an example, the characteristic length may be defined by a reference diameter or length at the inlet and/or outlet of the computational domain, and/or the chord of the blade (if any). The characteristic velocity may be set to the averaged inlet velocity. The characteristic density is fixed as the average (molecular) fluid density.

71. Double left-click Rotating Machinery to set the rotating machinery definition.
72. Select row 1.
73. Check that the Rotational Speed = <0> <Enter>.

74. Select row 2.
75. Check that the Rotational Speed = <0> <Enter>.
76. Select row 3.
77. Check that the Rotational Speed = <-500> <Enter>.




In the cylindrical mode, the flow solver resolves the equations by default in a relative frame of reference. As a consequence, the mesh attached to the blade is rotating at the same speed as the blade, as far as no rotor-stator interaction is concerned. The rotation speed has been introduced in AutoGrid5™  and transferred through FINE™, limiting user interventions in the graphical user interface.
For rotating machinery projects, the axis of rotation must be aligned along the z-direction. In addition, a unique rotation speed must be considered for the entire computational domain.

78. Left-click the Rotor-Stator tab.
A separate ID is allocated to each rotor-stator interface, based on data included in AutoGrid5™. Each interface is defined with 2 patches, located upstream and downstream of the rotor-stator interface. The definition of ID's and allocation of upstream/downstream sides is performed automatically in FINE™.


79. Left-click on the "outlet_id_10" patch.
80. Change the method to Full Non Matching Frozen Rotor (Periodicities Must Be Equal).
81. Keep ID Number to <10> <Enter>.
82. Keep Upstream for Side.
83. Select "inlet_id_10".
84. Change the method to Full Non Matching Frozen Rotor (Periodicities Must Be Equal).
85. Keep ID Number to <10> <Enter>.
86. Keep Downstream for Side.
87. Go through the remaining 2 groups and set the  Conservative Coupling by Pitchwise Row method for the rotor-stator surface between row 2 and row 3.

Several methods, based on steady quasi 3D approximations, can be accessed to ensure a proper treatment of rotor-stator interfaces.

The Conservative Coupling by Pitchwise Row method guarantees an exact conservation of mass flow, momentum and energy through the interface and has proven to be robust in most circumstances.
The Local Conservative Coupling method is recommended in projects coupling an impeller with a volute, and has proven to offer more robustness than the Conservative Coupling by Pitchwise Row in these cases.
The Full Non Matching Mixing Plane method is the default option. It guarantees an exact conservation of mass flow, momentum and energy through the interface and relaxes several constraints with respect to the preparation of the mesh. It is not activated as a default option but may be a potential option.
The Non Reflecting 1D Mixing Plane method is recommended when wave reflection is observed at the interface, which can occur when the interface is close to the blade.
The Non Reflecting 2D Mixing Plane method is recommended when a shock wave is crossing the interface, and can give a better representation of the shock wave.
The Full Non Matching Frozen Rotor method considers the rotor-stator interface as a perfect connection and neglects the movement of the rotor in the connecting algorithm. In this approach, the periodicities must necessarily be equal between the rotor and the stator.


Set Boundary Conditions
88. Go to the tree in the left menu and double left-click the Boundary Conditions menu.

During the grid generation process, AutoGrid5™  defines the type of the boundary conditions to be applied on each block face. The most common types are INLET, OUTLET, PERIODIC and SOLID boundary conditions.
PERIODIC boundary conditions are set automatically by the flow solver and must not be modified by the user.
It is important to confirm each entry by pressing the <Enter> key.

89. Go to Mesh -> View On/Off to load the mesh into the FINE™ GUI.

This toggle menu is used to visualize the grid in FINE™. The parameters area will be overlapped by a graphics window, and the small control button on the upper-left corner of the graphics window can be used to resize the graphics area in order to visualize the parameters and the mesh  simultaneously.


The selection of patches in the left column outlines the corresponding patch in the graphics area, thus enabling a fast and easy visualization of the boundary conditions.

90. Go to the INLET tab:

Select Mass Flow Imposed (related patches must be grouped),
Select Velocity Direction,
Set Vr / V = <-0.5591> <Enter>,
Set Vt / V = <-0.829><Enter>,
Set Vz / V = <0> <Enter>,
Set Mass flow = <361> <Enter>,
Set Static Temperature = <293> <Enter>,
Choose Turbulent Viscosity as the Turbulent Quantities and set Turbulence Viscosity to <1.1e-06> <Enter>



91. Go to the OUTLET tab:

Select all patches (left-click on first patch and <Shift> + left-click on last patch),
Click on Group to group them,
Set name as <Outlet><Enter> in the Enter the new group name entry,
Select Pressure Imposed,
Select Averaged Static Pressure (related patches must be grouped),
Set Static Pressure = <80000> <Enter>.



An averaged static pressure of 80000 Pa is fixed at the exit boundary of the computational domain. Based on this data, at each iteration, the flow solver keeps the distribution of static pressure at the exit and moves it to respect the averaged static pressure imposed.
92. Go to the SOLID tab and change settings of the row 3 shroud:

Select group "row 3_shroud_(r.p.m. -500)",
Select Adiabatic/Area Defined Rotation Speed,
Keep Rotational Speed 1 = 0 RPM,
Set Rotational Speed 2 = <-500> <Enter> RPM,
Keep Lower Radius Limit = 0 m,
Set Higher Radius Limit = <0.21> <Enter> m,
Keep Lower Axial Limit = 0 m,
Set Higher Axial Limit = <0.185> <Enter> m
Activate Compute force and torque.


For each row, patches including the keyword "hub" are by default collected in a unique group named as "row_*_hub_(r.p.m.*)". Patches including the keyword " shroud" are grouped in "row_*_shroud". Finally, patches of the blade are grouped in "row_*_blade_(r.p.m.*)". If  part of the row is rotating, the suffix _(r.p.m. rot_speed) is added to the group name. 

The presence of a tip gap is automatically taken into account in the blade group, thus minimizing user intervention in the definition of the boundary conditions. For a rotor, which is defined in AutoGrid5™, it is assumed that the hub and the blade are fully rotating. The rotation speed takes the value introduced during the mesh generation process. The shroud is assumed to be a fixed entity, with no rotation speed assigned.




The rotation speed is usually considered as a constant for the entire patch (group). However, FINE™  integrates the possibility to define that only part of a patch is rotating (e.g. part of the hub). 
For the Francis Turbine project, a constant rotational speed is considered.

The convergence of both axial thrust and torque can be monitored in the computational steering, to make sure that both quantities have reached stable values at the end of the convergence process. Both values are also available from the *.mf file located in the computation directory. The torque can also be used for the calculation of the efficiency of the machine. It is common practice to enable force and torque calculation on rotating patches only.
93. Go to Mesh -> View On/Off to toggle the mesh visualization, if needed.
Set Numerical Model
94. Go to the tree in the left menu and double left-click the Numerical Model menu.


This menu gives access to the most frequently used numerical parameters, including 
the Courant Friedrichs Lewy (CFL) number and the selection of the grid level on which the simulation will apply. It is important to confirm each entry by pressing the <Enter> key.
95. Keep CFL unchanged to 3.

The CFL number drives the pseudo-time step selected to reach a steady state solution using the time-marching method integrated in the flow solver. In combination with the 4-step Runge-Kutta integration scheme included in the flow solver, it has a theoretical stability limit close to 2.8. However, the additional implicit smoothing scheme can increase this value slightly, which justifies the default value of 3.
The default value for CFL number is adequate in most cases, but can be decreased in some circumstances, in particular at off-design conditions.

96. Define the grid level on which the simulation will apply:

The flow solver is based on an explicit time integration technique, which is accelerated using dedicated multi-grid methods. To this end, several levels of intermediate grids must be generated started from the finest one. This is achieved by taking one node over 2 in each I-, J- or K-directions, starting from the finer grid level.
It is strongly advised to enable the definition of at least 3 grid levels, by carefully selecting the number of nodes on every edge forming the patches and blocks. More details can be found in the IGG™, AutoGrid5™  and FINE™  User Manuals.
In the FINE™  terminology, the finest grid level a user can access will be called 000, while the intermediate and coarsest ones will be named the 111 and 222 level respectively, assuming 3 grid levels can be selected.
Hybrid grid levels can theoretically be defined (e.g. 010 or 211). It is however not advised to use such hybrid levels since it deforms the mesh in a preferential direction and thus possibly increasing the aspect ratio. Consequently, the quality of the resulting mesh can be decreased.


Set Current Grid Level = <1 1 1> <Enter>,
Keep Number of Grid(s) = 2,
Keep the Coarse Grid Initialization active.

In addition to the multi-grid acceleration technique, the number of iterations to convergence can be significantly reduced by activating the coarse grid initialization process. In that case, the simulation starts on the coarsest grid level available, leading to fast convergence. Once done, the flow solver automatically interpolates the current flow solution on the intermediate levels before the iterative process is restarted. A similar process goes on until the finest grid level is reached. The iterative process is then continued as long as the convergence criteria is not reached or the maximum number of iterations is not exceeded. More details can be found in the Numerical Model in the FINE™/Turbo GUI.

Activate Expert Mode to access expert parameters for coarse grid initialization,
Change the Maximum number of cycles per grid level = <400> <Enter>.         






97. Change preconditioning method to Hakimi. Define preconditioning parameters: keep default parameters.

Preconditioning is applied for low speed flows and/or for modeling of incompressible fluids. At low Mach numbers, the convergence rate of the iterative process can be largely slowed down due to the numerical formulation selected in the flow solver. The equations are then preconditioned to recover a satisfactory rate of convergence. Preconditioning is controlled in the Hakimi method through a user-controlled parameter ß.
This parameter ß is imposed by the user through a coefficient ß* and the characteristic velocity Uref such that:
ß² = ß* . (Uref²) or,
ß² = ß* . max(Uref²,Uloc²) when local velocity scaling is active (Uloc is the local velocity)
Uref is the representative value of the maximum velocity in the flow field. For the user's convenience, the constant Uref  is always equal to the reference velocity specified in the Flow Model page and used in the calculation of the Reynolds Number. In that case, Uref must be carefully selected since it influences the convergence and when changed in the Numerical Model page, the value will also be adapted automatically in the Flow Model page. 

Set Initial Conditions
98. Go to the tree in the left menu and double left-click the Initial Solution menu.
99. Left-click the ROWS group.
The group is automatically created when the mesh is loaded into the FINE™  GUI. In complex projects, hybrid initial solutions can be useful. In that case, a constant initial solution per block can be selected for some groups, while others can benefit from an initial solution from Turbomachinery. Limitations related to the use of hybrid initial solutions are described in the FINE™  User Manual.
100. Select for turbomachinery to access the initial solution menu for turbomachinery.
Initial conditions can be selected in different forms, going from constant values per 
block to throughflow based solutions. When running a rotating machinery project case, it is common practice to select the initial solution for Turbomachinery. Based on a 1D estimation of the flow solution, the initial solution for Turbomachinery often enables a drastic reduction in the number of iterations in running 3D simulations. Inputs ("best estimation") related to static pressure at inlet and rotor-stator interfaces (if it applies) are requested.
101. Left-click the inlet patch ("row_1_flux_1_Main_Blade_upStream_inlet").
102. Set Estimated Static Pressure = <136000> <Enter>.
103. Left-click the rotor/stator interface ID10.
104. Set Estimated Static Pressure = <132000> <Enter>.
105. Left-click the rotor/stator interface ID20.
106. Set Estimated Static Pressure = <120000> <Enter>.
107. Choose Turbulent Viscosity as the Turbulent Quantities and set Turbulence Viscosity to <1.1e-06> <Enter>


Groups ID10 and ID20 are automatically created when the mesh is loaded into the FINE™  GUI. The presence of an inlet condition is mandatory to use the initial solution for turbomachinery.
Select Outputs
108. Go to the tree in the left menu and double left-click the Outputs menu. Double left-click Computed Variables.

Quantities of interest in the simulation must be pre-selected in this menu. They will be stored in the solution file (*.cgns) once the iterative process will be finished and/or during intermediate steps. Quantities can be accessed both in the 3D field (Computed Variables) and/or in the meridional plane (following circumferential averaging, see Azimuthal Averaged Variables). Additional data can be selected on the solid walls and/or on predefined surfaces (Surface Averaged Variables).
The adequate selection of outputs of interest will reduce the size of the solution file. This is in particular important when projects involving very fine meshes and/or unsteady capabilities are managed.

109. Select Static, Total Absolute and Total Relative Temperature if not yet selected.
110. Select Static, Total Absolute and Total Relative Pressure if not yet selected.
111. Select Density, Entropy, Rothalpy and Dynamic viscosity if not yet selected.



112. Left-click the Velocities  in the menu Categories.

113. Select Vxyz if not yet selected.
114. Select Wxyz if not yet selected.


Vxyz and Wxyz are the velocity vector fields in respectively the absolute and relative frame of reference. The examination of solution quantities in the relative frame of reference is particularly useful to observe the flow angles relative to the blade close to leading and trailing edge.
115. Left-click the Solid data in the menu Categories.
116. Select Static pressure, Static temperature, Cf, Relative velocity and y+ (in first inner cell) if not yet selected.



Cf is known as the friction coefficient.
The parietal coordinate y+ is a direct function of the distance from the wall. Therefore, y+ = 0 at the wall and takes a non-zero value at the center of the first cell close to the wall (also called "inner cell"). As a consequence, the examination of y+ "at the wall" should be understood as the examination "in the first inner cell". Although it is not correct theoretically speaking, this concept is very often used to ease the post-treatment and benefit from the existing solid surfaces.

117. Left-click the Turbulence in the menu Categories.
118. Select Wall distance and Turbulent Viscosity ratio if not yet selected.



The analysis of the Turbulent Viscosity ratio field is often of major interest
to ensure that the turbulent quantities are computed accurately, according to the turbulence model and mesh refinement selected.
Running k-epsilon related models gives access to additional quantities in particular related to the production term, the kinetic energy and dissipation rate fields. It is strongly advised to activate these fields for post-treatment.

119. Double left-click Azimuthal Averaged Variables.
120. Go through the various categories and select the quantities as selected under Computed Variables.
Additionally, outputs can be re-directed using the PLOT3D format, using various formats. More details can be found in the Plot3D Formatted Output.
Control Computation Steering
121. Go to the tree in the left menu and double left-click the Computation Steering menu.
122. Double left-click Control Variables.
123. Set Maximum Number Of Iterations = <2000> <Enter>.
124. Keep Save Solution Every = 100.
125. Keep Convergence Criteria = -6; change the solver precision from Single to Double.



Depending upon the quality of the initial solution, the density of the mesh (number of nodes) and the complexity of the underlying flow field, a few hundred to a few thousand iterations are typically required to reach convergence. The iterative process is stopped once the convergence criterion is reached over the entire domain or the maximum number of iterations is exceeded on the finest grid level (000).
The ability to select Minimum output offers the possibility to minimize the size of the solution files. In this case, the flow solution is stored only once the iterative process is finished, and limited information is provided during the intermediate storage. This limited information allows the user to perform a restart procedure from an existing flow solution, but cannot be visualized within CFView™.
Static memory allocation is enabled inside the flow solver. An estimation of the memory required to run and save the flow solution is calculated and proposed as a default. However, in some circumstances, the estimation may be too low and it is then required to manually increase the number of reals or integers necessary to drive the solution to success. In that case, click Set the requested memory and increase the inputs accordingly.

Save Project & Start Calculation
126. Open the File menu and Save the project.
The project parameters are stored in the *.iec file. This file includes the entire set of parameters required to reproduce the project, excluding the mesh.
127. Press the  icon and click Start Flow Solver in the dialog box to start the calculation: a task manager window will appear.


The calculation will start in serial mode (1 processor) on the local machine. FINE™  includes multi-processor capabilities and the ability to manage computations through a task manager and/or in batch mode. More details can be found in the FINE™  User Guide.
Follow Convergence Steering
128. Double left-click Convergence History.



The evolution of averaged residuals on the entire domain can be observed during the convergence process. Similarly, the evolution of the mass flow balance (in/ out) and/ or global quantities (isentropic efficiency, torque and axial thrust on solid walls selected in the boundary conditions page, pressure ration) can be displayed.
Local and global quantities may also be added for follow-up during the convergence process. However, their representation in the graphical area will only be effective once they are added in the Selected Variables list, see FINE™ User Guide.
The examination of residuals per block and/or for a given primitive variable can be achieved accessing the monitorTurbo tool. The tool is included in the FINE™ package and can be accessed through the adequate command line. More details can be found in the FINE™  User Guide.

129. Once the calculation has converged or reaches the maximum number of iterations allowed on the current grid level, the flow solver stops.
130. The final solution is then stored in the solution file (*.cgns) and the task manager window is closed.
To check the convergence of the computation, NUMECA recommends observing the evolution of multiple criteria including (a) an adequate decrease in residuals (minimum 3 orders of magnitude); (b) complete stabilization of global performances; (c) stabilization of mass flow in/out, with satisfactory correspondence (usually less than 0.5% difference between in/out).
Now that the iterative process is over, click here to start the visualization of the solution within the post-treatment tool CFView™  integrated in FINE™/Turbo.

Tutorial 4: Mesh Generation

Create Mesh Project

Load Geometry

Mesh Wizard

Mesh Visualization

Check Boundary Conditions & Mesh Quality

Save Project


The AutoGrid5™ graphical user interface includes several windows that enable the simultaneous visualization of the geometry and the mesh of the turbomachine in the meridional, blade-to-blade and 3D views. The access to main menu and controls is provided through a menu bar and a quick access pad, and is completed with a tool/icon bar. The execution of the different actions undertaken is summarized in the message box at the bottom of the interface.


A step by step approach is provided in the following lines. It aims at driving you through various steps that need to be executed from the creation of the mesh project to the validation of the final mesh quality.
Create Mesh Project
1.  Select Basic Mode if necessary in the toolbar.



The Basic Mode will give access to a simplified graphical user interface. For most projects the available parameters in the Basic Mode are sufficient.
2.  Close the Open Turbo Project Wizard dialog box.
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with associated grid) including the data required to regenerate a mesh on an identical or similar geometry. In this tutorial, these data will be progressively introduced based on the geometry of the project case.
3.  Go to File -> New Project.
4.  Click yes to close the active project.
5.  Choose Initialize a New Project from a geomTurbo File.


Load Geometry
6.  Locate and select "stay.geomTurbo" (geometry defined in [Millimeter]) in the dialog box and click Open (Where to Find the Files Used in the Tutorials?); Accept the warning message concerning the discontinuity at the hub. 

The ".geomTurbo" file format is structured in three main blocks: the header, the channel and the row definitions.
The channel format contains the definition of the turbomachinery meridional contour (hub, shroud). It is composed by curves defined by a set of points. The ".geomTurbo" file must contain two channel curves named respectively "hub" and "shroud".
The row definition contains the geometry of a complete row. It is defined by a row name, a row type, a periodicity and the definition of the main blade and possibly the splitter(s). The blade and splitter are defined by the pressure and the suction side surfaces identified by the keywords "pressure" and "suction". Both surfaces are specified by a set of cross sections of the blade at several spanwise location from hub to shroud. Each section is defined by a set of points from leading to trailing edge.

Accept the message concerning the discontinuity at the hub 
7.  Click Add Row.
8.  Go to row 2 > Blades > Main Blade, left-click Main Blade.
9. Right-click to access the contextual menu and select Define Geometry.


10. Locate and select "guide.geomTurbo" (geometry defined in [Millimeter]) in the dialog box and click Open.
11. Repeat step 7 to step 10 to import "run.geomTurbo" for row 3.
The three elements are displayed in the meridional view corresponding to the three parts of the turbine. The location of the rotor/stator mixing plane is automatically defined by AutoGrid5™. The default location is set at the average meridional location between the downstream trailing edge and the upstream leading edge.


12. Move outlet position :

Left-click on the outlet line and left-click on the bottom point. Move it on the corner of the hub and left-click to place it.
Right-click on the point above, point location box appears. Set the R= <40> < Enter>.
Repeat this action for other points with following location :    

13. Set geometry units:

Go to Geometry Definition -> Units.
Change the units to Millimeters.

The "units" of the imported geometry must be changed to impose a scaling factor and a corresponding tolerance that will ensure correct treatment during the grid generation when computing, for example, the intersection. Unless it is necessary to change this, we recommend keeping the default settings (Scale Factor set to 1).


Mesh Wizard
14. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current row, if not done already.
15. Left-click Row Wizard in the toolbar.



The row wizard is also available in Expert Mode under Mesh Control subpad in the QAP.



16. Click yes to start the wizard and to reset the mesh generation parameters.

The reset will keep the modifications performed by the user in the Row Wizard but will reset the parameters modified in Expert Mode  to the default value.
The wizard is divided in 6 steps:

the geometry check (optional),
the machine characteristics definition,
the gap and fillet definition,
the flow path definition,
the blade-to-blade mesh definition,
the end of the initialization.


17. Click yes to confirm the geometry check (step 1).
During the geometry check of a blade, AutoGrid5™  performs the following operations: check blade definition, check orientation of the blade section curves, detect loop detection into the blade section curves and between the blade sections. More details can be found in the AutoGrid5™  User Guide.
18. Click Next in the dialog box to define the machine characteristics (step 2).


19. Select Francis Turbine as Row type in the Blade row type dialog box.
20. Enter the Periodicity (number of blades) if necessary. Left-click inside the string input area and type <24>, press <Enter> to confirm.
21. Select Stator.


22. Click Next in the dialog box to start the gap and fillet definition (step 3).
23. Keep all data unchanged (no gap or fillet).
24. Click Next>> in the dialog box to start the flow path definition (step 4).
25. Set Spanwise Grid Point Number to <57> <Enter> (corresponding to the flow paths number) in the Layer Control dialog box.
When increasing or decreasing the number of flow paths, the number of flow paths in the gaps and fillets is automatically together with the percentage of constant cells, leading to an increase or decrease of the spanwise expansion ratio.
26. Estimate the width of the first cell at the wall:

The width of the first cell close to the wall must be selected with care since the quality of the flow solution will often depend upon the capture of the flow phenomena inside the boundary layers which develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends to locate the nearest grid point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must be modeled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven by the Blasius equation, expressed as follows for turbulent flows:




where:

ywall is the distance of the nearest grid point to the wall (in meter);
Vref is a reference velocity of the flow, for instance, the inlet velocity (in m/s);
ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
Lref is a reference length of the test case (in meter);
y+ is a non-dimensional value.


In the present case, one can estimate that Vref=1.096 m/s, Lref=0.12m and ν=1.01e-6 m2/s. Assuming one wishes to get y+ =1 at the wall, it turns out that y = 2e-5 m.
Input the value of the Wall Cell Width = <0.02> [Millimeters] <Enter> in the Layer Control dialog box.


27. Click Next>> in the dialog box to start the blade-to-blade mesh definition (step 5).
28. Set the Number of Points (of the 3D mesh) around 500,000 by clicking the << or >> button in the B2B Control dialog box.


29. Click Preview B2B to plot the blade-to-blade mesh at mid-span: default O4H topology is used with additional upstream/downstream H-blocks.

The Full Visibility option allows the user to see the mesh moving in the blade-to-blade view when applying the optimization steps.






The default O4H topology includes 5 blocks:

the skin block is an O-mesh surrounding the blade;
the inlet block is a H-mesh located upstream the leading edge;
the outlet block is a H-mesh located downstream the trailing edge;
the up block is a H-mesh located above the blade section;
the down block is a H-mesh located under the blade section.


30. Select Skewness or Expansion Ratio to plot the orthogonality or expansion ratio field of the blade-to-blade mesh at mid-span.




31. Click Finish to end the initialization process (step 6).
32. Click no in order to set row 2 and row 3 before making the complete 3D Mesh Generation.


33. Define row 2 periodicity:

Double left-click row 2 in meridional view.
Impose a Periodicity of <24><Enter>.
Impose a Rotation Speedof <0><Enter>.
Close dialog box.

34. Copy the settings of row 1 to row 2:

Left-click Row Definition -> Row List -> row 1.
Click Copy Row Wizard Settings in the toolbar ().
Left-click Row Definition -> Row List -> row 2.
Click Paste Row Wizard Settings in the toolbar ().

This copy/paste option is very useful to easily impose the same wizard settings for multiple rows in a multi-stage configuration.
35. Repeat step 14 to step 32 for row 3 with the following parameters:

Francis Turbine as Row type, Periodicity=<13>, Rotor, Rotation speed (rpm)=<-500>.
Spanwise Grid Point Number = <57>, Wall Cell Width = <0.02> [Millimeters].
Set Number of Points  around 600,000. 

36. Under Row Definition, left-click Select All Rows.


37. Click Generate 3D in the toolbar.

Click no to check the blade-to-blade mesh quality at hub and/or shroud before generating the 3D mesh.
Go to Row Definition and click Select All Rows to select all rows. Go to Mesh Control -> Active B2B Layer to specify the flow path (layer) on which the mesh will be plotted in the blade-to-blade view. By default, the active view is located at the mid-span of the machine (Active Layer (%span) set to 50). The layer selected for visualization is defined in percentage of span, going from hub (0%) to shroud (100%). Enter <0> <Enter> or <100> <Enter> in order to visualize the mesh at hub or shroud respectively.


Select Update B2B View to regenerate the blade-to-blade mesh on the new specified layer in the blade-to-blade view.


A detailed analysis of mesh quality can be performed on a blade-to-blade mesh after generation. Information on orthogonality, aspect ratio and expansion ratio can be outlined in this window by clicking  :

Select quality criteria using the Type pull-down menu.
Left-click Show chart to visualize the distribution of selected criteria in the form of a histogram. The histogram is drawn for each row.
Left-click part of the histogram to plot the concerned cells in blade-to-blade view or select Display all cells to have an overview of the mesh quality.
Left-click More info button to obtain information about minimum and maximum values of the selected criteria.
Close the quality checkbox.



After performing the blade-to-blade mesh quality check, the 3D mesh generation can be started by clicking Row Definition -> Select All Rows and then clicking the Generate 3D button.



Once 3D grid generation is completed, a grid quality check is performed and displayed. Minimum cell skewness, maximum expansion ratio and aspect ratio are reported, among others. Data is available for the entire mesh and separately for each entity (row, technological effect, bulb). Data related to grid quality report is automatically stored in a report file, once the project file is saved.
38. Close the dialog box. The page can be reopened by clicking .
39. To improve the aspect ratio too high in the bulb area:

Select Expert Mode.
Click Outlet Bulb Topology Control in the toolbar.





In the Outlet Bulb Mesh Topology dialog box, left-click on the bulb streamwise control and type <45>, press <Enter> to confirm.
Select Basic Mode.
Left-click Row Definition -> row 3 in the QAP to activate the current row, if not done already.
Click Generate 3D in the toolbar.

Mesh Visualization
40. Select the View -> View 3D Solid Mesh menu.
41. Left-click the View 3D button in the toolbar to visualize only the 3D view.


By default, the 3D solid mesh is plotted on hub and blades. To remove the plot, select View -> Hide 3D Solid Mesh.
42. Use the Repetition icon () to toggle the repetition of the channel.


43. Use the View menu in the QAP to toggle edge, mesh and/or solid shading.






Check Boundary Conditions & Mesh Quality


44. Check for boundary conditions by clicking .
45. Select UND under Type pull-down menu and press <Enter> to check that there are no patches in the patch list still set to an undefined type.

It is important to ensure that no undefined patches (UND) are present in the mesh. If this is not the case, they can usually be removed by increasing the tolerance and launching the Search procedure.


In a multi-stage context, interfaces between rotating and non-rotating rows are set to ROT.

46. Close the dialog box.
47. Left-click in the 3D view to activate the view (red border), if not done already.
48. Check for negative cells by clicking .


49. Click Apply.

The computation of the negative volumes is performed first. Negative cells can be outlined in the mesh pushing View neg cells  button. Beware that the visualization of negative cells can be memory consuming when a large number of cells must be displayed. It is then advised to first check the number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.

50. Click ok and Close the dialog box.
51. Left-click in the 3D view to activate the view (red border), if not done already.
52. Check for grid quality by clicking .
A detailed analysis of the mesh quality on a 3D mesh can only be performed once the 3D mesh has been generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell width can be outlined in this window using the Type pull-down menu.
53. Select block number (0 for all) - <Enter>.
54. Select quality criteria using the Type pull-down menu.


55. Left-click Show chart to visualize the distribution of selected criteria in the form of a histogram. The histogram is drawn per block (0 = all blocks).


56. Left-click part of the histogram to plot the concerned cells in the 3D view.
57. Left-click the More info button to obtain information regarding minimum and maximum values of the selected criteria and block.


58. Close the dialog box.
Save Project
59. Go to File -> Save Project As <tutorial4> and press <Enter> to save the mesh and template files in the "_mesh" subfolder. 

The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the boundary condition types: ".bcs", ".cgns", ".geom" (".xmt_txt"), ".igg", ".config" and ".qualityReport". The meaning of these files is detailed in the User Guide.
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh with AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these files is detailed in the User Guide.

Now that the mesh is saved, click here to set up the computation in FINE™/Turbo interface!

TUTORIAL 4. Hydraulic Turbine Francis

NUMECA Software

Prerequisites

Problem Description

Preparation


NUMECA Software
The resolution of computational fluid dynamics (CFD) problems involves three main steps:

spatial discretization of the flow equations,
flow computation,
visualization of the results.


To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal and Turbomachinery assimilations called FINE™/Turbo. The environment integrates the following tools:

IGG™  is an Interactive Geometry modeler and Grid generator, based on structured multi-block techniques.
AutoGrid5™  is a three-dimensional Automated Grid generation software tool, dedicated to turbomachinery applications. Similarly to IGG™, it is based on structured multi-block techniques.
Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes equations in the laminar, transitional and turbulent regimes.
CFView™  is a highly interactive flow visualization and post-treatment software tool.
FINE™  Graphical User Interface is a user-friendly environment that includes the different software. It integrates the concept of projects and allows the user to achieve complete simulations, going from the grid generation to flow visualization, without the need of file manipulation. 

A turbomachine is a device in which the energy is transferred either to or from a continuously flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in particular in aircraft, marine, space (liquid rockets) and land propulsion systems but also in hydraulic, gas and steam turbine applications. It is also used in industrial pipeline and processing equipment such as gas, petroleum and water pumping plants. Other applications can be related to heart-assist pumps, industrial compressors and refrigeration plants, and more.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is composed of several basic elements including the blade (also called vane if it is non-rotating), hub, and shroud. Several technological effects involving clearances, seal leakages and cooling holes among others can complete the machine. Due to the complexity of the blade shapes, the presence of technological elements and the rotation of machine, the nature of the flow is strongly three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the simulation of a hydraulic turbine. It makes use of FINE™/Turbo and describes how to deal with the specific options implemented in FINE™  environment. In this tutorial you will learn how to:

define multi-rows;
generate and optimize the blade-to-blade mesh;
check for mesh quality;
manage fluid database;
manage preconditioning parameters;
model rotor-stator interface using mixing plane approach;
set up boundary and initial conditions;
numerical process management;
select adequate outputs;
control calculation process;
check for convergence;
visualize and analyze results.

Prerequisites
This tutorial does not require any prior experience with the menu structure in FINE™/Turbo.
Problem Description
The problem considers a Francis hydraulic turbine with a medium/high specific speed. It has been designed at IMHEF for an experimental research study in the hydraulic laboratory. The model has been used as a test case in the 1989 GAMM workshop.


The spiral casing of the GAMM turbine has been designed to ensure a constant meridional velocity distribution. Fillets have been added on both sides of the distributor inlet in order to achieve well-defined inlet conditions. The distributor consists of 24 stay vanes and 24 guide vanes. The runner includes 13 blades, with an external diameter of 0.4 m.
Preparation

Start FINE™/Turbo v13.1:

For Linux systems, you can access the FINE™/Turbo graphical user interface directly with the following command line:fine -niversion 131 -print


For WINDOWS systems, you can access FINE™/Turbo graphical user interface from the start menu by going to /Programs/NUMECA software/Fine131/FINE.





Click the Create a New Project icon to create a new project.




Select your directory of choice to store the project.
Enter the project name in the dialog box as <Tutorial4> <Enter>.
Click on Create Grid File to access the interactive geometry modeler and grid generator IGG™.




Access the menu Modules, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.



You are now ready to start the grid generation process and mesh the FRANCIS TURBINE configuration! Click here to start the mesh generation...

Tutorial 4: Post Processing

Select Surfaces

Select Quantity

Select Representation

Blade-to-Blade View

Turbomachinery Mode


The iterative process is now over and the flow solution is stored in the ".cgns" file. The number of nodes in a typical mesh usually ranges from few hundred thousand to several million, which makes visualization delicate in most cases. As part of the FINE™  environment, NUMECA proposes the use of the home-made visualization and post-treatment tool CFView™. CFView™ is entirely integrated in the environment and includes numerous tools which are particularly best suited for the analysis of turbomachinery configurations.
Access to CFView™  from the FINE™  graphical user interface is provided through the Modules/CFView...menu, or alternatively by pressing the  icon.
A step by step approach is provided in the following lines. It aims at driving you through the various steps that need to be executed from reading the solution to the extraction of the main results. CFView™  automatically opens the ".run" file associated with the active computation.


After running turbomachinery computation and assuming some variables have been selected in the Azimuthal Averaged Variables section of the FINE™  graphical user interface output page, CFView™  proposes the user to open the azimuthal averaged solution first. Otherwise, the full 3D solution will be opened.
131. Activate View the azimuthal averaged solution.
132. Left-click Start CFView.
You will now enter CFView™  !


Select Surfaces
133. Left-click "domain1" and "domain14" while holding <Shift> in the Surfaces area, then right-click and choose Select in the pop-up menu to activate "domain1" to "domain14".


Select Quantity
134. Go to the Quantity menu.
135. Enter the Field Data -> Basic Quantities sub-menu.
136. Select quantity Wxyz.


All quantities selected in the FINE™  graphical user interface are transferred to CFView™. However, additional derived output can be accessed directly from the visualization and post-treatment tool, including vector components, gradients, divergence and curl of selected quantities. New quantities, defined as an arithmetic combination of existing quantities possibly combined with regular operations (trigonometric functions, logarithmic functions,...) can furthermore be created.
Select Representation
137. Access the Representation menu.
138. Select Vector Type... .
139. Activate Color Uniform.


140. Click Apply and Close the dialog box.
Once the candidate quantity for visualization is selected, the user must choose a representation mode. Representation is typically executed in the form of color contours (smoothed or stripped) and/or isolines. CFView™  also includes the possibility to investigate the flow field locally ("local value") and create 1D Cartesian plots. Advanced capabilities involving curve and/or surface integration can also be accessed. More details can be found in the CFView™ User Guide.
141. Select Vector On Grid Nodes ... in the Representation menu.
142. Adapt Step in the respective I and J directions at <3> and <2>.
143. Click Apply and Close the dialog box.


CFView™  offers the possibility to superpose representation modes. In the present case, the color contour of the relative velocity magnitude will be superposed to the relative velocity vector field in order to clearly identify the acceleration of the flow at the bend.
144. Go to Quantity -> Field Data -> Vector Components -> Wxyz sub-menu.
145. Select Magnitude of Wxyz to add the relative velocity magnitude to the list of available quantities.
146. Open the Representation menu.
147. Select Color Contour -> Smooth.


148. Go to the Representation menu.
149. Select Cartesian Plot -> Along Section.
150. Left-click and drag in the graphics area to select the first and second point of the section.


151. Left-click on the Cartesian plot window to activate it (red border).
152. Right-click and select Show H Grid Lines.
153. Right-click and select Show V Grid Lines.


It can happen that two other curves appear in the Cartesian plot with a Magnitude of Wxyz of 0 all over the Arc length. They can be deleted by left-clicking the curve in the Cartesian plot and selecting Delete after right-clicking the selected curve.
154. Left-click the curve.
155. Right-click and select Curve Type.
156. Change Thickness from 2 to <1>.
157. Go to the Marker tab.
158. Change Symbol to Circle (if needed).
159. Change Size from 0.4 to <0.3>.
160. Change color to red.
161. Click Apply.
 
162. Left-click the Close button.
163. Left-click anywhere inside the Cartesian plot window.
164. Go to the View menu.
165. Select Maximize.


CFView™  offers the possibility to create and arrange Cartesian plots in different manners, with numerous options related to the type, thickness and colors of the lines and symbols. The manipulations are done interactively, mainly with the help of contextual menus. In addition, CFView™  includes a powerful project and windows based management, giving the user the possibility to open multiple projects and manage several windows simultaneously. More details can be found in the CFView™  User Guide.
3D Analysis
In the previous section, attention has been focused on the management and creation of plots in the meridional plane, by means of the azimuthal averaged view. The creation of 3D plots is based on the same concept of quantity selection and representation explained in the above sections. However, since the plane of drawing is no longer two-dimensional, there is a need to select and/or create a surface for representation first.
166. Go to the File menu.
167. Select Quit CFView to quit CFView™  and choose yes to confirm.
168. Access CFView™  again from the FINE™  GUI by pressing the  icon.
169. Deactivate View the azimuthal averaged solution.
170. Click Start CFView.


You will now enter 3D analysis mode in CFView™  !


171. Access the Geometry menu.
172. Select Boundary to deactivate boundary representation.
Boundary activation/deactivation is used as a toggle and acts on all selected surfaces. Fast access is ensured using the binding key <b>.
173. Double left-click on check boxes of the groups  "row1_shroud", "row2_shroud", "row3_shroud_(r.p.m.-500)" inside the Surfaces area to deactivate the set of patches that define the shroud entity. Groups "row1_hub_(r.p.m.0)", "row1_blade", "row2_hub_(r.p.m.0)", "row2_blade", "row3_hub_(r.p.m.-500)", "row3_blade_(r.p.m.-500)" are the only entities that remain active at this moment.

Selection of surfaces for representation is controlled through the Surfaces area. Alternatively, identical operations can be executed from the Geometry menu.
Patches flagged as solids are selected as the default surfaces for representation. Groups created in the boundary condition area inside FINE™  are transferred directly to CFView™, so that the selection of surface entities can be performed just in a few clicks.


Fast selection of a group of surfaces in a large list including numerous surfaces, which are partly checked/unchecked, can be done by first left-clicking (combined with <Ctrl> or <Shift> for multiple surfaces) on the target surface(s) desired for representation, followed by a right-click to get the contextual menu and choosing Select.



174. Go to the Geometry menu.
175. Select Boundary again to activate boundary representation on active surfaces.
176. Go to the Geometry menu once more.
177. Select Grid to display the surface mesh on active surfaces.
Fast access to mesh representation is ensured using the binding key <g>.
178. Access the Render menu.
179. Select Shading -> Gouraud to shade active surfaces.


180. Make use of the Viewing buttons to modify the representation mode and locate the Francis turbine to outline the blades and hub in a clear way.


181. Press the binding key <g> to deactivate the mesh on active surfaces.
182. Go to the Geometry menu.
183. Select Repetition Number.
184. Activate Max to set the maximum number of repetitions for all rows.


185. Click on Apply.
186. Open the Geometry menu.
187. Select Repetition on/off.


188. Go to the File menu.
189. Select Print ... .
Pictures can be printed in different formats, either on the active or graphics windows. Information can be introduced in a banner. Options related to picture definition can also be modified.
190. Select Active View.
191. Set banner to <FRANCIS TURBINE> and press <Enter>.
192. Set the format to PNG.


193. Click OK.
194. Set the picture name and appropriate location.
195. Click Save.

The selection of Graphics Windows is recommended to insert several pictures in a unique file, as they appear on the graphical window (WYSIWYG = what you see is what you get mode). 
The ".png" format is often the preferred choice for printing.

196. Go to Update -> Delete -> All.
197. Go to Geometry -> Repetition on/off.
198. Click the  icon to fit the geometry.
199. Select Quantity -> Solid Data -> y+.
200. Select Representation -> Color Contour -> Strip.
201. Select Representation -> Scalar Range -> Colormap Optimum Range to automatically adapt the range to the selected surfaces (hub and blades).

The parietal coordinate y+ is now enabled on active surfaces (hub and blade). 
The range of representation has been adapted automatically to variations on the selected surfaces, so as to outline details as effectively as possible.

202. Make use of the Viewing buttons to modify the representation mode and find a suitable viewpoint.


203. Access the Representation menu.
204. Select Isolines -> Isolines....
205. Activate increment mode.
206. Change Value to <1> <Enter>.
207. Activate Color: Uniform.
208. Click Apply button.


209. Close the dialog box.
Gradients are clearly observed near the leading and trailing edge of the blades, consequently locally driving y+ values up to about 12. However, the calculation is on grid level 111 and it is expected that a calculation on the finest available mesh (level 000) will reduce y+ by about a factor 2. This 
allows the main characteristics of the flow to be outlined in a clear and elegant manner
Blade-to-Blade View
210. Go to Update -> Delete -> All.
211. Go to Representation -> Colormap to remove the colormap.
212. Open the Render menu.
213. Select Shading -> Gouraud.
214. Go to the Geometry menu.
215. Select Blade to Blade Surface ... .
216. Set Surface type to Blade to blade.
217. Set S to <0.5> and press <Enter> (section located 50% spanwise).
218. Click the Apply button.


219. Click the Save button.
220. Click Close to quit the dialog box.

CFView™  integrates the possibility to create cuts at constant spanwise position (also called "blade-to-blade" planes). This capability is especially useful when the endwalls are not planar. The surface for representation at constant spanwise position is then created based on linear interpolation between the endwalls. 
Pressing the Save button in the dialog box creates an additional surface for representation in the Surfaces area, enabling quantity selection and representation as discussed in the previous sections.

221. Select the surface "CUT1"  inside the Surfaces area and right-click to access the contextual menu.
222. Choose Select in order to select "CUT1" as the only active surface for representation.


223. Go to the Quantity menu.
224. Select Field Data -> Basic Quantities -> Absolute Total Pressure.
225. Open the Representation menu.
226. Select Color Contour -> Smooth.
227. Open the Representation menu again.
228. Select Scalar Range -> Colormap Optimum Range.
Colormap Optimum Range restricts the bounds of the colormap to those related to active surfaces instead of the complete 3D domain. 
This capability is useful to outline a number of details in a clearer manner. It can also be accessed by pressing the  icon.
229. Left-click the colormap.
230. Right-click and select Move or Resize.


231. Drag and drop the colormap to an appropriate location.
232. Move the mouse to a corner of the colormap to adjust the size.
It is advised to put the colormap at a location where it does not interfere with the representation, to avoid any difficulty in the interpretation of the results.
233. Left-click the colormap.
234. Right-click and select Smooth Only.


Turbomachinery Mode
235. Open the File menu.
236. Select Turbomachinery.
237. Choose Load Flow Solver Pitch Average under Meridional Average.
238. Click Ok.



You have now entered the Turbomachinery mode! It gives simultaneous access to meridional, meridional average, blade-to-blade and 3D views.
Actions required for surface representation, quantity selection and representation apply similarly to those described in the previous sections. More details can be found in the CFView™  User Guide.

Tutorial 9: Flow Settings

Link Mesh & Project

Manage Computations

Set Flow Configuration

Set Boundary Conditions

Set Numerical Model

Set Initial Conditions

Select Outputs

Control Computation Steering

Save Project & Start Calculation

Follow Convergence Steering


The mesh generation process is now completed and one can now come back to FINE™  graphical user interface in order to set the various flow settings required before the calculation can start. The access to the main menu and controls is proposed through a menu bar and a left-tree, and is completed with an icon bar.


Access to FINE™  graphical user interface from the AutoGrid5™  window is proposed through the Modules/Fine Turbo menu and confirm (yes) to enter FINE™  GUI. You're now back to FINE™  graphical user interface!


A step by step approach is proposed in the following lines. It aims at driving you through the various steps that need to be executed from mesh linking to the execution of the calculation.
Link Mesh & Project
57. Click the icon  and link the mesh "Tutorial9.igg" in "_mesh" folder with the project.


 The user may be prompted a warning message concerning the solver precision; accept this message. The change of the solver precision is detailed in step 119.

58. Define grid units in Inches as the geometrical data inserted in the "Tutorial9.geomTurbo" file are expressed in inches.
59. Select a Cylindrical and 3 Dimensions configuration.
60. Click OK to close the dialog box.


Manage Computations
61. Rename the default computation "computation_1" as <SA_rank1> in the Computations area, so as to indicate that the calculation will  use the Spalart-Allmaras turbulence model and rank1 NLH method. This can be achieved by clicking left on Rename button, drag and modify the "computation_1" as <SA_rank1>.


Similar operations could be executed using the New Computation or Remove buttons, respectively to create a new computation or remove one.
Set Flow Configuration
62. Go to the tree in the left menu and double left-click on the Configuration menu.


Three sub-menus related to the definition of the working fluid, main flow characteristics and rotating machinery definition can then be accessed.
63. Double left-click on Fluid Model to access the fluid database.
64. Select AIR(Perfect) as a working fluid.



The fluid database includes a number of pre-defined fluids, covering various approximations in fluid definition such as perfect gas, ideal (real) gas, incompressible fluids and fluids defined as a set of thermodynamic tables (optional, subjected to a separate license key).
A default fluid database is provided by FINE™/Turbo. The user is also able to create and modify his/ her own fluids and/or use fluids created by others. More details about these functions are available in the FINE™  User Guide.

65. Double left-click on Flow Model to set the flow characteristics.
66. Select Harmonic to indicate that a Non-Linear Harmonic solution is of interest. Keep the default configuration Basic.

The Harmonic method, introduced by He and Ning (1998), can be considered as a hybrid method conjugating the advantages of classical steady state and full unsteady calculations: it provides an approximate unsteady solution at affordable calculation costs.
The main idea is that the flow perturbations that make the flow unsteady are written about a time-averaged value of the flow and are Fourier decomposed in time. Casting the unsteady Navier-Stokes system into the frequency domain, transport equations are obtained for each time frequency. The user controls the accuracy of the unsteady solution through the order of the Fourier series.
FINE™/Turbo provides several NLH methods:

Basic: The basic harmonic method is a rank-1 method, which considers only the perturbation from the adjacent relative rotating rows of the reference row.
Clocking: The clocking harmonic method is a simplified rank-2 method, which considers the perturbation from the adjacent rotating rows of the reference row and also simulates the rotor/rotor and stator/stator interaction in a multi-row turbomachine.
Multi-rank: The multi-rank harmonic method is a generalized harmonic method, which considers not only the perturbation from the adjacent successive N rows of the reference row, but also the interaction of harmonics between the adjacent successive N rows. 


67. Select Turbulent Navier-Stokes as the mathematical model.
68. Select Spalart-Allmaras as the turbulence model of choice.


A number of turbulence models can be accessed through the interface. They require the additional resolution of 0-equation to 4-equations, depending upon the model selected. Some of these models do need a fine resolution near the wall (y+ ranging from 1 to 5), while others use the log-law concept and can mimic the logarithmic law. More details can be found in the FINE™  User Guide.
69. Set Reynolds Number Related Info:

Set the Characteristic Length = <0.07> < Enter>,
Set the Characteristic Velocity = <60> < Enter>,
Keep the Characteristic Density = <1.2> < Enter>.


Characteristic variables (length, velocity, density) are required to estimate the Reynolds number. This number is used at a few locations inside the flow solver, in particular inside the damping functions related to the modeling of turbulence down to the walls.
The impact of the characteristic variables on the flow solution is very limited, but it is advised to select values in accordance with characteristic quantities of the geometrical domain and flow conditions. As an example, the characteristic length may be defined by a reference diameter or length at inlet and/or outlet of the computational domain, and/or the chord of the blade (if any). The characteristic velocity may be set to the averaged inlet velocity. The characteristic density is fixed as the average (molecular) fluid density.

70. Double left-click on Rotating Machinery to set the rotating machinery definition.
71. Left-click on row 1 .
72. Check that the Rotational Speed = <0.0>.


73. Left-click on row 2.
74. Check that the Rotational Speed = <8283.0>.
75. Left-click on row 3.
76. Check that the Rotational Speed = <0.0>.
77. Left-click on row 4.
78. Check that the Rotational Speed = <8283.0>.

In the cylindrical mode, the flow solver resolves the equations by default in a relative frame of reference. As a consequence, the mesh attached to the blade is rotating at the same speed as the blade, as far as no rotor-stator interaction is concerned. The rotation speed has been introduced in AutoGrid5™ and transferred to FINE™/Turbo GUI, limiting user interventions in the graphical user interface.
For rotating machinery projects, the axis of rotation must be aligned along axis Z. In addition, a unique rotation speed must be considered for the entire computational domain.

79. Left-click on the Rotor-Stator tab to set the rotor-stator interface parameters.
A separate ID is allocated to each rotor-stator interface, based on data included in AutoGrid5™. Each interface is defined with 2 patches, located upstream and downstream of the rotor-stator interface. The definition of IDs and allocation of upstream/downstream sides are performed automatically in FINE™/Turbo GUI.
80. Check the parameters of the patch outlet_id_10:

left-click on outlet_id_10.
keep the method to Full Non Matching (Non Reflecting).
keep ID Number to <10>.
keep Upstream for Side.
keep Zero Order for Extrapolation



81. Check the parameters of the patch outlet_id_20:

left-click on outlet_id_20.
keep the method to Full Non Matching (Non Reflecting).
keep ID Number to <20>.
keep Upstream for Side.
keep Zero Order for Extrapolation.

82. Check the parameters of the patch outlet_id_30:

left-click on outlet_id_30.
keep the method to Full Non Matching (Non Reflecting).
keep ID Number to <30>.
keep Upstream for Side.
keep Zero Order for Extrapolation.

83. Check the parameters of the patch inlet_id_10:

left-click on inlet_id_10.
keep the method to Full Non Matching (Non Reflecting).
keep ID Number to <10>.
keep Downstream for Side.
keep Zero Order for Extrapolation.

84. Check the parameters of the patch inlet_id_20:

left-click on inlet_id_20.
keep the method to Full Non Matching (Non Reflecting).
keep ID Number to <20>.
keep Downstream for Side.
keep Zero Order for Extrapolation.

85. Check the parameters of the patch inlet_id_30:

left-click on inlet_id_30.
keep the method to Full Non Matching (Non Reflecting).
keep ID Number to <30>.
keep Downstream for Side.
keep Zero Order for Extrapolation.

In case of NLH computations, the type of rotor/stator treatment (Full Non Matching Non Reflecting) is automatically selected.
Set Boundary Conditions
86. Go to the tree in the QAP and double left-click on Boundary Conditions.

During the grid generation process, AutoGrid5™  defines the type of the boundary conditions to be applied on each block face. The most common types are INLET, OUTLET, PERIODIC and SOLID boundary conditions.
PERIODIC boundary conditions are set automatically by the flow solver and must not be modified by the user.
It is important to confirm each entry by pressing the  <Enter> key.

87. Go to Mesh -> View On/Off to load the mesh in FINE™/Turbo GUI.

This toggle menu is used to visualize the grid in FINE™. The parameters area will be overlapped by a graphics window, and the small control button on the upper-left corner of the graphics window can be used to resize the graphics area in order to visualize the parameters and the mesh simultaneously.
The selection of patches in the left column outlines the corresponding patch in the graphics area, thus enabling a fast and easy visualization of the boundary conditions.

88. Go to the INLET tab:

Select Total Quantities Imposed,
Select Angle from Axial Direction (Vz extrapolated),
Set arctg(Vr/V) = <0> <Enter>,
Set arctg(Vt/V) = <0><Enter>,
Set Absolute Total Pressure = <344740> <Enter>,
Set Absolute Total Temperature = <709> <Enter>,
Choose Turbulent Viscosity as the Turbulent Quantities and set Turbulence Viscosity to <0.0001> <Enter>.

89. Go to the OUTLET tab:

Select Pressure Imposed,
Select Averaged Static Pressure (related patches must be grouped)
Set Static Pressure = <52000> <Enter>.

An averaged static pressure of 52,000 Pa is fixed at the exit boundary of the computational domain. Based on this data, at each iteration, the flow solver keeps the distribution of static pressure at the exit and moves it to respect the averaged   static pressure imposed.
90. Go to the SOLID tab.
91. Keep the default settings for all the groups.
For each row, patches including the keyword "hub" are by default collected in a unique group named as "row*_hub". Patches including the keyword "shroud" are grouped in "row*_shroud". Finally, patches of the blade are grouped in "row*_blade". If the part of the row is rotating, the suffix "_(r.p.m. rot_speed)" is added to the group name. The presence of a tip gap is automatically taken into account in the blade group, thus minimizing user intervention in the definition of the boundary conditions. For a rotor, which is defined in AutoGrid5™, it is assumed that the hub and the blade are fully rotating. The rotation speed takes the value introduced during the mesh generation process. The shroud is assumed to be a fixed entity, with no rotation speed assigned.

The rotation speed is usually considered as a constant for the entire patch (group). However, FINE™ integrates the possibility to define that only part of a patch is rotating (e.g. part of the hub) by using Area Defined Rotation Speed.
The convergence of both axial thrust and torque can be monitored in the computational steering window, to make sure that both quantities have reached stable values at the end of the convergence process. Both values are also available from the *.mf file located in the computation directory. The torque can also be used for the calculation of the efficiency of the machine. It is common practice to enable force and torque calculation on rotating patches only.



92. Go to Mesh -> View On/Off to toggle off mesh visualization, if needed.
Set Numerical Model
93. Go to the tree in the QAP and double left-click on the Numerical Model menu.


This menu gives access to the most frequently used numerical parameters, including the Courant Fredericks Lewy (CFL) number and the selection of the grid level on which the simulation will apply. It is important to confirm each entry by pressing the <Enter> key.
94. Keep CFL unchanged to 3.

The CFL number drives the pseudo-time step selected to reach a steady state solution using the time-marching method integrated in the flow solver. In combination with the 4-steps Runge-Kutta integration scheme included in the flow solver, it has a theoretical stability limit close to 2.8. However, the additional implicit smoothing scheme can increase this value slightly, which justifies the default value of 3.
The default value for CFL number is adequate in most cases, but can be decreased in some circumstances, in particular at off-design conditions.

95. Define the grid level on which the simulation will apply, change Current Grid Level = <1 1 1>.
96. Keep Number of Grid(s) = 2.

The flow solver is based on an explicit time integration technique, which is accelerated using multi-grid methods. To this end, several levels of intermediate grids must be generated started from the finest one. This is achieved by taking one node over 2 in each I-, J- or K-directions, starting from the finer grid level.
It is strongly advised to enable the definition of at least 3 grid levels, by carefully selecting the number of nodes on every edge forming the patches and blocks. More details can be found in IGG™, AutoGrid5™ and FINE™/Turbo User Manuals.
In the FINE™/Turbo terminology, the finest grid level that a user can access will be called as 000, while the intermediate and coarsest ones will respectively be named as 111 and 222 levels, assuming 3 grid levels can be selected.
Hybrid grid levels can theoretically be defined (e.g. 010 or 211). It is however not advised to use such hybrid levels since it deforms the mesh in a preferential direction and thus possibly increasing the aspect ratio. Consequently, the quality of the resulting mesh can be decreased.

97. Keep the Coarse Grid Initialization active.
In addition to the multi-grid acceleration technique, the number of iterations to convergence can be significantly reduced activating the coarse grid initialization process. In that case, the simulation starts on the coarsest grid level available, leading to fast convergence. Once done, the flow solver automatically interpolates the current flow solution on the intermediate levels before the iterative process is restarted. A similar process  continues tills the expected finest grid level is reached. The iterative process goes on as long as the  convergence criterion is not reached or the maximum number of iterations is not exceeded. More details can be found in Numerical Model in the FINE™/Turbo GUI.
Set Initial Conditions
98. Go to the tree in the QAP and double left-click on the Initial Solution menu.
99. Left-click on group ROWS.
The group is automatically created when the mesh is loaded in FINE™ GUI. In complex projects, hybrid initial solutions can be useful. In that case, a constant initial solution per block can be selected for some groups, while others can benefit from an initial solution from Turbomachinery. Limitations related to the use of hybrid initial solutions are described in FINE™/Turbo User Manual.
100. Keep for turbomachinery to access the initial solution menu for turbomachinery.
Initial conditions can be selected in different forms, going from constant values per block to throughflow based solutions. When running a rotating machinery project case, it is common practice to select the initial solution for Turbomachinery. Based on a 1D estimation of the flow solution, the initial solution for Turbomachinery often enables a drastic reduction in the number of iterations in running 3D simulations. Inputs ("best estimation") related to static pressure at inlet and rotor-stator interfaces (if it applies) are requested.

Left-click on the inlet patch (row_1_flux_1_Main_Blade_upStream_inlet)
Set Estimated Static Pressure = <340000> <Enter>.
Left-click the rotor/stator interface ID 10.
Set Estimated Static Pressure = <200000> <Enter>.
Left-click the rotor/stator interface ID 20.
Set Estimated Static Pressure = <150000> <Enter>.
Left-click the rotor/stator interface ID 30.
Set Estimated Static Pressure = <100000> <Enter>.
Choose Turbulent Viscosity as the Turbulent Quantities and set Turbulence Viscosity to <0.0001> <Enter>.



Select Outputs
101. Go to the tree in the QAP and double left-click on the Outputs menu.
102. Double left-click on Computed Variables.

Quantities of interest in the simulation must be pre-selected in this menu. They will be stored in the solution file (*.cgns) once the iterative process will be finished and/or during intermediate steps. Quantities can be accessed both in the 3D field (Computed Variables) and/or in the meridional plane (following circumferential averaging, see Azimuthal Averaged Variables). Additional data can be selected on  the solid walls and/or on predefined surfaces (Surface Averaged Variables).
The adequate selection of outputs of interest will reduce the size of the solution file. This is in particular important when projects involving very fine meshes and/or unsteady capabilities are managed.

103. Select Static and Total Absolute Temperature if not yet selected.
104. Select Static and Total Absolute Pressure if not yet selected.
105. Select Density if not yet selected.


106. Left-click on Velocities tab.
107. Select Vxyz and Absolute Mach Number if not yet selected.
108. Select Wxyz and Relative Mach Number if not yet selected.


Vxyz and Wxyz are related to the velocity vectors field in the absolute and relative frame of reference  respectively. The examination of solution quantities in the relative frame of reference is in particular useful to observe the flow angles relative to the blade close at leading and trailing edge.
109. Left-click on Solid data tab.
110. Select Static pressure, Static temperature , y+ (in first inner cell) and Harmonic Pressure (Real and Imaginary) if not yet selected.



Cf relates to the friction coefficient.
The parietal coordinate y+ is a direct function of the distance from the wall.
Therefore, y+ = 0 at the wall and takes a non-zero value at the center of the  first cell close to the wall (also called "inner cell"). As a consequence, the examination of y+ "at the wall" should be understood as the examination "in  the first inner cell". Although it is not correct theoretically speaking, this concept is very often used to ease the post-treatment and benefit from the existing  solid surfaces.

111. Left-click on Turbulence tab.
112. Select Wall distance and Turbulent Viscosity ratio if not yet selected.



The analysis of the Turbulent Viscosity ratio field is often of major interest to make sure that the turbulent quantities are computed accurately according to the turbulence model and mesh refinement selected.
Running k-epsilon related models gives access to additional quantities in particular related to the production term, the kinetic energy and dissipation rate fields. It is strongly advised to activate these fields for post-treatment.

113. Left-click on Harmonics tab.
114. Select Real & Imaginary and Amplitude for Pressure, Relative Pressure and Absolute Pressure.


115. Double left-click on Azimuthal Averaged Variables.
116. Go through the various tab pages and select quantities as for Computed Variables.
Additionally, outputs can be re-directed using the PLOT3D format, using various formats. More details can be found in Plot3D Formatted Output.
Control Computation Steering
117. Go to the tree in the QAP and double left-click on the Computation Steering menu.
118. Double left-click on Control Variables.
119. Set Maximum Number Of Iterations = <1000> <Enter>, keep Save Solution Every = 100 and Convergence Criteria = -6; change the solver precision from Single to Double.



Depending upon the quality of the initial solution, the density of the mesh (number of nodes) and the complexity of the underlying flow field, from few  hundreds to few thousand iterations are typically required to reach convergence. The iterative process is stopped once the convergence criterion is reached over the entire domain or the maximum number of iterations is executed on the current grid level (111 in the present case).
Ability to select for Minimum output gives the possibility to minimize the size of the solution files. In that case, the flow solution is stored only once the iterative process is finished, and limited information is proposed during the intermediate storage. This limited information allows to perform a restart procedure from an existing flow solution, but cannot be visualized within CFView™.
Static memory allocation is enabled inside the flow solver. An estimation of the memory required to run and save the flow solution is calculated and proposed as a default. However, in some circumstances, the estimation may be too short and it is then required to manually increase the number of reals or integers necessary to drive the solution to success. In that case, click on Set the requested memory and increase the inputs accordingly.

Save Project & Start Calculation
120. Go to File menu and Save project.
The project parameters are stored in the *.iec file. This file includes the entire set of parameters required to reproduce the project, excluding the mesh.
121. Press the icon    and Start Flow Solver to start the calculation: a task manager window is appearing.
The calculation will start in serial mode (1 processor) on the local machine. FINE™  includes multi-processor capabilities and the ability to manage computations through a task manager and/or in batch mode. More details can be found in the FINE™  User Guide.
Follow Convergence Steering
122. Double left-click on Convergence History.


The evolution of averaged residuals on the entire domain can be observed during the convergence process. Similarly, the evolution of the mass flow balance (in/ out) and/or global quantities (isentropic efficiency, torque and axial thrust on solid walls selected in the boundary conditions page, pressure ration) can be displayed.
Local and global quantities may also be added for follow-up during the convergence process. However, their representation in the graphical area will only be effective once they are added in the Selected Variables list, see  FINE™ User Guide.
The examination of residuals per block and/or for a given primitive variable can be achieved accessing the monitorTurbo tool. The tool is included in the FINE™ package and can be accessed through the adequate command line. More details can be found in the FINE™  User Guide.
123. Once the calculation is converged or reaches the maximum number of iterations allowed on the current grid level, the flow solver stops.
124. The final solution is then stored in the solution file (*.cgns) and the task manager window is closed.
To check the convergence of the computation, NUMECA recommends to observe the evolution of multiple criteria including (a) an adequate decrease in residuals (minimum 3 orders of magnitude); (b) complete stabilization of global performances; (c) stabilization of mass flow in/out, with satisfactory correspondence (usually less than 0.5% difference between in/out).
Now that the iterative process is over, click here to start the visualization of the solution within the post-treatment tool CFView™ integrated in FINE™/Turbo.

TUTORIAL 9. Multistage Axial Turbine

NUMECA Software

Prerequisites

Problem Description

Preparation


NUMECA Software
The resolution of computational fluid dynamics (CFD) problems involves three main steps:

spatial discretization of the flow equations,
flow computation,
visualization of the results.


To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal and Turbomachinery assimilations. Called FINE™/Turbo, the environment integrates the following tools:

IGG™  is an Interactive Geometry modeler and Grid generator software, based on structured multi-block techniques.
AutoGrid5™ is a three-dimensional Automated Grid generation software, dedicated to turbomachinery applications. Similarly to IGG™, it is based on structured multi-block techniques.
Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes equations in the laminar, transitional and turbulent regimes.
CFView™ is a highly interactive flow visualization and post-treatment software.
FINE™ Graphical User Interface is a user-friendly environment that includes the different software. It integrates the concept of projects and allows the user to achieve complete simulations, going from the grid generation to the flow visualization, without the need of file manipulation. 

A turbomachine is a device in which the energy is transferred either to or from a continuously flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in particular in aircraft, marine space (liquid rockets), land propulsion system but also in hydraulic, gas and steam turbines applications. It is also involved in industrial pipeline and processing equipment such as gas, petroleum and water pumping plants. Other applications can be related to heart-assist pumps, industrial compressors and refrigeration plants, among others.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is composed of several basic elements including the blade (also called vane if it is non-rotating), hub, and shroud. Several technological effects involving clearances, seal leakages and cooling holes among others can complete the machine. Due to the complexity of the blade shapes, the presence of technological elements and the rotation of machine, the nature of the flow is strongly three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the simulation of a multistage axial turbine application. It makes use of FINE™/Turbo and describes how to deal with the specific options implemented in FINE™ environment. In this tutorial you will learn how to:
In AutoGrid5™:

define multi-rows;
use row wizard;
check for mesh quality;

In FINE™/Turbo:

manage fluid database;
use harmonic method;
set up boundary and initial conditions;
numerical process management;
select adequate outputs;
control calculation process;
check for convergence;

In CFView™:

visualize and analyze time-averaged results;
reconstruct flow in time;
visualize and analyze unsteady results.

Prerequisites
This tutorial does not require any particular prerequisite with the menu structure in FINE™/Turbo.
Problem Description
The problem is related to a high-pressure turbine for the General Electric Energy Efficient Engine (GEE3).


The GE-E3 high-pressure turbine is a two-stage, low thru-flow high-pressure turbine with moderate loading. The aerodynamic design point is the integrated core/low spool cycle point at maximum climb (Ma 0.8, 10.67km).
Preparation

Start FINE™/Turbo v13.1:

For Linux systems, you can access FINE™/Turbo graphical user interface with the following command line:fine -niversion 131 -print


For WINDOWS systems, you can access FINE™/Turbo graphical user interface from the start menu going to /Programs/NUMECA software/Fine131/FINE.



Click the Create a New Project icon to create a new project.


Select your directory of choice to store the project.
Enter the project name in the dialog box as <Tutorial9> <Enter>.
Click on Create Grid File to access the interactive geometry modeler and grid generator IGG™.


Access the menu Modules, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.



You are now ready to start the grid generation process and mesh the GEE3 turbine configuration! Click here to start the mesh generation...

Tutorial 9: Mesh Generation

Create Mesh Project

Load Geometry

Row Wizard

3D Mesh Generation & Visualization

Check Boundary Conditions & Mesh Quality

Save Project



AutoGrid5™  graphical user interface includes several windows that allow to visualize the geometry and mesh of the turbomachine simultaneously in the meridional, blade-to-blade and 3D view. The access to main menu and controls is proposed through a menu bar and a quick access pad (QAP), and is completed with a tool/icon bar. The execution of the different actions undertaken is summarized in the message box at the bottom of the interface.


A step by step approach is proposed in the following lines. It aims at driving you through various steps that need to be executed from the creation of the mesh project to the validation of the final mesh quality of the turbine rows.
Create Mesh Project
1. Close the Open Turbo Project Wizard dialog box.
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with associated grid) including the data required to regenerate a mesh on an identical or similar geometry. In this tutorial, these data will be progressively introduced based on the geometry of the project case.
2. Go to menu File -> New Project.
3. Click yes to close the active project.
4. Choose the icon Initialize a New Project from a geomTurbo File.


Load Geometry
5. Locate and select "Tutorial9.geomTurbo" (geometry defined in [Inches]) in the dialog box and click Open. Where to Find the Files Used in the Tutorials?



The ".geomTurbo" file format is structured in three main blocks: the header, the channel and the row definitions.
The channel format contains the definition of the turbomachinery meridional contour (hub, shroud). It is composed by curves defined by a set of points. The ".geomTurbo" file must contain two channel curves named respectively "hub" and "shroud".
The row definition contains the geometry of a complete row. It is defined by a row name, a row type, a periodicity and the definition of the main blade and possibly the splitter(s). The blade and splitter are defined by the pressure and the suction side surfaces identified by the keywords "pressure" and "suction". Both surfaces are specified by a set of cross sections of the blade at several spanwise locations from hub to shroud. Each section is defined by a set of points from leading to trailing edge.

6. Set geometry units:

Go to QAP -> Geometry Definition -> Units.
Change the units to Inches.



The "units" of the imported geometry must be changed to impose a scaling factor and a corresponding tolerance that will ensure correct treatment during the grid generation when computing, for example, the intersection. Unless it is necessary to change this, we recommend keeping the default settings (Scale Factor set to <1>).
7. Select Expert Mode in the toolbar, if necessary.



Row Wizard
8. Left-click on Rows Definition -> row1  in the QAP to active the current row, if not done already.
9. Left-click on Row Wizard in the Mesh Control -> Grid Level  subpad.


10. Click yes to start the wizard and to reset the mesh generation parameters.

The reset will keep the modifications performed by the user in the Row Wizard but will reset to the default value the parameters modified in Expert Mode. 
The wizard is divided in 6 steps:

the geometry check (optional),
the machine characteristics definition,
the gap and fillet definition,
the flow path definition,
the blade-to-blade mesh definition,
the end of the initialization.


11. Click yes to confirm the geometry check (step 1).
During the geometry check of a blade, AutoGrid5™  performs the following operations: check blade definition, check orientation of the blade section curves, detect loop detection into the blade section curves and between the blade sections. More details in AutoGrid5™  User Guide.
12. Click on Next in the dialog box to define the machine characteristics definition (step2).


13. Select Axial Turbine as Row type in the Blade row type dialog box.
14. Change the Periodicity (number of blades) if necessary. Left-click inside the string input area and type <46>, press <Enter> to confirm.
15. Select Stator.


16. Click on Next in the dialog box to start the gap and fillet definition (step 3).
17. Keep all data unchanged (no gap or fillet).
18. Click on Next>> in the dialog box to start the flow path definition (step 4).
19. Set Spanwise Grid Point Number to <57> <Enter> (corresponding to the flow paths number) in the Layer Control dialog box.
When increasing or decreasing the number of flow paths, the number of flow paths in the gaps and fillets is automatically updated as well as the percentage of constant cells, leading to an increase or decrease of the spanwise expansion ratio.
20. Estimate the width of the first cell at the wall:

The width of the first cell close to the wall must be selected with care since the quality of the flow solution will often depend upon the capture of the flow phenomena inside the boundary layers which develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends to locate the nearest grid point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must be modelled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven by the Blasius equation, expressed as follows for turbulent flows:



where:

ywall is the distance of the nearest grid point to the wall (in meter);
Vref is a reference velocity of the flow, for instance, the inlet velocity (in m/s);
υ is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
Lref is a reference length of the test case (in meter);
y+ is a non-dimensional value.


In the present case, one can estimate that Vref=270 m/s, Lref=0.06 m and υ=66.25e-6 m²/s. Assuming one wishes to get y+=1 at the wall, it comes that y=0.00025 inches.
Input the value of the Wall Cell Width = <0.00025> [Inches] <Enter> in the Layer Control dialog box.


21. Click on Next>> in the dialog box to start the blade-to-blade mesh definition (step 5).
22. Set the Number of Points (of the 3D mesh) around 370,000 by clicking on the << or >> buttons in the B2B Control dialog box.


23. Click on Preview B2B to plot the blade-to-blade mesh at mid-span: default O4H topology is used with additional upstream/downstream H-blocks.

The Full Visibility option allows to see the mesh moving in the blade to blade view when applying the optimization steps.


The default O4H topology includes 5 blocks as follows:

the skin block is a O-mesh surrounding the blade;
the inlet block is a H-mesh located upstream the leading edge;
the outlet block is a H-mesh located downstream the trailing edge;
the up block is a H-mesh located above the blade section;
the down block is a H-mesh located under the blade section.


24. Select Skewness or Expansion Ratio to plot respectively the orthogonality or expansion ratio field of the blade-to-blade mesh at mid-span.




25. Click on Finish to end the initialization process (step 6).
26. Click no in order to set  up the other rows before making the complete 3D mesh generation.


27. Left-click on Rows Definition -> row 2  in the QAP to active the current row, if not done already.
28. Repeat step 9 to step 26 for the rotor with the following parameters:

Axial Turbine as Row type, Periodicity (number of blades)=<76>, Rotor.
Rotation Speed (rpm)=<8283>
Tip Gap: Width at leading edge=Width at trailing edge=<0.016>[Inches]
Spanwise Grid Point Number=<73>, Wall Cell Width=<0.00025> [Inches].
Set Number of Points around 430,000.



29. Left-click on Rows Definition -> row 3 in the QAP to active the current row, if not done already.
30. Repeat step 9 to step 26 for the stator with the following parameters:

Axial Turbine as Row type, Periodicity (number of blades)=<48>, Stator.
Spanwise Grid Point Number=<57>, Wall Cell Width=<0.00025> [Inches].
Set Number of Points around 340,000.



31. Left-click on Rows Definition -> row 4  in the QAP to active the current row, if not done already.
32. Repeat step 9 to step 26 for the rotor with the following parameters:

Axial Turbine as Row type, Periodicity (number of blades)=<70>, Rotor.
Rotation Speed (rpm)=<8283>
Tip Gap: Width at leading edge=Width at trailing edge=<0.016>[Inches]
Spanwise Grid Point Number=<73>, Wall Cell Width=<0.00025> [Inches].
Set Number of Points around 550,000.



3D Mesh Generation & Visualization
33. In Row Definition, left-click on Select All Rows.
34. Click on Generate 3D in the toolbar  and confirm (Start) the generation. 

You can check the blade-to-blade mesh quality at the hub and/or shroud before generating the 3D mesh.
Go to Row Definition and click Select All Rows to select all rows. Go to Mesh Control -> Active B2B Layer to specify the flow path (layer) on which the mesh will be plotted in the blade-to-blade view. By default, at the mid-span of the machine (Active Layer (%span) set to 50). The layer selected for visualization is defined in percentage of span, going from hub (0%) to shroud (100%). Enter <0> <Enter> or <100> <Enter> in order to visualize the mesh at hub or shroud respectively.


Select Update B2B View to regenerate the blade-to-blade mesh on the new specified layer in the blade-to-blade view.




A detailed analysis of the mesh quality can be performed on a blade-to-blade mesh after generation. Information on orthogonality, aspect ratio and expansion ratio can be outlined in this window by clicking :

Select a row in the Row list <Enter>.
Select quality criteria using the Type pull-down menu.
Left-click Show chart to visualize the distribution of the selected criteria in the form of a histogram. The histogram is drawn for each row.
Left-click part of the histogram to plot the concerned cells in blade-to-blade view or select Display all cells to have an overview of the mesh quality.
Left-click the More info button to obtain information  regarding the minimum and maximum values of the selected criteria.
Close the quality checkbox.



After performing the blade-to-blade mesh quality, the 3D mesh generation can be started by clicking Row Definition -> Select All Rows and then clicking the Generate 3D button.



Once 3D grid generation is completed, a grid quality check is performed and displayed. Minimum cell skewness, maximum expansion ratio and aspect ratio are reported, among others. Data is available for the entire mesh and separately for each entity (row, technological effect, bulb). Data related to grid quality report is automatically stored in a report file, once the project file is saved.
35. Close the dialog box after checking the grid quality. The page can be reopened by clicking .
36. Select the View -> View 3D Solid Mesh menu.
37. Left-click in the 3D view and then right click and select the menu Full view to visualize only the 3D view.


By default, the 3D solid mesh is plotted on hub and blades. To remove the plot, select View -> Hide 3D Solid Mesh
38. Click the Repetition icon  () to toggle the repetition of the channel


39. Use the View menu in the QAP to toggle edge, mesh and/or solid shading.






Check Boundary Conditions & Mesh Quality


40. Left-click in the 3D view to activate the view (red border), if not done already.
41. Check for boundary conditions by clicking .
42. Select UND under Type pull-down menu and press <Enter> to check that there are no patches in the patch list that are still set to an undefined type.

It is important to ensure that no undefined patches (UND) are present in the mesh. If this is not the case, they can usually be removed by increasing the tolerance and launching the Search procedure.
In a multi-stage context, interfaces between rotating and non-rotating rows are set to ROT.

43. Close the dialog box.
44. Left-click anywhere in the 3D view to activate the view (red border), if not done already.
45. Check for negative cells by clicking .


46. Click Apply.
The computation of the negative volumes is performed first. Negative cells can be outlined in the mesh by pressing View neg cells button. Beware that the visualization of negative cells can be memory consuming when a large number of cells must be displayed. It is thus advised to first check the number of negative cells by pressing the Apply button. It is mandatory to remove all negative cells before the calculation can be started
47. Click ok and Close the dialog box.
48. Left-click in the 3D view to activate the view (red border), if not done already.
49. Check for grid quality by clicking .
A detailed analysis of the mesh quality on a 3D mesh can only be performed once the 3D mesh has been generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell width can be outlined in this window using the Type pull-down menu.
50. Select block number (0 for all) - <Enter>.
51. Select quality criteria using the Type pull-down menu.


52. Left-click Show chart to visualize the distribution of the selected criteria in the form of a histogram. The histogram is drawn per block (0 = all blocks).


53. Left-click part of the histogram to plot the concerned cells in the 3D view.
54. Left-click the More info button to obtain information regarding the minimum and maximum values of the selected criteria and block.


55. Close the dialog box.
Save Project
56. Go to File -> Save Project As <Tutorial9> <Enter> to save mesh and template files.

The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the boundary condition types: ".bcs", ".cgns", ".geom" (".xmt_txt"), ".igg", ".config" and ".qualityReport". The meaning of these files is detailed in the User Guide.
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh with AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these files is detailed in the User Guide.

Now that the mesh is saved, click here to set up the computation in the FINE™/Turbo interface!

Tutorial 9: Post Processing
            

Post Processing Of Time-Mean Results

View Static Pressure On Solid Surfaces

View Harmonic Quantity On Blade-to-Blade Surface

Reconstruction In Time

Post Processing Of Unsteady Results



The iterative process is now over and the flow solution is stored in the ".cgns" file. The number of nodes in a typical mesh usually ranges from few hundred thousands to several million, which makes visualization delicate in most cases. As part of the FINE™ environment, NUMECA proposes the home-made visualization and post-treatment tool CFView™ for that purpose. CFView™ is entirely integrated in the environment and includes numerous tools which are particularly best suited for the analysis of turbomachinery configurations.
A step by step approach is proposed in the following lines. It aims at driving you through the various steps that need to be executed from reading the solution to the extraction of the main results. CFView™ automatically opens the file ".run" file associated with the active computation.
Post Processing Of Time-Mean Results
The harmonic method solves the time-averaged flow equations and the harmonic equations. All the exported time-averaged quantities and harmonic quantities can be directly post-processed in CFView™.
125. Access CFView™ from FINE™/Turbo GUI, pressing the icon .
126. Deactivate View the azimuthal averaged solution.
127. Left-click on Start CFView.


You now enter 3D analysis mode in CFView™!


View Static Pressure On Solid Surfaces
128. Go to Geometry menu.
129. Select Boundary to deactivate boundary representation.
Boundary activation/deactivation is used as a toggle and acts on all selected surfaces. Fast access is ensured using the binding key <b>.
130. Double left-click on the checkboxes:"row #_shroud"(# indicates a number) inside the Quick Access Pad/Surfaces area to deactivate the set of patches that define the entity shroud. Groups "row #_blade(s)" and "row #_hub", are the only entities that remain active at this moment.

Selection of surfaces for representation is controlled through the Surfaces area. Alternatively, identical operations can be retrieved from the menu Geometry.


Patches flagged as solids are selected as default surfaces for representation. Groups created in the boundary condition area inside FINE™/Turbo GUI are transferred  directly to CFView™, so that the selection of surface entities can be performed in a few clicks.


Fast selection of a group of surfaces in a large list including numerous surfaces, which are partly checked/unchecked, can be done by first left-clicking (combined with <Ctrl> or <Shift> for multiple surfaces) on the target surface(s) desired for representation, then right-click to get the contextual  menu and choose Select.

131. Go to Geometry menu.
132. Select Boundary again to activate boundary representation on active surfaces.


133. Select Quantity -> Solid Data -> Static Pressure.
134. Select Representation -> Color Contour -> Smooth
135. Select Representation -> Scalar Range -> Colormap Optimum Range.
Colormap Optimum Range restricts the bounds of the colormap to those related to active surfaces instead of the complete 3D domain. This capability is often useful to outline, in a clearer manner, a number of details. It can also be accessed by pressing the icon .


136. Make use of the Viewing buttons to modify the representation mode.


View Harmonic Quantity On Blade-to-Blade Surface
137. Select Update -> Delete -> All to delete all color contour.
138. Select Geometry -> Boundary  to deactivate boundary representation.
139. Select Geometry -> Blade to Blade Surface to create a blade to blade surface.
140. Keep the default settings and click on the button Save. This will create a blade-to-blade surface at 50% span.


141. Click on the button Close to close the dialog box.

CFView™ integrates the possibility to create cuts at constant spanwise position (also called "blade-to-blade" planes). This capability is especially useful when the endwalls are not planar. The surface for representation at constant spanwise position is then created based on linear interpolation between the endwalls.
Pressing Save button in the dialog box creates an additional surface for representation in the Surfaces area, enabling quantity selection and representation as discussed in the previous sections.

142. Right-click on the surface "CUT1" in the Quick Access Pad/Surfaces area and select the menu Select. The created surface "CUT1" will be selected only.


143. Double left-click on the quantity Harmonic Pressure Amplitude - 1 Harmonic in the Quick Access Pad/Quantities to select it.


144. Select Representation -> Color Contour -> Smooth
145. Select Representation -> Scalar Range -> Colormap Optimum Range
146. Make use of the Viewing buttons to modify the representation mode.


147. Select File -> Close Project to close the opened project
Reconstruction In Time
The "harmo2time" tool, integrated in CFView™, allows to reconstruct the unsteady flow by using the time-averaged solutions and harmonic solutions. More details can be found in CFView™ User Guide.
148. Select File -> Open Project Selection to open the harmonic computation.
149. Locate and select the computation file "Tutorial9_SA_rank1.run".
150. In the partial loader dialog box, keep the default settings and click on the option Reconstruct the flow in time.


151. Select all groups in the frame Group information and set Number of repeated blade channels to <2>.


152. Keep all other settings and click on the Apply button.
153. Save the reconstructed solution with the default name "Tutorial9_SA_rank1_unst.run".


After reconstruction, all unsteady steps will be loaded into CFView™ by default.
Post Processing Of Unsteady Results
154. Select Geometry -> Boundary  to deactivate boundary representation.
155. Select Geometry -> Blade to Blade Surface to create a blade to blade surface.
156. Keep the default settings and click on the button Save. This will create a B2B surface at 50% span.


157. Click on the button Close to close the dialog box.
158. Right-click on the surface "CUT1" in the Quick Access Pad/Surfaces and select the menu Select. The created surface "CUT1" will be selected only.


159. Select Quantity -> Filed Data -> Computed Thermodynamics -> Relative Mach Number to compute the derived quantity relative Mach number.
160. Select Representation -> Color Contour -> Smooth
161. Select Quantity -> Time Label to show the current time in the view
162. Make use of the Viewing buttons to modify the representation mode.


163. Click the button Animate () to view the contour of the relative Mach number at all time steps.


164. Select File -> Quit CFView to quit CFView™.

TUTORIAL 10. Flutter Axial Compressor

NUMECA Software

Prerequisites

Problem Description

Preparation


NUMECA Software
The resolution of computational fluid dynamics (CFD) problems involves three main steps:

spatial discretization of the flow equations,
flow computation,
visualization of the results.


To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal and Turbomachinery assimilations. Called FINE™/Turbo, the environment integrates the following tools:

IGG™  is an Interactive Geometry modeler and Grid generator software, based on structured multi-block techniques.
AutoGrid5™ is a three-dimensional Automated Grid generation software, dedicated to turbomachinery applications. Similarly to IGG™, it is based on structured multi-block techniques.
Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes equations in the laminar, transitional and turbulent regimes.
CFView™ is a highly interactive flow visualization and post-treatment software.
FINE™ Graphical User Interface is a user-friendly environment that includes the different software. It integrates the concept of projects and allows the user to achieve complete simulations, going from the grid generation to the flow visualization, without the need of file manipulation. 

A turbomachine is a device in which the energy is transferred either to or from a continuously flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in particular in aircraft, marine space (liquid rockets), land propulsion system but also in hydraulic, gas and steam turbines applications. It is also involved in industrial pipeline and processing equipment such as gas, petroleum and water pumping plants. Other applications can be related to heart-assist pumps, industrial compressors and refrigeration plants, among others.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is composed of several basic elements including the blade (also called vane if it is non-rotating), hub, and shroud. Several technological effects involving clearances, seal leakages and cooling holes among others can complete the machine. Due to the complexity of the blade shapes, the presence of technological elements and the rotation of machine, the nature of the flow is strongly three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the Fluid/Structure Interactions (FSI) of a single blade row axial-flow turbomachine. There are different types of interactions according to the nature of the phenomena involved in the interaction. Flutter is one of the most feared in the turbomachinery 
		application, it is defined as a self-excited vibration of a structure in a fluid flow. 
This tutorial makes use of FINE™/Turbo and describes how to deal with the specific options implemented in the FINE™ environment. In this tutorial, you will learn how to:
In AutoGrid5™:

read an existing geometry file;
define the blade periodicity;
define a tip clearance;
generate and optimize the blade-to-blade mesh;
check for mesh quality.

In FINE™/Turbo:

manage the fluid database;
use the harmonic method;
set up both boundary and initial conditions;
set up the fluid/structure settings;
control the numerical process;
select the adequate outputs;
control and launch the calculation process;
check for convergence.

In CFView™:

visualize and analyze the time-averaged results;
reconstruct the flow in time;
visualize and analyze the unsteady results.

Prerequisites
This tutorial does not require any particular prerequisite with the menu structure in FINE™/Turbo.
Problem Description
The problem considers a single blade row axial-flow turbomachine as shown here below. The Rotor 67 is the first stage rotor of a two-stage fan; it has been experimentally analyzed at the National Aeronautics and Space Administration (NASA) Lewis Research Center.


The Rotor 67 is characterized by the following representative values:
-	number of blades: 22
-	blade aspect ratio: 1.56
-	tip relative inlet Mach number: 1.38
-	tip solidity: 1.29
-	rotational speed (RPM): 16 043
-	total pressure ratio: 1.63
Preparation

Start FINE™/Turbo v13.1:

For Linux systems, you can access FINE™/Turbo graphical user interface with the following command line:fine -niversion 131 -print


For WINDOWS systems, you can access FINE™/Turbo graphical user interface from the start menu going to /Programs/NUMECA software/Fine131/FINE.



Click the Create a New Project icon to create a new project.


Select your directory of choice to store the project.
Enter the project name in the dialog box as <Tutorial10> <Enter>.
Click on Create Grid File to access the interactive geometry modeler and grid generator IGG™.


Access the menu Modules, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.



You are now ready to start the grid generation process and mesh the ROTOR 67 configuration! Click here to start the mesh generation...

Tutorial 10: Mesh Generation

Create Mesh Project

Load Geometry & Define Main Properties

Initialize Topology & Grid Distribution

Meridional Control

Blade-to-Blade Control

3D Mesh Generation

3D Mesh Visualization

Check Boundary Conditions & Mesh Quality

Save Project

 


The AutoGrid5™  graphical user interface includes several windows that allow to visualize the geometry and mesh of the turbomachine simultaneously in the meridional, blade-to-blade and 3D view. Access to the main menu and controls is proposed through a menu bar and a quick access pad (QAP), and is completed with a tool/icon bar. The execution of the different actions undertaken is summarized in the message box at the bottom of the interface.


A step by step approach is provided in the following lines. It aims at driving you through various steps that need to be executed from the creation of the mesh project to the validation of the final mesh quality.
Create Mesh Project
1. Close the Open Turbo Project Wizard dialog box.
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with associated grid) including the data required to regenerate a mesh on an identical or similar geometry. In this tutorial, these data will be progressively introduced based on the geometry of the project case.
2. Go to menu File -> New Project.
3. Click yes to close the active project.
4. Choose the icon Initialize a New Project from a geomTurbo File.


Load Geometry & Define Main Properties
5. Locate and select "rotor67.geomTurbo" (geometry defined in [Centimeters]) in the dialog box and click Open. Where to Find the Files Used in the Tutorials?



The ".geomTurbo" file format is structured in three main blocks: the header, the channel and the row definitions.
The channel format contains the definition of the turbomachinery meridional contour (hub, shroud). It is composed by curves defined by a set of points. The ".geomTurbo" file must contain two channel curves named respectively "hub" and "shroud".
The row definition contains the geometry of a complete row. It is defined by a row name, a row type, a periodicity and the definition of the main blade and possibly the splitter(s). The blade and splitter(s) are defined by the pressure and the suction side surfaces identified by the keywords "pressure" and "suction". Both surfaces are specified by a set of cross sections of the blade at several spanwise locations from hub to shroud. Each section is defined by a set of points from leading to trailing edge.

6. Set geometry units:

Go in the QAP -> Geometry Definition -> Units.
Change the units to Centimeters, if not done already.



7. Select Expert Mode if necessary in the toolbar.



The "units" of the imported geometry must be changed to impose a scaling factor and a corresponding tolerance that will ensure correct treatment during the grid generation when computing, for example, the intersection. Unless it is necessary to change this, we recommend keeping the default settings (Scale Factor set to 1).
8. Move inlet position:

Left-click on the inlet line when highlighted in yellow in the meridional view.
Right-click the Top Point when highlighted in yellow.
Set the Z value to <-2.203> <Enter> in the Point Location dialog box.






Left-click the Bottom Point.
Set the Z value to <-2.203> <Enter> in the Point Location dialog box.
Close the Point Location dialog box by clicking the cross at the top right corner.

9. Repeat step 8 for the outlet: for the top and bottom points, set the Z value to <21> and press <Enter>.





The inlet and outlet limits of the domain are by default defined by AutoGrid5™ using two straight lines joining the limits of the hub and shroud definitions. The shape and the location of the inlet and outlet boundaries can be modified interactively.
You can access the control points of the inlet/outlet and modify their location by dragging the points. The exact coordinates of the control points can also be introduced by right-clicking the control point. A dialog box will appear, enabling the user to enter the point coordinates in (rz) mode.
There is another way to control the shape of inlet/outlet. Move the mouse to the inlet/outlet and when it becomes highlighted in yellow, right-click and select Properties in the pop-up menu. Activate for example Z constant and enter the coordinates where the inlet/outlet should be located.

10.  Left-click on Rows Definition -> row 1  in the QAP to activate the current row, if not done already.
11. Right-click on row 1 and select Properties in the pop-up menu.
12. Enter the Periodicity (number of blades). Left-click inside the string input area and type <22>, press <Enter> to confirm.
13. Enter <-16043> and press <Enter> in Rotation Speed (rpm).


This speed will be transferred to the FINE™ graphical user interface and will ease the input of boundary conditions later on. The sign of the rotational speed is positive (+) when the blade row is rotating in the positive θ-direction, and negative otherwise.
14. Close the dialog box.
15. Left-click Row Definition -> row 1.
16. Right-click row 1 and select Gap/Fillet / Define Shroud Gap in the pop-up menu.
17. Define Width At Leading Edge = <0.1016> [Centimeters] and press <Enter>.
18. Define Width At Trailing Edge = <0.1016> [Centimeters] and press <Enter>.



The width at the leading/trailing edge allows the user to specify the size of the gap at the leading and trailing edge of the blade. The gap curve is then constructed as a linear offset of the hub (or the shroud) according to these values.
19. Close the dialog box.

Initialize Topology & Grid Distribution
20. Left-click on Rows Definition -> row 1  in the QAP to activate the current row, if not done already.
21. Select Grid Level/Medium through Mesh Control in the QAP, if not done already.
22. Estimate the width of the first cell at the wall:

The width of the first cell close to the wall must be selected with care since the quality of the flow solution will often depend upon the capture of the flow phenomena inside the boundary layers which develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends to locate the nearest grid point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must be modeled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven by the Blasius equation, expressed as follows for turbulent flows:



where:

ywall is the distance of the nearest grid point to the wall (in meter);
Vref is a reference velocity of the flow, for instance, the inlet velocity (in m/s);
υ is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
Lref is a reference length of the test case (in meter);
y+ is a non-dimensional value.


In the present case, one can estimate that Vref=429 m/s, Lref=0.09 m and υ=1.57e-5 m²/s. Assuming one wishes to get y+=5 at the wall, it comes that y=5 x 10-6 m.
Input the value of the Wall Cell Width = <0.0005> [Centimeters] <Enter> in the Mesh Control -> Row Mesh Control in the QAP.


23. Select Initialize Topology & Grid Points Distribution in the toolbar and confirm (yes). This button will set the mesh topology to the default O4H topology.





The default O4H topology includes 5 blocks:

the skin block is an O-mesh surrounding the blade;
the inlet block is a H-mesh located upstream of the leading edge;
the outlet block is a H-mesh located downstream of the trailing edge;
the upper block is a H-mesh located above the blade section;
the lower block is a H-mesh located under the blade section.


Meridional Control
24. Left-click Row Definition -> row 1 in the QAP to activate the current row, if not done already.
25. Go to Mesh Control -> Row Mesh Control-> Flow Paths Control in the QAP.
26. Set the Flow Paths Number to <97> and press <Enter>.
27. Keep Cell Width at hub = <0.0005> [Centimeters].
28. Keep Cell Width at shroud = <0.0005> [Centimeters].
29. Set the Percentage of Mid-flow Cells to <50> % and press <Enter>.
Percentage of Mid-flow Cells controls the number of cells of constant size in the main part of the channel (excluding gaps).
30. Keep all other data unchanged.



The Expert section allows the user to control the visualization, the shape and the parameters related to flow path smoothing. For the meaning of these parameters see: Flow Paths Control.
The Manual Edition mode allows the user to directly control the block faces which are used to construct flow paths. Edges can be moved, segments can be created or modified and the grid points distribution on segments can be controlled. See also: Flow Paths Manual Editing.

31. Close the dialog box.
32. Left-click Row Definition -> row 1 in the QAP to activate the current row, if not done already
33.  Left-click Row Definition -> row 1 -> Blades -> Main Blade -> Shroud gap, right-click and select Properties in the contextual menu.
34. Increase the Number of Points to <25> <Enter> to increase the default number of flow paths between the main blade tip and the shroud.
35. Keep all other data identical.



The Cell Width controls the cell size imposed at the blade extremity (at the hub or shroud according to the gap type).
The Percentage of Mid-flow Cells controls the number of cells of constant size in the gap region of the channel.
The Number of Points controls the number of points in the gap in the spanwise direction. This number is part of the Flow Paths Number specified through Mesh Control -> Row Mesh Control -> Flow Paths Control in the QAP.

36. Close the dialog box.
37.  Click Generate Flow Paths () to regenerate the flow paths when default values are modified.
Blade-to-Blade Control
38. Left-click Row Definition -> row 1 in the QAP to activate the current row, if not done already.
39. Control blade-to-blade mesh through Mesh Control -> Row Mesh Control -> B2B Mesh Topology Control.
40. Open the Topology control field, and keep the dialog box opened.
41. Activate Matching Periodicity in the Topology control field to switch to matching periodicity.

By default, non-matching connections are applied at periodic boundaries. You can see the periodic boundary by showing the repetitions.

42. Activate Blend the Blade At Trailing Edge in the Topology control field.
43. Activate Blend the Blade At Leading Edge in the Topology control field.


The selection of the options Blend the Blade At Leading Edge and Blend the Blade At Trailing Edge automatically closes the blunt edges by circular shape edges.
44. Click Initialize Topology & Grid Points Distribution in the toolbar and confirm (yes). This button will set the mesh topology to the default skin-like topology considering matching periodic connections and blended blade at the leading and trailing edges.




45. Repeat step 24 to step 37 to reapply the manual modifications on the flow paths.
46. Close the Topology control field.
47.  Left-click Row Definition -> row 1 in the QAP to activate the current row, if not done already.
48. Open the Grid Points control field in the Define B2B Topology dialog box to control the number of grid points in the blade-to-blade view.
49. Left-click any number of nodes, make the proper modification according to the figure below in the entry box and press <Enter> to confirm the modification.



The number of points specified is recommended to be 4xn + 1 (where n is an integer) to allow for multigrid processing on a minimum of 3 grid levels within FINE™.
The Number of Points in Clearance O-mesh allows the user to control the number of points in the tip/hub gap (butterfly topology defined by two blocks).

50. Close the dialog box.
51. Visualize the result in the blade-to-blade view after clicking Generate B2B () to regenerate the mesh in the blade-to-blade view.
52. Go to Mesh Control -> Row Mesh Control -> Optimization Control to adapt the mesh optimization parameters to enhance the quality of the mesh if necessary.

Optimization is performed in the form of smoothing and is executed on each layer using multi-block elliptic techniques. The number of Optimization Steps represents the number of iterations performed with the elliptic smoother. By default, 100 iterations are applied. 

53. Set Optimization Steps = <200> and press <Enter> and Gaps and/or CHT Optimization Steps = <200> and press <Enter>. Keep all other data unchanged. 


54. Close the dialog box.
55. Click on Mesh Control -> Row Mesh Control -> Add Z Constant Line in the QAP in order to add one control line upstream the blade and one downstream the blade as illustrated on the following picture. Right-click to leave the menu. You can modify the control line by left-clicking on it and move each point one by one to make it look like the next figure.




Control lines can be added in meridional space to control the meridional mesh (spanwise flow paths distribution), to change the topology of the 3D mesh (additional H block created upstream or downstream the control line) or to impose a Z constant line in the meridional space (i.e. to capture corner). They are displayed in blue in the meridional view.
56. Right-click on the upstream control line and click on Properties. Set the Streamwise Npts = <49> <Enter> and unselect Fixed Geometry. Keep all other data unchanged.


Streamwise Npts is used when the control line is not located on a blade and specifies the number of streamwise points in the H block upstream or downstream the control line in the blade to blade view if, respectively the control line is upstream or downstream from the blade.
Fixed Geometry specifies if the control line shape should be respected or can be relaxed and have the shape obtained by the optimizer.
57. Right-click on the downstream control line and click on Properties. Unselect Fixed Geometry and keep all other data unchanged.

Both control lines are added in order to control the number of points in the streamwise direction for the H blocks upstream and downstream the blade. You can visualize the difference by generating the B2B mesh before and after adding the control lines.
  

58. Press Generate B2B () to regenerate the mesh in the blade-to-blade view.
3D Mesh Generation
59. Left-click Row Definition -> row 1 in the QAP to activate the current row, if not done already.
60. Click on Generate 3D in the toolbar  and confirm (Start) the generation. 

You can check the blade-to-blade mesh quality at the hub and/or shroud before generating the 3D mesh.
Go to Row Definition and click Select All Rows to select all rows. Go to Mesh Control -> Active B2B Layer to specify the flow path (layer) on which the mesh will be plotted in the blade-to-blade view. By default, at the hub of the machine (Active Layer (%span) set to 0). The layer selected for visualization is defined in percentage of span, going from hub (0%) to shroud (100%). Enter <0> <Enter> or <100> <Enter> in order to visualize the mesh at hub or shroud respectively.


Select Generate B2B to regenerate the blade-to-blade mesh on the new specified layer in the blade-to-blade view.




A detailed analysis of the mesh quality can be performed on a blade-to-blade mesh after generation. Information on orthogonality, aspect ratio and expansion ratio can be outlined in this window by clicking :

Select a row in the Row list <Enter>.
Select quality criteria using the Type pull-down menu.
Left-click Show chart to visualize the distribution of the selected criteria in the form of a histogram. The histogram is drawn for each row.
Left-click part of the histogram to plot the concerned cells in blade-to-blade view or select Display all cells to have an overview of the mesh quality.
Left-click the More info button to obtain information  regarding the minimum and maximum values of the selected criteria.
Close the quality checkbox.



After performing the blade-to-blade mesh quality, the 3D mesh generation can be started by clicking Row Definition -> Select All Rows and then clicking the Generate 3D button.



Once 3D grid generation is completed, a grid quality check is performed and displayed. Minimum cell skewness, maximum expansion ratio and aspect ratio are reported, among others. Data is available for the entire mesh and separately for each entity (row, technological effect, bulb). Data related to grid quality report is automatically stored in a report file, once the project file is saved.
Note that the quality criteria might be slightly different depending on the position of the different z-constant lines of the mesh 
61. Close the dialog box after checking the grid quality. The page can be reopened by clicking .
3D Mesh Visualization
62.  Left-click Row Definition -> row 1 in the QAP to activate the current row, if not done already.
63. Right-click row 1 and select Properties to activate Default in order to plot the full turbomachine.


64. Close the dialog box.
65. Select Toggle 3D Solid View in the View menu to access the shaded blades in 3D view.
66. Right-click in the 3D view to get the contextual menu and select Full View.


67.  Go to View in the QAP to toggle edge or mesh.


68. Right-click in the 3D view and activate MultiView.
69. Left-click the configuration view to retrieve the original QAP.
Check Boundary Conditions & Mesh Quality


70. Check for boundary conditions by clicking .
        
71. Select UND from the Type pull-down menu and press <Enter> to check that there are no patches in the patch list that are still set to an undefined type.

It is important to ensure that no undefined patches (UND) are present in the mesh. If this is not the case, they can usually be removed by increasing the tolerance and launching the Search procedure.



72. Close the dialog box.
73. Left-click anywhere in the 3D view to activate the view (red border), if not done already.
74. Check for negative cells by clicking .


75. Click Apply.
The computation of the negative volumes is performed first. Negative cells can be outlined in the mesh by pressing View neg cells button. Beware that the visualization of negative cells can be memory consuming when a large number of cells must be displayed. It is thus advised to first check the number of negative cells by pressing the Apply button. It is mandatory to remove all negative cells before the calculation can be started
76. Click ok and Close the dialog box.
77. Left-click in the 3D view to activate the view (red border), if not done already.
78. Check for grid quality by clicking .
A detailed analysis of the mesh quality on a 3D mesh can only be performed once the 3D mesh has been generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell width can be outlined in this window using the Type pull-down menu.
79. Select block number (0 for all) - <Enter>.
80. Select quality criteria using the Type pull-down menu.
81. Left-click Show chart to visualize the distribution of selected criteria in the form of a histogram. The histogram is drawn per block (0 = all blocks).


82. Left-click part of the histogram to plot the concerned cells in the 3D view.
83. Left-click the More info button to obtain information regarding the minimum and maximum values of the selected criteria and block.


84. Close the dialog box.
Save Project
85. Go to File -> Save Project As <Tutorial10> <Enter> to save mesh and template files in the directory _mesh.

The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the boundary condition types: ".bcs", ".cgns", ".geom" (".xmt_txt"), ".igg", ".config" and ".qualityReport". The meaning of these files is detailed in the User Guide.
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh with AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these files is detailed in the User Guide.

Now that the mesh is saved, click here to set up the computation in the FINE™/Turbo interface!

Tutorial 10: Flow Settings

Link Mesh & Project

Steady Computation

Manage Computations

Set Flow Configuration

Set Boundary Conditions

Set Numerical Model

Set Initial Conditions

Select Outputs

Control Computation Steering

Save Project & Start Calculation

Follow Convergence Steering

Flutter Computation

Manage Computations

Set Flow Configuration

Set Fluid/Structure Model

Set Initial Conditions

Select Outputs

Control Computation Steering

Save Project & Start Calculation

Follow Convergence Steering

 

The mesh generation process is now completed and one can now go back to FINE™  graphical user interface in order to set the various flow settings required before starting the calculation. Access to the main menu and controls is proposed through a menu bar and a left-tree, and is completed with an icon bar.


Access to the FINE™  graphical user interface from the AutoGrid5™  window is provided through the Modules/Fine Turbo menu and confirm (yes) to enter FINE™  GUI. You're now back at the FINE™  graphical user interface!


A step by step approach is provided in the following lines. It aims at driving you through the various steps that need to be executed starting from  linking the mesh to the project till the execution of the calculation.
Link Mesh & Project
86. Click the icon  and link the mesh "Tutorial10.igg" located in "_mesh" folder of the project.


 The user may be prompted a warning message concerning the solver precision; accept this message. The change of the solver precision is detailed in step 135.

87. Define grid units in Centimeters as the geometrical data inserted in the "Tutorial10.geomTurbo" file is expressed in centimeters.
88. Select a Cylindrical and 3 Dimensions configuration.
89. Click OK to close the dialog box.


90. Go to File/Preferences...
91. Under Project Units tab, select angle and change the units to degree [deg]. Close the dialog box.


This step will be useful for the boundary condition definition where we will define the angles in degree.
For the initialization of a fluid/structure interactions (FSI) computation, it is recommended to start from a converged steady computation. It will allow to start the FSI computation from already stable initial conditions.
Steady computation
Manage Computations
92. Rename the default computation "computation_1" as "111_Std" in the Computations area, to indicate that the calculation will be executed on a coarser grid level (grid level 111) and will be a steady computation. This can be achieved by left-clicking the Rename button and replacing “computation_1” by <111_Std> <Enter>.


Similar operations can be executed using the New Computation or Remove buttons, to respectively create a new computation or remove one.
Set Flow Configuration
93. Go to the tree in the left menu and double left-click on the Configuration menu.


Three sub-menus related to the definition of the working fluid, main flow characteristics and rotating machinery definition can then be accessed.
94. Double left-click on Fluid Model to access the fluid database.
95. Select AIR(Perfect) as a working fluid.



The fluid database includes a number of pre-defined fluids, covering various approximations in fluid definition such as perfect gas, ideal (real) gas, incompressible fluids and fluids defined as a set of thermodynamic tables (optional, subjected to a separate license key).
A default fluid database is provided by FINE™/Turbo. The user is also able to create and modify his/ her own fluids and/or use fluids created by others. More details about these functions are available in the FINE™  User Guide.

96. Double left-click on Flow Model to set the flow characteristics.
97. Select Steady to indicate that a steady solution is of interest.
98. Select Turbulent Navier-Stokes to activate the resolution of the RANS equations.
99. Select Spalart-Allmaras as the turbulence model of choice.


A number of turbulence models can be accessed through the interface. They require the additional resolution of 0-equation to 4-equations, depending upon the model selected. Some of these models do need a fine resolution near the wall (y+ ranging from 1 to 5), while others use the log-law concept and can mimic the logarithmic law. More details can be found in the FINE™  User Guide.
100. Set Reynolds Number Related Info:

Set the Characteristic length = <0.09> < Enter>,
Set the Characteristic velocity = <429> < Enter>,
Set the Characteristic density = <1.2> < Enter>.

Characteristic variables (length, velocity, density) are required to estimate the Reynolds number. This number is used at a few locations inside the flow solver, in particular inside the damping functions related to the modeling of turbulence down to the walls.
The impact of the characteristic variables on the flow solution is very limited, but it is advised to select values in accordance with characteristic quantities of the geometrical domain and flow conditions. As an example, the characteristic length may be defined by a reference diameter or length at inlet and/or outlet of the computational domain, and/or the chord of the blade (if any). The characteristic velocity may be set to the averaged inlet velocity. The characteristic density is fixed as the average (molecular) fluid density.
101. Double left-click on Rotating Machinery to set the rotating machinery definition.
102. Check that the Rotational Speed = <-16043> [RPM].


In the cylindrical mode, the flow solver resolves the equations by default in a relative frame of reference. As a consequence, the mesh attached to the blade is rotating at the same speed as the blade, as long as no rotor-stator interaction is present. The rotation speed has been introduced in AutoGrid5™  and transferred through FINE™, limiting user interventions in the graphical user interface.
For rotating machinery projects, the axis of rotation must be aligned along the z-direction. 
The page related to Rotor-Stator is not required in the frame of this tutorial. Please consult Tutorial 2 for more information regarding the treatment of rotor-stator interfaces.
Set Boundary Conditions
103. Go to the tree in the left menu and double left-click on the Boundary Conditions menu.
During the grid generation process, AutoGrid5™  defines the type of the boundary conditions to be applied on each block face. The most common types are INLET, OUTLET, PERIODIC and SOLID boundary conditions.
PERIODIC boundary conditions are set automatically by the flow solver and must not be modified by the user.
It is important to confirm each entry by pressing the <Enter> key.
104. Go to Mesh -> View On/Off to load the mesh into the FINE™  GUI.

This toggle menu is used to visualize the grid in FINE™. The parameters area will be overlapped by a graphics window, and the small control button on the upper-left corner of the graphics window can be used to resize the graphics area in order to visualize the parameters and the mesh simultaneously. 


The selection of patches in the left column outlines the corresponding patch in the graphics area, thus enabling a fast and easy visualization of the boundary conditions.

105. Go to the INLET tab:

Select Total Quantities Imposed,
Select Angle from Axial Direction (Vz extrapolated) type of boundary conditions,




Set arct(Vt / Vz) from Constant Value to fct(space),
Left-click the  icon to access the boundary conditions profile editor,
Left-click Import in the profile editor and select the profile data "Inlet_flow_direction.p" stored in "/_profiles/",



1D Boundary condition profiles can be set as a function of the radius (r), but also as a function of the Cartesian coordinates (x, y, z) or circumferential direction.
The profile editor also enables the introduction of 2D (surface) data. In that case, the Surface data check button should be activated in the profile editor.

Click OK to close the profile editor,
Set arct(Vr / Vz) = <0> <Enter>,
Set Absolute Total Pressure from Constant Value to fct(space),
Click the  icon to access the boundary conditions profile editor,
Left-click Import in the profile editor and select the profile data "Inlet_Ptot.p" stored in "/_profiles/",




Click OK to close the profile editor,
Set Absolute Total Temperature from Constant Value to fct(space),
Click the  icon to access the boundary conditions profile editor,
Left-click the Import button in the profile editor and select the profile data "Inlet_Ttot.p" stored in "/_profiles/", 




Choose Turbulent Viscosity as the Turbulent Quantities and set Turbulence Viscosity to <0.0001> <Enter>.

 
106. Go to the OUTLET tab:

Select Pressure Imposed,
Activate Radial Equilibrium,
Set Static Pressure = <121833.2> <Enter>,
Set Radius = <0.1961> <Enter>,
Keep Radial Direction to J.



A constant static pressure of 121,833.2 Pa is fixed at the exit boundary of the computational domain, at radius r = 0.1961 m. Based on this data, the flow solver calculates the distribution of static pressure at the exit, along the spanwise (J) direction, according to the radial equilibrium equation. This boundary condition should be restricted to axial machines.
107. Go to the SOLID tab:


 For each row, patches including the keyword "hub" are by default collected in a unique group named as "rotor_hub". Patches including the keyword "shroud" are grouped in "rotor_shroud". Finally, patches of the blade are grouped in "rotor_blade". If the part of the row is rotating, the suffix "_(r.p.m. rot_speed)" is added to the group name. The presences of a tip gap is automatically taken into account in the blade group, thus minimizing user intervention in the definition of the boundary conditions. For a rotor, which is defined in AutoGrid5™, it is assumed that the hub and the blade are fully rotating. The rotation speed takes the value introduced during the mesh generation process. The shroud is assumed to be a fixed entity, with no assigned rotation speed.

Left-click group "rotor_hub_(r.p.m.-16043)",

The rotation speed is usually considered as a constant for the entire patch (group). However, FINE™ integrates the possibility to define that only part of a patch is rotating (e.g. part of the hub). This applies to ROTOR 67 project, where only part of the hub is considered as a rotating part.

Keep Adiabatic,
Select Area Defined Rotation Speed,

A schematic sketch is provided in the page. It enables the definition of some geometrical windows on the selected patch (or group). The window is defined according to 4 quantities related to the abscissa (z) and radius (r) in the meridional plane. Solid walls included in the window will be considered as rotating, with rotation speed 2, while portions of solid walls located outside of the window will rotate with a speed equal to the rotation speed 1. In this manner, it is feasible to define rotating parts independently for the mesh.



Set Rotational Speed 1 = <0> <Enter>,
Set Rotational Speed 2 = <-16043> <Enter>,
Set Lower Radius Limit = <0> <Enter>,
Set Higher Radius Limit = <1> <Enter>,
Set Lower Axial Limit = <-0.01374> <Enter>,
Set Higher Axial Limit = <0.09365> <Enter>.

The convergence of both axial thrust and torque can be monitored in the computation steering to make sure that both quantities have reached stable values at the end of the convergence process. Both values are also available from the *.mf file located in the computation directory. The torque can also be used for the calculation of the efficiency of the machine. It is common practice to enable force and torque calculation on rotating patches only.
Set Numerical Model
108. Go to the tree in the left menu and double left-click on the Numerical Model menu.
109. Switch to Expert Mode.



By clicking on the arrow at the right the user may select the user mode. For most projects the available parameters in Standard Mode are sufficient. When selecting Expert Mode, parameters area included additional parameters. These expert parameters may be useful in some more complex projects.


This menu gives access to the most frequently used numerical parameters, including the Courant Friedrichs Lewy (CFL) number and the selection of the grid level on which the simulation will apply. It is important to confirm each entry by pressing the <Enter> key.
110. Keep CFL unchanged to 3.
The CFL number drives the pseudo-time step selected to reach a steady state solution using the time-marching method integrated in the flow solver. In combination with the 4-step Runge-Kutta integration scheme included in the flow solver, it has a theoretical stability limit close to 2.8. However, the additional implicit smoothing scheme can increase this value slightly, which justifies the default value of 3.
The default value for CFL number is adequate in most cases, but can be decreased in some circumstances, in particular at off-design conditions.
111. Define the grid level on which the simulation will apply:
The flow solver is based on an explicit time integration technique, which is accelerated using dedicated multi-grid methods. To this end, several levels of intermediate grids must be generated starting from the finest one. This is achieved by taking one node over 2 in each I, J or K directions, starting from the finer grid level.
It is strongly advised to enable the definition of at least 3 grid levels, by carefully selecting the number of nodes on every edge forming the patches and blocks. More details can be found in the IGG™, AutoGrid5™ and FINE™ User Guides.
In FINE™ terminology, the finest grid level a user can access will be called 000 while the intermediate and coarsest ones will be named 111 and 222 level respectively, assuming 3 grid levels can be selected.
Hybrid grid levels can theoretically be defined (e.g. 010 or 211). It is however not advised to use such hybrid levels since it deforms the mesh in a preferential direction, possibly the aspect ratio. Consequently, the quality of the  resulting mesh could be decreased.

Set Current Grid Level = <1 1 1> <Enter>,
Keep Number of Grid(s) = 2,
Keep Coarse Grid Initialization active.

In addition to the multi-grid acceleration technique, the number of iterations to convergence can be significantly reduced by activating the Coarse Grid Initialization process. In that case, the simulation starts on the coarsest grid level available, leading to fast convergence. Once done, the flow solver automatically interpolates the current flow solution on the intermediate levels before the iterative process is reached. The iterative process is then continued as long as the convergence criterion is not reached or until the maximum number of iterations is not exceeded. More details can be found in the FINE™ User Guide.
112. Define the Full MultiGrid Parameters:

Set Maximum number of cycles per grid level = <400> <Enter>,
Set Convergence criteria on each grid level = <-4> <Enter>.

Set Initial Conditions
113. Go to the tree in the left menu and double left-click on the Initial Solution menu.
114. Left-click the ROWS group.
The group is automatically created when the mesh is loaded into the FINE™  GUI. In complex project, hybrid initial solutions can be useful. In that case, a constant initial solution per block can be selected for some groups, with others can benefit from an initial solution from Turbomachinery. Limitations related to the use of hybrid initial solutions are described in the FINE™ User Guide.
115. Select for turbomachinery to access the initial solution menu for turbomachinery.
Initial conditions can be selected in different forms, going from constant values per block to throughflow based solutions. When running a rotating machinery it is common practice to select the initial solution for Turbomachinery. Based on a 1D estimation of the flow solution, the initial solution for Turbomachinery often offers a drastic reduction in the number of iterations when running 3D simulations. Inputs ("best estimation") related to static pressure at inlet and rotor-stator interfaces (if it applies) are requested.
116. Select the inlet patch ("row_1_flux_Blade_upStream_inlet").
117. Set Estimated Static Pressure = <81060> and press <Enter>.
118. Choose Turbulent Viscosity as the Turbulent Quantities and set Turbulence Viscosity to <0.0001> <Enter>.


Select Outputs
119. Go to the tree in the left menu and double left-click on the Outputs menu. Double left-click Computed Variables.

Quantities of interest in the simulation must be pre-selected in this menu. They will be stored in the solution file (*.cgns) once the iterative process is finished and/or during intermediate steps. Quantities can be accessed in both the 3D field (Computed Variables) and/or in the meridional plane (following circumferential averaging, see Azimuthal Averaged Variables). Additional data can be selected on the solid walls and/or predefined surfaces (Surface Averaged Variables).
The adequate selection of outputs of interest will reduce the size of the solution file. This is in particular important when projects involving very fine meshes and/or unsteady capabilities are managed.

120. Select and add (Add -->) Static, Total Absolute and Total Relative Temperature if not yet selected.
121. Select and add (Add -->) Static, Total Absolute and Total Relative Pressure if not yet selected.
122. Select and add (Add -->) Density, Entropy, Rothalpy and Dynamic viscosity if not yet selected.


123. Left-click the Velocities in the menu Categories.
124. Select and add (Add -->) Vxyz and Absolute Mach number if not yet selected.
125. Select and add (Add -->) Wxyz and Relative Mach number if not yet selected.


Vxyz and Wxyz are the velocity vectors fields in respectively the absolute and relative frame of reference. The examination of solution quantities in the relative frame of reference is particularly useful to observe the flow angles relative to the blade close to leading and trailing edge.
126. Left-click the Solid data in the menu Categories.
127. Select and add (Add -->) Static pressure, Static temperature, Cf, Relative velocity and y+ (in first inner cell) if not yet selected.


Cf is known as the friction coefficient.
The parietal coordinate y+ is a direct function of the distance from the wall. Therefore, y+ = 0 at the wall and takes a non-zero value at the center of the first cell close to the wall (also called "inner cell"). As a consequence, the examination of y+ "at the wall" should be understood as the examination "in the first inner cell". Although it is not correct theoretically speaking, this concept is very often used to ease the post-treatment and benefit from the existing solid surfaces.
128. Left-click the Turbulence in the menu Categories.
129. Select and add (Add -->) Wall distance and Turbulent Viscosity ratio if not yet selected.


The analysis of the Turbulent Viscosity ratio field is often of major interest to ensure that the turbulent quantities are computed accurately, according to the selected turbulence model and mesh refinement.
Control Computation Steering
130. Go to the tree in the left menu and double left-click on the Computation Steering menu.
131. Double left-click Control Variables.
132. Set Maximum Number Of Iterations = <1000> <Enter>.
133. Set Save Solution Every = <100> <Enter>.
134. Set Convergence Criteria = <-8> <Enter>; change the solver precision from Single to Double.


Depending upon the quality of the initial solution, the density of the mesh (number of nodes) and the complexity of the underlying flow field, a few hundred to few thousand iterations are typically required to reach convergence. The iterative process is stopped once the convergence criterion is reached over the entire domain or the maximum number of iterations is exceeded on the finest grid level (000).
The ability to select Minimum output offers the possibility to minimize the size of the solution files. In this case, the flow solution is stored only once the iterative process is finished, and limited information is provided during the intermediate storage. This limited information allows the user to perform a restart procedure from an existing flow solution, but cannot be visualized within CFView™.
Static memory allocation is enabled inside the flow solver. An estimation of the memory required to run and save the flow solution is calculated and provided as a default. However, in some circumstances, the estimation may be too low. It is then required to manually increase the number of reals or integers necessary to drive the solution to success. To do this, click Set the requested memory and increase the inputs accordingly.
Save Project & Start Calculation
135. Open the File menu and Save the project.
The project parameters are stored in the *.iec file. This file includes the entire set of parameters required to reproduce the project, excluding the mesh. 
136. Press the  icon and click Start Flow Solver in the dialog box to start the calculation: a task manager window will appear.
The calculation will start in serial mode (1 processor) on the local machine. FINE™  includes multi-processor capabilities and the ability to manage computations through a task manager and/or in batch mode. More details can be found in the FINE™  User Guide.
Follow Convergence Steering
137. Double left-click Convergence History.


The evolution of averaged residuals on the entire domain can be observed during the convergence process. Similarly, the evolution of the mass flow balance (in/out) and/or global quantities (isentropic efficiency, torque and axial thrust on solid walls selected in the boundary conditions page, pressure ration) can be displayed.
Local and global quantities may also be added for follow-up during the convergence process. However, their representation in the graphical area will only be effective once they are added in the Selected Variables list, see  FINE™ User Guide.
The examination of residuals per block and/or for a given primitive variable can be achieved accessing the monitorTurbo tool. The tool is included in the FINE™ package and can be accessed through the adequate command line. More details can be found in the FINE™  User Guide.
138. Once the calculation has converged or has reached the maximum number of iterations allowed on the finest grid level, the flow solver will stop.
139. The final solution is stored in the solution file (*.cgns) and the task manager window is closed.
To check the convergence of the computation, NUMECA recommends observing the evolution of multiple criteria including (a) an adequate decrease in residuals (minimum 3 orders of magnitude); (b) complete stabilization of global performances; (c) stabilization of mass flow in/ out, with satisfactory correspondence (usually less than 0.5% difference between in/ out)
Flutter computation
Manage Computations
140. Click on the computation <111_Std> and then click on New Computation.
141. Rename the new computation by left-clicking the Rename button and replacing "new_111_Std" by <111_NLH_Flutter> <Enter> to indicate that this will be a harmonic computation modeling the fluid/structure interactions, more specifically the Flutter phenomena.
When clicking on New Computation, the active computation "111_Std"  is copied and the new computation "new_111_Std" has the same project parameters as the previous selected computation "111_Std".


Set Flow Configuration
142. Go to the tree in the left menu and double left-click on the Configuration menu.


143. Double left-click on Flow Model to set the flow characteristics.
144. Select Harmonic to indicate that a Non-Linear Harmonic solution is of interest. Keep the default configuration Basic.
145. Set the Number of frequencies per perturbation to <1> <Enter>.
146. Set the Max number of perturbations per blade row to <1> <Enter>.

The Harmonic method, introduced by He and Ning (1998), can be considered as a hybrid method conjugating the advantages of classical steady state and full unsteady calculations: it provides an approximate unsteady solution at affordable calculation costs.
The main idea is that the flow perturbations that make the flow unsteady are written about a time-averaged value of the flow and are Fourier decomposed in time. Casting the unsteady Navier-Stokes system into the frequency domain, transport equations are obtained for each time frequency. The user controls the accuracy of the unsteady solution through the order of the Fourier series.
FINE™/Turbo provides several NLH methods:

Basic: The basic harmonic method is a rank-1 method, which considers only the perturbation from the adjacent relative rotating rows of the reference row.
Clocking: The clocking harmonic method is a simplified rank-2 method, which considers the perturbation from the adjacent rotating rows of the reference row and also simulates the rotor/rotor and stator/stator interaction in a multi-row turbomachine.
Multi-rank: The multi-rank harmonic method is a generalized harmonic method, which considers not only the perturbation from the adjacent successive N rows of the reference row, but also the interaction of harmonics between the adjacent successive N rows. 





When activating Harmonic in the Flow Model page and select the button Basic, two boxes appear: 

Number of frequencies per perturbation: the number of time harmonics per periodic perturbation modeled in a row. Default value: 3. 
Max number of perturbations per blade row: the highest number of blade passing frequencies to which a blade row is subjected. Default value: 2. 


147. Keep all other data unchanged as it was defined for computation "111_Std".
Set Fluid/Structure Model
148. Go to the tree in the left-menu and double left-click on the Optional Models menu.


149. Double left-click Fluid Structure to set the fluid/structure interactions.
150. Activate Mechanical Coupling in the Mechanical tab.
151. Keep the default setting for Global Parameters: Elastic deformation – Modal.
For modal coupling simulations, external structural analysis software should be used first to compute the modal shapes and the eigen frequencies of the structure. With the computed modal shapes and the eigen frequencies, the FINE™/Turbo flow solver will consider the interaction between the flow and the structure and compute the deformation of the structure by solving the modal equations.
152. Select "row1_blade_(r.p.m.-16043)" in Solid Patches & Groups.
153. Go to Mesh -> View On/Off to load the mesh into the FINE™ GUI in order to make sure you selected the right group patch.
154. Activate Coupled for the selected group "row1_blade_(r.p.m.-16043)".


The user can select the patches/groups that belong to the same structure. One structure can consist of multiple patches/groups. To select multiple patches/groups, keep the key <Ctrl> pressed and left-click on the patches/groups
The FINE™/Turbo solver can model multiple structures. The user has to specify a Structure ID for each structure.

155. Click the  icon next to Modal to access the modal parameters.

156. Keep the value of the Structure ID to 1. It is the same value as the one displayed when you activated Coupled for the group patch "row1_blade_(r.p.m.-16043)".
157. Keep the default Structure Name: "struct_row1_blade_(r.p.m.-16043)".
The Structure Name is by default the name of the group patch with the prefix "struct_”.
158. For the Structure File, click on the icon  and locate the file "Rotor_67_modes_reduced.dat" stored in the "_structure" directory.


The Structure File includes the modal properties and the initial deformation (optional). The modal properties (eigen frequencies and mode shapes) are needed by the flow solver in order to compute the elastic deformation of the structure. These properties can be computed by a CSM (Computational Solid Mechanics) code or measured experimentally. As the modal resolution is a linear method, an initial deformation can be specified. This is useful to take into account non-linear effects independent of the fluid load, such as the centrifugal load effect.
The Structure File must be written in ASCII format. First, this file includes the number of dimensions of the structure, the number of modes, the number of structure nodes at which the modes are defined and a flag to specify if an initial deformation is specified. Then, the eigen frequencies are listed in increasing order. The frequencies have to be written in [Hz]. Finally, the initial deformation and the mode shape information are written node by node. For each node one line contains the three (or two for 2D computation) coordinates, the initial deformation (if the parameter Initial deformation is set to 1) and the components of each mode sorted in increasing frequency order. The coordinates and the mode shapes have to be written in the SI unit system and in the Cartesian system. For mode shape the conversion factor is the inverse of the square root of the mass conversion factor.
The mode shape must be normalized with the mass for a generalized mass equal to 1. After all modes are normalized, the mass matrix [M] becomes the unit matrix and the stiffness matrix [K] is a diagonal matrix where the elements are the square of the mode frequency, see Theory Guide for more details.
159. Set the Number of Modes to <10> <Enter>.
The Number of Modes used in the computation must be specified. The number of used modes must be less or equal to the number of modes defined in the structure file.
160. Keep Mode to 1 and click on Preview to visualize the mode shapes on the graphic window.
161. Activate the option Display only 1 point in: <10> <Enter> for better visualization. You can observe that the first mode is a bending mode.


The graphic window must be opened (go to Mesh / View On/Off) before clicking on Preview to visualize the mode shapes.
The user also has the possibility to modify the size of the arrows by modifying the Scaling Factor parameter.
162. Set the Mode to <3> <Enter> and look in the graphic window the visualization of the mode shapes. You can observe that the third mode is a torsion mode.


163. After visualization, set the Mode back to <1> <Enter>.
164. Set the Generalized Displacement to fct(frequency).
In case of harmonic computations, a frequency domain definition of the generalized displacements can be specified.

The generalized displacements are linked to the physical deformation according to the following equation:



where:

 is the displacement of the structure;

 is the generalized displacement;
  are the natural mode shapes.

165. Set the Frequency = <567.955> <Enter> [Hz], which corresponds to the first eigen frequency. You can find the values of each eigen frequency at the top of the structure file "Rotor_67_modes_reduced.dat".
This Frequency defines the frequency of the vibration of the selected mode.
166. Set the IBPA = <0> <Enter> [deg].
IBPA stands for Inter Blade Phase Angle. The IBPA represents the motion phase shift between adjacent blades in the same row.
When combining the harmonic method and the modal method, FINE™/Turbo is able to perform flutter analysis with only one channel meshed whatever IBPA is considered.
167. Set the Mean = <0> <Enter>.
This Mean value defines the time-averaged value of the profile of the generalized displacements.
168. For the Generalized Displacement, for the first and only harmonic, set the Real part to <0> and the Imaginary part to <5.1431e-05>.
169. In order to visualize the generalized displacement in time, click on Update Graph.


170. Close the dialog box by clicking on OK.
171. Activate the Expert Mode, if not done already.
172. For the Mesh Deformation, activate the method Radial Basis Functions --> Transfinite Interpolation.



Transfinite Interpolation (TFI) is a very fast method reducing the computational time for mesh deformation. For this method, a displacement of the topology is needed.
Radial Basis Functions (RBF) provide the initial solution for TFI. The displacements of the boundary nodes at the corners serve as a reference for the interpolation of the interior mesh block nodes.
For more information about mesh deformation techniques, see FINE™  User Guide.

Set Initial Conditions
173. Go to the tree in the left menu and double left-click on the Initial Solution menu.
174. Left-click the ROWS group.
175. Select from file and click on the icon  and locate the first steady computation directory to select "Tutorial10_111_Std.run".
176. Activate the option Reset convergence history.

When activating the option Reset convergence history, the ".res" file, which contains all the residuals from the previous computation, will be erased. The new residuals will be calculated with respect to the first iteration of the new computation. If the from file solution is already very close to the exact solution, the normalized residuals will decrease slowly, because the starting state is already a good approximation of the solution.

Select Outputs
177. Go to the tree in the left menu and double left-click on the Outputs menu.
178. Double left-click Computed Variables.
179. Left-click the Deformation in the menu categories.
180. Select and add (Add -->) Dx, Dy, Dz, Harmonic Dx (Amplitude), Harmonic Dy (Amplitude) and Harmonic Dz (Amplitude) if not yet selected.
Control Computation Steering
181. Go to the tree in the left menu and double left-click on the Computation Steering menu.
182. Double left-click Control Variables.
183. Set Maximum Number Of Iterations = <1500> <Enter>.
184. Set Save Solution Every = <500> <Enter>.
185. Set Convergence Criteria = <-8> <Enter>.
186. Keep Number Of Steady Iterations = 0.
As the initial solution in this case is already a steady solution, there is no need to set additional steady iterations.

Depending upon the quality of the initial solution, the density of the mesh (number of nodes) and the complexity of the underlying flow field, from few  hundreds to few thousand iterations are typically required to reach convergence. The iterative process is stopped once the convergence criterion is reached over the entire domain or the maximum number of iterations is executed on the current grid level (111 in the present case).
Ability to select for Minimum output gives the possibility to minimize the size of the solution files. In that case, the flow solution is stored only once the iterative process is finished, and limited information is proposed during the intermediate storage. This limited information allows to perform a restart procedure from an existing flow solution, but cannot be visualized within CFView™.



187. Modify the Memory Requirements by activating the option Set the static requested memory:

Set the required number of reals to <500> Mb and press <Enter>,
Set the required number of ints to <10> Mb and press <Enter>.

By default, an estimation  for the required memory is given. Depending on the parameters defining the computation, additional memory may be needed. To allocate more memory for the computation, activate the option Set the static requested memory. This will allow to define the amount of memory in Mb used for reals and integers.
188. Activate Expert Mode (if not done already) in the toolbar to access the list of expert parameters:

Left-click MVGAP in the Integer parameters list,
Set Value to <1> <Enter>,

Set MVGAP = 1 allows a free movement of the nodes along the hub or the shroud that copies the blade displacement. It usually avoids having negative cells in the tip gap when the mesh is deformed. See more details in  FINE™  User Guide.
189. Double left-click Convergence History.
190. In the Available Variables, select global residual harmonics and click on Add for Selection.
191. In the Available Variables, select the aerodynamic power and click on Add for Selection.
192. Set the GroupName = <row 1_blade_(r.p.m. -16043)> and press <Enter>.


The aerodynamic power is defined by , where  is the velocity of the wall deformation.
Save Project & Start Calculation
193. Go to File menu and Save project.
The project parameters are stored in the *.iec file. This file includes the entire set of parameters required to reproduce the project, excluding the mesh.
194. Press the icon    and Start Flow Solver to start the calculation: a task manager window is appearing.
The calculation will start in serial mode (1 processor) on the local machine. FINE™  includes multi-processor capabilities and the ability to manage computations through a task manager and/or in batch mode. More details can be found in the FINE™  User Guide.
Follow Convergence Steering
195. Go to the tree in the left menu and double left-click on Convergence History.
196. Once the calculation is converged or reaches the maximum number of iterations allowed on the current grid level, the flow solver stops.
197. Check the converged value of the aerodynamic power.
The sign of the aerodynamic power is important for flutter analysis. If the aerodynamic power is negative, this means that the fluid damps the structure motion, it is a stable situation. If the aerodynamic power is positive, the fluid gives energy to the structure and amplifies the structure motion which leads to flutter phenomena.
198. The final solution is then stored in the solution file (*.cgns) and the task manager window is closed.
To check the convergence of the computation, NUMECA recommends to observe the evolution of multiple criteria including (a) an adequate decrease in residuals (minimum 3 orders of magnitude); (b) complete stabilization of global performances; (c) stabilization of mass flow in/out, with satisfactory correspondence (usually less than 0.5% difference between in/out).
Now that the iterative process is over, click here to start the visualization of the solution within the post-treatment tool CFView™ integrated in FINE™/Turbo.

Tutorial 10: Post Processing
            

Post Processing Of Time-Mean Results

View Static Pressure On Solid Surfaces

View Harmonic Quantity On Blade-to-Blade Surface

Reconstruction In Time

Post Processing Of Unsteady Results

 


The iterative process is now over and the flow solution is stored in the ".cgns" file. The number of nodes in a typical mesh usually ranges from few hundred thousands to several million, which makes visualization delicate in most cases. As part of the FINE™ environment, NUMECA proposes the home-made visualization and post-treatment tool CFView™ for that purpose. CFView™ is entirely integrated in the environment and includes numerous tools which are particularly best suited for the analysis of turbomachinery configurations.
A step by step approach is proposed in the following lines. It aims at driving you through the various steps that need to be executed from reading the solution to the extraction of the main results. CFView™ automatically opens the file ".run" file associated with the active computation.
First, the time-mean results will be post-processed. The amplitude of deformation and the static pressure field will be displayed on the solid surfaces. The harmonic quantities (first harmonic of pressure and first harmonic of entropy) will also be visualized in blade-to-blade cutting planes.
Then, the flow will be reconstructed in time in order to visualize the evolution of the amplitude of deformation on the solid surfaces over time.
Post Processing Of Time-Mean Results
The harmonic method solves the time-averaged flow equations and the harmonic equations. All the exported time-averaged quantities and harmonic quantities can be directly post-processed in CFView™.
199. Access CFView™ from FINE™/Turbo GUI, pressing the icon .
200. Deactivate View the azimuthal averaged solution.
201. Left-click on Start CFView.


You now enter 3D analysis mode in CFView™!


View Amplitude Of Deformation On Solid Surfaces
202. Go to Geometry menu.
203. Select Boundary to deactivate boundary representation.
Boundary activation/deactivation is used as a toggle and acts on all selected surfaces. Fast access is ensured using the binding key <b>.
204. Double left-click on the checkboxes:"rotor_shroud" inside the Quick Access Pad/Surfaces area to deactivate the set of patches that define the entity shroud. Groups "rotor_blade_(r.p.m.-16053)" and "rotor_hub_(r.p.m.-16053)", are the only entities that remain active at this moment.

Selection of surfaces for representation is controlled through the Surfaces area. Alternatively, identical operations can be retrieved from the menu Geometry.


Patches flagged as solids are selected as default surfaces for representation. Groups created in the boundary condition area inside FINE™/Turbo GUI are transferred  directly to CFView™, so that the selection of surface entities can be performed in a few clicks.
Fast selection of a group of surfaces in a large list including numerous surfaces, which are partly checked/unchecked, can be done by first left-clicking (combined with <Ctrl> or <Shift> for multiple surfaces) on the target surface(s) desired for representation, then right-click to get the contextual  menu and choose Select.

205. Go to Geometry menu.
206. Select Boundary again to activate boundary representation on active surfaces.


207. Select Quantity -> Field Data -> Vector Components -> Dxyz -> Magnitude of D.
208. Select Representation -> Color Contour -> Strip.
209. Select Representation -> Scalar Range -> Colormap Optimum Range.
Colormap Optimum Range restricts the bounds of the colormap to those related to active surfaces instead of the complete 3D domain. This capability is often useful to outline, in a clearer manner, a number of details. It can also be accessed by pressing the icon .


210. Make use of the Viewing buttons to modify the representation mode.




View Static Pressure On Solid Surfaces
211. Select Update -> Delete -> All to delete all color contour.
212.  Select Quantity -> Field Data -> Basic Quantity -> Static Pressure.
213. Select Representation -> Color Contour -> Smooth.
214. Select Representation -> Scalar Range -> Colormap Optimum Range.


View Harmonic Quantity On Blade-to-Blade Surface
215. Select Update -> Delete -> All to delete all color contour.
216. Select Geometry -> Boundary to deactivate boundary representation.
217. Select Geometry -> Blade to Blade Surface to create a blade to blade surface.
218. Keep the default settings and click on the button Save. This will create a blade-to-blade surface at 50% span.


219. Click on the button Close to close the dialog box.

CFView™ integrates the possibility to create cuts at constant spanwise position (also called "blade-to-blade" planes). This capability is especially useful when the endwalls are not planar. The surface for representation at constant spanwise position is then created based on linear interpolation between the endwalls.
Pressing Save button in the dialog box creates an additional surface for representation in the Surfaces area, enabling quantity selection and representation as discussed in the previous sections.

220.  Select the surface "CUT1" in the Quick Access Pad/Surfaces area, right-click on it and select the menu Select. The created surface "CUT1" will be selected only.


221. Double left-click on the quantity Harmonic Pressure Amplitude - 1 Harmonic in the Quick Access Pad/Quantities to select it.


222. Select Representation -> Color Contour -> Strip.
223. Select Representation -> Scalar Range -> Colormap Optimum Range.
224. Make use of the Viewing buttons to modify the representation mode.


225. Select Update -> Delete -> All to delete all color contour.
226. Select Geometry -> Boundary to deactivate boundary representation.
227.  Double left-click on the "CUT1" checkbox  inside the Quick Access Pad/Surfaces area to deactivate the set of patches that define the cutting plane. 
228. Select Geometry -> Create IJK Surface… to create a structured surface.
229. In Domains, select the domains from 1 to 7.
230. Select the J direction and set the Value to <27> <Enter>.


231. Click on the button Save to create the structured internal surface.
232. Click on the button Close to close the dialog box.
233. Double left-click on the quantity Harmonic Entropy Amplitude – 1 Harmonic in the Quick Access Pad/Quantities to select it.
234.  Select Representation -> Color Contour -> Smooth.
235. Select Representation -> Scalar Range -> Colormap Optimum Range.
236. Make use of the Viewing buttons to modify the representation mode.


237. Select File -> Close Project to close the opened project
Reconstruction In Time
The "harmo2time" tool, integrated in CFView™, allows to reconstruct the unsteady flow by using the time-averaged solutions and harmonic solutions. More details can be found in CFView™ User Guide.
238. Select File -> Open Project Selection to open the harmonic computation.
239. Locate and select the computation file "Tutorial10_111_NLH_Flutter.run".
240. In the partial loader dialog box, keep the default settings and click on the option Reconstruct the flow in time.


241. Select all groups in the frame Group information and set Number of repeated blade channels to <2> <Enter>.


242. Keep all other settings and click on the Apply button.
243. Save the reconstructed solution with the default name "Tutorial10_111_NLH_Flutter_unst.run".
After reconstruction, all unsteady steps will be loaded into CFView™ by default.
Post Processing Of Unsteady Results
244. Select Geometry -> Boundary to deactivate boundary representation.
245. Unselect “rotor_shroud” in the QAP/Surfaces.
246. Select Geometry -> Boundary to activate the boundary representation.
247. Select Render -> Shading -> Gouraud.
248. Right-click on the surface "rotor_blade_(r.p.m.-16043)" in the QAP/Surfaces and select the menu Select.  The surface "rotor_blade_(r.p.m.-16043)" will be selected only.
249. Select Quantity -> Field Data -> Vector Components -> Dxyz -> Magnitude of D to compute the amplitude of the deformation field.
250. Select Representation -> Color Contour -> Smooth.
251. Select Quantity -> Time Label to show the current time in the view.
252. Make use of the Viewing buttons to modify the representation mode.


253. Click the button Animate () to view the contour of the magnitude of the deformation at all time steps.
254. Select File -> Quit CFView to quit CFView™.

Tutorial 3: Mesh Generation

 Create Mesh Project

 Load Geometry

 Mesh Wizard

 Mesh Visualization

Check Boundary Conditions & Mesh Quality

 Save Project




                               The AutoGrid5™ graphical user interface includes several windows that enable the simultaneous visualization of the geometry and the mesh of the turbomachine in the meridional, blade-to-blade and 3D views. The access to main menu and controls is proposed through a menu bar and a quick access pad, and is completed with a tool/icon bar. The execution of the different actions undertaken is summarized in the message box at the bottom of the interface.


A step by step approach is provided in the following lines. It aims at driving you through various steps that need to be executed from the creation of the mesh project to the validation of the final mesh quality.
Create Mesh Project
1.  Select Basic Mode if necessary in the toolbar.



The Basic Mode will give access to a simplified graphical user interface. For most projects the available parameters in the Basic Mode are sufficient.

                                                2.  Close the Open Turbo Project Wizard dialog box.
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with associated grid) including the data required to regenerate a mesh on an identical or similar geometry. In this tutorial, these data will be progressively introduced based on the geometry of the project case.
3.  Go to File -> New Project.
4.  Click yes to close the active project.
5.  Choose Start a New Project From Scratch. 


Load Geometry
6. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current row, if not done already.
7. Left-click in the meridional view.
8. Go to Geometry Definition -> Init From an External CAD File.


A graphic window opens, allowing geometry import.


9.  Define the hub curve:

Go to File -> Open....
Locate and select the "_geom/hub.dat" file from the file chooser. The geometry is defined in [Meters]. (Where to Find the Files Used in the Tutorials?)
Left-click on the hub, its color should turn to yellow.
Right-click and select Link to Hub.

The hub curve is now displayed in the meridional view.
 


10. Define the shroud curve:

Left-click on File -> Open....
Select the "_geom/shroud.dat" file from the file chooser. The geometry is defined in meters.
Left-click on the shroud, its color should turn to yellow.
Right-click and select Link to Shroud.

The shroud curve and channel are now displayed in the meridional view.
 


11. Define the blade:

Left-click Row Definition -> row 1 in the QAP to activate the current row, if not done already.
Select the menu item File -> Open....
Select the "_geom/blade.dat" file from the file chooser.
Go to Select -> Surfaces.


A message will prompt to select surfaces.





Press key binding <a>.

The binding key <a> acts as a toggle, activating or deactivating all surfaces.

Double right-click to quit the surfaces selection and select Link to Blade.

The blade is now displayed in the meridional view.






12. Define the leading and trailing edge:

Left-click on the blade leading edge curve inside the Import CAD window.
As it turns yellow, right-click and select Link to Leading Edge.
Left-click on the blade trailing edge curve inside the Import CAD window.
As it turns yellow, right-click and select Link to Trailing Edge.

The leading and trailing edges are displayed in the meridional view with inlet and outlet (if the blade is crossing the hub and shroud).


 



            13. Go to File -> Exit to quit the Import CAD window.
Mesh Wizard
14. Left-click Row Definition -> row 1 in the QAP to activate the current row, if not done already.
15. Left-click Row Wizard in the toolbar.



The row wizard is also available in Expert Mode under Mesh Control subpad in the QAP.



16. Click yes to start the wizard and to reset the mesh generation parameters.

The reset will keep the modifications performed by the user in the Row Wizard but will reset the parameters modified in Expert Mode to the default value.
The wizard is divided in 6 steps:

the geometry check (optional),
the machine characteristics definition,
the gap and fillet definition,
the flow path definition,
the blade-to-blade mesh definition,
the end of the initialization.


17. Click yes to confirm the geometry check (step 1).
During the geometry check of a blade, AutoGrid5™  performs the following operations: check blade definition, check orientation of the blade section curves, detect loop detection into the blade section curves and between the blade sections. More details in AutoGrid5™  User Guide.
18. Click on Next in the dialog box to define the machine characteristics (step 2).


19. Select Centrifugal Pump as Row type in the Blade row type dialog box.
20. Enter the Periodicity (number of blades). Left-click inside the string input area and type <7>, press <Enter> to confirm.
21. Select Rotor.
22. Enter <1200> in Rotation Speed (rpm).



This speed will be transferred to FINE™  graphical user interface and ease the input of boundary conditions later on.
The sign of the rotational speed is positive (+) when the blade row is rotating in the positive θ-direction, and negative otherwise.

23. Click  Next in the dialog box to start the gap and fillet definition (step 3).
24. Keep all data unchanged (no gap or fillet).
25. Click Next>> in the dialog box to start the flow path definition (step 4).
26. Set Spanwise Grid Point Number set to <33> <Enter> (corresponding to the flow paths number) in the Layer Control dialog box.
When increasing or decreasing the number of flow paths, the number of flow paths in the gaps and fillets is automatically updated as well as the percentage of constant cells, leading to an increase or decrease of the spanwise expansion ratio.
27. Estimate the width of the first cell at the wall:

The width of the first cell close to the wall must be selected with care since the quality of the flow solution will often depend upon the capture of the flow phenomena inside the boundary layers which develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends to locate the nearest grid point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must be modelled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven by the Blasius equation, expressed as follows for turbulent flows:



where:

ywall is the distance of the nearest grid point to the wall (in meter);
Vref is a reference velocity of the flow, for instance, the inlet velocity (in m/s);
ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
Lref is a reference length of the test case (in meter);
y+ is a non-dimensional value.


In the present case, one can estimate that Vref = 25.13 m/s ; Lref= 0.4m ; ν = 1.01e-6 m²/s. Assuming one wishes to get y+= 6 at the wall, it turns out that y = 1x10-5m.
Input the value of the Wall Cell Width = <1e-5> [Meters] <Enter> in the Layer Control dialog box.


28. Click Next>> in the dialog box to start the blade-to-blade mesh definition (step 5).
29. Set the Number of Points (of the 3D mesh) around 400,000 by clicking the << or >> button in the B2B Control dialog box.


30. Click Preview B2B to plot the blade-to-blade mesh at mid-span: default O4H topology is used with additional upstream/downstream H-blocks.

The Full Visibility option allows the user to see the mesh moving in the blade-to-blade view when applying the optimization steps.


The default O4H topology includes 5 blocks:

the skin block is an O-mesh surrounding the blade;
the inlet block is a H-mesh located upstream the leading edge;
the outlet block is a H-mesh located downstream the trailing edge;
the up block is a H-mesh located above the blade section;
the down block is a H-mesh located under the blade section.


31. Select Skewness or Expansion Ratio to plot the orthogonality or expansion ratio field of the blade-to-blade mesh at mid-span.
 


32. Click Finish to end the initialization process (step 6).
33. Click yes to start the 3D mesh generation.




Click no to check the blade-to-blade mesh quality at hub and/or shroud before generating the 3D mesh.
Go to Mesh Control -> Active B2B Layer to specify the flow path (layer) on which the mesh will be plotted in the blade-to-blade view. By default, the active view is located at the mid-span of the machine (Active Layer (%span) set to 50). The layer selected for visualization is defined in percentage of span, going from hub (0%) to shroud (100%). Enter <0> <Enter> or <100> <Enter> in order to visualize the mesh at hub or shroud respectively.


Select Update B2B View to regenerate the blade-to-blade mesh on the new specified layer in the blade-to-blade view.


A detailed analysis of mesh quality can be performed on a blade-to-blade mesh after generation. Information on orthogonality, aspect ratio and expansion ratio can be outlined in this window by clicking  :

Select quality criteria using the Type pull-down menu.
Left-click Show chart to visualize the distribution of selected criteria in the form of a histogram. The histogram is drawn for each row.
Left-click part of the histogram to plot the concerned cells in blade-to-blade view or select Display all cells to have an overview on mesh quality.
Left-click More info button to obtain information about minimum and maximum values of the selected criteria.
Closethe quality checkbox.



After performing the blade-to-blade mesh quality check, the 3D mesh generation can be started by clicking the Generate 3D button.



Once 3D grid generation is completed, a grid quality check is performed and displayed. Minimum cell skewness, maximum expansion ratio and aspect ratio are reported, among others. Data is available for the entire mesh as well as separately for each entity (row, technological effect, bulb). Data related to the grid quality report is automatically stored in a report file, once the project file is saved.
34. Close the dialog box. The page can be reopened by clicking .
Mesh Visualization
35. Select View -> View 3D Solid Mesh.
36. Left-click the View 3D button in the toolbar to visualize only the 3D view.


By default, the 3D solid mesh is plotted on hub and blades. To remove the plot, select View -> Hide 3D Solid Mesh.
37. Use the Repetition icon () to toggle the repetition of the channel.
 
38. Use the View menu in the QAP to toggle edge, mesh and/or solid shading.




Check Boundary Conditions & Mesh Quality


39. Check for boundary conditions by clicking .
40. Select UND under the Type pull-down menu and press <Enter> to check that there are no patches in the patch list that are still set to an undefined type.

It is important to ensure that no undefined patches (UND) are present in the mesh. If this is not the case, they can usually be removed by increasing the tolerance and launching the Search procedure.



41. Close the dialog box.
42. Left-click in the 3D view to activate the view (red border), if not done already.
43. Check for negative cells by clicking .


44. Click Apply.

The computation of the negative volumes is performed first. Negative cells can be outlined in the mesh by pressing the View neg cells button. Beware that the visualization of negative cells can be memory consuming when a large number of cells must be displayed. It is then advised to first check the number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.

45. Click ok and Close the dialog box.
46. Left-click in the 3D view to activate the view (red border), if not done already.
47. Check for grid quality by clicking .
A detailed analysis of the mesh quality on a 3D mesh can only be performed once the 3D mesh has been generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell width can be outlined in this window using the Type pull-down menu.
48. Select block number (0 for all) - <Enter>.
49. Select quality criteria using the Type pull-down menu.


50. Left-click Show chart to visualize the distribution of selected criteria in the form of a histogram. The histogram is drawn per block (0 = all blocks).


51. Left-click part of the histogram to plot the concerned cells in the 3D view.
52. Left-click the More info button to obtain information regarding minimum and maximum values of the selected criteria and block.


53. Close the dialog box.
Save Project
54. Go to File -> Save Project As <tutorial3> and press <Enter> to save the mesh and template files in the "_mesh" subfolder.

The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the boundary condition types: ".bcs", ".cgns", ".geom" (".xmt_txt"), ".igg", ".config" and ".qualityReport". The meaning of these files is detailed in the User Guide.
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh with AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these files is detailed in the User Guide.

Now that the mesh is saved, click here to set up the computation in FINE™/Turbo interface!

Tutorial 3: Flow Settings

Link Mesh & Project

Manage Computations

Set Flow Configuration

Set Boundary Conditions

Set Numerical Model

Set Initial Conditions

Select Outputs

Control Computation Steering

Save Project & Start Calculation

Follow Convergence Steering


The mesh generation process is now completed and one can now go back to the FINE™  graphical user interface in order to set the various flow settings required before starting the computation. Access to the main menu and controls is provided through a menu bar and a left-tree, and is complemented with an icon bar.


Access to the FINE™  graphical user interface from the AutoGrid5™  window is provided through the Modules/Fine Turbo menu, simply confirm (yes) to enter FINE™  GUI. You are now back at the FINE™  graphical user interface!


A step by step approach is provided in the following lines. It aims at driving you through the various steps that need to be executed from mesh linking to the execution of the calculation.
Link Mesh & Project
55. Click the  icon and link the mesh "tutorial3.igg" to the project.


 The user may be shown a warning message concerning the solver precision; accept this message. The change of the solver precision is detailed in step 103.

56. Define grid units in Meters as the geometrical data inserted in the "tutorial3.geomTurbo" file is expressed in meters.
57. Select a Cylindrical and 3 Dimensions configuration.
58. Click OK to close the dialog box.


Manage Computations
59. Rename the default computation "computation_1" as "000_SA" in the Computations area, to indicate that the calculation will be executed on the fine grid first and will use the Spalart-Allmaras turbulence model. This can be achieved by left-clicking the Rename button and replacing "computation_1" by "000_SA".
 
Similar operations can be executed using the New Computation or Remove buttons, to respectively create a new computations or remove one.
Set Flow Configuration
60. Go to the tree in the left menu and double left-click the Configuration menu.


Three sub-menus related to the definition of the working fluid, main flow characteristics and rotating machinery definition can then be accessed.
61. Double left-click Fluid Model to access the fluid database.
62. Select WATER. Water is now selected as a working fluid.



The fluid database includes a number of pre-defined fluids, covering various approximations in fluid definition such as perfect gas, ideal (real) gas, incompressible fluids and fluids defined as a set of thermodynamic tables (optional, subjected to a separate license key).
A default fluid database is provided by FINE™/Turbo. The user is also able to create and modify his/her own fluids and/or use fluids created by others. More details about these functions are available in the FINE™  User Guide.

63. Double left-click Flow Model to set the flow characteristics.
64. Select Steady to indicate that a steady solution is of interest.
65. Select Turbulent Navier-Stokes to activate the resolution of the RANS equations.
66. Select Spalart-Allmaras as the turbulence model of choice.


A number of turbulence models can be accessed through the interface. They require the additional resolution of 0-equation to 4-equations, depending upon the model selected. Some of these models do need a fine resolution near the wall (y+ ranging from 1 to 5), while others use the log-law concept and can mimic the logarithmic law. More details can be found in the FINE™  User Guide.
67. Set Reynolds Number Related Info:

Set the Characteristic length = <0.4> < Enter>,
Set the Characteristic velocity = <25.13> < Enter>,
Set the Characteristic density = <1001> < Enter>.


Characteristic variables (length, velocity, density) are required to estimate the Reynolds number. This number is used at a few locations inside the flow solver, in particular inside the damping functions related to the modeling of turbulence down to the walls.
The impact of the characteristic variables on the flow solution is very limited, but it is advised to select values in accordance with characteristic quantities of the geometrical domain and flow conditions. As an example, the characteristic length may be defined by a reference diameter or length at the inlet and/or outlet of the computational domain, and/or the chord of the blade (if any). The characteristic velocity may be set to the averaged inlet velocity. The characteristic density is fixed as the average (molecular) fluid density.

68. Double left-click Rotating Machinery to set the rotating machinery definition.
69. Check that the Rotational Speed = <1200>.



In the cylindrical mode, the flow solver resolves the equations by default in a relative frame of reference. As a consequence, the mesh attached to the blade is rotating at the same speed as the blade, as far as no rotor-stator interaction is concerned. The rotation speed has been introduced in AutoGrid5™  and transferred through FINE™, limiting user interventions in the graphical user interface.
For rotating machinery projects, the axis of rotation must be aligned along the z-direction. In addition, a unique rotation speed must be considered for the entire computational domain.
The page related to Rotor-Stator is not required in the frame of this tutorial. Please consult Tutorial 2: Flow Settings for more information about the treatment of rotor-stator interfaces.

Set Boundary Conditions
70. Go to the tree in the left menu and double left-click the Boundary Conditions menu.

During the grid generation process, AutoGrid5™  defines the type of the boundary conditions to be applied on each block face. The most common types are INLET, OUTLET, PERIODIC and SOLID boundary conditions.
PERIODIC boundary conditions are set automatically by the flow solver and must not be modified by the user.
It is important to confirm each entry by pressing the <Enter> key.

71. Go to Mesh -> View On/Off to load the mesh into the FINE™  GUI.

This toggle menu is used to visualize the grid in FINE™. The parameters area will be overlapped by a graphics window, and the small control button on the upper-left corner of the graphics window can be used to resize the graphics area in order to visualize the parameters and the mesh simultaneously.


The selection of patches in the left column outlines the corresponding patch in the graphics area, thus enabling a fast and easy visualization of the boundary conditions.

72. Go to the INLET tab:

Select Static Quantities Imposed,
Select Angle from Axial Direction type of boundary conditions,




Set Magnitude of Absolute Velocity = <1.842> <Enter>,
Set arctg (Vt / Vz) = <0> <Enter>,
Set arctg (Vr / Vz) = <0> <Enter>,
Set Static Temperature = <293> <Enter>,
Choose Turbulent Viscosity as the Turbulent Quantities and set Turbulence Viscosity to <5e-06> <Enter>.

73. Go to the OUTLET tab:

Select Pressure Imposed,
Activate Static Pressure Imposed,
Set Static Pressure = <320000> <Enter>.



74. Go to the SOLID tab:


For each row, patches including the keyword "hub" are by default collected in a unique group named as "row_*_hub_(r.p.m.*)". Patches including the keyword " shroud" are grouped in "row_*_shroud". Finally, patches of the blade are grouped in "row_*_blade_(r.p.m.*)". If  part of the row is rotating, the suffix _(r.p.m. rot_speed) is added to the group name. 
The presence of a tip gap is automatically taken into account in the blade group, thus minimizing user intervention in the definition of the boundary conditions. For a rotor, which is defined in AutoGrid5™, it is assumed that the hub and the blade are fully rotating. The rotation speed takes the value introduced during the mesh generation process. The shroud is assumed to be a fixed entity, with no rotation speed assigned.

Left-click the "row_1_hub_(r.p.m.1200)" group.

The rotation speed is usually considered as a constant for the entire patch (group). However, FINE™  integrates the possibility to define that only part of a patch is rotating (e.g. part of the hub). This applies to the SHF pump project, where only part of the hub is considered as a rotating body.

Keep Adiabatic.
Left-click Area Defined Rotation Speed.

A schematic sketch is proposed in the page. It enables the definition of some geometrical windows on the selected patch (or group). The window is defined according to 4 quantities related to the abscissa (z) and radius (r) in the meridional plane. Solid walls included in the window will be considered as rotating, with rotation speed 2, while portions of solid walls located outside of the window will rotate with a speed equal to rotation speed 1. In this manner, it is feasible to define rotating parts independently from the mesh.



Set Rotational Speed 1 = <0> <Enter>.
Set Rotational Speed 2 = <1200> <Enter>.
Set Lower Radius Limit = <0.01> <Enter>.
Set Higher Radius Limit = <0.2> <Enter>.
Set Lower Axial Limit = <-0.15> <Enter>.
Set Higher Axial Limit = <0.02> <Enter>.
Check the Compute force and torque button.

The convergence of both axial thrust and torque can be monitored in the computational steering, to make sure that both quantities have reached stable values at the end of the convergence process. Both values are also available from the *.mf file located in the computation directory. The torque can also be used for the calculation of the efficiency of the machine. It is common practice to enable force and torque calculation on rotating patches only.



Left-click the "row_1_shroud_(r.p.m.1200)" group.
Keep Adiabatic.
Left-click Area Defined Rotation Speed.
Set Rotational Speed 1 = <0> <Enter>.
Set Rotational Speed 2 = <1200> <Enter>.
Set Lower Radius Limit = <0.01> <Enter>.
Set Higher Radius Limit = <0.2> <Enter>.
Set Lower Axial Limit = <-0.0643> <Enter>.
Set Higher Axial Limit = <-0.01> <Enter>.
Check the Compute force and torque button.




Left-click the "row_1_blade_(r.p.m.1200)" group.
Keep Adiabatic.
Left-click Constant Rotation Speed.
Set Rotational Speed 1 = <1200> <Enter>.
Check the Compute force and torque button.     

75. Go to Mesh -> View On/Off to toggle the mesh visualization, if needed.
Set Numerical Model
76. Go to the tree in the left menu and double click-left on the Numerical Model menu.


This menu gives access to the most frequently used numerical parameters, including the Courant Friedrichs Lewy (CFL) number and the selection of the grid level on which the simulation will apply. It is important to confirm each entry by pressing the <Enter> key.
77. Keep CFL unchanged to 3. 

The CFL number drives the pseudo-time step selected to reach a steady state solution using the time-marching method integrated in the flow solver. In combination with the 4-step Runge-Kutta integration scheme included in the flow solver, it has a theoretical stability limit close to 2.8. However, the additional implicit smoothing scheme can increase this value slightly, which justifies the default value of 3.
The default value for CFL number is adequate in most cases, but can be decreased in some circumstances, in particular at off-design conditions.

78. Define the grid level on which the simulation will apply:

The flow solver is based on an explicit time integration technique, which is accelerated using dedicated multi-grid methods. To this end, several levels of intermediate grids must be generated started from the finest one. This is achieved by taking one node over 2 in each I-, J- or K-directions, starting from the finer grid level.
It is strongly advised to enable the definition of at least 3 grid levels, by carefully selecting the number of nodes on every edge forming the patches and blocks. More details can be found in the IGG™, AutoGrid5™  and FINE™  User Manuals.
In the FINE™  terminology, the finest grid level a user can access will be called 000, while the intermediate and coarsest ones will be named the 111 and 222 level respectively, assuming 3 grid levels can be selected.
Hybrid grid levels can theoretically be defined (e.g. 010 or 211). It is however not advised to use such hybrid levels since it deforms the mesh in a preferential direction and thus possibly increasing the aspect ratio. Consequently, the quality of the resulting mesh can be decreased.


Make sure that Current Grid Level = 0 0 0,
Keep Number of Grid(s) = 3,
Keep the Coarse Grid Initialization active,

In addition to the multi-grid acceleration technique, the number of iterations to convergence can be significantly reduced activating the coarse grid initialization process. In that case, the simulation starts on the coarsest grid level available, leading to fast convergence. Once done, the flow solver automatically interpolates the current flow solution on the intermediate levels before the iterative process is restarted. A similar process occurs up as long as the expected finest grid level is reached. The iterative process is then pursued up as far as the convergence criteria is not reached or the maximum number of iterations is exceeded. More details can be found in the FINE™  User Manual.

Activate Expert Mode to access expert parameters for coarse grid initialization,
Change the Maximum number of cycles per grid level = <400> <Enter>.






79. Define preconditioning parameters: change preconditioning method to Merkle.
The use of the Merkle preconditoning enables to obtain a solution scheme with an increased robustness. Further details can be found in the FINE™ User Guide. 
Set Initial Conditions
80. Go to the tree in the left menu and double left-click the Initial Solution menu.
81. Left-click the ROWS group.
The group is automatically created when the mesh is loaded into the FINE™  GUI. In complex projects, hybrid initial solutions can be useful. In that case, a constant initial solution per block can be selected for some groups, while others can benefit from an initial solution from Turbomachinery. Limitations related to the use of hybrid initial solutions are described in the FINE™  User Manual.
82. Select for turbomachinery to access the initial solution menu for turbomachinery.
Initial conditions can be selected in different forms, going from constant values per block to throughflow based solutions. When running a rotating machinery project case, it is common practice to select the initial solution for Turbomachinery. Based on a 1D estimation of the flow solution, the initial solution for Turbomachinery often enables a drastic reduction in the number of iterations in running 3D simulations. Inputs ("best estimation") related to static pressure at inlet and rotor-stator interfaces (if it applies) are requested.
83. Left-click the inlet patch ("row_1_flux_1_Main_Blade_upStream_inlet").
The presence of an inlet condition is mandatory for use with the initial solution for turbomachinery.
84. Set Estimated Static Pressure = <101325> <Enter>.
85. Choose Turbulent Viscosity as the Turbulent Quantities and set Turbulence Viscosity to <5e-06> <Enter>.


Select Outputs
86. Go to the tree in the left menu and double left-click the Outputs menu. Double left-click Computed Variables.

Quantities of interest in the simulation must be pre-selected in this menu. They will be stored in the solution file (*.cgns) once the iterative process will be finished and/or during intermediate steps. Quantities can be accessed both in the 3D field (Computed Variables) and/or in the meridional plane (following circumferential averaging, see Azimuthal Averaged Variables). Additional data can be selected on the solid walls and/or on predefined surfaces (Surface Averaged Variables).
The adequate selection of outputs of interest will reduce the size of the solution file. This is in particular important when projects involving very fine meshes and/or unsteady capabilities are managed.

87. Select Static, Total Absolute and Total Relative Temperature if not yet selected.
88. Select Static, Total Absolute and Total Relative Pressure if not yet selected.
89. Select Density, Entropy, Rothalpy and Dynamic viscosity if not yet selected.


90. Left-click the Velocities in the menu Categories.
91. Select Vxyz if not yet selected.
92. Select Wxyz if not yet selected.


Vxyz and Wxyz are the velocity vector fields in respectively the absolute and relative frame of reference. The examination of solution quantities in the relative frame of reference is particularly useful to observe the flow angles relative to the blade close to leading and trailing edge.
93. Left-click the Solid data in the menu Categories.
94. Select Static pressure, Static temperature, Cf, Relative velocity and y+ (in first inner cell) if not yet selected.



Cf is known as the friction coefficient.
The parietal coordinate y+ is a direct function of the distance from the wall. Therefore, y+ = 0 at the wall and takes a non-zero value at the center of the first cell close to the wall (also called "inner cell"). As a consequence, the examination of y+ "at the wall" should be understood as the examination "in the first inner cell". Although it is not correct theoretically speaking, this concept is very often used to ease the post-treatment and benefit from the existing solid surfaces.

95. Left-click the Turbulence in the menu Categories.
96. Select Wall distance and Turbulent Viscosity ratio if not yet selected.



The analysis of the Turbulent Viscosity ratio field is often of major interest to ensure that the turbulent quantities are computed accurately, according to the turbulence model and mesh refinement selected.
Running k-epsilon related models gives access to additional quantities in particular related to the production term, the kinetic energy and dissipation rate fields. It is strongly advised to activate these fields for post-treatment.

97. Double left-click Azimuthal Averaged Variables.
98. Go through the various categories and select the quantities as selected under Computed Variables.
Additionally, outputs can be re-directed using the PLOT3D format, using various formats. More details can be found in the Plot3D Formatted Output.
Control Computation Steering
99. Go to the tree in the left menu and double left-click the Computation Steering menu.
100. Double left-click Control Variables.
101. Set Maximum Number Of Iterations = <2000> <Enter>.
102. Keep Save Solution Every = 100.
103. Keep Convergence Criteria = -6; change the solver precision from Single to Double.



Depending upon the quality of the initial solution, the density of the mesh (number of nodes) and the complexity of the underlying flow field, a few hundred to a few thousand iterations are typically required to reach convergence. The iterative process is stopped once the convergence criteria is reached over the entire domain or the maximum number of iterations is exceeded on the finest grid level (000).
The ability to select Minimum output offers the possibility to minimize the size of the solution files. In this case, the flow solution is stored only once the iterative process is finished, and limited information is provided during the intermediate storage. This limited information allows the user to perform a restart procedure from an existing flow solution, but cannot be visualized within CFView™.
Static memory allocation is enabled inside the flow solver. A best estimate of the memory required to run and save the flow solution is calculated and proposed as a default. However, in some circumstances, the estimation may be too short and it is then require to manually increase the number of reals or integers required to drive the solution to success. In that case, click Set the requested memory and increase the inputs accordingly.

104. Select Expert Mode, verify that the expert parameter TORRO = <1> <Enter>.



In Expert Mode, the user has the ability to define the advanced options and set the expert parameters.
When using an area defined rotation speed, the expert parameter TORRO can be used to compute the force and torque only on the rotating part of the patches with area defined rotation speed (TORRO=1).

Save Project & Start Calculation
105. Open the File menu and Save the project.
The project parameters are stored in the *.iec file. This file includes the entire set of parameters required to reproduce the project, excluding the mesh.
106. Press the  icon and click Start Flow Solver in the dialog box to start the calculation: a task manager window will appear.


The calculation will start in serial mode (1 processor) on the local machine. FINE™  includes multi-processor capabilities and the ability to manage computations through a task manager and/ or in batch mode. More details can be found in the FINE™  User Guide.
Follow Convergence Steering
107. Double left-click Convergence History.



The evolution of averaged residuals on the entire domain can be observed during the convergence process. Similarly, the evolution of the mass flow balance (in/ out) and/ or global quantities (isentropic efficiency, torque and axial thrust on solid walls selected in the boundary conditions page, pressure ration) can be displayed.
Local and global quantities may also be added for follow-up during the convergence process. However, their representation in the graphical area will only be effective once they are added in the Selected Variables list, see FINE™ User Guide.
The examination of residuals per block and/ or for a given primitive variable can be achieved accessing the monitorTurbo tool. The tool is included in the FINE™ package and can be accessed through the adequate command line. More details can be found in the FINE™  User Guide.

108. Once the calculation has converged or reaches the maximum number of iterations allowed on the finest grid level, the flow solver stops. The final solution is then stored in the solution file (*.cgns) and the task manager window is closed.
To check the convergence of the computation, NUMECA recommends observing the evolution of multiple criteria including (a) an adequate decrease in residuals (minimum 3 orders of magnitude); (b) complete stabilization of global performances; (c) stabilization of mass flow in/out, with satisfactory correspondence (usually less than 0.5% difference between in/out).
Now that the iterative process is over, click here to start the visualization of the solution within the post-treatment tool CFView™  integrated in FINE™/Turbo.

TUTORIAL 3. Centrifugal Pump SHF

NUMECA Software

Prerequisites

Problem Description

Preparation


NUMECA Software
The resolution of computational fluid dynamics (CFD) problems involves three main steps:

spatial discretization of the flow equations,
flow computation,
visualization of the results.


To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal and Turbomachinery assimilations called FINE™/Turbo. The environment integrates the following tools:

IGG™  is an Interactive Geometry modeler and Grid generator, based on structured multi-block techniques.
AutoGrid5™  is a three-dimensional Automated Grid generation software tool, dedicated to turbomachinery applications. Similarly to IGG™, it is based on structured multi-block techniques.
Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes equations in the laminar, transitional and turbulent regimes.
CFView™  is a highly interactive flow visualization and post-treatment software tool.
FINE™  Graphical User Interface is a user-friendly environment that includes the different software. It integrates the concept of projects and allows the user to achieve complete simulations, going from the grid generation to flow visualization, without the need of file manipulation. 

A turbomachine is a device in which the energy is transferred either to or from a continuously flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in particular in aircraft, marine, space (liquid rockets) and land propulsion systems but also in hydraulic, gas and steam turbine applications. It is also used in industrial pipeline and processing equipment such as gas, petroleum and water pumping plants. Other applications can be related to heart-assist pumps, industrial compressors and refrigeration plants, and more.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is composed of several basic elements including the blade (also called vane if it is non-rotating), hub, and shroud. Several technological effects involving clearances, seal leakages and cooling holes among others can complete the machine. Due to the complexity of the blade shapes, the presence of technological elements and the rotation of machine, the nature of the flow is strongly three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the simulation of a single blade row centrifugal-flow turbomachine. It makes use of FINE™/Turbo and describes how to deal with the specific options implemented in FINE™  environment.
In this tutorial you will learn how to:

import CAD files into AutoGrid5™;
define the blade periodicity;
control meridional flow paths;
generate and optimize the blade-to-blade mesh;
control the quality of the mesh in the blade-to-blade and 3D mesh;
manage fluid database;
use preconditioning parameters settings;
set up boundary and initial conditions;
manage numerical process;
select adequate outputs;
launch the calculation process;
check for convergence;
visualize and analyze the results.

Prerequisites
This tutorial does not require any prior experience with the menu structure in FINE™/Turbo.
Problem Description
This problem considers the generic SHF centrifugal pump as shown here below. The pump includes 7 blades, rotating with a speed of 1,200 RPM. The absolute velocity at the inlet is 1.842 m/s and the outlet static pressure is 320,000 Pa. The flow is assumed to be fully turbulent.


Preparation

Start FINE™/Turbo v13.1:

For Linux systems, you can access FINE™/Turbo graphical user interface with the following command line:fine -niversion 131 -print


For WINDOWS systems, you can access FINE™/Turbo graphical user interface from the start menu by going to /Programs/NUMECA software/Fine131/FINE.





Click the Create a New Project icon to create a new project.




Select your directory of choice to store the project.
Enter the project name in the dialog box as <Tutorial3> <Enter>.
Click on Create Grid File to access the interactive geometry modeler and grid generator IGG™.




Access the menu Modules, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.



You are now ready to start the grid generation process and mesh the CENTRIFUGAL PUMP configuration! Click here to start the mesh generation...

Tutorial 3: Post Processing

Select Surfaces

Select Quantities

Select Representation

3D Analysis

Blade-to-Blade View

Turbomachinery Mode


The iterative process is now over and the flow solution is stored in the ".cgns" file. The number of nodes in a typical mesh usually ranges from few hundred thousands to several million, which makes visualization delicate in most cases. As part of the FINE™  environment, NUMECA proposes the use of the home-made visualization and post-treatment tool CFView™. CFView™ is entirely integrated in the environment and includes numerous tools which are particularly best suited for the analysis of turbomachinery configurations.
Access to CFView™  from the FINE™  graphical user interface is provided through the Modules/CFView... menu, or alternatively by pressing the  icon.
A step by step approach is provided in the following lines. It aims at driving you through the various steps that need to be executed from reading the solution to the extraction of the main results. CFView™  automatically opens the ".run" file associated with the active computation.


After running turbomachinery computation and assuming some variables have been selected in the Azimuthal Averaged Variables section of the FINE™  graphical user interface output page, CFView™  proposes the user to open the azimuthal averaged solution first. Otherwise, the full 3D solution will be opened.
109. Activate View the azimuthal averaged solution.
110. Left-click Start CFView.
You will now enter CFView™  !


Select Surfaces
111. <Ctrl> + left-click "domain1", "domain2" and "domain3" in the Surfaces area, then click-right and choose Select in the pop-up menu to activate them.


Select Quantities
112. Go to the Quantity menu.
113. Enter the Field Data -> Basic Quantities sub-menu.
114. Select quantity Absolute Total Pressure.


All quantities selected in the FINE™  graphical user interface are transferred to CFView™. However, additional derived output can be accessed directly from the visualization and post-treatment tool, including vector components, gradients, divergence and curl of selected quantities. New quantities, defined as an arithmetic combination of existing quantities possibly combined with regular operations (trigonometric functions, logarithmic functions,...) can furthermore be created.
Select Representation
115. Access the Representation menu.
116. Select Color Contour -> Smooth.


Once the candidate quantity for visualization is selected, the user must choose a representation mode. Representation is typically executed in the form of color contours (smoothed or stripped) and/or isolines. CFView™  also includes the possibility to investigate the flow field locally ("local value") and create 1D Cartesian plots. Advanced capabilities involving curve and/or surface integration can also be accessed. More details can be found in the CFView™ User Guide.


117. Left-click "domain3" in Surfaces area.
118. Right-click to access the contextual menu and press Select.
119. Open the Representation menu.
120. Select Cartesian Plot -> Along Grid Line.
121. Change Index from i to j.
122. Change Value to <17> <Enter>.
123. Click the Apply button.


A 1D Cartesian plot has been created at about 50% span, extracting the evolution of the Absolute Total Pressure along the streamwise direction along a grid line (I-direction). Data can be extracted along a boundary, solid boundary, grid line or along a user-defined section. More details can be found in the CFView™ User Guide.
124. Click the Close button.
125. Left-click somewhere in the Cartesian plot window to activate it (red border).
126. Right-click and select Show H Grid Lines.
127. Right-click and select Show V Grid Lines.


128. Left-click the curve.
129. Right-click and select Curve Type.
130. Change Thickness from 2 to <1>.
131. Go to the Marker tab.
132. Change Symbol to Circle.
133. Change Size from 0.4 to <0.3>.
134. Change the color to red.
135. Click Apply.
 
136. Left-click the Close button.
137. Left- click anywhere inside the Cartesian plot window.
138. Go to the View menu.
139. Select Maximize.


CFView™  offers the possibility to create and arrange Cartesian plots in different manners, with numerous options related to the type, thickness and colors of the lines and symbols. The manipulations are done interactively, mainly with the help of contextual menus. In addition, CFView™  includes a powerful project and windows based management, giving the user the possibility to open multiple projects and manage several windows simultaneously. More details can be found in the CFView™  User Guide.
3D Analysis
140. Go to the File menu.
141. Select Quit CFView to quit CFView™  and choose yes to confirm.
142. Access CFView™  again from the FINE™  GUI by pressing the  icon.
143. Deactivate View the azimuthal averaged solution.
144. Click Start CFView.


You will now enter 3D analysis mode in CFView™  !


145. Access the Geometry menu.
146. Select Boundary to deactivate boundary representation.
Boundary activation/deactivation is used as a toggle and acts on all selected surfaces. Fast access is ensured using the binding key <b>.
147. Double left-click the checkbox "row1_shroud_(r.p.m.1200)" inside the Surfaces area to deactivate the set of patches that defines the entity shroud. Groups "row1_hub_(r.p.m.1200)" and "row1_blade_(r.p.m.1200)" are the only entities that remain active at this moment.

Selection of surfaces for representation is controlled through the Surfaces area. Alternatively, identical operations can be executed from the Geometry menu.
Patches flagged as solids are selected as the default surfaces for representation. Groups created in the boundary condition area inside FINE™  are transferred directly to CFView™, so that the selection of surface entities can be performed just in a few clicks.


Fast selection of a group of surfaces in a large list including numerous surfaces, 
which are partly checked/unchecked, can be done by first left-clicking (combined with <Ctrl> or <Shift> to select multiple surfaces) the target surface(s) desired for representation, followed by a right-click to access the contextual menu and choosing Select. 



148. Go to the Geometry menu.
149. Select Boundary again to activate boundary representation on active surfaces.
150. Go to the Geometry menu once more.
151. Select Grid to display the surface mesh on active surfaces.
Fast access to mesh representation is ensured using the binding key <g>.
152. Access the Render menu.
153. Select Shading -> Gouraud to shade active surfaces.


154. Make use of the Viewing buttons to modify the representation mode and locate the pump to outline the blade and hub in a clear way.


155. Press the binding key <g> to deactivate the mesh on active surfaces.
156. Go to the Geometry menu.
157. Select Repetition Number.
158. Activate Max to set the number of repetitions to 6.


159. Click on Apply.
160. Open the Geometry menu.
161. Select Repetition on/off.


162. Go to the File menu.
163. Select Print ... .
Pictures can be printed in different formats, either on the active or graphics windows. Information can be introduced in a banner. Options related to picture definition can also be modified.
164. Select Active View.
165. Set banner to <SHF PUMP> and press <Enter>.
166. Set the format to PNG.


167. Click OK.
168. Set the picture name and appropriate location.
169. Click Save.

The selection of Graphics Window is recommended to insert several pictures in a unique file, as they appear on the graphical window (WYSIWYG = what you see is what you get mode).
The ".png" format is often the preferred choice for printing.

170. Go to Update -> Delete -> All.
171. Go to Geometry -> Repetition on/off.
172. Select Quantity -> Solid Data -> y+.
173. Choose Representation -> Color Contour -> Strip.
174. Select Representation -> Scalar Range -> Colormap Optimum Range.

The parietal coordinate y+ is now enabled on active surfaces (hub and blade). 
The range of representation has been adapted automatically to variations on the selected surfaces, so as to outline details as effectively as possible.



175. Make use of the Viewing buttons to modify the representation mode and find a suitable viewpoint.


176. Access the Representation menu.
177. Select Isolines -> Isolines....
178. Activate increment mode.
179. Change Value to <0.5> <Enter>.
180. Set min range to <0> <Enter>.
181. Set max range to <9> <Enter>.
182. Activate Color Uniform.
183. Click Apply.
184. Close the dialog box.


Gradients are clearly observed nearby the leading and trailing edge of the blade, consequently locally driving y+ values up to about 7. The combination of color contours and isolines representation allows the main characteristics of the flow to be outlined in a clear and elegant manner.
Blade-to-Blade View
185. Go to Update -> Delete -> All.
186. Go to Representation -> Colormap to remove the colormap.
187. Open the Render menu.
188. Select Shading -> Gouraud.
189. Go to Geometry menu.
190. Select Blade to Blade Surface ... .
191. Set Surface type to Blade to blade.
192. Set S to <0.5> <Enter> (section located 50% spanwise).
193. Click the Apply button.


194. Click the Save button.
195. Click Close to quit the dialog box.

CFView™  integrates the possibility to create cuts at constant spanwise position (also called "blade-to-blade" planes). This capability is especially useful when the endwalls are not planar. The surface for representation at constant spanwise position is then created based on linear interpolation between the endwalls.
Pressing the Save button in the dialog box creates an additional surface for representation in the Surfaces area, enabling quantity selection and representation as discussed in the previous sections.

196. Left-click "CUT1" in the Surfaces area.
197. Right-click to access the contextual menu.
198. Choose Select in order to select "CUT1" as the only active surface for representation.


199. Go to the Quantity menu.
200. Select Field Data -> Basic Quantities -> Absolute Total Pressure.
201. Open the Representation menu.
202. Select Color Contour -> Smooth.
203. Open the Representation menu again.
204. Now, select Scalar Range -> Colormap Optimum Range.
Colormap Optimum Range restricts the bounds of the colormap to those related to active surfaces instead of the complete 3D domain. This capability is useful to outline a number of details in a clearer manner. It can also be accessed by pressing the  icon.
205. Left-click the colormap.
206. Right-click and select Move or Resize.
207. Drag and drop the colormap to an appropriate location.
208. Move the mouse to a corner of the colormap to adjust the size.
It is advised to put the colormap at a location where it does not interfere with the representation, to avoid any difficulty in the interpretation of the results.
209. Left-click the colormap.
210. Right-click and select Smooth Only.


211. Access the Quantity menu.
212. Select Field Data -> Basic Quantities -> Wxyz.
213. Go to the Representation menu.
214. Click Vector Type ... .
215. Choose Tangent Component in Representation Type.
216. Select Color Uniform under Vector Size.
217. Click Apply.


218. Click the Close button to quit the dialog box.
219. Go to Representation -> Vector On Grid Nodes.
220. Make use of the Viewing buttons to modify the representation mode and zoom in near the leading edge of the blade.


The representation of velocity vectors in relative frame of reference (Wxyz) outlines the quality of the flow impinging the blade. Ideally, these vectors should be aligned with the blade. In off-design conditions, the alignment may not be adequate, possibly leading to flow separation.
Turbomachinery Mode
221. Open the File menu.
222. Select Turbomachinery.
223. Choose Load Flow Solver Pitch Average under Meridional Average.
224. Click Ok.



You have now entered the Turbomachinery mode! It gives simultaneous access to meridional, meridional average, blade-to-blade and 3D views.
Actions required for surface representation, quantity selection and representation apply similarly to those described in the previous sections. More details can be found in the CFView™  User Guide.

Tutorial 8: Mesh Generation

Stay Vanes, Guide Vanes & Runner Mesh Generation

Create Mesh Project

Load Geometry

Row Wizard

Outlet Bulb Topology Control

3D Mesh Generation & Visualization

Check Boundary Conditions & Mesh Quality

Save Project

Draft Tube Mesh Generation

Import Geometry

Define Clustering

Face Projection

Generate Block Grid

Define Butterfly Topology

Control Mesh Quality

Define Boundary Conditions

Save Project

Merge Meshes



The mesh generation consists in meshing the turbine rows with AutoGrid5™  first and then completing the mesh with the draft tube in IGG™. The limits of the AutoGrid5™ mesh are imposed to avoid overlapping/gaps and to match the IGG™ mesh in the draft tube correctly. In the "geomTurbo" file imported in step 6 the last point defining the shroud is imposed with coordinates (Z,R) corresponding to the entrance of the draft tube.


You are now ready to start the grid generation process of the turbine rows in AutoGrid5™.
Stay Vanes, Guide Vanes & Runner Mesh Generation
AutoGrid5™  graphical user interface includes several windows that allow to visualize the geometry and mesh of the turbomachine simultaneously in the meridional, blade-to-blade and 3D view. The access to main menu and controls is proposed through a menu bar and a quick access pad, and is completed with a tool/icon bar. The execution of the different actions undertaken is summarized in the message box at the bottom of the interface.


A step by step approach is proposed in the following lines. It aims at driving you through various steps that need to be executed from the creation of the mesh project to the validation of the final mesh quality of the turbine rows.
Create Mesh Project
1. Close the Open Turbo Project Wizard dialog box.
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with associated grid) including the data required to regenerate a mesh on an identical or similar geometry. In this tutorial, these data will be progressively introduced based on the geometry of the project case.
2. Go to menu File -> New Project.
3. Click yes to close the active project.
4. Choose the icon Initialize a New Project from a geomTurbo File.


Load Geometry
5. Locate and select "SV_GV_RUNNER.geomTurbo" (geometry defined in [Millimeter]) in the dialog box and click Open. Where to Find the Files Used in the Tutorials?


The ".geomTurbo" file is including the geometry definition of the stay vanes (SV), the guide vanes (GV) and the runner.
6. Set geometry units:

Go to Geometry Definition -> Units.
Change the units to Millimeters.

The "units" of the imported geometry must be changed to impose a scaling factor and a corresponding tolerance that will ensure correct treatment during the grid generation when computing, for example, the intersection. If not necessary, we recommend to keep the default settings (Scale Factor set to 1).
7. Select Expert Mode if necessary in the toolbar.



Row Wizard
8. Left-click on Rows Definition -> SV in the Quick Access Pad (QAP) to active the current row, if not done already.
9. Left-click on Row Wizard in the Mesh Control -> Grid Level subpad.


10. Click yes to start the wizard and to reset the mesh generation parameters.

The reset will keep the modifications performed by the user in the Row Wizard but will reset to the default value the parameters modified in Expert Mode.
The wizard is divided in 6 steps:

the geometry check (optional),
the machine characteristics definition,
the gap and fillet definition,
the flow path definition,
the blade-to-blade mesh definition,
the end of the initialization.


11. Click yes to confirm the geometry check (step1).
During the geometry check of a blade, AutoGrid5™  performs the following operations: check blade definition, check orientation of the blade section curves, detect loop detection into the blade section curves and between the blade sections. More details in AutoGrid5™  User Guide.
12. Click on Next in the dialog box to define the machine characteristics definition (step2).


13. Select Francis Turbine as Row type in the Blade row type dialog box.
14. Enter the Periodicity (number of blades) if necessary. Left-click inside the string input area and type <24>, press <Enter> to confirm.
15. Select Stator.


16. Click on Next in the dialog box to start the gap and fillet definition (step 3).
17. Keep all data unchanged (no gap or fillet).
18. Click on Next>> in the dialog box to start the flow path definition (step 4).
19. Keep Spanwise Grid Point Number to <57> <Enter> (corresponding to the flow paths number) in the Layer Control dialog box.
When increasing or decreasing the number of flow paths, the number of flow paths in the gaps and fillets is automatically updated as well as the percentage of constant cells, leading to an increase or decrease of the spanwise expansion ratio.
20. Estimate the width of the first cell at the wall:

The  width of the first cell close to the wall must be selected with care since the quality of the flow solution will often depend upon the capture of the flow phenomena inside the boundary layers which develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends to locate the nearest grid point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must be modeled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven by the Blasius equation, expressed as follows for turbulent flows:



where:

ywall is the distance of the nearest grid point to the wall (in meter);
Vref is a reference velocity of the flow, for instance, the inlet velocity (in m/s);
ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
Lref is a reference length of the test case (in meter);
y+ is a non-dimensional value.


In the present case, one can estimate that Vref=8.6 m/s, Lref=0.4 m and ν=1.01e-6 m2/s. Assuming one wishes to get y+=5 at the wall, it comes that y=2.10-5 m.
Input the value of the Wall Cell Width = <0.02> [Millimeters] <Enter> in the Layer Control dialog box.


21. Click on Next>> in the dialog box to start the blade-to-blade mesh definition (step 5).
22. Set the Number of Points (of the 3D mesh) around 250,000 by clicking on the << or >> buttons in the B2B Control dialog box.


23. Click on Preview B2B to plot the blade-to-blade mesh at mid-span: default O4H topology is used with additional upstream/downstream H-blocks.

The Full Visibility option allows to see the mesh moving in the blade to blade view when applying the optimization steps.


The default O4H topology includes 5 blocks as follows:

the skin block is a O-mesh surrounding the blade;
the inlet block is a H-mesh located upstream the leading edge;
the outlet block is a H-mesh located downstream the trailing edge;
the up block is a H-mesh located above the blade section;
the down block is a H-mesh located under the blade section.


24. Select Skewness or Expansion Ratio to plot respectively the orthogonality or expansion ratio field of the blade-to-blade mesh at mid-span.




25. Click on Finish to end the initialization process (step 6).
26. Click no in order to setup the guide vanes and runner before making the complete 3D mesh generation.


27. Left-click on Rows Definition -> GV in the Quick Access Pad (QAP) to active the current row, if not done already.
28. Repeat step 9 to step 26 for the guide vanes (GV) with the following parameters:

Francis Turbine as Row type, Periodicity=<24>, Stator.
Spanwise Grid Point Number=<57>, Wall Cell Width=<0.02> [Millimeters].
Set Number of Points around 250,000.






29. In the present case, the two stators can be meshed in tandem. For this purpose, left-click on Rows Definition -> SV in the QAP to active the current row, if not done already. Right-click on it and click on Properties in the menu appearing. Select then With Next in the section Tandem Row. Close the dialog box
30. Repeat the same operation for the row GV, and verify that With previous has been automatically activated in Tandem Row.
31. Left-click on Rows Definition -> runner in the Quick Access Pad (QAP) to active the current row, if not done already.
32. Repeat step 9 to step 26 for the runner with the following parameters:

Francis Turbine as Row type, Periodicity=<13>, Rotor, Rotation speed (rpm)=<408.93>.
Spanwise Grid Point Number=<57>, Wall Cell Width=<0.02> [Millimeters].
Set Number of Points around 300,000.



Outlet Bulb Topology Control

A bulb is a specific region of a machine where the hub has a zero radius. A machine can have a bulb at its inlet and/or its outlet.
Bulbs are automatically detected and the domain is automatically extended from this point at zero radius to the shroud axial position extremity. One or two meridional control lines are automatically created to capture discontinuity generated by the bulb, the first one representing the machine inlet (outlet), the second one to capture either the zero-radius point for sharp topology. They cannot be deleted and some control points cannot be moved.
The rotor/stator (inlet) of the row following the bulb is positioned after the control line capturing the zero-radius point or the limit between the radial and axial domain, and should not be moved before it.


Three topologies are available for bulbs: sharp (H-mesh), rounded (C-mesh) or radial.

In the Francis Turbine case, the Row Wizard imposed a rounded bulb topology when the configuration is presenting a bulb.
33. Left-click on  to access the bulb topology settings: 

Keep the Rounded Topology type.
Keep the default settings and left-click on the Preview Flow Paths button to adapt the flow paths respecting the newly imposed topology in bulb area.




Using a C-mesh, the bulb area can be meshed with a singular line (triangular cells) or a butterfly topology. The mesh is then divided into respectively 3 or 5 blocks limited by the inlet of the row and the bulb domain limit.


The Smoothing Steps controls the number of iterations for flow paths smoothing in the bulb.


Close the dialog box.
Move the mouse on the runner outlet curve in the meridional view.
Left-click when highlighted in yellow.
Change the "outlet" control line shape as presented below: left-click on each control point, move the mouse and left-click to impose its new position.



3D Mesh Generation & Visualization
34. In Row Definition, left-click on Select All Rows.
35. Click on Generate 3D in the toolbar and confirm (Start) the generation.


36. Close the dialog box after checking the grid quality. The page can be reopened by clicking .
37. Change the Number of Graphics Repetition for the stay vanes.

Left-click Row Definition -> SV in the Quick Access Pad (QAP) to activate the current row.
Right-click SV and select Properties to activate Default in order to plot the full turbomachine.




Close the dialog box.

38. Repeat step 37 for the GV and the runner.
39. Select Toggle 3D Solid View in the View menu to access the shaded blades in 3D view.
40. Right-click to get the contextual menu and select Full View.
41. Use the Viewing buttons to visualize the GAMM turbine.


Check Boundary Conditions & Mesh Quality


42. Left-click in the 3D view to activate the view (red border), if not done already.
43. Check for boundary conditions by clicking .
44. Select UND under Type pull-down menu and press <Enter> to check that there are no patches in the patch list that are still set to an undefined type.
It is important to make sure that no undefined patches (UND) are present in the mesh. If this is not the case, they can usually be removed by increasing the tolerance and launching the Search procedure.
45. Close the dialog box.
46. Left-click anywhere in the 3D view to activate the view (red border), if not done already.
47. Check for negative cells by clicking .




48. Click Apply.

The computation of the negative volumes is performed first. Negative cells can be outlined in the mesh by pressing View neg cells button. Beware that the visualization of negative cells can be memory consuming when a large number of cells must be displayed. It is thus advised to first check the number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.

49. Click ok and Close the dialog box.
50. Left-click in the 3D view to activate the view (red border), if not done already.
51. Check for grid quality by clicking .
A detailed analysis of the mesh quality on a 3D mesh can only be performed once the 3D mesh has been generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell width can be outlined in this window using the Type pull-down menu.
52. Select block number (0 for all) - <Enter>.
53. Select quality criteria using the Type pull-down menu.


54. Left-click Show chart to visualize the distribution of the selected criteria in the form of a histogram. The histogram is drawn per block (0 = all blocks).
55. Left-click part of the histogram to plot the concerned cells in the 3D view.
56. Left-click the More info button to obtain information regarding the minimum and maximum values of the selected criteria and block.
57. Close the dialog box.
Save project
58. Go to File -> Save Project As <SV_GV_Runner> <Enter> to save mesh and template files.
You are now ready to start the grid generation process of the draft tube in IGG™. 
59. Access the menu Modules, select IGG and confirm (yes) to enter IGG™  to start the mesh generation of the draft tube.
Draft Tube Mesh Generation
IGG™ graphical user interface allows to visualize the geometry and mesh of the internal or external test case in a 3D view by default. The access to main menu and controls is proposed through a menu bar and a quick access pad, and is completed with a tool/icon bar and a control area (including the keyboard input area).


A step by step approach is proposed in the following lines. It aims at driving you through various steps that need to be executed from the creation of the mesh project to the validation of the final mesh quality of the draft tube.
Import Geometry
60. Select File/Import/IGG Data... menu (). A file chooser is opened. Select the "DT_geom.dat" file in the "Tutorial_8" directory of the documentation package. The curves are loaded in IGG™  and displayed in the active view.


61. Go to Grid subpad in Quick Access Pad (QAP) and click on Insert new block to create a block.


A local coordinate axis system IJK will appear at the location of the first vertex. Its orientation can be modified so that the K-axis points in the flow direction, as an example.
62. Choose the block axes:

Press the <o> key to change the axis origin if necessary.
Press the 
 key to change the axis orientation if necessary.
Left-click to validate the axis choice, the axis K must be in the streamwise direction.

Right-click will abort the block insertion.


63. Move vertices to map the block onto the geometry:

Right-click on  of the viewing buttons to display I,J,K axis of the block. The axis K must be in the streamwise direction.
Move the mouse to the desired vertex.
Left-click when highlighted in yellow to pick it.
Move to mouse to place the vertex on the geometry.
Left-click to fix the vertex position (edges are automatically mapped onto the geometry when the vertices used by the edge are on the same curve or surface).










Right-click on  of the viewing buttons to hide I,J,K axis of the block.

64. Go to Grid/Insert/Edit in the QAP and click on Insert Internal Face to adapt the block according to the geometry by creating internal faces normal to the main flow direction.


65. Left-click on the bock to generate it. Confirm by clicking yes.


66. Change K=<7> (if K-direction corresponds to the main flow direction) and then Save to create the internal face at constant K. Move the vertices as shown in the following figure.







Internal faces are very convenient to control the block generation and to improve the generation of blocks in case negative cells appear.
Each internal face is composed of four edges and four vertices (diamond).

67. Repeat step 64 and step 66 for K from <6> to <2> by placing the vertices on right edges.


68. Increase the Number of Grid Points throughout the block.



Left-click on a segment to select it (the selected segment is highlighted in yellow).
Right-click and select Segment/Set Number of Points menu.
Type for example <13> <Enter> in the Set Number of Points dialog box - Apply.
Repeat above steps to set the number of points as presented in figure below.



The number of points specified is recommended to be 4xn + 1 (where n is an integer) to allow for multigrid processing on a minimum of 3 grid levels within FINE™.

Close the dialog box.

Define Clustering
The clustering is used to modify the grid points distribution along the segments defining the blocks.
69. Select the Cluster Points icon () in the Quick Access Pad/Grid/Insert/Edit menu. A dialog box appears which can be used to control the distribution.
70. Select the Define/Edit group button to define a new group: a new dialog box is opened.
71. Select the Create button. The dialog is extended to provide a field in which the name of the group can be specified. Enter the name <Group1> <Enter> (or the Create button). The group is added to the list. Do not close the dialog at this stage.


72. The segments will now be added to the group one by one in the following way:



Move the cursor to one of the segment defining a block section and left-click to select it. When selected, arrows appear on the segment and the parent block is highlighted. If this is not the proper segment, repeat the step.
Middle-click to add the segment to the list. The segment appears in the group in the dialog box.
Repeat above steps to add all the segments defining the section of the block as presented in the figure below.






Select the Close button in the dialog box or right-click in the graphics area to complete the group creation.

The group is now defined and can be used to specify the clustering on all segments at once.
73. In the pop-up menu of the Clustering dialog box, select the group name "Group1" (it should be the default).
74. Select the distribution type Uniform .
75. Press the Apply to group button to apply the clustering to each segment in the group.


Uniform type is used to obtain a uniform grid points distribution on the segment (grid points equally spaced on segment).
The clustering on the segments can also be set one by one, with no group defined.

76. Select the segment presented in figure below by left-click on it (highlighted in yellow).
77. Select the distribution type Hyperbolic Tangent. Set Init spacing at start to <9.0> and Init spacing at end to <16.0>.
78. Press on the Apply to seg button to perform the clustering.


79. Repeat above steps to impose the clustering  on all the segments (draft tube inlet area) of the mesh presented in the figure below.


Hyperbolic Tangent type allows imposing the cell size at the beginning and the end of the segment. The sizes of the first segment cell and the last segment cell are requested in absolute units.
80. Close the dialog box.
The grid point distribution can be visualized by selecting the Quick Access Pad/View/Grid/Toggle Grid Points icon (or <Ctrl-l>). The effect of the clustering on the mesh can be seen by viewing the mesh using the icon Quick Access Pad/View/Grid/Toggle Face Grid (<Ctrl-z>).
Face Projection
81. Select the surfaces corresponding to the draft tube (Geometry/Select/Surfaces item). Select all surfaces using the left-click + drag.


82. Select one of the faces by left-clicking on one face segment until the face edges are highlighted in white or black.


83. Select the Project Face icon () in the Quick Access Pad/Grid/Generate page. It opens a dialog box to select projection parameters.
84. Keep the default parameters: projection on Selected Surfaces - validation level 2 - boundary projection Off, since the edges are already on the surface (automatic mapping feature) - entire Face projection.
85. Apply to perform the projection of the face.


86. Repeat above steps for the other faces to project and  Close the dialog box.






Generate Block Grid
Before generating the block grids, a check must be done to ensure that the faces still lie on the input geometry. This might not be the case anymore if an operation has been performed on the block faces, like for example adjusting a vertex interactively. In that case, IGG™  performs a default algebraic 4 boundary interpolation to keep the face grids inline with the boundaries.
87. Select the icon () in the Quick Access Pad/Grid/Generate page. A dialog box is opened to select the block(s) to generate.
88. Select the All option.
89. Apply to generate the grid in the block.
90. Close the dialog box.
91. Check for negative cells by clicking on (). Click on Apply - Ok.




Define Butterfly Topology

The butterfly technique is a multi-block method used to mesh curved geometrical configurations. It aims for a great improvement of the mesh quality. Meshed with a 5 blocks butterfly topology, it leads to cell angles of 120 degrees near the four corners of the inner block, hence a high improvement of the mesh quality.


The inner block will always be present in a butterfly topology. The other surrounding blocks, called here "buffer blocks" are chosen according to the shape that has to be meshed.

92. Activate the block and select the Create Butterfly icon () of the Quick Access Pad/Grid/Create page. It opens the following dialog box and displays a default butterfly topology in the block 1.


93. Keep K as Preferential direction (axial direction of the draft tube (streamwise direction)).
The IJK coordinates of the block can be plotted by right-clicking on the  icon in the Viewing buttons. This button acts as a toggle.
94. Remove the buffer blocks at faces 1 and 2 by left-click on the corresponding buttons 1 & 2 in the General variables frame. The shape of the butterfly topology is automatically updated in the first block.
95. In the Section control frame, activate Straight radial edges to create radial straight lines from the "inner" block to the parent block and set the Radial depth to <20> for the first section (Section number ID = <0>). The four control points of the section are now closer to the cylinder center.


Radial Depth parameter controls the global position of the inner block corners within a section. An automatic optimization is done on the corners position in order to put them on the bisecting line calculated at the corresponding corner of the parent block.
96. Now parameters of the second control section will be copied from the first one:

Activate the second section by setting the Section number ID to <1>.
Press the Copy from section button.
Select face 1 (upward face) of the first block by left-clicking on one of its segments.
Middle-click to perform the copy : control points of the second section are now positioned in the same manner as those of the first section.
Repeat the same operation by selecting all sections from <1> to <7> and performing the copy.

97. Select face 0. In the Clustering frame, set Number of radial points set to <17>.
98. Left-click on Radial clustering button and set the clustering as presented in the following figure.
99. Activate the option Clustering reciprocity parent -> inner.


If the button Clustering reciprocity parent->inner is activated, the clustering of the parent block is copied on the inner block, destroying the optimized clustering. Moreover, both clusterings (on parent and inner blocks) will be linked, meaning that each modification of the parent block clustering will be applied automatically on the inner block.
100. Create the butterfly topology in the first block by pressing the Create/update button.
101. Close the dialog box.


Control Mesh Quality
102. Check for negative cells by clicking on .




103. Click on Apply and Ok.

The computation of the negative volumes is performed first. Negative cells can be outlined in the mesh pushing View neg cells button. Beware that the visualization of negative cells can be memory consuming when a large number of cells must be displayed. It is then advised to first check the number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.

104. Close the dialog box.
105. Check for grid quality by clicking on .
Detailed analysis of mesh quality on 3D mesh can be performed only once the 3D mesh has been generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell width can be outlined in this window using the Type pull-down menu.
106. Select block number (0 for all).
107. Select quality criteria using the Type pull-down menu.


108. Left-click on Show chart button to visualize the distribution of selected criteria in the form of a histogram. The histogram is drawn per block (0 = all blocks).


109. Left-click on a part of the histogram to plot the concerned cells in the 3D view.
110. Left-click on More info button to obtain information about minimum and maximum values of the selected criteria and block.


111. Close the dialog box.
Define Boundary Conditions
Note that only the parent block patches appear in the lists of the dialog box. Consequently, connections are performed between parent block patches. Therefore these ones are visualized instead of the butterfly block patches.
112. Select the Grid/Boundary Conditions... menu to open the dialog box.
113. Select all UND patches as Type (undefined).
114. Select the outlet of the draft tube and Set the Patch type to OUT.


115. Select the inlet of the draft tube and Set the Patch type to ROT.


The rotor/stator patches could include regions where R=0.
116. Apply SOL for the four solid patches.


117. Select UND under Type pull-down menu and check that no patches are in the patch list still set with an undefined type.
118. Close the dialog box.
Save Project
119. Go to File -> Save -> Save As <Draft_tube> <Enter> to save mesh files.
The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the boundary condition types: ".bcs", ".cgns", ".geom" (".xmt_txt"), ".igg", ".config" and ".qualityReport". The meaning of these files is detailed in the User Guide.
Merge Meshes
120. Open "SV_GV_Runner" Mesh by File/Open...menu.


121. Define runner outlet boundary condition (four outlet patches illustrated in the figure below) as ROT in Grid/Boundary conditions... menu.


122. Go to File/Import/IGG Project and import "Draft_tube" mesh to merge the Francis turbine mesh to the draft tube mesh.


123. Set <DT> as Project Prefix.


To easily recognize blocks and groups of an imported project from those in the current project, a prefix can be specified during importation.
124. Go to File -> Save -> Save As <SV_GV_Runner_DT> <Enter> to save mesh files.


Now that the mesh is saved, click here to set up the computation in the FINE™/Turbo interface!

TUTORIAL 8. Francis Hydraulic Turbine with Draft Tube

NUMECA Software

Prerequisites

Problem Description

Preparation


NUMECA Software
The resolution of computational fluid dynamics (CFD) problems involves three main steps:

spatial discretization of the flow equations,
flow computation,
visualization of the results.


To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal and Turbomachinery assimilations. Called FINE™/Turbo, the environment integrates the following tools:

IGG™  is an Interactive Geometry modeler and Grid generator software, based on structured multi-block techniques.
AutoGrid5™ is a three-dimensional Automated Grid generation software, dedicated to turbomachinery applications. Similarly to IGG™, it is based on structured multi-block techniques.
Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes equations in the laminar, transitional and turbulent regimes.
CFView™  is a highly interactive flow visualization and post-treatment software.
FINE™ Graphical User Interface is a user-friendly environment that includes the different software. It integrates the concept of projects and allows the user to achieve complete simulations, going from the grid generation to the flow visualization, without the need of file manipulation. 

A turbomachine is a device in which the energy is transferred either to or from a continuously flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in particular in aircraft, marine space (liquid rockets), land propulsion system but also in hydraulic, gas and steam turbines applications. It is also involved in industrial pipeline and processing equipment such as gas, petroleum and water pumping plants. Other applications can be related to heart-assist pumps, industrial compressors and refrigeration plants, among others.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is composed of several basic elements including the blade (also called vane if it is non-rotating), hub, and shroud. Several technological effects involving clearances, seal leakages and cooling holes among others can complete the machine. Due to the complexity of the blade shapes, the presence of technological elements and the rotation of machine, the nature of the flow is strongly three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the simulation of a Francis hydraulic turbine application (guide vanes / runner / draft tube). It makes use of FINE™/Turbo and describes how to deal with the specific options implemented in FINE™  environment. In this tutorial you will learn how to:
In AutoGrid5™:

define multi-rows;
generate and optimize the blade-to-blade mesh;
check for mesh quality;
define a bulb topology.

In IGG™:

import an existing geometry;
create internal grid faces;
project face grid onto a surface;
create butterfly topology;
check mesh quality.

In FINE™/Turbo:

manage fluid database;
manage preconditioning parameters;
model rotor-stator interface using mixing plane approach;
set up boundary and initial conditions;
numerical process management;
select adequate outputs;
control calculation process;
check for convergence.

In CFview™:

visualize and analyze results.

Prerequisites
This tutorial does not require any particular prerequisite with the menu structure in FINE™/Turbo.
Problem Description
The problem is related to a Francis hydraulic turbine with medium/high specific speed. It has been designed at IMHEF for experimental research study in the hydraulic laboratory. The model has been used as a test case in the 1989 GAMM workshop.


The spiral casing of the GAMM turbine has been designed to ensure a constant meridional velocity distribution, and fillets have been added on both sides of the distributor inlet in order to achieve well-defined inlet conditions. The distributor consists of 24 stay vanes and 24 guide vanes. The runner includes 13 blades, with an external diameter of 0.4 m.
A draft tube connects the Francis hydraulic turbine to a "tail race". The velocity of water at the runner outlet is very high. The increase of the draft tube section area allows to decrease this velocity and thus, a part of the kinetic energy is recovered  as a gain of water pressure.
Preparation

Start FINE™/Turbo v13.1:

For Linux systems, you can access FINE™/Turbo graphical user interface with the following command line :fine -niversion 131 -print


For WINDOWS systems, you can access FINE™/Turbo graphical user interface from the start menu going to /Programs/NUMECA software/Fine131/FINE.



 
Click the Create a New Project icon to create a new project.


Select your directory of choice to store the project.
Enter the project name in the dialog box as <Tutorial8> <Enter>.
Click on Create Grid File to access the interactive geometry modeler and grid generator IGG™.


Access the menu Modules, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.



You are now ready to start the grid generation process and mesh the GAMM turbine configuration! Click here to start the mesh generation...

Tutorial 8: Post Processing

Select Surfaces

Select Quantity

Select Representation

3D Analysis

Blade-to-Blade View

Turbomachinery Mode


The iterative process is now over and the 
 flow solution is stored in the ".cgns" file. The number of nodes in a 
 typical mesh usually ranges from few hundred thousands to several 
 millions, which makes visualization delicate in most cases. As part of 
 the FINE™  environment, NUMECA proposes the home-made visualization and 
 post-treatment tool CFView™  for that purpose. CFView™ is entirely integrated in the environment and includes numerous tools which are 
 particularly best suited for the analysis of turbomachinery 
 configurations.
Access to CFView™  from the FINE™  graphical user interface is proposed through the Modules/CFView... menu, or alternatively by pressing the icon .
A step by step approach is proposed in the 
 following lines. It aims at driving you through the various steps that 
 need to be executed from reading the solution to the extraction of the 
 main results. CFView™  automatically opens the file ".run" file 
 associated with the active computation.


Running turbomachinery projects and assuming some variables have been selected in the Azimuthal Averaged Variables section
 of FINE™  graphical user interface output page, CFView™  proposes to 
 open the azimuthal averaged solution first. Otherwise, the full 3D 
 solution will be opened.
190. Activate View the azimuthal averaged solution.
191. Left-click on Start CFView.
You now enter CFView™  !


Select Surfaces
192. Left-click on "domain1" and "domain14" while holding <Shift> in Surfaces area., then right-click and choose Select in the pop-up menu to activate from "domain1" to "domain14".


Select Quantity
193. Go to Quantity menu.
194. Enter Field Data -> Basic Quantities sub-menu.
195. Select quantity Wxyz.


All quantities selected in the FINE™  graphical user interface are transferred to CFView™. However, additional derived output can be accessed directly from the visualization and post-treatment tool, including vector components, gradients, divergence and curl of selected quantities. New quantities, defined as an arithmetic combination of existing quantities possibly combined with regular operations (trigonometric functions, logarithmic functions,...) can further be created.
Select Representation
196. Go to Representation menu.
197. Select Vector Type....
198. Activate Color Uniform.


199. Left-click on Apply and Close the dialog box.
Once the candidate quantity for visualization is selected, the user must choose a representation mode. Representation is typically executed in the form of color contours (smoothed or stripped) and/or isolines. CFView™  also includes the possibility to investigate the flow field locally ("local value") and create 1D Cartesian plots. Advanced capabilities involving curve and/or surface integration can also be accessed. More details can be found in the CFView™ User Guide.
200. Select Vector On Grid Nodes in Representation menu.
201. Adapt Step in respectively I and J directions at <3> and <2>.
202. Left-click on Apply and Close the dialog box.


CFView™  gives the possibility to superpose representation modes. In the present case, color contour of the relative velocity magnitude will be superposed to the relative velocity vector field in order to clearly identify the acceleration of the flow at the bend.
203. Go to Quantity -> Field Data -> Vector Components -> Wxyz sub-menu.
204. Select Magnitude of Wxyz to add the relative velocity magnitude in the list of quantities available.
205. Go to Representation menu.
206. Select Color Contour -> Smooth.


207. Go to Representation menu.
208. Select Cartesian Plot -> Along Section.
209. Left-click and drag in the graphics area to select the first point and the second point of the section.


210. Left-click on the Cartesian plot window to activate it (red border).
211. Right-click and select Show H Grid Lines.
212. Right-click and select Show V Grid Lines.


213. Left-click on the curve.
214. Right-click and select Curve Type.
215. Change Thickness from <2> to <1>.
216. Go to Marker tab page.
217. Keep Symbol to Circle.
218. Change Size from 0.4 to <0.3>.
219. Change color to red.
220. Left-click on Apply button.
 
221. Left-click on Close button.
222. Left-click inside the Cartesian plot window.
223. Go to View menu.
224. Select Maximize.


CFView™  offers the possibility to create and arrange Cartesian plots in different manners, with numerous options related to the type, thickness and colors of the lines and symbols. The manipulations are done interactively, mainly with the help of contextual menus. In addition, CFView™  includes a powerful project and windows based management, giving the possibility to the user to open multiple projects and manage several windows simultaneously. More details can be found in the CFView™  User Guide.
3D Analysis
In the previous section, attention has been focused on the management and creation of plots in the meridional plane, using the azimuthal averaged view. The creation of 3D plots is based on the same concept of quantity selection and representation explained in the above sections. However, since the plane of drawing is no longer two-dimensional, there is a need to select and/or create a surface for representation first.
225. Go to File menu.
226. Select Quit CFView to quit CFView™  and yes to confirm.
227. Access CFView™  again from FINE™  GUI, pressing the icon .
228. Deactivate View the azimuthal averaged solution.
229. Left-click on Start CFView.


You now enter 3D analysis mode in CFView™  !




230. Go to Geometry menu.
231. Select Boundary to deactivate boundary representation.
Boundary activation/deactivation is used as a toggle and acts on all selected surfaces. Fast access is ensured using the binding key <b>.
232. Double left-click on the check boxes:"SV_shroud" and "runner_shroud_(r.p.m. 408.93)" inside the Surfaces area
 to deactivate the set of patches that define the entity shroud. Groups "DT", "SV_hub_(r.p.m. 0)", "SV_blade","runner_hub_(r.p.m. 408.93)" and "runner_blade_(r.p.m. 408.93)" are the
 only entities that remain active at this moment.

Selection of surfaces for representation is controlled through the Surfaces area. Alternatively, identical operations can be retrieved from the menu Geometry.
Patches flagged as solids are selected as default surfaces for representation. Groups created in the boundary condition area inside FINE™  are transferred directly to CFView™, so that the selection of surface entities can be performed in a few clicks.


Fast selection of a group of surfaces in a large list including numerous surfaces, which are partly checked/unchecked, can be done by first left-clicking (combined with <Ctrl> or <Shift> for multiple surfaces) on the target surface(s) desired for representation, then right-click to get the contextual menu and choose Select.



233. Go to Geometry menu.
234. Select Boundary again to activate boundary representation on active surfaces.
235. Go to Geometry menu.
236. Select Grid to display surface mesh on active surfaces.
Fast access to mesh representation is ensured using the binding key <g>.
237. Go to Render menu.
238. Select Shading -> Gouraud to shade active surfaces.


239. Make use of the Viewing buttons to modify the representation mode and locate the Francis turbine to outline the blades and hub in a clearer manner.





240. Press the binding key <g> to deactivate the mesh on active surfaces.
241. Go to Geometry menu.
242. Select Repetition Number.
243. Activate Max to set the maximum number of repetitions for all rows.


244. Click on Apply.
245. Go to Geometry menu.
246. Select Repetition on/off menu.


247. Go to File menu.
248. Select Print menu.
Pictures can be printed in different formats, either on the active or graphics windows. Information can be introduced in a banner. Options related to picture definition can also be modified.
249. Select Active View.
250. Set banner to <SV_GV_RUNNER_DT> <Enter>.
251. Set format to PNG.


252. Click OK.
253. Select the picture name and appropriate location.
254. Click Save.

Selection of Graphics Windows is recommended to insert several pictures in a unique file, as they appear on the graphical window (WYSIWYG = what you see is what you get mode).
The ".png" format is often the preferred choice for printing.

255. Go to Update -> Delete -> All.
256. Go to Geometry -> Repetition on/off.
257. Click the icon  to fit the geometry.
258. Select Quantity -> Solid Data -> y+.
259. Select Representation -> Color Contour -> Strip.
260. Select Representation -> Scalar Range -> Colormap Set Range.


261. Enter in keyboard area the range to <0 9> <Enter>.
The parietal output y+ is now enabled on active surfaces (hub and blades). The range of representation on the selected surfaces has been adapted manually to outline the details the best.
262. Make use of the Viewing buttons to modify the representation mode and locate outline the proper position.


263. Go to Representation menu.
264. Select Isolines -> Isolines....
265. Activate mode increment.
266. Change Value to <0.5> <Enter>.
267. Change min range to <0> <Enter>.
268. Change max range to <9> <Enter>.
269. Activate Color Uniform.
270. Left-click on Apply button.




271. Close the dialog box.
Gradients are clearly observed nearby the leading and trailing edge of the blades. The combination of color contours and isolines representation enables to outline the main characteristics of the flow in a clear and elegant manner.
Blade-to-Blade View
272. Go to Update -> Delete -> All.
273. Go to Representation -> Colormap to remove the colormap.
274. Go to Render menu.
275. Go to Shading -> Gouraud.
276. Go to Geometry menu.
277. Select Blade to Blade Surface.
278. Set Surface type to Blade to blade.
279. Set S to <0.5> <Enter> (section located 50% spanwise).
280. Click Apply button.


281. Click Save button.
282. Click Close to quit the dialog box.

CFView™  integrates the possibility to create cuts at constant spanwise position (also called "blade-to-blade" planes). This capability is especially useful when the endwalls are not planar. The surface for representation at constant spanwise position is then created based on linear interpolation between the endwalls.
Pressing Save button in the dialog box creates an additional surface for representation in the Surfaces area, enabling quantity selection and representation as discussed in the previous sections.

283. Left-click on "CUT1" in the Surfaces area.
284. Right-click to get the contextual menu.
285. Go to Select in order to select only "CUT1" as the active surface for representation.


286. Go to Quantity menu.
287. Select Field Data -> Basic Quantities -> Absolute Total Pressure.
288. Go to Representation menu.
289. Select Color Contour -> Smooth.
290. Go to Representation menu.
291. Select Scalar Range -> Colormap Optimum Range.
Colormap Optimum Range restricts the bounds of the colormap to those related to active surfaces instead of the complete 3D domain. This capability is often useful to outline, in a clearer manner, a number of details. It can also be accessed by pressing the icon .


292. Left-click on the colormap.
293. Right-click and select Move or Resize.
294. Drag and drop the colormap to an appropriate location.
295. Drive the pointer at a corner of the colormap and resize accordingly.
It is advised to set the colormap at a location where it does not interfere with the representation, so as to avoid any difficulty in the interpretation of the results.
296. Left-click on the colormap.
297. Right-click and select Smooth Only.


Turbomachinery Mode
298. Go to File menu.
299. Select Turbomachinery.
300. Select Load Flow Solver Pitch Average.
301. Click on Ok button. You now enter the Turbomachinery mode! It gives simultaneous access to meridional, meridional average, blade-to-blade and 3D views.Actions required for surface representation, quantity selection and representation apply similarly to those described in the previous sections. More details can be found in the CFView™  User Guide.

Tutorial 8: Flow Settings

Link Mesh & Project

Manage Computations

Set Flow Configuration

Set Boundary Conditions

Set Numerical Model

Set Initial Conditions

Select Outputs

Control Computation Steering

Save Project & Start Calculation

Follow Convergence Steering


The mesh generation process is now completed 
 and one can now come back to FINE™  graphical user interface in order to 
 set the various flow settings required before the calculation can start.
 The access to the main menu and controls is proposed through a menu bar
 and a left-tree, and is completed with an icon bar.


Access to FINE™  graphical user interface from the AutoGrid5™  window is proposed through the Modules/Fine Turbo menu and confirm (yes) to enter FINE™  GUI. You're now back to FINE™  graphical user interface!


A step by step approach is proposed in the 
 following lines. It aims at driving you through the various steps that 
 need to be executed from mesh linking to the execution of the 
 calculation.
Link Mesh & Project
125. Click the icon  and link the mesh "SV_GV_Runner_DT.igg" with the project.


 The user may be prompted a warning message concerning the solver precision; accept this message. The change of the solver precision is detailed in step 187.

126. Define grid units in Millimeters as the geometrical data inserted in the "tutorial8.geomTurbo" file are expressed in millimeters.
127. Select a Cylindrical and 3 Dimensions configuration.
128. Click OK to close the dialog box.


Manage Computations
129. Rename the default computation "computation_1" as "000_SA" in the Computations area to indicate that the calculation will be executed on the coarse 
 grid first and use Spalart-Allmaras turbulence model. This can be 
 achieved by left-clicking on Rename button, drag and modify the "computation_1" as "000_SA".
 
Similar operations could be executed using the New Computation or Remove buttons, respectively to create a new computation or remove one.
Set Flow Configuration
130. Go to the tree in the left menu and double left-click on the Configuration menu.


Three sub-menus related to the definition of the working fluid, 
 main flow characteristics and rotating machinery definition can then be 
 accessed.
131. Double left-click on Fluid Model to access the fluid database.
132. Select WATER as a working fluid.



The fluid database includes a number of pre-defined fluids, covering various approximations in fluid definition such as perfect gas, ideal (real) gas, incompressible fluids and fluids defined as a set of thermodynamic tables (optional, subjected to a separate license key).
A default fluid database is provided by FINE™/Turbo. The user is also able to create and modify his/ her own fluids and/or use fluids created by others. More details about these functions are available in the FINE™  User Guide.

133. Double left-click on Flow Model to set the flow characteristics.
134. Select Steady to indicate that a steady solution is of interest.
135. Select Turbulent Navier-Stokes to activate the resolution of RANS equations.
136. Select Spalart-Allmaras as the turbulence model of choice.


A number of turbulence models can be accessed through the interface. They require the additional resolution of 0-equation to 4-equations, depending upon the model selected. Some of these models do need a fine resolution near the wall (y+ ranging from 1 to 5), while others use the log-law concept and can mimic the logarithmic law. More details can be found in the FINE™  User Guide.
137. Set Reynolds Number Related Info:

Set the Characteristic Length = <0.4> < Enter>,
Set the Characteristic Velocity = <8.6> < Enter>,
Keep the Characteristic Density = <1001> < Enter>.


Characteristic variables 
 (length, velocity, density) are required to estimate the Reynolds 
 number. This number is used at a few locations inside the flow solver, in 
 particular inside the damping functions related to the modeling of 
 turbulence down to the walls.
The impact of the characteristic variables on the flow solution is 
 very limited, but it is advised to select values in accordance with 
 characteristic quantities of the geometrical domain and flow conditions.
 As an example, the characteristic length may be defined by
 a reference diameter or length at inlet and/or outlet of the 
 computational domain, and/or the chord of the blade (if any). The 
 characteristic velocity may be set to the averaged inlet velocity. The 
 characteristic density is fixed as the average (molecular) fluid 
 density.

138. Double left-click on Rotating Machinery to set the rotating machinery definition.
	Since the stay vane and the guide vane have been meshed in tandem in AutoGrid5™, only one group containing these two rows is appearing in the FINE™ interface. The user can separate this group into two different groups by the button Group on the bottom of the page.
139. Select the patches corresponding to the  draft tube inner and buffer blocks by doing a left-click on each of them while maintaining <Ctrl> pressed; Group these patches in a group called <DT> <Enter>


140. Left-click on SV.
141. Check that the Rotational Speed = <0> <Enter>.
142. Left-click on runner.
143. Check that the Rotational Speed = <408.93> <Enter>.



In the cylindrical mode, the 
 flow solver resolves the equations by default in a relative frame of 
 reference. As a consequence, the mesh attached to the blade is rotating 
 at the same speed as the blade, as far as no rotor-stator interaction is
 concerned. The rotation speed has been introduced in AutoGrid5™  and 
 transferred through FINE™, limiting user interventions in the graphical 
 user interface.
For rotating machinery projects, the axis of rotation must be 
 aligned along Oz. In addition, a unique rotation speed must be 
 considered for the entire computational domain.

144. Left-click on the Rotor-Stator tab to set the rotor-stator interface parameters.
A separate ID is allocated to each rotor-stator interface, based on data included in AutoGrid5™. Each interface is defined with 2 patches, located upstream and downstream of the rotor-stator interface. The definition of ID's and allocation of upstream/downstream sides is performed automatically in FINE™.


145. Change "outlet_id_20" patch parameters:

Left-click on "outlet_id_20".
Keep Full Non Matching Mixing Plane.
Keep ID Number to <20> <Enter>.
Select Upstream for Side.  

146. Change "inlet_id_20" patch parameters:

Left-click on "inlet_id_20".
Keep Full Non Matching Mixing Plane.
Keep ID Number to <20> <Enter>.
Select Downstream for Side.

147. Change "bulb_at_outlet" patches parameters:

Left-click on patches "bulb_at_outlet".
Keep Full Non Matching Mixing Plane.
Keep ID Number to <1> <Enter>.
Select Upstream for Side.



148. Change "DT#blocks" patches parameters:

Left-click on patches "DT#blocks".
Keep Full Non Matching Mixing Plane.
Keep ID Number to <1> <Enter>.
Select Downstream for Side.




Several methods, based on steady quasi 3D approximations, can be accessed to ensure a proper treatment of rotor-stator interfaces.

The Conservative Coupling by Pitchwise Row method guarantees an exact conservation of mass flow, momentum and energy through the interface and is proved to be robust in most circumstances.
The Local Conservative Coupling method is recommended in projects coupling an impeller with a volute, and is proved to offer more robustness than the Conservative Coupling by Pitchwise Row in these cases.
The Full Non Matching Mixing Plane method is the default option. It guarantees an exact conservation of mass flow, momentum and energy through the interface and relaxes several constraints with respect to the preparation of the mesh. It is not activated as a default option but may be a candidate of choice in some circumstances
The Non Reflecting 1D Mixing Plane method is recommended when wave reflection is observed at the interface, which can occur when the interface is close to the blade.
The Non Reflecting 2D Mixing Plane method is recommended when a shock wave is crossing the interface, and can give a better representation of the shock wave.
The Full Non Matching Frozen Rotor method considers the rotor-stator interface as a perfect connection and neglects the movement of the rotor in the connecting algorithm. In this approach, the periodicities must necessarily be equal between the rotor and the stator.


Set Boundary Conditions
149. Go to the tree in the left menu and double left-click on the Boundary Conditions menu.

During the grid generation 
 process, AutoGrid5™  defines the type of the boundary conditions to be 
 applied on each block face. The most common types are INLET, OUTLET, PERIODIC and SOLID boundary conditions.
PERIODIC boundary conditions are set automatically by the flow solver and must not be modified by the user.
It is important to confirm each entry by pressing the <Enter> key.

150. Go to Mesh -> View On/Off to load the mesh in FINE™  GUI.

This toggle menu is used to visualize the grid in FINE™. The parameters area will be overlapped by a graphics window, and the small control button on the upper-left corner of the graphics window can be used to resize the graphics area in order to visualize the parameters and the mesh  simultaneously.


The selection of patches in the left column outlines the corresponding patch in the graphics area, thus enabling a fast and easy visualization of the boundary conditions.

151. Go to the INLET tab:

Select Mass Flow Imposed (related patches must be grouped),
Select Velocity Direction,
Set Vr / V = <-0.485> <Enter>,
Set Vt / V = <0.875><Enter>,
Set Vz / V = <0> <Enter>,
Set static temperature = <293> <Enter>,
Choose Turbulent Viscosity as the Turbulent Quantities and set Turbulence Viscosity to <5e-06> <Enter>,
Set mass flow = <293> <Enter>.



Mass Flow Imposed boundary condition permits to impose the value of the mass flow through a specified control surface. Related patches must be grouped. In addition to the mass flow, the direction of the velocity vector and the static temperature are imposed.
152. Go to the OUTLET tab:

Select all patches,
Select Pressure Imposed,
Select Static Pressure Imposed,
Set Static Pressure = <101300> <Enter>.



An averaged static pressure of 101300 Pa is fixed at the exit boundary of the computational domain. Based on this data, at each iteration, the flow solver keeps the distribution of static pressure at the exit and moves it to respect the averaged static pressure imposed.
153. Go to the SOLID tab .
For each row, patches including the keyword "hub" are by default collected in a unique group named as "row*_hub". Patches including the keyword "shroud" are grouped in "row*_shroud". Finally, patches of the blade are grouped in "row*_blade". If the part of the row is rotating, the suffix "_(r.p.m. rot_speed)" is added to the group name. The presence of a tip gap is automatically taken into account in the blade group, thus minimizing user intervention in the definition of the boundary conditions. For a rotor, which is defined in AutoGrid5™, it is assumed that the hub and the blade are fully rotating. The rotation speed takes the value introduced during the mesh generation process. The shroud is assumed to be a fixed entity, with no rotation speed assigned.
154. Change the runner hub parameters:

Left-click on "runner_hub_(r.p.m. 408.93)" group,

The rotation speed is usually considered as a constant for the entire patch (group). However, FINE™  integrates the possibility to define that only part of a patch is rotating (e.g. part of the hub). This applies to the Francis turbine runner, where only part of the hub and shroud is considered as a rotating body.

Left-click Adiabatic,
Left-click Area Defined Rotation Speed,
Set Rotational Speed 1 = <0> <Enter>,
Set Rotational Speed 2 = <408.93> <Enter>,
Set Lower Radius Limit = <0> <Enter>,
Set Higher Radius Limit = <0.158> <Enter>,
Set Lower Axial Limit = <-1> <Enter>,
Set Higher Axial Limit = <0.0565> <Enter>,
Click on check button Compute force and torque.



The convergence of both axial thrust and torque can be monitored in the computational 
steering window, to make sure that both quantities have reached stable values at the end of the convergence process. Both values are also available from the *.mf file 

                              located
 in the computation directory. The torque can also be used for the 
 calculation of the efficiency of the machine. It is common practice to 
 enable force and torque calculation on rotating patches only.                            

Keep all other default settings.

155. Change the runner shroud parameters:

Left-click on "runner_shroud_(r.p.m. 408.93)" group,
Left-click Adiabatic,
Left-click Area Defined Rotation Speed,
Set Rotational Speed1 = <0> <Enter>,
Set Rotational Speed2 = <408.93> <Enter>,
Set Lower Radius Limit = <0> <Enter>,
Set Higher Radius Limit = <0.203> <Enter>,
Set Lower Axial Limit = <-0.165> <Enter>,
Set Higher Axial Limit = <-0.0703> <Enter>,
Click on check button Compute force and torque.



156. Change the runner blade parameters:

Left-click on "runner_blade_(r.p.m. 408.93)" group,
Keep Adiabatic,
Left-click Constant Rotation Speed,
Set Rotational Speed =<408.93> <Enter>,
Click on check button Compute force and torque,
 
 Group the draft tube patches in a group called <DT> <Enter>,
Left-click on SV and DT, keep Adiabatic and click-left Constant Rotation Speed (set to 0 rpm).



157. Go to Mesh -> View On/Off to toggle for mesh visualization, if needed. 
Set Numerical Model
158. Go to the tree in the left menu and double left-click on the Numerical Model menu.


This menu gives access to the most frequently used numerical parameters, including the Courant Fredericks Lewy (CFL) number and the selection of the grid level on which the simulation will apply. It is important to confirm each entry by pressing the <Enter> key.
159. Keep CFL unchanged to 3.

The CFL number drives the pseudo-time step selected to reach a steady state solution using the time-marching method integrated in the flow solver. In combination with the 4-steps Runge-Kutta integration scheme included in the flow solver, it has a theoretical stability limit close to 2.8. However, the additional implicit smoothing scheme can increase this value slightly, which justifies the default value of 3.
The default value for CFL number is adequate in most cases, but can be decreased in some circumstances, in particular at off-design conditions.

160. Define the grid level on which the simulation will apply:

The flow solver is based on an explicit time integration technique, which is accelerated using dedicated multi-grid methods. To this end, several levels of intermediate grids must be generated started from the finest one. This is achieved by taking one node over 2 in each I-, J- or K-directions, starting from the finer grid level.
It is strongly advised to enable the definition of at least 3 grid levels, by carefully selecting the number of nodes on every edge forming the patches and blocks. More details can be found in IGG™, AutoGrid5™  and FINE™  User Manuals.
In the FINE™  terminology, the finest grid level a user can access will be called as 000, while the intermediate and coarsest ones will respectively be named as 111 and 222 levels, assuming 3 grid levels can be selected.
Hybrid grid levels can theoretically be defined (e.g. 010 or 211). It is however not advised to use such hybrid levels since it deforms the mesh in a preferential direction and thus possibly increasing the aspect ratio. Consequently, the quality of the resulting mesh can be decreased.


Keep Current Grid Level = 0 0 0,
Keep Number of Grid(s) = 3,
Keep the Coarse Grid Initialization active.

In addition to the multi-grid acceleration technique, the number of iterations to convergence can be significantly reduced activating the coarse grid initialization process. In that case, the simulation starts on the coarsest grid level available, leading to fast convergence. Once done, the flow solver automatically interpolates the current flow solution on the intermediate levels before the iterative process is restarted. A similar process occurs up as long as the expected finest grid level is reached. The iterative process is then pursued up as far as the convergence criteria is not reached or the maximum number of iterations is exceeded. More details can be found in Numerical Model in the FINE™/Turbo GUI.
161. Define preconditioning parameters: select Hakimi and keep the default parameters.

Preconditioning is applied at low-speed flows and/or modeling incompressible fluids. At low Mach numbers, the convergence rate of the iterative process can be largely slowed down due to the numerical formulation selected in the flow solver. The equations are then preconditioned to recover a satisfactory rate for convergence. Preconditioning is controlled in the Hakimi method through a user-controlled parameter ß.
This parameter ß is imposed by the user through a coefficient ß* and the characteristic velocity Uref such that:
ß² = ß* . (Uref²) or,
ß² = ß* . max(Uref²,Uloc²) when local velocity scaling is active (Uloc is the local velocity)
Uref is the representative value of the maximum velocity in the flow field. For the user's convenience, the constant Uref  is always equal to the reference velocity specified in the Flow Model page and used in the calculation of the Reynolds Number. In that case, Uref must be carefully selected since it influences the convergence and when changed in the Numerical Model page, the value will also be adapted automatically in the Flow Model page. 

Set Initial Conditions
162. Go to the tree in the left menu and double left-click on the Initial Solution menu.
163. Left-click on group ROWS.
The group is automatically created when the mesh is loaded in FINE™  GUI. In complex projects, hybrid initial solutions can be useful. In that case, a constant initial solution per block can be selected for some groups, while others can  benefit from an initial solution for Turbomachinery. Limitations related to the use of hybrid initial solutions are described in FINE™  User Manual
164. Keep for
 turbomachinery to access the initial solution menu for turbomachinery.   
Initial conditions can be selected in different forms, going
 from constant values per block to throughflow based solutions. When running a rotating
 machinery project case, it is common practice to select the initial solution for
 Turbomachinery. Based on a 1D estimation of the flow solution, the initial solution for
 Turbomachinery often enables a drastic reduction in the number of iterations in
 running 3D simulations. Inputs ("best estimation") related to static
 pressure at inlet and rotor-stator interfaces (if it applies) are requested.

Left-click on the inlet patch
 ("SV_flux_1_Main_Blade_upStream_inlet")
Set Estimated Static Pressure = <139000>
 <Enter>
Left-click
 the rotor/stator interface ID20.
Set Estimated Static Pressure = <126000> <Enter>.
Left-click
 the rotor/stator interface ID1.
Set Estimated Static Pressure = <95000> <Enter>.
Choose Turbulent Viscosity as the Turbulent Quantities and set Turbulence Viscosity to <5e-06> <Enter>.



165. Make a group for "DT#blocks" and change the following parameters:

Keep Constant Values,
Keep coordinate system as Cylindrical,
Pressure = <100000> [Pa] <Enter>, 
Temperature = <293> [K] <Enter>,
Vr = <2> [m/s] <Enter>,
Vtheta = <0> [m/s] <Enter>,
Vz = <-1> [m/s] <Enter>,
Choose Turbulent Viscosity as the Turbulent Quantities and set Turbulence Viscosity to <5e-06> <Enter>.



Select Outputs
166. Go to the tree in the left menu and double left-click on the Outputs menu.
167. Double left-click on Computed Variables.

Quantities of interest in the simulation must be pre-selected in this menu. They will be stored in the solution file (*.cgns) once the iterative process will be finished and/or during intermediate steps. Quantities can be accessed both in the 3D field (Computed Variables) and/or in the meridional plane (following circumferential averaging, see Azimuthal Averaged Variables). Additional data can be selected on the solid walls and/or on predefined surfaces (Surface Averaged Variables).
The adequate selection of outputs of interest will reduce the size of the solution file. This is in particular important when projects involving very fine meshes and/or unsteady capabilities are managed.

168. Select Static, Total Absolute and Total Relative Temperature if not yet selected.
169. Select Static, Total Absolute and Total Relative Pressure if not yet selected.
170. Select Density, Entropy, Rothalpy and Dynamic viscosity if not yet selected.


171. Left-click on Velocities in the menu Categories.
172. Select Vxyz if not yet selected.
173. Select Wxyz if not yet selected.


Vxyz and Wxyz relate to the velocity vectors field respectively in the absolute and relative frame of reference. The examination of solution quantities in the relative frame of reference is in particular useful to observe the flow angles relative to the blade close at leading and trailing edge.
174. Left-click on Solid data in the menu Categories.
175. Select Static pressure, Static temperature, Cf, Relative velocity and y+ (in first inner cell) if not yet selected.



Cf relates to the friction coefficient.
The parietal coordinate y+ is a direct function of the distance from the wall.  
Therefore, y+ = 0 at the wall and takes a non-zero value at the center of the first cell close to the wall (also called "inner cell"). As a consequence, the examination of y+ "at the wall" should be understood as the examination "in the first inner cell". 
 Although it is not correct theoretically speaking, this concept is very 
 often used to ease the post-treatment and benefit from the existing solid surfaces.

176. Left-click on Turbulence in the menu Categories.
177. Select Wall distance and Turbulent Viscosity ratio if not yet selected.



The analysis of the Turbulent Viscosity ratio field is often of major interest to make sure that the turbulent quantities are computed accurately according to the turbulence model and mesh refinement selected.
Running k-epsilon related models gives access to additional quantities in particular related to the production term, the kinetic energy and dissipation rate fields. It is strongly advised to activate these fields for post-treatment.

178. Double left-click on Azimuthal Averaged Variables.
179. Go through the various categories and select quantities as for Computed Variables.
Additionally, outputs can be re-directed using the PLOT3D format, using various formats. More details can be found in Plot3D Formatted Output.
Control Computation Steering
180. Go to the tree in the left menu and double left-click on the Computation Steering menu.
181. Double left-click on Control Variables.
182. Set Maximum Number Of Iterations = <1000> <Enter>.
183. Set Save Solution Every = <200> <Enter>.
184. Keep Convergence Criteria = -6, and change the solver precision from Single to Double. In the list of expert parameters (only visible when the Expert Mode is active in the toolbar), in the float parameters section, set RSTOL to <4e-05> and MUCLIP to <50000>.
 



The expert parameter RSTOL pilots the tolerance used in the full non-matching rotor-stator algorithm. This parameter should be smaller than the ratio of the first inner cell distance to the hub-shroud distance. With a wall cell width of 0.02 mm and a hub-shroud radius of 450 mm, this parameter is set to 4e-5.
The expert parameter MUCLIP permits to control and avoid the clipping of the turbulence ratio in the flow field but not on the boundaries.


Depending upon the quality of the initial solution, the density of the mesh (number of nodes) and the complexity of the underlying flow field, from few hundreds to few thousand iterations are typically required to reach convergence. The iterative process is stopped once the convergence criteria is reached over the entire domain or the maximum number of iterations is executed on the current grid level (111 in the present case).
Ability to select for Minimum output gives the possibility to minimize the size of the solution files. In that case, the flow solution is stored only once the iterative process is finished, and limited information is proposed during the intermediate storage. This limited information allows to perform a restart procedure from an existing flow solution, but cannot be visualized within CFView™.
Static memory allocation is enabled inside the flow solver. An estimation of the memory required to run and save the flow solution is calculated and proposed as a default. However, in some circumstances, the estimation may be too short and it is then required to manually increase the number of reals or integers necessary to drive the solution to success. In that case, click on Set the requested memory and increase the inputs accordingly.

Save Project & Start Calculation
185. Go to File menu and Save project.
The project parameters are stored in the *.iec file. This file includes the entire set of parameters required to reproduce the project, excluding the mesh.
186. Press the icon    and Start Flow Solver to start the calculation: a task manager window is appearing.


The calculation will start in serial mode (1 processor) on the local machine. FINE™  includes multi-processor capabilities and the ability to manage computations through a task manager and/or in batch mode. More details can be found in the FINE™  User Guide.
Follow Convergence Steering
187. Double left-click on Convergence History.



The evolution of averaged residuals on the entire domain can be observed during the convergence process. Similarly, the evolution of the mass flow balance (in/ out) and/or global quantities (isentropic efficiency, torque and axial thrust on solid walls selected in the boundary conditions page, pressure ration) can be displayed.
Local and global quantities may also be added for follow-up during the convergence process. However, their representation in the graphical area will only be effective once they are added in the Selected Variables list, see in the FINE™ User Guide.
The examination of residuals per block and/or for a given primitive variable can be achieved accessing the monitorTurbo tool. The tool is included in the FINE™ package and can be accessed through the adequate command line. More details can be found in the FINE™  User Guide.

188. Once the calculation is converged or 
 reaches the maximum number of iterations allowed on the current grid 
 level, the flow solver stops.
189. The final solution is then stored in the solution file (*.cgns) and the task manager window is closed.
To check the convergence of the computation, NUMECA recommends to observe the evolution of multiple criteria including (a) an adequate decrease in residuals (minimum 3 orders of magnitude); (b) complete stabilization of global performances; (c) stabilization of mass flow in/out, with satisfactory correspondence (usually less than 0.5% difference between in/out).
Now that the iterative process is over, click here to start the visualization of the solution within the post-treatment tool CFView™  integrated in FINE™/Turbo.

Tutorial 1: Mesh Generation

Create Mesh Project

Load Geometry

Mesh Wizard

Mesh Visualization

Check Boundary Conditions & Mesh Quality

Save Project




            The AutoGrid5™ graphical user interface includes several windows that enable the simultaneous visualization of the geometry and mesh of the turbomachine in the meridional, blade-to-blade and 3D views. Access to the main menu and controls is provided through a menu bar and a quick access pad, and is complemented with a tool/icon bar. The execution of the different actions undertaken is summarized in the message box at the bottom of the interface.


A step by step approach is provided in the following lines. It aims at driving you through various steps that need to be executed from the creation of the mesh project to the validation of the final mesh quality.
Create Mesh Project
1. Select Basic Mode if necessary in the toolbar.



The Basic Mode will give access to a simplified graphical user interface. For most projects the available parameters in the Basic Mode are sufficient.

2. Close the Open Turbo Project Wizard dialog box.
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with associated grid) including the data required to regenerate a mesh on an identical or similar geometry. In this tutorial, this data will be progressively introduced based on the geometry of the project case.
3. Go to menu File -> New Project.
4. Click yes to close the active project.
5. Choose Initialize a New Project from a geomTurbo File. 


Load Geometry
6. Locate and select "rotor.geomTurbo" (geometry defined in [Centimeter]) in the dialog box and click Open.  (Where to Find the Files Used in the Tutorials?) 



The ".geomTurbo" file format is structured in three main blocks: the header, the channel and the row definition(s).
The channel format contains the definition of the turbomachinery meridional contour (hub, shroud, seal leakage, bleed,...). It is defined by two types of curves: the basic curves defined by a set of points and the channel curves defined as a composite of basic curves. The ".geomTurbo" file must contain two channel curves named respectively "hub" and "shroud".
The row definition contains the geometry of a complete row. It is defined by a row name, a row type, a periodicity and the definition of the main blade and possibly the splitter(s). The blade and splitter(s) are defined by the pressure and the suction side surfaces, identified by the keywords "pressure" and "suction". Both surfaces are specified by a set of cross sections of the blade at several spanwise locations from hub to shroud. Each section is defined by a set of points from leading to trailing edge.

Mesh Wizard
7. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current row, if not done already.
8. Left-click Row Wizard in the toolbar.



The row wizard is also available in Expert Mode under Mesh Control subpad in the QAP.



9. Click yes to start the wizard and to reset the mesh generation parameters.

The reset will keep the modifications performed by the user in the Row Wizard but will reset the parameters modified in Expert Mode to the default value.
The wizard is divided in 6 steps:

the geometry check (optional),
the machine characteristics definition,
the gap and fillet definition,
the flow path definition,
the blade-to-blade mesh definition,
the end of the initialization.


10. Click yes to confirm the geometry check (step 1).
During the geometry check of a blade, AutoGrid5™  performs the following operations: check blade definition, check orientation of the blade section curves, detect loop detection into the blade section curves and between the blade sections. More details can be found in the AutoGrid5™  User Guide.
11. Click Next in the dialog box to define the machine characteristics (step 2).


12. Select Axial Compressor as Row type in the Blade row type dialog box.
13. Enter the Periodicity (number of blades) if necessary. Left-click inside the string input area and type <36>, press <Enter> to confirm.
14. Select Rotor.
15. Enter <-17188> in Rotation Speed (rpm).



This speed will be transferred to the FINE™  graphical user interface and ease the input of boundary conditions later on. 
The sign of the rotational speed is positive (+) when the blade row is rotating in the positive θ-direction, and negative otherwise.

16. Click Next in the dialog box to start the gap and fillet definition (step 3).
17. Activate Tip Gap in the Gap and Blending Control dialog box.
18. Define Width At Leading Edge = <0.0356> [Centimeters] <Enter>.
19. Define Width At Trailing Edge = <0.0356> [Centimeters] <Enter>.
 




The width at leading/trailing edge allows the user to specify the size of the gap respectively at the leading and trailing edge of the blade. The gap curve is then constructed as a linear offset of the hub (or the shroud) according to these values.
20. Keep all other data identical.
21. Click Next>> in the dialog box to start the flow path definition (step 4).
22. Keep Spanwise Grid Point Number set to <73> (corresponding to the flow paths number) in the Layer Control dialog box.
When increasing or decreasing the number of flow paths, the number of flow paths in the gaps and fillets is automatically updated together with the percentage of constant cells, leading to an increase or decrease of the spanwise expansion ratio.
23. Estimate the width of the first cell at the wall:

The width of the first cell close to the wall must be selected with care since the quality of the flow solution will often depend upon the capture of the flow phenomena inside the boundary layers which develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends to locate the nearest grid point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must be modelled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven by the Blasius equation, expressed as follows for turbulent flows:



where:

ywall is the distance of the nearest grid point to the wall (in meter);
Vref is a reference velocity of the flow, for instance, the inlet velocity (in m/s);
ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
Lref is a reference length of the test case (in meter);
y+ is a non-dimensional value.


In the present case, one can estimate that Vref=175 m/s; Lref=0.2523m; ν=1.466e-5 m²/s. Assuming one wishes to get y+=1 at the wall, it turn out that y = 3 x 10-6 m. Input the value of the Wall Cell Width = <0.0003> [Centimeters] <Enter> in the Layer Control  dialog box.


24. Click Next>> in the dialog box to start the blade-to-blade mesh definition (step 5).
25. Set the Number of Points (of the 3D mesh) around 850,000 by clicking the << or >> buttons in the B2B Control dialog box.
 
26. Keep Full Matching Mesh active to impose a matching connection between the channel and the gap.
27. Click Preview B2B to plot the blade-to-blade mesh at mid-span: default O4H topology is used with additional upstream/downstream H-blocks.
The Full Visibility option allows the user to see the mesh moving in the blade-to-blade view when applying the optimization steps.
 

The default O4H topology includes 5 blocks:

the skin block is an O-mesh surrounding the blade;
the inlet block is a H-mesh located upstream the leading edge;
the outlet block is a H-mesh located downstream the trailing edge;
the up block is a H-mesh located above the blade section;
the down block is a H-mesh located under the blade section.


28. Select Skewness or Expansion Ratio to plot respectively the orthogonality or expansion ratio field of the blade-to-blade mesh at mid-span.


29. Click Finish to end the initialization process (step 6).
30. Click yes to start the 3D mesh generation.




Click no to check the blade-to-blade mesh quality at hub and/or shroud before generating the 3D mesh.
Go to Mesh Control -> Active B2B Layer to specify the flow path (layer) on which the mesh will be plotted in the blade-to-blade view. By default, the active view is set at the mid-span of the machine (Active Layer (%span) set to 50). The layer selected for visualization is defined in percentage of span, going from hub (0%) to shroud (100%). Enter <0> <Enter> or <100> <Enter> in order to visualize the mesh at hub or shroud respectively.


Select Update B2B View to regenerate the blade-to-blade mesh on the new specified layer in the blade-to-blade view.


A detailed analysis of mesh quality can be performed on the blade-to-blade mesh after generation. Information on orthogonality, aspect ratio and expansion ratio can be outlined in this window by clicking :

Select quality criteria using the Type pull-down menu.
Left-click Show chart to visualize the distribution of selected criteria in the form of a histogram. The histogram is drawn for each row.
Left-click part of the histogram to plot the concerned cells in blade-to-blade view or select Display all cells to have an overview of the mesh quality.
Left-click the More info button to obtain information about minimum and maximum values of the selected criteria.
Close the quality checkbox.



After performing the blade-to-blade mesh quality check, the 3D mesh generation can be started by clicking the Generate 3D button.



Once 3D grid generation is completed, a grid quality check is performed and displayed. Minimum cell skewness, maximum expansion ratio and aspect ratio are reported, among others. Data is available for the entire mesh or for every each separate entity (row, technological effect, bulb). Data related to grid quality report is automatically stored in a report file, once the project file is saved.
31. Close the dialog box. The page can be reopened by clicking .
Mesh Visualization
32. Select the View -> View 3D Solid Mesh menu.
33. Left-click the View 3D button in the toolbar to visualize only the 3D view.


By default, the 3D solid mesh is plotted on hub and blades. To remove the plot, select the menu View -> Hide 3D Solid Mesh.
34. Click the Repetition icon ) to toggle the repetition of the channel.
 
35. Use the View menu in the QAP to toggle edge, mesh and/or solid shading.




Check Boundary Conditions & Mesh Quality


36. Check for boundary conditions by clicking .
37. Select UND under Type pull-down menu and press <Enter> to check that there are no patches in the patch list that are still set to an undefined type.
It is important to make sure that no undefined patches (UND) are present in the mesh. If this is not the case, they can usually be removed by increasing the tolerance and launching the Search procedure.


38. Close the dialog box.
39. Left-click in the 3D view to activate the view (red border), if not done already.
40. Check for negative cells by clicking .


41. Click Apply.

The computation of the negative volumes is performed first. Negative cells can be outlined in the mesh by pressing the View neg cells button. Beware that the visualization of negative cells can be memory consuming when a large number of cells must be displayed. It is thus advised to first check the number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.

42. Click ok and Close the dialog box.
43. Left-click in the 3D view to activate the view (red border), if not done already.
44. Check for grid quality by clicking .
A detailed analysis of mesh quality on 3D mesh can only be performed once the 3D mesh has been generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell width can be outlined in this window using the Type pull-down menu.
45. Select block number (0 for all) - <Enter>.
46. Select quality criteria using the Type pull-down menu.


47. Left-click Show chart to visualize the distribution of selected criteria in the form of a histogram. The histogram is drawn per block (0 = all blocks).


48. Left-click part of the histogram to plot the concerned cells in the 3D view.
49. Left-click the More info button to obtain information about minimum and maximum values of the selected criteria and block.


50. Close the dialog box.
Save Project
51. Go to File -> Save Project As <tutorial1> <Enter> to save mesh and template files.

The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the boundary condition types: ".bcs", ".cgns", ".geom" (".xmt_txt"), ".igg", ".config" and ".qualityReport". The meaning of these files is detailed in the User Guide.
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh with AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these files is detailed in the User Guide.
 
Now that the mesh is saved, click here to set up the computation in the FINE™/Turbo interface!

Tutorial 1: Flow Settings

Link Mesh & Project

Manage Computations

Set Flow Configuration

Set Boundary Conditions

Set Numerical Model

Set Initial Conditions

Select Outputs

Control Computation Steering

Save Project & Start Calculation

Follow Convergence Steering


The mesh generation process is now completed and one can now go back to the FINE™  graphical user interface in order to set the various flow settings required before starting the computation. Access to the main menu and controls is provided through a menu bar and a left-tree, and is complemented with an icon bar.


Access to the FINE™  graphical user interface from the AutoGrid5™  window is provided through the Modules/Fine Turbomenu, simply confirm (yes) to enter FINE™  GUI. You are now back at the FINE™  graphical user interface!


A step by step approach is provided in the following lines. It aims at driving you through the various steps that need to be executed from mesh linking to the execution of the calculation.
Link Mesh & Project
52. Click the  icon and link the mesh "tutorial1.igg" to the project.


 The user may be shown a warning message concerning the solver precision; accept this message. The change of the solver precision is detailed in step 98.

                    53. Define grid units in Centimeters as the geometrical data inserted in the "tutorial1.geomTurbo" file is expressed in centimeters.
54. Select a Cylindrical and 3 Dimensions configuration.
55. Click OK to close the dialog box.


Manage Computations
56. Rename the default computation "computation_1" as "000_SA" in the Computations area, to indicate that the calculation will be executed on the fine grid first and will use the Spalart-Allmaras turbulence model. This can be achieved by left-clicking the Rename button and replacing "computation_1" by "000_SA".




Similar operations can be executed using the New Computation or Remove buttons, to respectively create a new computation or remove one.
Set Flow Configuration
57. Go to the tree in the left menu and double left-click the Configuration menu.


Three sub-menus related to the definition of the working fluid, main flow characteristics and rotating machinery definition can be accessed.
58. Double left-click Fluid Model to access the fluid database.
59. Select AIR(Perfect). Air, considered as a perfect gas, is then selected as a working fluid.


The fluid database includes a number of pre-defined fluids, covering various approximations in fluid definition such as perfect gas, ideal (real) gas, incompressible fluids and fluids defined as a set of thermodynamic tables (optional, subjected to a separate license key).
A default fluid database is provided by FINE™/Turbo. The user is also able to create and modify his/her own fluids and/or use fluids created by others. More details about these functions are available in the FINE™  User Guide.
60. Double left-click on Flow Model to set the flow characteristics.
61. Select Steady to indicate that a steady solution is of interest.
62. Select Turbulent Navier-Stokes to activate the resolution of the RANS equations.
63. Select Spalart-Allmaras as the turbulence model of choice.


A number of turbulence models can be accessed through the interface. They require the additional resolution of 0-equation to 4-equations, depending upon the model selected. Some of these models do need a fine resolution near the wall (y+ ranging from 1 to 5), while others use the log-law concept and can mimic the logarithmic law. More details can be found in the FINE™  User Guide.
64. Set Reynolds Number Related Info:

Set the Characteristic length = <0.25> < Enter>,
Set the Characteristic velocity = <175> < Enter>,
Set the Characteristic density = <1.205> < Enter>.

Characteristic variables (length, velocity, density) are required to estimate the Reynolds number. This number is used at a few locations inside the flow solver, in particular inside the damping functions related to the modeling of turbulence down to the walls.
The impact of the characteristic variables on the flow solution is very limited, but it is advised to select values in accordance with characteristic quantities of the geometrical domain and flow conditions. As an example, the characteristic length may be defined by a reference diameter or length at the inlet and/or outlet of the computational domain, and/ or the chord of the blade (if any). The characteristic velocity may be set to the averaged inlet velocity. The characteristic density is fixed as the average (molecular) fluid density.
65. Double left-click on Rotating Machinery to set the rotating machinery definition.
66. Check that the Rotational Speed = <-17188>.


In the cylindrical mode, the flow solver resolves the equations by default in a relative frame of reference. As a consequence, the mesh attached to the blade is rotating at the same speed as the blade, as long as no rotor-stator interaction is present. The rotation speed has been introduced in AutoGrid5™  and transferred through FINE™, limiting user interventions in the graphical user interface.
For rotating machinery projects, the axis of rotation must be aligned along the z-direction. In addition, a unique rotation speed must be considered for the entire computational domain.
The page related to Rotor-Stator is not required in the frame of this tutorial. Please consult Tutorial 2 for more information regarding the treatment of rotor-stator interfaces.
Set Boundary Conditions
67. Go to the tree in the left menu and double left-click the Boundary Conditions menu.
During the grid generation process, AutoGrid5™  defines the type of the boundary conditions to be applied on each block face. The most common types are INLET, OUTLET, PERIODIC and SOLID boundary conditions.
PERIODIC boundary conditions are set automatically by the flow solver and must not be modified by the user.
It is important to confirm each entry by pressing the <Enter> key.
68. Go to Mesh -> View On/Off to load the mesh into the FINE™  GUI.

This toggle menu is used to visualize the grid in FINE™. The parameters area will be overlapped by a graphics window, and the small control button on the upper-left corner of the graphics window can be used to resize the graphics area in order to visualize the parameters and the mesh simultaneously. 
 
The selection of patches in the left column outlines the corresponding patch in the graphics area, thus enabling a fast and easy visualization of the boundary conditions.

69. Go to the INLET tab:

Select Total Quantities Imposed,
Select Velocity Direction (V extrapolated) type of boundary conditions,




Set Vr / |V| = <0> <Enter>,
Set Vt / |V| = <0> <Enter>,
Set Vz / |V| = <1> <Enter>,
Set Absolute Total Pressure from Constant Value to fct(space),




Left-click the  icon to access the boundary conditions profile editor,
Left-click Import in the profile editor and select the profile data "Ptot.p" stored in "/_profiles/",




Click OK to close the profile editor,
Set Absolute Total Temperature from Constant Value to fct(space),
Click the  icon to access the boundary conditions profile editor,
Left-click the Import button in the profile editor and select the profile data "Ttot.p" stored in "/_profiles/", 



1D Boundary condition profiles can be set as a function of the radius (r), but also as a function of the Cartesian coordinates (x, y, z) or circumferential direction.
The profile editor also enables the introduction of 2D (surface) data. In that case, the Surface data check button should be activated in the profile editor.

Choose Turbulent Viscosity as the Turbulent Quantities and set Turbulence Viscosity to <0.0001> <Enter>.

70. Go to the OUTLET tab:

Select Pressure Imposed,
Activate Radial Equilibrium,
Set Static Pressure = <90000> <Enter>,
Set Radius = <0.22> <Enter>,
Keep Radial Direction to J.



A constant static pressure of 90,000 Pa is fixed at the exit boundary of the computational domain, at radius r = 0.22 m. Based on this data, the flow solver calculates the distribution of static pressure at the exit, along the spanwise (J) direction, according to the radial equilibrium equation. This boundary condition should be restricted to axial machines.
71. Go to the SOLID tab:


For each row, patches including the keyword "hub" are by default collected in a unique group named as "row_*_hub_(r.p.m.*)". Patches including the keyword "shroud" are grouped in "row_*_shroud". Finally, patches of the blade are grouped in "row_*_blade_(r.p.m*)". The presences of a tip gap is automatically taken into account in the blade group, thus minimizing user intervention in the definition of the boundary conditions. For a rotor, which is defined in AutoGrid5™, it is assumed that the hub and the blade are fully rotating. The rotation speed takes the value introduced during the mesh generation process. The shroud is assumed to be a fixed entity, with no assigned rotation speed.

Left-click group "row_1_hub_(r.p.m.-17188)".

The rotation speed is usually considered as a constant for the entire patch (group). However, FINE™ integrates the possibility to define that only part of a patch is rotating (e.g. part of the hub). This applies to ROTOR 37 project, where only part of the hub is considered as a rotating part.

Keep Adiabatic.
Select Area Defined Rotation Speed.

A schematic sketch is provided on the page. It enables the definition of some geometrical windows on the selected patch (or group). The window is defined according to 4 quantities related to the abscissa (z) and radius (r) in the meridional plane. Solid walls included in the window will be considered as rotating, with rotation speed 2, while portions of solid walls located outside of the window will rotate with a speed equal to the rotation speed 1. In this manner, it is feasible to define rotating parts independently for the mesh.



Set Rotational Speed1 = <0> <Enter>.
Set Rotational Speed2 = <-17188> <Enter>.
Set Lower Radius Limit = <0> <Enter>.
Set Higher Radius Limit = <1> <Enter>.
Set Lower Axial Limit = <-0.005> <Enter>.
Set Higher Axial Limit = <0.05> <Enter>.
Check the Compute force and torque button.

The convergence of both axial thrust and torque can be monitored in the computation steering, to make sure that both quantities have reached stable values at the end of the convergence process. Both values are also available from the *.mf file located in the computation directory. The torque can also be used for the calculation of the efficiency of the machine. It is common practice to enable force and torque calculation on rotating patches only.
Set Numerical Model
72. Go to the tree in the left menu and double left-click the Numerical Model menu.


This menu gives access to the most frequently used numerical parameters, including the Courant Friedrichs Lewy (CFL) number and the selection of the grid level on which the simulation will apply. It is important to confirm each entry by pressing the <Enter> key.
73. Keep CFL unchanged = <3>.
The CFL number drives the pseudo-time step selected to reach a steady state solution using the time-marching method integrated in the flow solver. In combination with the 4-step Runge-Kutta integration scheme included in the flow solver, it has a theoretical stability limit close to 2.8 However the additional implicit smoothing scheme can increase this value slightly, which justifies the default value of 3.
The default value for CFL number is adequate in most cases, but can be decreased in some circumstances, in particular at off-design conditions.
74. Define the grid level on which the simulation will apply:
The flow solver is based on an explicit time integration technique, which is accelerated using dedicated multi-grid methods. To this end, several levels of intermediate grids must be generated starting from the finest one. This is achieved by taking one node over 2 in each I, J or K directions, starting from the finer grid level.
It is strongly advised to enable the definition of at least 3 grid levels, by carefully selecting the number of nodes on every edge forming the patches and blocks. More details can be found in the IGG™, AutoGrid5™ and FINE™ User Guides.
In FINE™ terminology, the finest grid level a user can access will be called 000 while the intermediate and coarsest ones will be named 111 and 222 level respectively, assuming 3 grid levels can be selected.
Hybrid grid levels can theoretically be defined (e.g. 010 or 211). It is however not advised to use such hybrid levels since it deforms the mesh in a preferential direction, possibly the aspect ration. Consequently, the quality of the resulting mesh could be decreased.

Keep Current Grid Level = <0 0 0>,
Keep Number of Grid(s) = <3>,
Keep Coarse Grid Initialization active.

In addition, to the multi-grid acceleration technique, the number of iterations to convergence can be significantly reduced by activating the coarse grid initialization process. In that case, the simulation starts on the coarsest grid level available, leading to fast convergence. Once done, the flow solver automatically interpolates the current flow solution on the intermediate levels before the iterative process is reached. The iterative process is then continued as long as the convergence criteria is not reached or until the maximum number of iterations is not exceeded. More details can be found in the FINE™ User Guide.
Set Initial Conditions
75. Go to the tree in the left menu and double left-click the Initial Solution menu.
76. Left-click the ROWS group.
The group is automatically created when the mesh is loaded into the FINE™  GUI. In a complex project, hybrid initial solutions can be useful. In that case, a constant initial solution per block can be selected for some groups, while others can benefit from an initial solution from Turbomachinery. Limitations related to the use of hybrid initial solutions are described in the FINE™ User Guide.
77. Select for turbomachinery to access the initial solution menu for turbomachinery.
Initial conditions can be selected in different forms, going from constant values per block to throughflow based solutions. When running a rotating machinery it is common practice to select the initial solution for Turbomachinery. Based on a 1D estimation of the flow solution, the initial solution for Turbomachinery often offers a drastic reduction in the number of iterations when running 3D simulations. Inputs ("best estimation") related to static pressure at inlet and rotor-stator interfaces (if it applies) are requested.
78. Select the inlet patch ("row_1_flux_1_Main_Blade_upStream_inlet").
79. Set Estimated Static Pressure = <90000> and press <Enter>.
80. Choose Turbulent Viscosity as the Turbulent Quantities and set Turbulence Viscosity to <0.0001> <Enter>.


Select Outputs
81. Go to the tree in the left menu and double left-click the Outputs menu. Double left-click Computed Variables.

Quantities of interest in the simulation must be pre-selected in this menu. They will be stored in the solution file (*.cgns)  once the iterative process is finished and/or during intermediate steps. Quantities can be accessed in both the 3D field (Computed Variables) and/or in the meridional plane (following circumferential averaging, see Azimuthal Averaged Variables). Additional data can be selected on the solid walls and/or predefined surfaces (Surface Averaged Variables).
The adequate selection of outputs of interest will reduce the size of the solution file. This is in particular important when projects involving very fine meshes and/or unsteady capabilities are managed.

82. Select Static, Total Absolute and Total Relative Temperature if not yet selected.
83. Select Static, Total Absolute and Total Relative Pressure if not yet selected.
84. Select Density, Entropy, Rothalpy and Dynamic viscosity if not yet selected.


85. Left-click the Velocities in the menu Categories.
86. Select Vxyz and Absolute Mach number if not yet selected.
87. Select Wxyz and Relative Mach number if not yet selected.


Vxyz and Wxyz are the velocity vectors fields in respectively the absolute and relative frame of reference. The examination of solution quantities in the relative frame of reference is particularly useful to observe the flow angles relative to the blade close to leading and trailing edge.
88. Left-click the Solid data in the menu Categories.
89. Select Static pressure, Static temperature, Cf, Relative velocity and y+ (in first inner cell) if not yet selected.


Cf is known as the friction coefficient.
The parietal coordinate y+ is a direct function of the distance from the wall. Therefore, y+ = 0 at the wall and takes a non-zero value at the center of the first cell close to the wall (also called "inner cell"). As a consequence, the examination of y+ "at the wall" should be understood as the examination "in the first inner cell". Although it is not correct theoretically speaking, this concept is very often used to ease the post-treatment and benefit from the existing solid surfaces.
90. Left-click the Turbulence in the menu Categories.
91. Select Wall distance and Turbulent Viscosity ratio if not yet selected.


The analysis of the Turbulent Viscosity ratio field is often of major interest to ensure that the turbulent quantities are computed accurately, according to the selected turbulence model and mesh refinement.
Running k-epsilon related models gives access to additional quantities related in particular to the production term, the kinetic energy and dissipation rate fields. It is strongly advised to activate these fields for post-treatment.
92. Double left-click on Azimuthal Averaged Variables.
93. Go through the various categories and select the same quantities as selected under Computed Variables.
Additionally, outputs can be re-directed using the PLOT3D format, using various formats. More details can be found in the FINE™  User Guide.
Control Computation Steering
94. Go to the tree in the left menu and double left-click the Computation Steering menu.
95. Double left-click Control Variables.
96. Set Maximum Number Of Iterations = <400> <Enter>.
97. Set Save Solution Every = <50> <Enter>.
98. Keep Convergence Criteria = <-6> <Enter>; change the solver precision from Single to Double.


Depending upon the quality of the initial solution, the density of the mesh (number of nodes) and the complexity of the underlying flow field, a few hundred to few thousand iterations are typically required to reach convergence. The iterative process is stopped once the convergence criteria is reached over the entire domain or the maximum number of iterations is exceeded on the finest grid level (000).
The ability to select Minimum output offers the possibility to minimize the size of the solution files. In this case, the flow solution is stored only once the iterative process is finished, and limited information is provided during the intermediate storage. This limited information allows the user to perform a restart procedure from an existing flow solution, but cannot be visualized within CFView™.
Static memory allocation is enabled inside the flow solver. An estimation of the memory required to run and save the flow solution is calculated and provided as a default. However, in some circumstances, the estimation may be too low. It is then required to manually increase the number of reals or integers required to drive the solution to success. To do this, click Set the requested memory and increase the inputs accordingly.
Save Project & Start Calculation
99. Open the File menu and Save the project.


The project parameters are stored in the *.iec file. This file includes the entire set of parameters required to reproduce the project, excluding the mesh. 
100. Press the  icon and click Start Flow Solver in the dialog box to start the calculation: a task manager window will appear.


The calculation will start in serial mode (1 processor) on the local machine. FINE™  includes multi-processor capabilities and the ability to manage computations through a task manager and/or in batch mode. More details can be found in the FINE™  User Guide.
Follow Convergence Steering
101. Double left-click Convergence History.




The evolution of averaged residuals on the entire domain can be observed during the convergence process. Similarly, the evolution of the mass flow balance (in/out) and/or global quantities (isentropic efficiency, torque and axial thrust on solid walls selected in the boundary conditions page, pressure ration) can be displayed.
Local and global quantities may also be added for follow-up during the convergence process. However, their representation in the graphical area will only be effective once they are added in the Selected Variables list, see FINE™ User Guide.
The examination of residuals per block and/or for a given primitive variable can be achieved accessing the monitorTurbo tool. The tool is included in the FINE™ package and can be accessed through the adequate command line. More details can be found in the FINE™  User Guide.
102. Once the calculation has converged or has reached the maximum number of iterations allowed on the finest grid level, the flow solver will stop.
103. The final solution is stored in the solution file (*.cgns) and the task manager window is closed.
To check the convergence of the computation, NUMECA recommends observing the evolution of multiple criteria including (a) an adequate decrease in residuals (minimum 3 orders of magnitude); (b) complete stabilization of global performances; (c) stabilization of mass flow in/ out, with satisfactory correspondence (usually less than 0.5% difference between in/ out)
Now that the iterative process is over, click here to start the visualization of the solution within the post-treatment tool CFView™  integrated in FINE™/Turbo.

TUTORIAL 1. Axial Compressor Rotor37

NUMECA Software

Prerequisites

Problem Description

Preparation


NUMECA Software
The resolution of computational fluid dynamics (CFD) problems involves three main steps:

spatial discretization of the flow equations,
flow computation,
visualization of the results.


To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal and Turbomachinery assimilations called FINE™/Turbo. The environment integrates the following tools:

IGG™  is an Interactive Geometry modeler and Grid generator, based on structured multi-block techniques.
AutoGrid5™  is a three-dimensional Automated Grid generation software tool, dedicated to turbomachinery applications. Similarly to IGG™, it is based on structured multi-block techniques.
Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes equations in the laminar, transitional and turbulent regimes.
CFView™  is a highly interactive flow visualization and post-treatment software tool.
FINE™  Graphical User Interface is a user-friendly environment that includes the different software. It integrates the concept of projects and allows the user to achieve complete simulations, going from the grid generation to flow visualization, without the need of file manipulation. 

A turbomachine is a device in which the energy is transferred either to or from a continuously flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in particular in aircraft, marine, space (liquid rockets) and land propulsion systems but also in hydraulic, gas and steam turbine applications. It is also used in industrial pipeline and processing equipment such as gas, petroleum and water pumping plants. Other applications can be related to heart-assist pumps, industrial compressors and refrigeration plants, and more.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is composed of several basic elements including the blade (also called vane if it is non-rotating), hub, and shroud. Several technological effects involving clearances, seal leakages and cooling holes among others can complete the machine. Due to the complexity of the blade shapes, the presence of technological elements and the rotation of the machine, the nature of the flow is strongly three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the simulation of a single blade row axial-flow turbomachine. It makes use of FINE™/Turbo and describes how to deal with the specific options implemented in the FINE™  environment. In this tutorial you will learn how to:

read an existing geometry file into AutoGrid5™;
define the blade periodicity;
define a tip clearance;
generate and optimize the blade-to-blade mesh;
control the quality of the mesh in the blade-to-blade and 3D mesh;
manage the fluid database;
set up both boundary and initial conditions;
control the numerical process;
select adequate outputs;
launch the calculation process;
check for convergence;
visualize and analyze the results.

Prerequisites
This tutorial does not require any prior experience with the menu structure in FINE™/Turbo.
Problem Description
The problem to be considered is shown schematically below (meridional view). The ROTOR 37 test project is an isolated axial-flow compressor wheel designed and experimentally analysed at the National Aeronautics and Space Administration (NASA) Lewis Research Center. It is representative of important phenomena occurring in Turbomachinery such as corner stall, shock-boundary layer interactions, tip vortex and tip leakage-secondary interactions, etc.


The ROTOR 37 is characterized by the following representative values:



number of blades
36


inlet hub-to-tip diameter ratio 
0.7


blade aspect ratio
1.19


tip relative inlet Mach number
1.48


hub relative inlet Mach number
1.13


tip solidity
1.29


blade airfoil sections 
multiple circular arc (MCA)


rotational speed (RPM)
17188


total pressure ratio
2.106


polytropic efficiency (%)
88.9



In addition, this test case shows a strong interaction between the tip vortex and the leading edge shock, largely controlling the stall behavior. CFD simulations of this interaction, reported in the literature, have shown an important dependence on the mesh and the turbulence modeling.
Preparation

Start FINE™/Turbo v13.1:

For Linux systems, you can access FINE™/Turbo graphical user interface with the following command line:fine -niversion 131 -print


For WINDOWS systems, you can access the FINE™/Turbo graphical user interface from the start menu going to /Programs/NUMECA software/Fine131/FINE.





Click the Create a New Project icon to create a new project.




Select your directory of choice to store the project.
Enter the project name in the dialog box as <Tutorial1> <Enter>.
Click on Create Grid File to access the interactive geometry modeler and grid generator IGG™.




Access the menu Modules, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.



You are now ready to start the grid generation process and mesh the ROTOR 37 configuration! Click here to start the mesh generation...

Tutorial 1: Post Processing

Select Surfaces

Select Quantity

Select Representation

3D Analysis

Blade-to-Blade View

Turbomachinery Mode


The iterative process is now over and the flow solution is stored in the ".cgns" file. The number of nodes in a typical mesh usually ranges from a few hundred thousand to several million, which makes visualization delicate in most cases. As part of the FINE™  environment, NUMECA proposes the use of the home-made visualization and post-treatment tool CFView™. CFView™ is entirely integrated in the environment and includes numerous tools which are particularly suited for the analysis of turbomachinery configurations.
Access to CFView™  from the FINE™  graphical user interface is provided through the Modules/CFView... menu, or alternatively by pressing the  icon.
A step by step approach is provided in the following lines. It aims at driving you through the various steps that need to be executed from reading the solution to the extraction of the main results. CFView™  automatically opens the ".run" file associated with the active computation.


After running turbomachinery computations and assuming some variables have been selected in the Azimuthal Averaged Variables section of the FINE™  graphical user interface output page, CFView™  proposes the user to open the azimuthal averaged solution first. Otherwise, the full 3D solution will be opened.
104. Activate View the azimuthal averaged solution.
105. Left-click Start CFView.
You will now enter CFView™  !



Select Surfaces
106. <Ctrl> + left-click "domain1", "domain2" and "domain3" in the Surfaces area, then right-click and choose Select in the pop-up menu to activate them.


Select Quantity
107. Go to the Quantity menu.
108. Enter the Field Data -> Basic Quantities sub-menu.
109. Select quantity Relative Mach Number.


All quantities selected in the FINE™  graphical user interface are transferred to CFView™. However, additional derived output can be accessed directly from the visualization and post-treatment tool, including vector components, gradients, divergence and curl of selected quantities. New quantities, defined as an arithmetic combination of existing quantities, possibly combined with regular operations (trigonometric functions, logarithmic functions,...), can furthermore be created.
Select Representation
110. Go to the Representation menu.
111. Select Color Contour -> Smooth.
Once the candidate quantity for visualization is selected, the user must choose a representation mode. Representation is typically executed in the form of color contours (smoothed or stripped) and/or isolines. CFView™  also includes the possibility to investigate the flow field locally ("local value") and create 1D Cartesian plots. Advanced capabilities involving curve and/or surface integration can also be accessed. More details can be found in the CFView™ User Guide.


112. Access the Representation menu.
113. Select Isolines -> Isolines ....
114. Activate the increment mode.
115. Change Value = <0.02> <Enter>.
116. Change max range to <1.5> <Enter>.
117. Activate Color -> Uniform .
118. Click the Apply button.




119. Close the dialog box.
CFView™  gives the possibility to superpose representation modes. In the present case, isolines with uniform color (black) are superposed to the relative Mach number field, so as to outline more clearly the shock located in the blade passage. The number and/or increment of the isolines can be controlled, and the range of application can be modified.
120. Go to the Update menu.
121. Select Delete -> Isoline.


122. Go to the Representation menu.
123. Select Cartesian Plot -> Along Grid Line ... .
124. Change Index from i to j.
125. Change Value to <28>, press <Enter>.
126. Click the Apply button.


127. Left-click Close.
Isolines have been removed and a 1D Cartesian plot has been created at about 50% span, extracting the evolution of the relative Mach number along the streamwise direction along a grid line (I-direction). Data can be extracted along a boundary, solid boundary, grid line or along a user-defined section. More details can be found in the CFView™ User Guide.
128. Left-click somewhere in the Cartesian plot window to activate it (red border).
129. Type <x> to change abscissa to the streamwise direction (x or I-direction).
130. Click the  icon to fit the curve.
131. Put the mouse pointer close to the x-axis, left-click and then right-click.
132. Select Set Range.


133. Set minimum and maximum values respectively to <-0.05 0.05>, press <Enter> and right-click to exit.
 
134. Put the mouse pointer close to the y-axis, left-click and right-click.
135. Select Set Range.
136. Set minimum and maximum values respectively to <0.6 1.4>, press <Enter> and right-click.
137. Left-click inside the Cartesian plot.
138. Right-click and select Show H Grid Lines.
139. Right-click and select Show V Grid Lines.


140. <Ctrl> + left-click each of the three curves.
141. Right-click and select Curve Type ... .
142. Change Thickness from 2 to <1>.
143. Go to the Marker tab.
144. Change Symbol to Circle.
145. Change Size from 0.4 to <0.3>.
146. Change the color to red.
147. Click Apply.
 
148. Left-click the Close button.
149. Left-click anywhere inside the Cartesian plot window.
150. Go to the View menu.
151. Select Maximize.


CFView™  offers the possibility to create and arrange Cartesian plots in different manners, with numerous options related to the type, thickness and colors of the lines and symbols. The manipulations are done interactively, mainly with the help of contextual menus. In addition, CFView™  includes a powerful project and windows based management, giving the user the possibility to open multiple projects and manage several windows simultaneously. More details can be found in the CFView™  User Guide.
3D Analysis
In the previous section, some attention has been given to the management and creation of plots in the meridional plane, by means of the azimuthal averaged view. The creation of 3D plots is based on the same concept of quantity selection and representation, as explained  above. However, since the plane of drawing is no longer two-dimensional, there is a need to select and/or create a surface for representation first.
152. Go to the File menu.
153. Select Quit CFView to quit CFView™  and choose yes to confirm.
154. Access CFView™  again from the FINE™  GUI by pressing the  icon.
155. Deactivate View the azimuthal averaged solution.
156. Click Start CFView.


You will now enter 3D analysis mode in CFView™  !


157. Access the Geometry menu.
158. Select Boundary to deactivate boundary representation.
Boundary activation/deactivation is used as a toggle and acts on all selected surfaces. Fast access is ensured using the binding key <b>.
159. Double left-click the checkbox "row_1_shroud" inside the Surfaces area to deactivate the set of patches that defines the shroud entity. Groups "row_1_hub_(r.p.m. -17188)" and "row_1_blade_(r.p.m. -17188)" are the only entities that remain active at this moment.
The selection of surfaces for representation is controlled through the Surfaces area. Alternatively, identical operations can be executed from the Geometry menu.
Patches flagged as solids are selected as default surfaces for representation. Groups created in the boundary condition area inside FINE™  are transferred directly to CFView™, so that the selection of surface entities can be performed in a few clicks.

Fast selection of a group of surfaces in a large list including numerous surfaces, which are partly checked/unchecked, can be done by first left-clicking, (combined with <Ctrl> or <Shift> for multiple surfaces) the target surface(s) desired for representation, followed by a right-click to get the contextual menu and choosing Select.



160. Go to the Geometry menu.
161. Select Boundary again to activate boundary representation on active surfaces.
162. Go to the Geometry menu once more.
163. Select Grid to display the surface mesh on active surfaces.
Fast access to mesh representation is by ensured using the binding key <g>.
164. Access the Render menu.
165. Select Shading -> Gouraud to shade active surfaces.


166. Make use of the Viewing buttons to modify the representation mode and locate the axial compressor  to outline the blade and hub in a clear way.




167. Press the binding key <g> to deactivate the mesh on active surfaces.
168. Go to the Geometry menu.
169. Select Repetition Number.
170. Activate Max to set the number of repetitions to 35.


171. Click on Apply.
172. Open the Geometry menu.
173. Select Repetition on/off.


174. Go to the File menu.
175. Select Print ... .
Images can be printed in different formats, either from the active or graphics windows. Information can be introduced in a banner. Options related to picture definition can also be modified.
176. Select Active View.
177. Set banner to <NASA ROTOR 37> and press <Enter>.
178. Set the format to PNG.


179. Click OK.
180. Set the picture name and appropriate location.
181. Click Save.
The selection of Graphics Window is recommended to insert several pictures in a unique file, as they appear on the graphical window (WYSIWYG = what you see is what you get mode).
The ".png" format is often the preferred choice for printing.
182. Go to Update -> Delete -> All.
183. Go to Geometry -> Repetition on/off.
184. Select Quantity -> Solid Data -> y+.
185. Choose Representation -> Color Contour -> Strip.
186. Select Representation -> Scalar Range -> Colormap Optimum Range.


The parietal coordinate y+ is now displayed on active surfaces (hub and blade). The range of representation has been adapted automatically to the variations on the selected surfaces to outline details as effectively as possible.
187. Make use of the Viewing buttons to modify the representation mode and locate the outline of the suction side of the blade.
188. Access the Representation menu.
189. Select Isolines -> Isolines ... .
190. Activate increment mode.
191. Change Value to <0.2> <Enter>.
192. Set min range to <0> <Enter>.
193. Set max range to <6> <Enter>.
194. Activate Color Uniform.
195. Left-click Apply.
196. Close the dialog box.


Gradients are clearly observed nearby the leading and trailing edge of the blade, consequently locally driving y+ values up to about 12. The combination of color contours and isolines representation allows the main characteristics of the flow to be outlined in a clear and elegant manner.
Blade-to-Blade View
197. Go to Update -> Delete -> All.
198. Go to Representation -> Colormap to remove the colormap.
199. Open the Render menu.
200. Select Shading -> Gouraud.
201. Access the Geometry menu.
202. Select Blade to Blade Surface ....
203. Set Surface type to Blade to blade.
204. Set S to <0.5> <Enter> (section located 50% spanwise).
205. Click the Apply button.


206. Click the Save button.
207. Click Close to quit the dialog box.
CFView™  has included the possibility to create cuts at constant spanwise position (also called "blade-to-blade" planes). This capability is especially useful when the endwalls are not planar. The surface for representation at constant spanwise position is then created based on linear interpolation between the endwalls. Pressing the Save button in the dialog box creates an additional surface for representation in the Surfaces area, enabling quantity selection and representation as discussed in the previous sections.
208. Left-click "CUT1" in the Surfaces area.
209. Right-click to access the contextual menu.
210. Choose Select in order to select "CUT1" as the only active surface for representation.


211. Go to the Quantity menu.
212. Select Field Data -> Field Data -> Basic Quantities -> Absolute Total Pressure.
213. Open the Representation menu.
214. Select Color Contour -> Smooth.
215. Open the Representation menu again.
216. Now, select Scalar Range -> Colormap Optimum Range.
Colormap Optimum Range restricts the bounds of the colormap to those related to active surfaces instead of the complete 3D domain. This capability is useful to outline a number of details in a clearer manner. It can also be accessed by pressing the  icon.
217. Left-click the colormap.
218. Right-click and select Move or Resize.


219. Drag and drop the colormap to an appropriate location.
220. Move the mouse to a corner of the colormap to adjust the size.


It is advised to put the colormap at a location where it does not interfere with the representation, to avoid any difficulty in the interpretation of the results.
221. Left-click the colormap.
222. Right-click and select Smooth Only.
223. Access the Quantity menu.
224. Select Field Data -> Basic Quantities -> Wxyz.
225. Go to the Representation menu.
226. Click Vector Type ... .
227. Choose Tangent Component under Representation Type.
228. Select Color Uniform under Vector Size.
229. Click Apply.


230. Click the Close button to quit the dialog box.
231. Go to Representation -> Vector On Grid Nodes.
232. Make use of the Viewing buttons to modify the representation mode and zoom in near the leading edge of the blade.




The representation of the velocity vectors in a relative frame of reference (Wxyz) outlines the quality of the flow impinging the blade. Ideally, these vectors should be aligned with the blade. In off-design conditions, the alignment may not be adequate, possibly leading to flow separation.
Turbomachinery Mode
233. Open the File menu.
234. Select Turbomachinery.
235. Choose Load Flow Solver Pitch Average under Meridional Average.
236. Click Ok.


You have now entered the Turbomachinery mode! It gives simultaneous access to the meridional, meridional average, blade-to-blade and 3D views.
 Actions required for surface representation, quantity selection and representation apply similarly to those described in the previous sections. More details can be found in the CFView™  User Guide.

Tutorial 6: Mesh Generation

Create Mesh Project

Load Geometry

Mesh Wizard

Mesh Visualization

Check Boundary Conditions & Mesh Quality

Save Project


The AutoGrid5™ graphical user interface includes several windows that enable the simultaneous visualization of the geometry and the mesh of the turbomachine in the meridional, blade-to-blade and 3D views. The access to main menu and controls is provided through a menu bar and a quick access pad, and is complemented with a tool/icon bar. The execution of the different actions undertaken is summarized in the message box at the bottom of the interface.


A step by step approach is provided in the following lines. It aims at driving you through various steps that need to be executed from the creation of the mesh project to the validation of the final mesh quality.
Create Mesh Project
1. Select Basic Mode if necessary in the toolbar.



The Basic Mode will give access to a simplified graphical user interface. For most projects the available parameters in the Basic Mode are sufficient.
2. Close the Open Turbo Project Wizard dialog box.
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with associated grid) including the data required to regenerate a mesh on an identical or similar geometry. In this tutorial, these data will be progressively introduced based on the geometry of the project case.
3. Go to File -> New Project.
4. Click yes to close the active project.
5. Choose Initialize a New Project from a geomTurbo File.


Load Geometry
6. Locate and select "hpcc_impeller.geomTurbo"  (geometry defined in [Inches]) in the dialog box and click Open. (Where to Find the Files Used in the Tutorials?)
The ".geomTurbo" file format is structured in three main blocks: the header, the channel and the row definitions.
The channel format contains the definition of the turbomachinery meridional contour (hub, shroud). It is composed of curves defined by a set of points. The ".geomTurbo" file must contain two channel curves named respectively "hub" and "shroud".
The row definition contains the geometry of a complete row. It is defined by a row name, a row type, a periodicity and the definition of the main blade and possibly the splitter(s). 
The blade and splitter are defined by the pressure and the suction side surfaces identified by the keywords "pressure" and "suction". Both surfaces are specified by a set of cross sections of the blade at several spanwise locations from hub to shroud. Each section is defined by a set of points from leading to trailing edge.
7. Click Row Definition -> Add Row.
8. Go to row 2 -> Blades -> Main Blade, left-click Main Blade.
9. Right-click to access the contextual menu and select Define Geometry.


10. Locate and select "hpcc_diffuser.geomTurbo" (geometry defined in [Inches]) in the dialog box and click Open.


The two rows are displayed in the meridional view corresponding to the two parts of the compressor. The location of the rotor/stator mixing plane is automatically defined by AutoGrid5™. The default location is set at the average meridional location between the downstream trailing edge and the upstream leading edge.
11. Control the domain limits:

The inlet and outlet limits of the domain are by default automatically defined by AutoGrid5™ using two straight lines joining the limits of the hub and shroud definitions. The shape and the location of the inlet and outlet boundaries can be modified interactively.


You can access the control points of the inlet/outlet and modify their location by dragging the point. The exact coordinates of the control points can also be set by right-clicking the control point. A dialog box will appear, enabling the user to enter the point coordinates in (rz) mode.
In Expert Mode, there is another way to control the shape of inlet/outlet. Move the mouse onto the inlet/outlet. When it becomes highlighted in yellow, right-click and select Properties in the pop-up menu. Activate for example Z constant and enter the coordinates where the inlet/outlet should be located.


Left-click the inlet when highlighted in yellow in meridional view.
Right-click the Top Point when highlighted in yellow.
Set the Z value to <-3.23> and press <Enter> in the Point Location dialog box.

 
 

Left-click the Bottom Point when highlighted in yellow.
Set the Z value to <-3.23> and press <Enter> in the Point Location dialog box.
Close the Point Location dialog box by clicking the cross at the top right corner.



Mesh Wizard
12. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current row, if not done already.
13. Left-click Row Wizard in the toolbar.



The row wizard is also available in Expert Mode under Mesh Control subpad in the QAP.



14. Click yes to start the wizard and to reset the mesh generation parameters.

The reset will keep the modifications performed by the user in the Row Wizard but will reset the parameters modified in Expert Mode
to the default value.
The wizard is divided in 6 steps:

the geometry check (optional),
the machine characteristics definition,
the gap and fillet definition,
the flow path definition,
the blade-to-blade mesh definition,
the end of the initialization.


15. Click yes to confirm the geometry check (step 1).
During the geometry check of a blade, AutoGrid5™  performs the following operations: check blade definition, check orientation of the blade section curves, detect loop detection into the blade section curves and between the blade sections. More details can be found in the AutoGrid5™  User Guide.
16. Click Next in the dialog box to define the machine characteristics (step2).


17. Select Centrifugal Impeller as Row type in the Blade row type dialog box.


18. Enter the Periodicity (number of blades): left-click inside the string input area and type <15>, press <Enter> to confirm.
19. Select Rotor.
20. Enter <-21789> as the Rotation speed (rpm).

This speed will be transferred to the FINE™ graphical user interface and will ease the input of boundary conditions later on.
The sign of the rotational speed is positive (+) when the blade row is rotating in the positive θ-direction, and negative otherwise.

21. Click Next in the dialog box to start the gap and fillet definition (step 3).
22. Activate Tip Gap in the Gap and Blending Control dialog box.
23. Define for Tip Gap: Width At Leading Edge = <0.006> [Inches] <Enter>.
24. Define for Tip Gap: Width At Trailing Edge = <0.008> [Inches] <Enter>.
The width at leading/trailing edge allows the user to specify the size of the gap respectively at the leading and trailing edge of the blade. The gap curve is then constructed as a linear offset of the hub (or the shroud) according to these values.
25. Keep all other data identical.
 


 
26. Click Next>> in the dialog box to start the flow path definition (step 4).
27. Set Spanwise Grid Point Number to <73> and press <Enter> (corresponding to the flow paths number) in the Layer Control dialog box.
When increasing or decreasing the number of flow paths, the number of flow paths in the gaps and fillets is automatically together with the percentage of constant cells, leading to an increase or decrease of the spanwise expansion ratio.
28. Estimate the width of the first cell at the wall:

The width of the first cell close to the wall must be selected with care since the quality of the flow solution will often depend upon the capture of the flow phenomena inside the boundary layers which develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends to locate the nearest grid point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must be modelled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven by the Blasius equation, expressed as follows for turbulent flows:



where:

ywall is the distance of the nearest grid point to the wall (in meter);
Vref is a reference velocity of the flow, for instance, the inlet velocity (in m/s);
ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
Lref is a reference length of the test case (in meter);
y+ is a non-dimensional value.


In the present case, one can estimate that Vref=492 m/s, Lref=0.2159 m and ν=1.57e-5 m²/s. Assuming one wishes to get y+=5 at the wall, it turns out that y=0.0003 inches.
Input the value of the Wall Cell Width = <0.0003> [Inches] <Enter> in the Layer Control dialog box.


29. Click Next>> in the dialog box to start the blade-to-blade mesh definition (step 5).
30. Set the Number of Points (of the 3D mesh) around 1,700,000 by clicking the << or >> button in the B2B Control dialog box.


31. Click Preview B2B to plot the blade-to-blade mesh at mid-span: H&I topology with skin block is used with additional upstream/downstream H-blocks.

The Full Visibility option allows the user to see the mesh moving in the blade-to-blade view when applying the optimization steps.




 
The H&I topology with skin block includes 4 blocks:

the skin block is an O-mesh surrounding the blade;
the inlet block is an H-mesh located upstream the leading edge;
the outlet block is an H-mesh located downstream the trailing edge;
the up block is an H-mesh located in the blade passage.


32. Select Skewness or Expansion Ratio to plot the orthogonality or expansion ratio field of the blade-to-blade mesh at mid-span.




33. Click Finish to end the initialization process (step 6).
34. Click no to set the row 2 before making the complete 3D mesh generation.


35. Repeat step 12 to step 34 for row 2 with the following parameters:

Centrifugal Diffuser as Row type, Periodicity=<24>, Stator.
Spanwise Grid Point Number=<57>, Wall Cell Width=<0.0003> [Inches].
Set Number of points around 590,000.


When clicking Preview B2B, the blade-to-blade mesh at mid-span is plotted: O4H topology is used with additional upstream/downstream H-blocks.




The default O4H topology includes 5 blocks:

the skin block is an O-mesh surrounding the blade;
the inlet block is a H-mesh located upstream the leading edge;
the outlet block is a H-mesh located downstream the trailing edge;
the up block is a H-mesh located above the blade section;
the down block is a H-mesh located under the blade section.


36. In Row Definition, left-click Select All Rows.


37. Click Generate 3D in the toolbar.

You can check the blade-to-blade mesh quality at hub and/or shroud before generating the 3D mesh.
Go to Row Definition and left-click Select All Rows to select all rows. Go to Mesh Control -> Active B2B Layer to specify the flow path (layer) on which the mesh will be plotted in the blade-to-blade view. By default, the active view is set at the mid-span of the machine (Active Layer (%span) set to 50). The layer selected for visualization is defined in percentage of span, going from hub (0%) to shroud (100%). Enter <0> <Enter> or <100> <Enter> in order to visualize the mesh at hub or shroud respectively.


Select Update B2B View to regenerate the blade-to-blade mesh on the new specified layer in the blade-to-blade view.


A detailed analysis of mesh quality can be performed on the blade-to-blade mesh after generation. Information on orthogonality, aspect ratio and expansion ratio can be outlined in this window by clicking :

Select a row in the Row list and <Enter>,
Select quality criteria using the Type pull-down menu.
Left-click Show chart to visualize the distribution of the selected criteria in the form of a histogram. The histogram is drawn for each row.
Left-click part of the histogram to plot the concerned cells in blade-to-blade view or select Display all cells to have an overview of the mesh quality.
Left-click the More info button to obtain information about minimum and maximum values of the selected criteria.
Close the quality checkbox.

After performing the blade-to-blade mesh quality check, the 3D mesh generation can be started by clicking Rows Definition -> Select All Rows and then clicking  the Generate 3D button.




Once 3D grid generation is completed, a grid quality check is performed and displayed. 
Minimum cell skewness, maximum expansion ratio and aspect ratio are reported, among others. Data is available for the entire mesh and separately for each entity (row, technological effect, bulb). Data related to grid quality report is automatically stored in a report file, once the project file is saved.

38. Close the dialog box. This page can also be reopened by clicking .

Mesh Visualization

39. Select the View -> View 3D Solid Mesh menu.
40. Left-click the View 3D button in the toolbar to visualize only the 3D view.


By default, the 3D solid mesh is plotted on hub and blades. To remove the plot, select the menu View -> Hide 3D Solid Mesh.
41. Use the Repetition icon () to toggle the repetition of the channel.


42. Use the View menu in the QAP to toggle edge, mesh and/or solid shading.




Check Boundary Conditions & Mesh Quality


43. Check for boundary conditions by clicking .
44. Select UND under Type pull-down menu and press <Enter> to check that there are no patches in the patch list still set to an undefined type.

It is important to ensure that no undefined patches (UND) are present in the mesh. If this is not the case, they can usually be removed by increasing the tolerance and launching the Search procedure.


In a multi-stage context, interfaces between rotating and non-rotating rows are set to ROT.

45. Close the dialog box.
46. Left-click in the 3D view to activate the view (red border), if not done already.
47. Check for negative cells by clicking .


48. Click Apply.

The computation of the negative volumes is performed first. Negative cells can be outlined in the mesh pushing View neg cells button. Beware that the visualization of negative cells can be memory consuming when a large number of cells must be displayed. It is then advised to first check the number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.

49. Click ok and Close the dialog box.
50. Left-click in the 3D view to activate the view (red border), if not done already.
51. Check for grid quality by clicking .
A detailed analysis of the mesh quality on a 3D mesh can only be performed once the 3D mesh has been generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell width can be outlined in this window using the Type pull-down menu.
52. Select block number (0 for all) - <Enter>.
53. Select quality criteria using the Type pull-down menu.


54. Left-click Show chart to visualize the distribution of selected criteria in the form of a histogram. The histogram is drawn per block (0 = all blocks).


55. Left-click part of the histogram to plot the concerned cells in the 3D view.
56. Left-click the More info button to obtain information regarding minimum and maximum values of the selected criteria and block.


57. Close the dialog box.
Save Project
58. Go to File -> Save Project As <tutorial6> and press <Enter> to save mesh and template files in the "_mesh" subfolder.

The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the boundary condition types: ".bcs", ".cgns", ".geom" (".xmt_txt"), ".igg", ".config" and ".qualityReport". The meaning of these files is detailed in the User Guide.
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh with AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these files is detailed in the User Guide.

Now that the mesh is saved, click here to set up the computation in FINE™/Turbo interface!

Tutorial 6: Post Processing

Select Surfaces

Select Quantity

Select Representation

Blade-to-Blade View

Turbomachinery Mode


The iterative process is now over and the flow solution is stored in the ".cgns" file. The number of nodes in a typical mesh usually ranges from few hundred thousands to several million, which makes visualization delicate in most cases. As part of the FINE™  environment, NUMECA proposes the use of the home-made visualization and post-treatment tool CFView™. CFView™ is entirely integrated in the environment and includes numerous tools which are particularly best suited for the analysis of turbomachinery configurations.
Access to CFView™  from the FINE™  graphical user interface is provided through the Modules/CFView... menu, or alternatively by pressing the  icon.
A step by step approach is provided in the following lines. It aims at driving you through the various steps that need to be executed from reading the solution to the extraction of the main results. CFView™  automatically opens the ".run" file associated with the active computation.


After running turbomachinery computation and assuming some variables have been selected in the Azimuthal Averaged Variables section of the FINE™  graphical user interface output page, CFView™  proposes the user to open the azimuthal averaged solution first. Otherwise, the full 3D solution will be opened.
119. Activate View the azimuthal averaged solution.
120. Left-click Start CFView.
You will now enter CFView™  !


Select Surfaces
There are 16 domains in Surfaces area, which indicate the meridional channel, the pressure side and the suction side. Each surface can be viewed in the following way: left-click it to activate the surface, then right-click and choose Show Wireframe in the contextual menu.
121. Left-click "domain1" and "domain8" while holding <Shift> in Surfaces area., then right-click and choose Select in the pop-up menu to activate "domain1" to "domain8".


Select Quantity
122. Go to the Quantity menu.
123. Enter the Field Data -> Basic Quantities sub-menu.
124. Select quantity Static Pressure.


All quantities selected in the FINE™  graphical user interface are transferred to CFView™. However, additional derived output can be accessed directly from the visualization and post-treatment tool, including vector components, gradients, divergence and curl of selected quantities. New quantities, defined as an arithmetic combination of existing quantities possibly combined with regular operations (trigonometric functions, logarithmic functions, ...) can furthermore be created.
Select Representation
Once the candidate quantity for visualization is selected, the user must choose a representation mode. Representation is typically executed in the form of color contours (smoothed or stripped) and/or isolines. CFView™  also includes the possibility to investigate the flow field locally ("local value") and create 1D Cartesian plots. Advanced capabilities involving curve and/or surface integration can also be accessed. More details can be found in the CFView™ User Guide.
125. Access the Representation menu.
126. Select Color Contour -> Strip.


127. Go to Representation -> Scalar Range -> Colormap Set Range.


128. Enter the range <78000 416000> in the keyboard area and press <Enter>.
129. Right-click to quit.


	130. Open the Representation menu.
	131. Select Cartesian Plot -> Along Grid Line ... .
	132. Change Index from i to j.
	133. Change Value to <15> <Enter>.
	134. Left-click the Apply button.


135. Click Close.
A 1D Cartesian plot has been created at about 50% spanwise, extracting the evolution of the static pressure along the streamwise direction along a grid line (I-direction). Data can be extracted along boundary, solid boundary, grid line or along a user-defined section. More details can be found  in the CFView™ User Guide.
136. Left-click the Cartesian plot window to activate it (red border).
137. Type <y> to change abscissa to the radial direction.
138. Click the  icon to fit the curve.
139. Put the mouse pointer close to the x-axis, left-click and then right-click
140. Select Set Range ... .


141. Set minimum and maximum values to <0.05 0.4> <Enter> and right-click.


142. Put the mouse pointer close to the y-axis, left-click and then right-click.
143. Choose Set Range ... .
144. Set minimum and maximum values to <80000 420000>, press <Enter> and right-click.
145. Left-click inside the Cartesian plot.
146. Right-click and select Show H Grid Lines.
147. Right-click and select Show V Grid Lines.


148. Left-click all curves while holding <Ctrl>.
149. Right-click and select Curve Type ... .
150. Change Thickness from 2 to <1>.
151. Go to the Marker tab.
152. Change Symbol to Circle.
153. Change Size from 0.4 to <0.3>.
154. Change color to red.
155. Click Apply.
 
156. Left-click the Close button.
157. Left-click inside the Cartesian plot window.
158. Go to the View menu.
159. Select Maximize.


CFView™  offers the possibility to create and arrange Cartesian plots in different manners, with numerous options related to the type, thickness and colors of the lines and symbols. The manipulations are done interactively, mainly with the help of contextual menus. In addition, CFView™  includes a powerful project and windows based management, giving the user the possibility to open multiple projects and manage several windows simultaneously. More details can be found in the CFView™  User Guide.
3D Analysis
In the previous section, attention has been focused on the management and creation of plots in the meridional plane, by means of the azimuthal averaged view. The creation of 3D plots is based on the same concept of quantity selection and representation explained in the above sections. However, since the plane of drawing is no longer two-dimensional, there is a need to select and/or create a surface for representation first.
160. Go to the File menu.
161. Select Quit CFView to quit CFView™  and choose yes to confirm.
162. Access CFView™  again from the FINE™  GUI, pressing the  icon.
163. Deactivate View the azimuthal averaged solution.
164. Click Start CFView.


You will now enter 3D analysis mode in CFView™  !


165. Access the Geometry menu.
166. Select Boundary to deactivate boundary representation.
Boundary activation/ deactivation is used as a toggle and acts on all selected surfaces. Fast access is ensured using the binding key <b>.
167. Double left-click the checkboxes "row1_shroud" and "row2_shroud" inside the Surfaces area to deactivate the set of patches that define the shroud entity. Groups "row1_hub_(r.p.m.-21789)", "row1_blade_(r.p.m.-21789)", "row2_hub_(r.p.m.0)" and "row2_blade" are the only entities that remain active at this moment.

Selection of surfaces for representation is controlled through the Surfaces area. Alternatively, identical operations can be retrieved from the Geometry menu.
Patches flagged as solids are selected as default surfaces for representation. Groups created in the boundary condition area inside FINE™  are transferred directly to CFView™, so that the selection of surface entities can be performed in just a few clicks.


Fast selection of a group of surfaces in a large list including numerous surfaces, which are partly checked/unchecked, can be done by first left-clicking (combined with <Ctrl> or <Shift> for multiple surfaces) on the target surface(s) desired for representation, followed by a right-click to get the contextual menu and choosing Select.



168. Go to the Geometry menu.
169. Select Boundary again to activate boundary representation on active surfaces.
170. Go to the Geometry menu once more.
171. Select Grid to display surface mesh on active surfaces.
Fast access to mesh representation is ensured using the binding key <g>.
172. Access the Render menu.
173. Select Shading -> Gouraud to shade active surfaces.


174. Make use of the Viewing buttons to modify the representation mode and position the centrifugal compressor to outline the blades and hub in a clear way.


175. Press the binding key <g> to deactivate the mesh on active surfaces.
176. Go to the Geometry menu.
177. Select Repetition Number.
178. Activate Max to set the maximum number of repetitions for all rows.


179. Click on Apply.
180. Open the Geometry menu.
181. Select Repetition on/off.


182. Go to the File menu.
183. Select Print ... .
Pictures can be printed in different formats, either on the active or graphics windows. Information can be introduced in a banner. Options related to picture definition can also be modified.
184. Select Active View.
185. Set banner to <CENTRIFUGAL COMPRESSOR> and press <Enter>.
186. Set the format to PNG.


187. Click OK.
188. Select the picture name and appropriate location.
189. Click Save.

The selection of Graphics Window is recommended to insert several pictures in a unique file, as they appear on the graphical window (WYSIWYG = what you see is what you get mode).
The ".png" format is often the preferred choice for printing.

190. Go to Update -> Delete -> All.
191. Go to Geometry -> Repetition on/off.
192. Select Quantity -> Solid Data -> Static temperature.
193. Select Representation -> Color Contour -> Strip.
194. Select Representation -> Scalar Range -> Colormap Optimum Range.


The parietal coordinate static temperature is now enabled on active surfaces (hub and blades). The range of representation has been adapted automatically to variations on the selected surfaces  to outline details as effectively as possible.
195. Make use of the Viewing buttons to modify the representation mode and find a suitable viewpoint.


Blade-to-Blade View
196. Go to Update -> Delete -> All.
197. Go to Representation -> Colormap to remove the colormap.
198. Open the Render menu.
199. Select Shading -> Gouraud.
200. Go to the Geometry menu.
201. Select Blade to Blade Surface.
202. Set Surface type to Blade to blade.
203. Set S to <0.5> <Enter> (section located 50% spanwise).
204. Click the Apply button.


205. Click the Save button.
206. Click Close to quit the dialog box.

CFView™  integrates the possibility to create cuts at constant spanwise position (also called "blade-to-blade" planes). This capability is especially useful when the endwalls are not planar. The surface for representation at constant
spanwise position is then created based on linear interpolation between the endwalls.
Pressing the Save button in the dialog box creates an additional surface for representation in the Surfaces area, enabling quantity selection and representation as discussed in the previous sections.

207. Left-click "CUT1" in the Surfaces area.
208. Right-click to access the contextual menu.
209. Choose Select in order to select "CUT1" as the only active surface for representation.


210. Go to the Quantity menu.
211. Select Field Data -> Basic Quantities -> Absolute Mach Number.
212. Open the Representation menu.
213. Select Color Contour -> Smooth.
214. Open the Representation menu.
215. Select Scalar Range -> Colormap Set Range.


216. Enter the range <0 1.1> in the keyboard area and press <Enter>.
217. Right-click to quit.
218. Left-click the colormap.
219. Right-click and select Move or Resize.
220. Drag and drop the colormap to an appropriate location.
221. Move the mouse to a corner of the colormap to adjust the size.
It is advised to put the colormap at a location where it does not interfere with the representation, to avoid any difficulty in the interpretation of the results.
222. Left-click the colormap.
223. Right-click and select Smooth Only.


224. Access the Representation menu.
225. Select Isolines -> Isolines ... .
226. Activate increment mode.
227. Change Value to <0.05> <Enter>.
228. Activate Color Uniform.
229. Click Apply.


230. Close the dialog box.
231. Toggle Geometry -> Repetition on/off.


232. Go to Update -> Delete -> Isoline.
233. Go to the Quantity menu.
234. Select Field Data -> Basic Quantities -> Wxyz.
235. Go to the Representation menu.
236. Select Vector Type ... .
237. Select Tangent Component in Representation Type.
238. Select Color Uniform in Vector Size.
239. Click the Apply button.


240. Click the Close button to quit the dialog box.
241. Select Representation -> Vector On Grid Nodes.
242. Make use of the Viewing buttons to modify the representation mode and zoom in near the leading and trailing edge of the blades.


The representation of velocity vectors in a relative frame of reference (Wxyz) outlines the quality of the flow impinging the blade. Ideally, these vectors should be aligned with the blade. In off-design conditions, the alignment is not adequate, possibly leading flow separation.
Turbomachinery Mode
243. Select Geometry -> Repetition on/off.
244. Open the File menu.
245. Select Turbomachinery.
246. Choose Load Flow Solver Pitch Average under Meridional Average.
247. Click Ok.



You have now entered the Turbomachinery mode! It gives simultaneous access to meridional, meridional average, blade-to-blade and 3D views.
Actions required for surface representation, quantity selection and representation apply similarly to those described in the previous sections. More details can be found in the CFView™  User Guide.

Tutorial 6: Flow Settings

Link Mesh & Project

Manage Computations

Set Flow Configuration

Set Boundary Conditions

Set Numerical Model

Set Initial Conditions

Select Outputs

Control Computation Steering

Save Project & Start Calculation

Follow Convergence Steering


The mesh generation process is now completed and one can now go back to the FINE™  graphical user interface in order to set the various flow settings required before starting the computation. Access to the main menu and controls is provided through a menu bar and a left-tree, and is complemented with an icon bar.


Access to the FINE™  graphical user interface from the AutoGrid5™  window is provided through the Modules/Fine Turbo menu, simply confirm (yes) to enter FINE™  GUI. You are now back at the FINE™  graphical user interface!


A step by step approach is provided in the following lines. It aims at driving you through the various steps that need to be executed from mesh linking to the execution of the calculation.
Link Mesh & Project
59. Click the  icon and link the mesh "tutorial6.igg" to the project.


 The user may be prompted a warning message concerning the solver precision; accept this message. The change of the solver precision is detailed in step 113.

60. Define grid units in Inches as the geometrical data inserted in the "tutorial6.geomTurbo" file is expressed in inches.
61. Select a Cylindrical and 3 Dimensions configuration.
62. Click OK to close the dialog box.


Manage Computations
63. Rename the default computation "computation_1" as "111_SA" in the Computations area, to indicate that the calculation will be executed on the coarse grid first and will use the Spalart-Allmaras turbulence model. This can be achieved by left-clicking the Rename button and replacing "computation_1" by "111_SA".
 
Similar operations can be executed using the New Computation or Remove buttons, to respectively create a new computation or remove one.
Set Flow Configuration
64. Go to the tree in the left menu and double left-click the Configuration menu.
 
Three sub-menus related to the definition of the working fluid, main flow characteristics and rotating machinery definition can then be accessed.
65. Double left-click Fluid Model to access the fluid database.
66. Select AIR. Air, considered as a real gas, is then selected as a working fluid.



The fluid database includes a number of pre-defined fluids, covering various approximations in fluid definition such as perfect gas, ideal (real) gas, incompressible fluids and fluids defined as a set of thermodynamic tables (optional, subjected to a separate license key).
A default fluid database is provided by FINE™/Turbo. The user is also able to create and modify his/her own fluids and/or use fluids created by others. More details about these functions are available in the FINE™  User Guide.

67. Double left-click Flow Model to set the flow characteristics.
68. Select Steady to indicate that a steady solution is of interest.
69. Select Turbulent Navier-Stokes to activate the resolution of the RANS equations.
70. Select Spalart-Allmaras as the turbulence model of choice.


A number of turbulence models can be accessed through the interface. They require the additional resolution of 0-equation to 4-equations, depending upon the model selected. Some of these models do need a fine resolution near the wall (y+ ranging from 1 to 5), while others use the log-law concept and can mimic the logarithmic law. More details can be found in the FINE™  User Guide.
71. Set Reynolds Number Related Info:

Set the Characteristic length = <0.2> < Enter>,
Set the Characteristic velocity = <490> < Enter>,
Set the Characteristic density = <1.2> < Enter>,
Set the Reference temperature = <300> < Enter>,
Set the Reference pressure = <101325> < Enter>.


Characteristic variables (length, velocity, density) are required to estimate the Reynolds number. This number is used at a few locations inside the flow solver, in particular inside the damping functions related to the modeling of turbulence down to the walls.
The impact of the characteristic variables on the flow solution is very limited, but it is advised to select values in accordance with characteristic quantities of the geometrical domain and flow conditions. As an example, the characteristic length may be defined by a reference diameter or length at the inlet and/or outlet of the computational domain, and/or the chord of the blade (if any). The characteristic velocity may be set to the averaged inlet velocity. The characteristic density is fixed as the average (molecular) fluid density.

72. Double left-click Rotating Machinery to set the rotating machinery definition.
73. Select row 1.
74. Check that the Rotational Speed = <-21789> <Enter>.
75. Select row 2.
76. Check that the Rotational Speed = <0> <Enter>.



In the cylindrical mode, the flow solver resolves the equations by default in a relative frame of reference. As a consequence, the mesh attached to the blade is rotating at the same speed as the blade, as far as no rotor-stator interaction is concerned. The rotation speed has been introduced in AutoGrid5™  and transferred through FINE™, limiting user interventions in the graphical user interface.
For rotating machinery projects, the axis of rotation must be aligned along the z-direction. In addition, a unique rotation speed must be considered for the entire computational domain.

77. Left-click the Rotor-Stator tab.
A separate ID is allocated to each rotor-stator interface, based on data included in AutoGrid5™. Each interface is defined with 2 patches, located upstream and downstream of the rotor-stator interface. The definition of ID's and allocation of upstream/downstream sides is performed automatically in FINE™.
78. Make sure that Conservative Coupling by Pitchwise Row is active on rotor-stator patches.



Several methods, based on steady quasi 3D approximations, can be accessed to ensure a proper treatment of rotor-stator interfaces.

The Conservative Coupling by Pitchwise Row method guarantees an exact conservation of mass flow, momentum and energy through the interface and has proven to be robust in most circumstances.
The Local Conservative Coupling method is recommended in projects coupling an impeller with a volute, and has proven to offer more robustness than the Conservative Coupling by Pitchwise Row in these cases.
The Full Non Matching Mixing Plane method is the default option. It guarantees an exact conservation of mass flow, momentum and energy through the interface and relaxes several constraints with respect to the preparation of the mesh. It is not activated as a default option but may be a candidate of choice in some circumstances.
The Non Reflecting 1D Mixing Plane method is recommended when wave reflection is observed at the interface, which can occur when the interface is close to the blade.
The Non Reflecting 2D Mixing Plane method is recommended when a shock wave is crossing the interface, and can give a better representation of the shock wave.
The Full Non Matching Frozen Rotor method considers the rotor-stator interface as a perfect connection and neglects the movement of the rotor in the connecting algorithm. In this approach, the periodicities must necessarily be equal between the rotor and the stator.


Set Boundary Conditions
79. Go to the tree in the left menu and double left-click the Boundary Conditions menu.

During the grid generation process, AutoGrid5™  defines the type of the boundary conditions to be applied on each block face. The most common types are INLET, OUTLET, PERIODIC and SOLID boundary conditions.
PERIODIC boundary conditions are set automatically by the flow solver and must not be modified by the user.
It is important to confirm each entry by pressing the <Enter> key.

80. Go to Mesh -> View On/Off to load the mesh in FINE™  GUI.

This toggle menu is used to visualize the grid in FINE™. The parameters area will be overlapped by a graphics window, and the small control button on the upper-left corner of the graphics window can be used to resize the graphics area in order to visualize the parameters and the mesh  simultaneously.


The selection of patches in the left column outlines the corresponding patch in the graphics area, thus enabling a fast and easy visualization of the boundary conditions.

81. Go to the INLET tab:

Select the patches "row_1_flux_1_Main_Blade_upStream_inlet" and "row_1_flux_1_Splitter_1_upStream_inlet",
Click Group to group them with the name <Inlet> <Enter>,
Select Total Quantities Imposed,
Select Velocity Direction (V extrapolated) set of boundary conditions,
Set Vr / |V| = <0> <Enter>,
Set Vt / |V| = <0> <Enter>,
Set Vz / |V| = <1> <Enter>,
Set Absolute Total Pressure = <101353> <Enter>,
Set Absolute Total Temperature = <288.166> <Enter>,
Choose Turbulent Viscosity as the Turbulent Quantities and set Turbulence Viscosity to <8e-05> <Enter>



82. Go to the OUTLET tab:

Select Mass Flow Imposed (related patches must be grouped),
Activate Velocity Scaling,
Set mass flow = <4.39> <Enter>,
Set Initial Pressure = <400000> <Enter>,

The pressure asked in addition to the imposed mass flow is only used to create the initial solution and for the full-multigrid process, during which a uniform static pressure outlet condition is used.

Activate Backflow Control option.

This option can be activated in case a radial diffuser outlet is used. The purpose of this option is to control the total temperature distribution along the exit section. In case the flow partially re-enters the domain through the boundary, the total temperature on the entering flow is controlled so that the entering and outgoing flows globally have the same total temperature.


83. Go to the SOLID tab:


For each row, patches including the keyword "hub" are by default collected in a unique group named as "row*_hub". Patches including the keyword "shroud" are grouped in "row*_shroud". Finally, patches of the blade are grouped in "row*_blade". If the part of the row is rotating, the suffix "_(r.p.m. rot_speed)" is added to the group name. The presence of a tip gap is automatically taken into account in the blade group, thus minimizing user intervention in the definition of the boundary conditions. For a rotor, which is defined in AutoGrid5™, it is assumed that the hub and the blade are fully rotating. The rotation speed takes the value introduced during the mesh generation process. The shroud is assumed to be a fixed entity, with no rotation speed assigned.

Left-click the "row1_hub_(r.p.m.-21789)" group,

The rotation speed is usually considered as a constant for the entire patch (group). However, FINE™  integrates the possibility to define that only part of a patch is rotating (e.g. part of the hub). This applies to the HPCC project, where only part of the hub is considered as a  rotating body.

Left-click Adiabatic,
Left-click Area Defined Rotation Speed,



A schematic sketch is displayed in the page. It enables the definition of some geometrical windows on the selected patch (or group). The window is defined according to 4 quantities related to the abscissa (z) and radius (r) in the meridional plane. Solid walls included in the window will be considered as rotating, with rotation speed 2, while portions of solid walls located outside of the window will rotate with a speed equal to rotation speed 1. In this manner, it is possible to define rotating parts independently from the mesh.

Set Rotational Speed1 = <0> <Enter>,
Set Rotational Speed2 = <-21789> <Enter>,
Set Lower Radius Limit = <0> <Enter>,
Set Higher Radius Limit = <0.2159> <Enter>,
Set Lower Axial Limit = <-0.02125> <Enter>,
Set Higher Axial Limit = <10> <Enter>,
Click the Compute force and torque check button.

The convergence of both axial thrust and torque can be monitored in the computational steering window, to make sure that both quantities have reached stable values at the end of the convergence process. Both values are also available from the *.mf file located in the computation directory. The torque can also be used for the calculation of the efficiency of the machine. It is common practice to enable force and torque calculation on rotating patches only.

Keep all other default settings.

84. Go to Mesh -> View On/Off to toggle for mesh visualization, if needed.
Set Numerical Model
85. Go to the tree in the left menu and double left-click the Numerical Model menu.


This menu gives access to the most frequently used numerical parameters, including the Courant Friedrichs Lewy (CFL) number and the selection of the grid level on which the simulation will apply. It is important to confirm each entry by pressing the <Enter> key.
86. Keep CFL unchanged = <3>.

The CFL number drives the pseudo-time step selected to reach a steady state solution using the time-marching method integrated in the flow solver. In combination with the 4-steps Runge-Kutta integration scheme included in the flow solver, it has a theoretical stability limit close to 2.8. However, the additional implicit smoothing scheme can increase this value slightly, which justifies the default value of 3.
The default value for CFL number is adequate in most cases, but can be decreased in some circumstances, in particular at off-design conditions.

87. Define the grid level on which the simulation will apply:

The flow solver is based on an explicit time integration technique, which is accelerated using dedicated multi-grid methods. To this end, several levels of intermediate grids must be generated started from the finest one. This is achieved by taking one node over 2 in each I-, J- or K-directions, starting from the finer grid level.
It is strongly advised to enable the definition of at least 3 grid levels, by carefully selecting the number of nodes on every edge forming the patches and blocks. More details can be found in the IGG™, AutoGrid5™  and FINE™  User Manuals.
In the FINE™  terminology, the finest grid level a user can access will be called 000, while the intermediate and coarsest ones will be named the 111 and 222 level respectively, assuming 3 grid levels can be selected.
Hybrid grid levels can theoretically be defined (e.g. 010 or 211). It is however not advised to use such hybrid levels since it deforms the mesh in a preferential direction and thus possibly increasing the aspect ratio. Consequently, the quality of the resulting mesh can be decreased.


Keep Current Grid Level = <1 1 1>,
Keep Number of Grid(s) = <2>,
Keep the Coarse Grid Initialization active.

In addition to the multi-grid acceleration technique, the number of iterations to convergence can be significantly reduced activating the coarse grid initialization process. In that case, the simulation starts on the coarsest grid level available, leading to fast convergence. Once done, the flow solver automatically interpolates the current flow solution on the intermediate levels before the iterative process is restarted. A similar process occurs until the expected finest grid level is reached. The iterative process is then pursued as long as the convergence criterion is not reached or the maximum number of iterations is not exceeded. More details can be found in the FINE™  User Manual.

Activate Expert Mode to access expert parameters for coarse grid initialization,





Select Increase on higher level in Scheme definition.



The amount of sweeps is the number of times the Runge-Kutta operator is applied. In many cases, the convergence rate may be significantly improved by performing a higher number of sweeps on the coarse levels. However, it should be noted that more sweeps have as a consequence that more time is required per iteration.                      
Set Initial Conditions
88. Go to the tree in the left menu and double left-click the Initial Solution menu.
89. Left-click the ROWS group.
The group is automatically created when the mesh is loaded into the FINE™  GUI. In complex projects, hybrid initial solutions can be useful. In that case, a constant initial solution per block can be selected for some groups, while others can benefit from an initial solution from Turbomachinery. Limitations related to the use of hybrid initial solutions are described in the FINE™  User Manual.
90. Select for turbomachinery to access the initial solution menu for turbomachinery.
Initial conditions can be selected in different forms, going from constant values per block to throughflow based solutions. Running a rotating machinery project case, it is common practice to select the initial solution for Turbomachinery. Based on a 1D estimation of the flow solution, the initial solution for Turbomachinery often enables a drastic reduction in the number of iterations in running 3D simulations. Inputs ("best estimation") related to static pressure at inlet and rotor-stator interfaces (if it applies) are requested.
91. Left-click the Inlet group.
92. Set Estimated Static Pressure = <90000> <Enter>.
93. Left-click the rotor/stator interface ID10.
94. Set Estimated Static Pressure = <280000> <Enter>.
95. Choose Turbulent Viscosity as the Turbulent Quantities and set Turbulence Viscosity to <8e-05> <Enter>


Groups ID10 and ID20 are automatically created when the mesh is loaded into the FINE™  GUI. The presence of an inlet condition is mandatory for use with the initial solution for turbomachinery.
Select Outputs
96. Go to the tree in the left menu and double left-click the Outputs menu. Double left-click Computed Variables.

Quantities of interest in the simulation must be pre-selected in this menu. They will be stored in the solution file (*.cgns) once the iterative process will be finished and/or during intermediate steps. Quantities can be accessed both in the 3D field (Computed Variables) and/or in the meridional plane (following circumferential averaging, see Azimuthal Averaged Variables). Additional data can be selected on the solid walls and/or on predefined surfaces (Surface Averaged Variables).
The adequate selection of outputs of interest will reduce the size of the solution file. This is in particular important when projects involving very fine meshes and/or unsteady capabilities are managed.

97. Select Static, Total Absolute and Total Relative Temperature if not yet selected.
98. Select Static, Total Absolute and Total Relative Pressure if not yet selected.
99. Select Density, Entropy, Rothalpy and Dynamic viscosity if not yet selected.


100. Left-click the Velocities in the menu Categories.
101. Select Vxyz and Absolute Mach number if not yet selected.
102. Select Wxyz and Relative Mach number if not yet selected.


Vxyz and Wxyz are the velocity vector fields in respectively the absolute and relative frame of reference. The examination of solution quantities in the relative frame of reference is particularly useful to observe the flow angles relative to the blade close to leading and trailing edge.
103. Left-click the Solid data in the menu Categories.
104. Select Static pressure, Static temperature, Cf, Relative velocity and y+ (in first inner cell) if not yet selected.



Cf is known as the friction coefficient.
The parietal coordinate y+ is a direct function of the distance from the wall. Therefore, y+ = 0 at the wall and takes a non-zero value at the center of the first cell close to the wall (also called "inner cell"). As a consequence, the examination of y+ "at the wall" should be understood as the examination "in the first inner cell". Although it is not correct theoretically speaking, this concept is very often used to ease the post-treatment and benefit from the existing solid surfaces.

105. Left-click the Turbulence in the menu Categories.
106. Select Wall distance and Turbulent Viscosity ratio if not yet selected.



The analysis of the Turbulent Viscosity ratio field is often of major interest to make sure that the turbulent quantities are computed accurately according to the turbulence model and mesh refinement selected.
Running k-epsilon related models gives access to additional quantities in particular related to the production term, the kinetic energy and dissipation rate fields. It is strongly advised to activate these fields for post-treatment.

107. Double left-click on Azimuthal Averaged Variables.
108. Go through the various categories and select the same quantities as selected for Computed Variables.
Additionally, outputs can be re-directed using the PLOT3D format, using various formats. More details can be found in the FINE™  User Manual.
Control Computation Steering
109. Go to the tree in the left menu and double left-click the Computation Steering menu.
110. Double left-click Control Variables.
111. Set Maximum Number Of Iterations = <1500> <Enter>.
112. Set Save Solution Every = <200> <Enter>.
113. Keep Convergence Criteria = <-6> <Enter>; change the solver precision from Single to Double.



Depending upon the quality of the initial solution, the density of the mesh (number of nodes) and the complexity of the underlying flow field, from few 
hundreds to few thousand iterations are typically required to reach convergence. The iterative process is stopped once the convergence criterion is reached over the entire domain or the maximum number of iterations is executed on the current grid level (111 in the present case).
The ability to select for Minimum output gives the possibility to minimize the size of the solution files. In that case, the flow solution is stored only once the iterative process is finished, and limited information is proposed during the intermediate storage. This limited information allows to perform a restart procedure from an existing flow solution, but cannot be visualized within CFView™.
Static memory allocation is enabled inside the flow solver. An estimation of the memory required to run and save the flow solution is calculated and proposed as a default. However, in some circumstances, the estimation may be too low and it is then required to manually increase the number of reals or integers necessary to drive the solution to success. In that case, click Set the requested memory and increase the inputs accordingly.

Save Project & Start Calculation
114. Open to File menu and Savethe project.


The project parameters are stored in the *.iec file. This file includes the entire set of parameters required to reproduce the project, excluding the mesh.
115. Press the  icon and click Start Flow Solver in the dialog box to start the calculation: a task manager window will appear.


The calculation will start in serial mode (1 processor) on the local machine. FINE™  includes multi-processor capabilities and the ability to manage computations through a task manager and/or in batch mode. More details can be found in the FINE™  User Guide.
Follow Convergence Steering
116. Double left-click Convergence History.





The evolution of averaged residuals on the entire domain can be observed during the convergence process. Similarly, the evolution of the mass flow balance (in/ out) and/ or global quantities (isentropic efficiency, torque and axial thrust on solid walls selected in the boundary conditions page, pressure ration) can be displayed.
Local and global quantities may also be added for follow-up during the convergence process. However, their representation in the graphical area will only be effective once they are added in the Selected Variables list, see in theFINE™ User Guide.
The examination of residuals per block and/or for a given primitive variable can be achieved accessing the monitorTurbo tool. The tool is included in the FINE™ package and can be accessed through the adequate command line. More details can be found in the FINE™  User Guide.

117. Once the calculation has converged or reaches the maximum number of iterations allowed on the current grid level, the flow solver stops.
118. The final solution is then stored in the solution file (*.cgns) and the task manager window is closed.
To check the convergence of the computation, NUMECA recommends to observe the evolution of multiple criteria including (a) an adequate decrease in residuals (minimum 3 orders of magnitude); (b) complete stabilization of global performances; (c) stabilization of mass flow in/out, with satisfactory correspondence (usually less than 0.5% difference between in/out).
Now that the iterative process is over, click here to start the visualization of the solution within the post-treatment tool CFView™  integrated in FINE™/Turbo.

TUTORIAL 6. High Performance Centrifugal Compressor

NUMECA Software

Prerequisites

Problem Description

Preparation


NUMECA Software
The resolution of computational fluid dynamics (CFD) problems involves three main steps:

spatial discretization of the flow equations,
flow computation,
visualization of the results.


To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal and Turbomachinery assimilations called FINE™/Turbo. The environment integrates the following tools:

IGG™  is an Interactive Geometry modeler and Grid generator, based on structured multi-block techniques.
AutoGrid5™  is a three-dimensional Automated Grid generation software tool, dedicated to turbomachinery applications. Similarly to IGG™, it is based on structured multi-block techniques.
Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes equations in the laminar, transitional and turbulent regimes.
CFView™  is a highly interactive flow visualization and post-treatment software tool.
FINE™  Graphical User Interface is a user-friendly environment that includes the different software. It integrates the concept of projects and allows the user to achieve complete simulations, going from the grid generation to flow visualization, without the need of file manipulation. 

A turbomachine is a device in which the energy is transferred either to or from a continuously flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in particular in aircraft, marine, space (liquid rockets) and land propulsion systems but also in hydraulic, gas and steam turbine applications. It is also used in industrial pipeline and processing equipment such as gas, petroleum and water pumping plants. Other applications can be related to heart-assist pumps, industrial compressors and refrigeration plants, and more.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is composed of several basic elements including the blade (also called vane if it is non-rotating), hub, and shroud. Several technological effects involving clearances, seal leakages and cooling holes among others can complete the machine. Due to the complexity of the blade shapes, the presence of technological elements and the rotation of machine, the nature of the flow is strongly three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the simulation of a one stage centrifugal turbomachine. It makes use of FINE™/Turbo and describes how to deal with the specific options implemented in FINE™  environment.
In this tutorial you will learn how to:

define multi-rows;
define the blade periodicity;
define a tip clearance;
generate and optimize the blade-to-blade mesh;
control the quality of the mesh in the blade-to-blade and 3D mesh;
manage the fluid database;
model rotor-stator interface using mixing plane approach;
set up both boundary and initial conditions;
numerical process management;
select adequate outputs;
launch the calculation process;
check for convergence;
visualize and analyze the results.

Prerequisites
This tutorial does not require any prior experience with the menu structure in FINE™/Turbo.
Problem Description
The centrifugal impeller is the scaled version of the original DDA's 404-III compressor. Its design flow rate is 4.39 kg/s at a mechanical speed of 21,789 RPM. The impeller consists of 15 unshrouded main blades with 15 splitter blades with high back-sweep at discharge. The vaned diffuser has 24 two-dimensional wedge vanes with the leading edge located at a radius of 1.0778 relative to the impeller exit. The diffuser exit radius is 14.3 inches and dumps directly into a 90-degree annular bend. For a more detailed description of the geometry of the compressor and its performance, please refer to Coordinates for a High performance 4:1 Pressure Ratio Centrifugal Compressor, NASA Contractor Report 204134, July 1997.


Preparation

Start FINE™/Turbo v13.1:

For Linux systems, you can access FINE™/Turbo graphical user interface with the following command line:fine -niversion 131 -print


For WINDOWS systems, you can access FINE™/Turbo graphical user interface from the start menu by going to /Programs/NUMECA software/Fine131/FINE.





Click the Create a New Project icon to create a new project.




Select your directory of choice to store the project.
Enter the project name in the dialog box as <Tutorial6> <Enter>.
Click on Create Grid File to access the interactive geometry modeler and grid generator IGG™.




Access the menu Modules, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.



You are now ready to start the grid generation process and mesh the CENTRIFUGAL COMPRESSOR STAGE configuration! Click here to start the mesh generation...

Tutorial 7: Post Processing

Select Surfaces

Select Quantity

Select Representation

3D Analysis

Blade-to-Blade View

Representation on Cutting Plane (Vector Lines)

Turbomachinery Mode


The iterative process is now over and the flow solution is stored in the ".cgns" file. The number of nodes in a typical mesh usually ranges from a few hundred thousand to several million, which makes visualization delicate in most cases. As part of the FINE™  environment, NUMECA proposes the use of the home-made visualization and post-treatment tool CFView™. CFView™ is entirely integrated in the environment and includes numerous tools which are particularly best suited for the analysis of turbomachinery configurations.
Access to CFView™  from the FINE™  graphical user interface is provided through the Modules/CFView... menu, or alternatively by pressing the  icon.
A step by step approach is provided in the following lines. It aims at driving you through the various steps that need to be executed from reading the solution to the extraction of the main results. CFView™  automatically opens the ".run" file associated with the active computation.


After running turbomachinery computation and assuming some variables have been selected in the Azimuthal Averaged Variables section of the FINE™  graphical user interface output page, CFView™  proposes the user to open the azimuthal averaged solution first. Otherwise, the full 3D solution will be opened.
120. Activate View the azimuthal averaged solution.
121. Left-click Start CFView.
You will now enter CFView™  !


Select Surfaces
There are 20 domains in the Surfaces area, which indicate the meridional channel, the pressure side and the suction side. Each surface can be viewed in the following way: left-click it to activate the surface, then right-click and choose Show Wireframe in the contextual menu.
122. Left-click "domain1" and "domain18" while holding <Shift> in the Surfaces area, then right-click and choose Select in the pop-up menu to activate "domain1" to "domain18".


Select Quantity
123. Go to the Quantity menu.
124. Enter the Field Data -> Basic Quantities sub-menu.
125. Select quantity Static Pressure.


All quantities selected in the FINE™  graphical user interface are transferred to CFView™. However, additional derived output can be accessed directly from the visualization and post-treatment tool, including vector components, gradients, divergence and curl of selected quantities. New quantities, defined as an arithmetic combination of existing quantities possibly combined with regular operations (trigonometric functions, logarithmic functions, ...) can furthermore be created.
Select Representation
Once the candidate quantity for visualization is selected, the user must choose a representation mode. Representation is typically executed in the form of color contours (smoothed or stripped) and/or isolines. CFView™  also includes the possibility to investigate the flow field locally ("local value") and create 1D Cartesian plots. Advanced capabilities involving curve and/or surface integration can also be accessed. More details can be found in the CFView™ User Guide.
126. Access the Representation menu.
127. Select Color Contour -> Strip.


128. Go to Representation -> Scalar Range -> Colormap Set Range.


 
129. Enter the range <101150 101350> in the keyboard area and press <Enter>.
130. Right-click to quit.
131. Zoom in on the blade: click the  icon in the viewing buttons and left-click and drag in the graphics area to define the zoom area.


132. Open the Representation menu and select Cartesian Plot -> Along Section.
133. In the keyboard input area, type <-50 2.5 50 2.5> and press <Enter>.


A 1D Cartesian plot has been created at about 50% spanwise, extracting the evolution of the static pressure along the streamwise direction along a grid line (I-direction). Data can be extracted along a boundary, solid boundary, grid line or along a user-defined section. More details can be found  in the CFView™ User Guide.
134. Right-click to quit the menu and left-click the Cartesian plot window to activate it (red border).
135. Type <x> to change abscissa to the radial direction. Click the  icon to fit the curve.


136. Put the mouse pointer close to the x-axis, left-click and then right-click.
137. Select Set Range ... .
138. Set minimum and maximum values to <-50 150>, press <Enter> and right-click.
139. Put the mouse pointer close to the y-axis, left-click and then right-click.
140. Choose Set Range ... .
141. Set minimum and maximum values to <101280 101310>, press <Enter> and right-click.
142. Left-click inside the Cartesian plot.
143. Right-click and select Show H Grid Lines.
144. Right-click and select Show V Grid Lines.


145. Left-click each of the curves.
146. Right-click and select Curve Type.
147. Change Thickness from 2 to <1>.
148. Go to the Marker tab.
149. Change Symbol to Circle.
150. Change Size from 0.4 to <0.3>.
151. Change color to red.
152. Click Apply.
 
153. Left-click the Close button.
154. Left-click inside the Cartesian plot window.
155. Go to the View menu.
156. Select Maximize.


CFView™  offers the possibility to create and arrange Cartesian plots in different manners, with numerous options related to the type, thickness and colors of the lines and symbols. The manipulations are done interactively, mainly with the help of contextual menus. In addition, CFView™  includes a powerful project and windows based management, giving the user the possibility to open multiple projects and manage several windows simultaneously. More details can be found in the CFView™  User Guide.
3D Analysis
In the previous section, attention has been focused on the management and creation of plots in the meridional plane, by means of the azimuthal averaged view. The creation of 3D plots is based on the same concept of quantity selection and representation explained in the above sections. However, since the plane of drawing is no longer two-dimensional, there is a need to select and/or create a surface for representation first.
157. Go to the File menu.
158. Select Quit CFView to quit CFView™  and choose yes to confirm.
159. Access CFView™  again from the FINE™  GUI, pressing the  icon.
160. Deactivate View the azimuthal averaged solution.
161. Click Start CFView.


You will now enter 3D analysis mode in CFView™  !



Selection of surfaces for representation is controlled through the Surfaces area. Alternatively, identical operations can be retrieved from the Geometry menu.
Patches flagged as solids are selected as default surfaces for representation. Groups created in the boundary condition area inside FINE™  are transferred directly to CFView™, so that the selection of surface entities can be performed in just a few clicks.
Fast selection of a group of surfaces in a large list including numerous surfaces, which are partly checked/unchecked, can be done by first left-clicking (combined with <Ctrl> or <Shift> for multiple surfaces) on the target surface(s) desired for representation, followed by a right-click to get the contextual menu and choosing Select.

162. Go to the Geometry menu.
163. Select Grid to display the surface mesh on active surfaces.
Fast access to mesh representation is ensured using the binding key <g>.
164. Access the Render menu.
165. Select Shading -> Gouraud to shade active surfaces.


166. Make use of the Viewing buttons to modify the representation mode and position the wind turbine to outline the blades and hub in a clear way.


167. Press the binding key <g> to deactivate the mesh on active surfaces.
168. Go to the Geometry menu.
169. Select Repetition Number.
170. Activate Max to set the number of repetitions to 2.
171. Click on Apply.
172. Open the Geometry menu.
173. Select Repetition on/off.


174. Go to the File menu.
175. Select Print ... .
Pictures can be printed in different formats, either in the active or graphics windows. Information can be introduced in a banner. Options related to picture definition can also be modified.
176. Select Active View.
177. Set banner to <WIND TURBINE> and press <Enter>.
178. Set the format to PNG.


179. Click OK.
180. Select the picture name and appropriate location.
181. Click Save.

The selection of Graphics Window is recommended to insert several pictures in a unique file, as they appear in the graphical window (WYSIWYG = what you see is what you get mode).
The ".png" format is often the preferred choice for printing.

182. Go to Update -> Delete -> All.
183. Go to Geometry -> Repetition on/off.
184. Select Quantity -> Solid Data -> Static pressure.
185. Select Representation -> Color Contour -> Strip.
186. Select Representation -> Scalar Range -> Colormap Optimum Range.


The static temperature is now enabled on the active surfaces (hub and blades). The range of representation has been adapted automatically to the variations of the static temperature on the selected surfaces to outline details as effectively as possible.
187. Make use of the Viewing buttons to modify the representation mode and find a suitable viewpoint.


Blade-to-Blade View
188. Go to Update -> Delete -> All.
189. Go to Representation -> Colormap to remove the colormap.
190. Open the Render menu.
191. Select Shading -> Gouraud.
192. Go to Geometry menu.
193. Select Blade to Blade Surface ... .
194. Set Surface type to Blade to blade.
195. Set S to <0.5> <Enter> (section located 50% spanwise).
196. Click the Apply button.


197. Click the Save button.
198. Click Close to quit the dialog box.

CFView™  integrates the possibility to create cuts at constant spanwise position (also called "blade-to-blade" planes). This capability is especially useful when the endwalls are not planar. The surface for representation at constant
spanwise position is then created based on linear interpolation between the endwalls.
Pressing the Save button in the dialog box creates an additional surface for representation in the Surfaces area, enabling quantity selection and representation as discussed in the previous sections.

199. Left-click "CUT1" in the Surfaces area.
200. Right-click to access the contextual menu.
201. Choose Select in order to select "CUT1" as the only active surface for representation.


202. Go to the Quantity menu.
203. Select Field Data -> Basic Quantities -> Static Pressure.
204. Open the Representation menu.
205. Select Color Contour -> Smooth.
206. Open the Representation menu.
207. Select Scalar Range -> Colormap Set Range.


208. Enter the range <101150 101370> in the keyboard area and press <Enter>.
209. Right-click to quit.
210. Left-click the colormap.
211. Right-click and select Move or Resize.
212. Drag and drop the colormap to an appropriate location.
213. Move the mouse to a corner of the colormap to adjust the size.
It is advised to put the colormap at a location where it does not interfere with the representation, to avoid any difficulty in the interpretation of the results.
214. Left-click the colormap.
215. Right-click and select Smooth Only.


216. Press the binding key <b> to deactivate the boundaries on active surfaces.
217. Access the Representation menu.
218. Select Isolines -> Isolines ... .
219. Activate increment mode.
220. Change Value to <10> <Enter>.
221. Activate Color Uniform.
222. Click Apply.


223. Close the dialog box.
224. Go to Update -> Delete -> Isoline.
225. Go to the Quantity menu.
226. Select Field Data -> Basic Quantities -> Wxyz.
227. Go to the Representation menu.
228. Select Vector Type.
229. Select Tangent Component in Representation Type.
230. Select Color Uniform in Vector Size.
231. Click the Apply button.


232. Click the Close button to quit the dialog box.
233. Go to Representation -> Vector On Grid Nodes.
234. Go to Representation -> Colormap to remove the colormap.
235. Make use of the Viewing buttons and the  icons under Representation/Vectors in the Quick Access Pad to modify the representation mode and zoom in near the leading and trailing edge of the blade.


The representation of velocity vectors in a relative frame of reference (Wxyz) outlines the quality of the flow impinging the blade. Ideally, these vectors should be aligned with the blade. In off-design conditions, the alignment is not adequate, possibly leading flow separation.
Representation on Cutting Plane (Vector Lines)
236. Click Update/Delete/All to delete all previous manipulations in the Graphics area.
237. Go to Geometry -> Create Cutting Plane ... . 
238. Set Point to <0> <0> <0.2> for respectively X, Y and Z.
239. Set Normal to <0> <0> <1> for respectively X, Y and Z.
240. Click the Apply and Save buttons.


241. Click Close to quit the dialog box.
242. Left-click "CUT2" in the Surfaces area in the Quick Access Pad (QAP).
243. Right-click to access the contextual menu.
244. Click Select in order to select "CUT2" as the only active surface for representation.
245. Keep Wxyz quantity selected.
246. Click Representations/Vector Lines section in QAP.
247. Click the Vector Lines Parameters icon.
248. Change the direction to both, representation to tube and the color to Velocity.
249. Change r0 to <0.05> <Enter> under thumbnail Ribbon & Tube Type.
250. Click Apply to validate and then Close the dialog box.
251. Click the Vector Lines from Section icon.
252. Enter <5> in the keyboard input area to draw 5 vector lines. 


253. With the mouse, draw a line on the cutting plane by left-clicking and drag on it.


254. Right-click to quit the vector lines representation.
255. Press the binding key <b> to deactivate the boundaries on active surfaces.
256. In the Surfaces tab, activate Type under Filter.
257. Under Unselect, select All.
258. Under Select, select SOL (Solid).


259. In the QAP/Representations area, click the Render Gouraud icon in the Grid section to activate the shading. Select Geometry -> Repetition on/off menu.




Turbomachinery Mode
260. Select Geometry -> Repetition on/off.
261. Open the File menu.
262. Select Turbomachinery.
263. Select Load Flow Solver Pitch Average under Meridional Average.
264. Click Ok.



You have now entered the Turbomachinery mode! It gives simultaneous access to meridional, meridional average, blade-to-blade and 3D views.
Actions required for surface representation, quantity selection and representation apply similarly to those described in the previous sections. More details can be found in the CFView™ User Guide.

Tutorial 7: Mesh Generation

Load Geometry

Mesh Wizard

Mesh Visualization

Check Boundary Conditions & Mesh Quality

Save Project


The AutoGrid5™ graphical user interface includes several windows that enable the simultaneous visualization of the geometry and the mesh of the turbomachine in the meridional, blade-to-blade and 3D views. The access to main menu and controls is provided through a menu bar and a quick access pad, and is complemented with a tool/icon bar. The execution of the different actions undertaken is summarized in the message box at the bottom of the interface.


A step by step approach is provided in the following lines. It aims at driving you through various steps that need to be executed from the creation of the mesh project to the validation of the final mesh quality.
Create a Mesh Project
1. Select Basic Mode if necessary in the toolbar.



The Basic Mode will give access to a simplified graphical user interface. For most projects the available parameters in the Basic Mode are sufficient.

                                                     2. Close the Open Turbo Project Wizard dialog box.
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with associated grid) including the data required to regenerate a mesh on an identical or similar geometry. In this tutorial, this data will be progressively introduced based on the geometry of the project case.

                3. Go to File -> New Project.
            
4. Click yes to close the active project.
5. Choose Initialize a New Project from a geomTurbo File.


Load Geometry
6. Locate and select "windturbine.geomTurbo" (geometry defined in [Meter]) in the dialog box and click Open. (Where to Find the Files Used in the Tutorials?). Click ok in both warning dialog boxes informing that a discontinuity of 90 degrees has been detected in the hub.



The ".geomTurbo" file format is structured in three main blocks: the header, the channel and the row(s) definitions.
The channel format contains the definition of the turbomachinery meridional contour (hub, shroud, seal leakage, bleed,...). It is defined by two types of curves: the basic curves defined by a set of points and the channel curves defined as a composite of basic curves.
The row definition contains the geometry of a complete row. It is defined by a row name, a row type, a periodicity and the definition of the main blade and possibly the splitter(s). The blade and splitter(s) are defined by the pressure and the suction side surfaces identified by the keywords "pressure" and "suction". Both surfaces are specified by a set of cross sections of the blade at several spanwise locations from hub to shroud. Each section is defined by a set of points from leading to trailing edge.

Mesh Wizard
7. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current row, if not done already.
8. Left-click Row Wizard in the toolbar.



The row wizard is also available in Expert Mode under Mesh Control subpad in the QAP.



9. Click yes to start the wizard and to reset the mesh generation parameters.

The reset will keep the modifications performed by the user in the Row Wizard but will reset the parameters modified in Expert Mode  
to the default value.
The wizard is divided in 8 steps:

the geometry check (optional),
the machine characteristics definition,
the pseudo shroud definition,
the gap and fillet definition,
the flow path definition,
the far field definition,
the blade-to-blade mesh definition,
the end of the initialization.


10. Click yes to confirm the geometry check (step 1).
During the geometry check of a blade, AutoGrid5™  performs the following operations: check blade definition, check orientation of the blade section curves, detect loop detection into the blade section curves and between the blade sections. More details in AutoGrid5™  User Guide.
11. Click Next in the dialog box to define the machine characteristics (step 2).


12. Select Wind Turbine as Row type in the Blade row type dialog box.
13. Enter the Periodicity (number of blades) if necessary. Left-click inside the string input area and type <3>, press <Enter> to confirm.
14. Select Rotor.
15. Enter <-15> in Rotation Speed (rpm).
 

This speed will be transferred to the FINE™  graphical user interface and ease the input of boundary conditions later on.
The sign of the rotational speed is positive (+) when the blade row is rotating in the positive θ-direction, and negative otherwise.

16. Click Next in the dialog box to start the pseudo shroud definition and the upstream/downstream limits (step 3).

AutoGrid5™  automatically creates a horizontal pseudo shroud located at a radius (Rshroud) defined by:



with  as the maximum of the minimum blade radii computed on leading and trailing edge and  is the minimum of the maximum blade radii computed on leading and trailing edge.
 
The normalized parameters Upstream Location and Downstream Location are used to locate the inlet and outlet of the domain using the blade location  and the minimum of the maximum blade radii computed on leading and trailing edge () as normalization value: 












 

17. Define Shroud Location = <1.0> <Enter>.
18. Define Upstream Location = <-10.0> <Enter>.
19. Define Downstream Location = <25.0> <Enter>.


20. Click Next>> in the dialog box to  start the gap and fillet definition (step 4).
21. Keep all data unchanged (no gap or fillet).
22. Click Next>> in the dialog box to start the flow path definition (step 5).
23. Set Spanwise Grid Point Number to <149> (corresponding to the flow paths number) in the Layer Control dialog box.
24. Estimate the width of the first cell at the wall:

The width of the first cell close to the wall must be selected with care since the quality of the flow solution will often depend upon the capture of the flow phenomena inside the boundary layers which develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends locating the nearest grid point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must be modeled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven by the Blasius equation, expressed as follows for turbulent flows:



where:

ywall is the distance of the nearest grid point to the wall (in meter);
Vref is a reference velocity of the flow, for instance, the inlet velocity (in m/s);
ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
Lref is a reference length of the test case (in meter);
y+ is a non-dimensional value.


In the present case, one can estimate that Vref=10 m/s; Lref=0.25 m; ν=1.43e-5 m²/s. Assuming one wishes to get y+ around 1 at the wall, it turns out that y = 1 x 10-5 m.
Input the value of the Wall Cell Width = <1e-5> [Meters] <Enter> in the Layer Control dialog box.
 
25. Click Next>> in the dialog box to start the far field definition (step 6).

The far field limit is controlled by the Far Field Thickness parameter normalized with the  (minimum of the maximum blade radii computed on leading and trailing edge):





In addition, the number and the distribution of the layers in the far field can be modified.

26. Set Spanwise Grid Point Number to <65> (corresponding to the flow paths number in the far field) in the dialog box.
27. Set Percentage Constant Cell to <33>.
28. Define Far Field Thickness = <5.0> <Enter>.


29. Click Next>> in the dialog box to start the blade-to-blade definition (step 7).
30. Set the Number of Points (of the 3D mesh) around 4,000,000 by clicking the << or >> button in the B2B Control dialog box if necessary.


31. Click Preview B2B to plot the blade-to-blade mesh at mid-span: a Rounded Azimuthal O4H topology is used.

The topology (Rounded Azimuthal) is activated automatically if the blade solid angle at midspan is higher than 45°.




The Rounded Azimuthal O4H topology includes 5 blocks:

the skin block is an O-mesh surrounding the blade;
the inlet block is a H-mesh located below the leading edge;
the outlet block is a H-mesh located above the trailing edge;
the up block is a H-mesh located upstream the blade section;
the down block is a H-mesh located downstream the blade section.


32. Click Finish to end the initialization process (step 8). Click no in order not to generate the 3D mesh.
Automatically, at the end of the wizard procedure, a ZR effect named <Row name> far field is created under Quick Access Pad/Row Definition to control the grid generation process of the domain up to the blade.

                                    33. In the QAP/Row Definition, left-click row 1 and  left-click + <Ctrl> on row 1 far field. Click the Generate 3D button.



You can check the blade-to-blade mesh quality at hub and/or shroud before generating the 3D mesh.
Go to Mesh Control -> Active B2B Layer to specify the flow path (layer) on which the mesh will be plotted in the blade-to-blade view. By default, the active view is set at the mid-span of the machine (Active Layer (%span) set to 50). The layer selected for visualization is defined in percentage of span, going from hub (0%) to shroud (100%). Enter <0> <Enter> or <100> <Enter> in order to visualize the mesh at hub or shroud respectively.


Select Update B2B View to regenerate the blade-to-blade mesh on the new specified layer in the blade-to-blade view.


A detailed analysis of mesh quality can be performed on the blade-to-blade mesh after generation. Information on orthogonality, aspect ratio and expansion ratio can be outlined in this window by clicking :

Select quality criteria using the Type pull-down menu.
Left-click Show chart to visualize the distribution of the selected criteria in the form of a histogram. The histogram is drawn for each row.
Left-click part of the histogram to plot the concerned cells in blade-to-blade view or select Display all cells to have an overview of the mesh quality.
Left-click the More info button to obtain information regarding the minimum and maximum values of the selected criteria.
Close the quality checkbox.



Once 3D grid generation is completed, a grid quality check is performed and displayed. 
Minimum cell skewness, maximum expansion ratio and aspect ratio are reported, among others. Data is available for the entire mesh and separately for each entity (row, technological effect, bulb). Data related to grid quality report is automatically stored in a report file, once the project file is saved.



34. Close the dialog box. The page can be reopened by clicking .
Mesh Visualization
35. Select the View -> View 3D Solid Mesh.
36. Left-click the View 3D button in the toolbar to visualize only the 3D view.




By default, the 3D solid mesh is plotted on hub and blades. To remove the plot, select View -> Hide 3D Solid Mesh.
37. Use the Repetition icon () to toggle the repetition of the channel.


38. Use the View menu in the QAP to toggle edge, mesh and/or solid shading.


Check Boundary Conditions & Mesh Quality


39. Check for boundary conditions by clicking .
40. Select UND under Type pull-down menu and press <Enter> to check that there are no patches in the patch list still set to an undefined type.

It is important to ensure that no undefined patches (UND) are present in the mesh. If this is not the case, they can usually be removed by increasing the tolerance and launching the Search procedure.



41. Close the dialog box.
42. Left-click in the 3D view to activate the view (red border), if not done already.
43. Check for negative cells by clicking .


44. Click Apply.

The computation of the negative volumes is performed first. Negative cells can be outlined in the mesh pushing the View neg cells button. Beware that the visualization of negative cells can be memory consuming when a large number of cells must be displayed. It is then advised to first check the number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.

45. Click ok and Close the dialog box.
46. Left-click in the 3D view to activate the view (red border), if not done already.
47. Check the grid quality by clicking .
A detailed analysis of the mesh quality on a 3D mesh can only be performed once the 3D mesh has been generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell width can be outlined in this window using the Type pull-down menu.
48. Select block number (0 for all) - <Enter>.
49. Select quality criteria using the Type pull-down menu.
 
50. Left-click Show chart to visualize the distribution of selected criteria in the form of a histogram. The histogram is drawn per block (0 = all blocks).
 
51. Left-click part of the histogram to plot the concerned cells in the 3D view.
52. Left-click the More info button to obtain information regarding minimum and maximum values of the selected criteria and block.
 
53. Close the dialog box.
Save Project
54. Go to File -> Save Project As <tutorial7> and press <Enter> to save mesh and template files in the "_mesh" subfolder.

The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the boundary condition types: ".bcs", ".cgns", ".geom" (".xmt_txt"), ".igg", ".config" and ".qualityReport". The meaning of these files is detailed in the User Guide.
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh with AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these files is detailed in the User Guide.

Now that the mesh is saved, click here to set up the computation in FINE™/Turbo interface!

TUTORIAL 7. Wind Turbine

NUMECA Software

Prerequisites

Problem Description

Preparation


NUMECA Software
The resolution of computational fluid dynamics (CFD) problems involves three main steps:

spatial discretization of the flow equations,
flow computation,
visualization of the results.


To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal and Turbomachinery assimilations called FINE™/Turbo. The environment integrates the following tools:

IGG™  is an Interactive Geometry modeler and Grid generator, based on structured multi-block techniques.
AutoGrid5™  is a three-dimensional Automated Grid generation software tool, dedicated to turbomachinery applications. Similarly to IGG™, it is based on structured multi-block techniques.
Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes equations in the laminar, transitional and turbulent regimes.
CFView™  is a highly interactive flow visualization and post-treatment software tool.
FINE™  Graphical User Interface is a user-friendly environment that includes the different software. It integrates the concept of projects and allows the user to achieve complete simulations, going from the grid generation to flow visualization, without the need of file manipulation. 

A turbomachine is a device in which the energy is transferred either to or from a continuously flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in particular in aircraft, marine, space (liquid rockets) and land propulsion systems but also in hydraulic, gas and steam turbine applications. It is also used in industrial pipeline and processing equipment such as gas, petroleum and water pumping plants. Other applications can be related to heart-assist pumps, industrial compressors and refrigeration plants, and more.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is composed of several basic elements including the blade (also called vane if it is non-rotating), hub, and shroud. Several technological effects involving clearances, seal leakages and cooling holes among others can complete the machine. Due to the complexity of the blade shapes, the presence of technological elements and the rotation of machine, the nature of the flow is strongly three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the simulation of a wind turbine. It makes use of FINE™/Turbo and describes how to deal with the specific options implemented in FINE™  environment. In this tutorial you will learn how to:

read an existing geometrical file into AutoGrid5™;
define the blade periodicity;
define pseudo shroud and upstream/downstream limit;
control meridional flow paths;
control far field;
generate and optimize the blade-to-blade (dedicated O4H High Staggered topology) mesh;
control the quality of the mesh in the blade-to-blade and 3D mesh;
manage the fluid database;
set up both boundary and initial conditions;
numerical process management;
select adequate outputs;
launch the calculation process;
check for convergence;
visualize and analyze the results.

Prerequisites
This tutorial does not require any prior experience with the menu structure in FINE™/Turbo.
Problem Description
This problem considers the generic wind turbine as shown below. The turbine includes 3 blades, rotating with a speed of 15 RPM. The absolute velocity at the inlet is 10 m/s.


Preparation

Start FINE™/Turbo v13.1:

For Linux systems, you can access FINE™/Turbo graphical user interface with the following command line:fine -niversion 131 -print


For WINDOWS systems, you can access FINE™/Turbo graphical user interface from the start menu by going to /Programs/NUMECA software/Fine131/FINE.





Click the Create a New Project icon to create a new project.




Select your directory of choice to store the project.
Enter the project name in the dialog box as <Tutorial7> <Enter>.
Click on Create Grid File to access the interactive geometry modeler and grid generator IGG™.




Access the menu Modules, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.



You are now ready to start the grid generation process and mesh the WIND TURBINE configuration! Click here to start the mesh generation...

Tutorial 7: Flow Settings

Link Mesh & Project

Manage Computations

Set Flow Configuration

Set Boundary Conditions

Set Numerical Model

Set Initial Conditions

Select Outputs

Control Computation Steering

Save Project & Start Calculation

Follow Convergence Steering


The mesh generation process is now completed and one can now go back to the FINE™  graphical user interface in order to set the various flow settings required before starting the computation. Access to the main menu and controls is provided through a menu bar and a left-tree, and is complemented with an icon bar.


Access to the FINE™  graphical user interface from the AutoGrid5™  window is provided through the Modules/Fine Turbo menu, simply confirm (yes) to enter FINE™  GUI. You are now back at the FINE™  graphical user interface!


A step by step approach is provided in the following lines. It aims at driving you through the various steps that need to be executed from mesh linking to the execution of the calculation.
Link Mesh & Project
58. Click the  icon and link the mesh "tutorial7.igg" to the project.


 The user may be prompted a warning message concerning the solver precision; accept this message. The change of the solver precision is detailed in step 113.

59. Define grid units in Meters as the geometrical data inserted in the "tutorial7.geomTurbo" file is expressed in meters.
60. Select a Cylindrical and 3 Dimensions configuration.
61. Click OK to close the dialog box.


Manage Computations
62. Rename the default computation "computation_1" as "111_SA" in the Computations area, to indicate that the calculation will be executed on the coarse grid first and will use the Spalart-Allmaras turbulence model. This can be achieved by left-clicking the Rename button and replacing "computation_1" by "111_SA".
 
Similar operations can be executed using the New Computation or Remove buttons, to respectively create a new computation or remove one.
Set Flow Configuration
63. Go to the tree in the left menu and double left-click the Configuration menu.


Three sub-menus related to the definition of the working fluid, main flow characteristics and rotating machinery definition can then be accessed.
64. Double left-click Fluid Model to access the fluid database.
65. Select AIR(Perfect). Air, considered as a perfect gas, is then selected as a working fluid.



The fluid database includes a number of pre-defined fluids, covering various approximations in fluid definition such as perfect gas, ideal (real) gas, incompressible fluids and fluids defined as a set of thermodynamic tables (optional, subjected to a separate license key).
A default fluid database is provided by FINE™/Turbo. The user is also able to create and modify his/her own fluids and/or use fluids created by others. More details about these functions are available in the FINE™  User Guide.

66. Double left-click Flow Model to set the flow characteristics.
67. Keep Steady to indicate that a steady solution is of interest.
68. Keep Turbulent Navier-Stokes to activate the resolution of the RANS equations.
69. Keep Spalart-Allmaras as the turbulence model of choice.


A number of turbulence models can be accessed through the interface. They require the additional resolution of 0-equation to 4-equations, depending upon the model selected. Some of these models do need a fine resolution near the wall (y+ ranging from 1 to 5), while others use the log-law concept and can mimic the logarithmic law. More details can be found in the FINE™  User Guide.
70. Activate Low Speed Flow (M<0.3).
Preconditioning is applied for low speed flows and/or modeling incompressible fluids. At low Mach numbers, the convergence rate of the iterative process can be largely slowed down due to the numerical formulation selected in the flow solver. The equations are then preconditioned to recover a satisfactory rate for convergence.
71. Set Reynolds Number Related Info:

Set Characteristic length = <0.25> < Enter>,
Set Characteristic velocity = <15> < Enter>,
Keep Characteristic density = <1.2> < Enter>,
Keep Reference temperature = <293> < Enter>,
Keep Reference pressure = <101300> < Enter>.


Characteristic variables (length, velocity, density) are required to estimate the Reynolds number. This number is used at a few locations inside the flow solver, in particular inside the damping functions related to the modeling of turbulence down to the walls.
The impact of the characteristic variables on the flow solution is very limited, but it is advised to select values in accordance with characteristic quantities of the geometrical domain and flow conditions. As an example, the characteristic length may be defined by a reference diameter or length at the inlet and/or outlet of the computational domain, and/or the chord of the blade (if any). The characteristic velocity may be set to the averaged inlet velocity. The characteristic density is fixed as the average (molecular) fluid density.

72. Double left-click Rotating Machinery to set the rotating machinery definition.
73. Select row 1.
74. Check that the Rotational Speed = <-15> <Enter>.
75. Select row 1 far field.
76. Set the Rotational Speed to <-15> <Enter>.



In the cylindrical mode, the flow solver resolves the equations by default in a relative frame of reference. As a consequence, the mesh attached to the blade is rotating at the same speed as the blade, as far as no rotor-stator interaction is concerned. The rotation speed has been introduced in AutoGrid5™  and transferred through FINE™, limiting user interventions in the graphical user interface.
For rotating machinery projects, the axis of rotation must be aligned along the z-direction. In addition, a unique rotation speed must be considered for the entire computational domain.

Set Boundary Conditions
77. Go to the tree in the left menu and double left-click the Boundary Conditions menu.

During the grid generation process, AutoGrid5™  defines the type of the boundary conditions to be applied on each block face. The most common types are INLET, OUTLET, PERIODIC and SOLID boundary conditions.
PERIODIC boundary conditions are set automatically by the flow solver and must not be modified by the user.
It is important to confirm each entry by pressing the <Enter> key.

78. Go to Mesh -> View On/Off to load the mesh in FINE™  GUI.

This toggle menu is used to visualize the grid in FINE™. The parameters area will be overlapped by a graphics window, and the small control button on the upper-left corner of the graphics window can be used to resize the graphics area in order to visualize the parameters and the mesh simultaneously.


The selection of patches in the left column outlines the corresponding patch in the graphics area, thus enabling a fast and easy visualization of the boundary conditions.

79. Go to the SOLID tab:


For each row, patches including the keyword "hub" are by default collected in a unique group named as "row*_hub". Patches of the blade are grouped in "row*_blade". If the part of the row is rotating, the suffix "_(r.p.m. rot_speed)" is added to the group name. The presence of a far-field covering the tip of the blade is automatically taken into account in another blade group "far field_blade", thus minimizing user intervention in the definition of the boundary conditions. For a rotor, which is defined in AutoGrid5™, it is assumed that the hub and the blade are fully rotating. The rotation speed takes the value introduced during the mesh generation process

Left-click group "row1_hub_(r.p.m.-15)" and left-click + <Ctrl> group "row1 far field_blade",
A warning will appear, click ok,




Keep Adiabatic and Constant Rotation Speed, 
Keep Rotational Speed1 = <-15> <Enter>,




Keep Compute force and torque active.

The convergence of lift, drag and momentum can be monitored in the computational steering window, to make sure that both quantities have reached stable values at the end of the convergence process.

Keep all other default settings.

80. Go to the EXTERNAL tab:

Left-click + <Shift> the first and last patch,
Click Group to group them with the name <External> <Enter>,
Set Static Pressure = <101300> <Enter>,
Set Static Temperature = <293> <Enter>,
Set Vx = Vy = <0> <Enter>,
Set Vz = <10> <Enter>,
Choose Turbulent Viscosity as the Turbulent Quantities and set Turbulence Viscosity to <0.0001> <Enter>.



81. Go to Mesh -> View On/Off to toggle mesh visualization, if needed.
Set Numerical Model
82. Go to the tree in the left menu and double left-click the Numerical Model menu.


This menu gives access to the most frequently used numerical parameters, including the Courant Friedrichs Lewy (CFL) number and the selection of the grid level on which the simulation will apply. It is important to confirm each entry by pressing the <Enter> key.
83. Keep CFL unchanged to 3.

The CFL number drives the pseudo-time step selected to reach a steady state solution using the time-marching method integrated in the flow solver. In combination with the 4-steps Runge-Kutta integration scheme included in the flow solver, it has a theoretical stability limit close to 2.8. However, the additional implicit smoothing scheme can increase this value slightly, which justifies the default value of 3.
The default value for CFL number is adequate in most cases, but can be decreased in some circumstances, in particular at off-design conditions.

84. Define the grid level on which the simulation will apply:

The flow solver is based on an explicit time integration technique, which is accelerated using dedicated multi-grid methods. To this end, several levels of intermediate grids must be generated started from the finest one. This is achieved by taking one node over 2 in each I-, J- or K-directions, starting from the finer grid level.
It is strongly advised to enable the definition of at least 3 grid levels, by carefully selecting the number of nodes on every edge forming the patches and blocks. More details can be found in the IGG™, AutoGrid5™  and FINE™  User Manuals.
In the FINE™  terminology, the finest grid level a user can access will be called 000, while the intermediate and coarsest ones will be named the 111 and 222 level respectively, assuming 3 grid levels can be selected.
Hybrid grid levels can theoretically be defined (e.g. 010 or 211). It is however not advised to use such hybrid levels since it deforms the mesh in a preferential direction and thus possibly increasing the aspect ratio. Consequently, the quality of the resulting mesh can be decreased.


Set Current Grid Level = <1 1 1>,
Keep Number of Grid(s) = <2>,
Keep the Coarse Grid Initialization active.

In addition to the multi-grid acceleration technique, the number of iterations to convergence can be significantly reduced activating the coarse grid initialization process. In that case, the simulation starts on the coarsest grid level available, leading to fast convergence. Once done, the flow solver automatically interpolates the current flow solution on the intermediate levels before the iterative process is restarted. A similar process occurs until the expected finest grid level is reached. The iterative process is then continued as long as the convergence criterion is not reached or the maximum number of iterations is not exceeded. More details can be found in the Numerical Model in the FINE™/Turbo GUI.

Activate Expert Mode in the toolbar to access expert parameters for coarse grid initialization,
Set Maximum number of cycles per grid level = <500> in Full MultiGrid Parameters.

85. Select Hakimi as the preconditioning method and define the preconditioning parameters: 

Change the Characteristic velocity to <10> < Enter>,
Activate Local velocity scaling,
Keep all other default settings.


Preconditioning is applied at low-speed flows and/or modeling incompressible fluids. At low Mach numbers, the convergence rate of the iterative process can be largely slowed down due to the numerical formulation selected in the flow solver. The equations are then preconditioned to recover a satisfactory rate for convergence. Preconditioning is controlled in the Hakimi method through a user-controlled parameter ß.
This parameter ß is imposed by the user through a coefficient ß* and the characteristic velocity Uref such that:
ß² = ß* . (Uref²) or,
ß² = ß* . max(Uref²,Uloc²) when local velocity scaling is active (Uloc is the local velocity)
Uref is the representative value of the maximum velocity in the flow field. For the user's convenience, the constant Uref  is always equal to the reference velocity specified in the Flow Model page and used in the calculation of the Reynolds Number. In that case, Uref must be carefully selected since it influences the convergence and when changed in the Numerical Model page, the value will also be adapted automatically in the Flow Model page.                                    

Set Initial Conditions
86. Go to the tree in the left menu and double left-click the Initial Solution menu.
87. Left-click + <Shift> the first and last group. A warning will appear, click OK.


88. Click Group to group them with the name <_MESH> and press <Enter>.
89. Left-click constant values to access the constant initial solution menu.
90. Set Pressure = <101300>.
91. Set Temperature = <293>.
92. Set Vr = Vtheta = <0>.
93. Set Vz = <10>.
94. Choose Turbulent Viscosity as the Turbulent Quantities and set Turbulence Viscosity to <0.0001> <Enter>.


Select Outputs
95. Go to the tree in the left menu and double left-click the Outputs menu. Double left-click Computed Variables.

Quantities of interest in the simulation must be pre-selected in this menu. They will be stored in the solution file (*.cgns) once the iterative process will be finished and/or during intermediate steps. Quantities can be accessed both in the 3D field (Computed Variables) and/or in the meridional plane (following circumferential averaging, see Azimuthal Averaged Variables). Additional data can be selected on the solid walls and/or on predefined surfaces (Surface Averaged Variables).
The adequate selection of outputs of interest will reduce the size of the solution file. This is in particular important when projects involving very fine meshes and/or unsteady capabilities are managed.

96. Select Static, Total Absolute and Total Relative Temperature if not yet selected.
97. Select Static, Total Absolute and Total Relative Pressure if not yet selected.
98. Select Density if not yet selected.


99. Left-click the Velocities in the menu Categories.
100. Select Vxyz and Absolute Mach number if not yet selected.
101. Select Wxyz and Relative Mach number if not yet selected.


Vxyz and Wxyz are the velocity vector fields in respectively the absolute and relative frame of reference. The examination of solution quantities in the relative frame of reference is particularly useful to observe the flow angles relative to the blade close to leading and trailing edge.
102. Left-click the Solid data in the menu Categories.
103. Select Static pressure, Static temperature, Cf, Relative velocity and y+ (in first inner cell) if not yet selected.



Cf is known as the friction coefficient.
The parietal coordinate y+ is a direct function of the distance from the wall. Therefore, y+ = 0 at the wall and takes a non-zero value at the center of the first cell close to the wall (also called "inner cell"). As a consequence, the examination of y+ "at the wall" should be understood as the examination "in the first inner cell". Although it is not correct theoretically speaking, this concept is very often used to ease the post-treatment and benefit from the existing solid surfaces.

104. Left-click the Turbulence in the menu Categories.
105. Select Wall distance and Turbulent Viscosity ratio if not yet selected.



The analysis of the Turbulent Viscosity ratio field is often of major interest to make sure that the turbulent quantities are computed accurately according to the turbulence model and mesh refinement selected. 
Running k-epsilon related models gives access to additional quantities in particular related to the production term, the kinetic energy and dissipation rate fields. It is strongly advised to activate these fields for post-treatment.

106. Double left-click Azimuthal Averaged Variables.
107. Go through the various categories and select the same quantities as selected for Computed Variables.
Additionally, outputs can be re-directed using the PLOT3D format, using various formats. More details can be found in the Plot3D Formatted Output.
Control Computation Steering
108. Go to the tree in the left menu and double left-click the Computation Steering menu.
109. Double left-click Control Variables.
110. Set Maximum Number Of Iterations = <1000> <Enter>.
111. Keep Save Solution Every = <100> <Enter>.
112. Keep Convergence Criteria = <-6> <Enter>.
113. Set Solver Precision to Double; change the solver precision from Single to Double.



Depending upon the quality of the initial solution, the density of the mesh (number of nodes) and the complexity of the underlying flow field, from few
hundreds to few thousand iterations are typically required to reach convergence. The iterative process is stopped once the convergence criteria is reached over the entire domain or the maximum number of iterations is executed on the current grid level (111 in the present case).
The ability to select for Minimum output gives the possibility to minimize the size of the solution files. In that case, the flow solution is stored only once the iterative process is finished, and limited information is proposed during the intermediate storage. This limited information allows to perform a restart procedure from an existing flow solution, but cannot be visualized within CFView™.
Static memory allocation is enabled inside the flow solver. An estimation of the memory required to run and save the flow solution is calculated and proposed as a default. However, in some circumstances, the estimation may be too low and it is then required to manually increase the number of reals or integers necessary to drive the solution to success. In that case, click Set the requested memory and increase the inputs accordingly.

114. In the list of expert parameters (only visible when Expert Mode is active in the toolbar):

Left-click IINT in the integer parameters list.
Set value to <0> <Enter>.
Left-click IVELSY in the integer parameters list.
Set value to <0> <Enter>.
Left-click MUCLIP in the double parameters list.
Set value to <50,000> <Enter>.
Keep all other default settings.








Set IINT = 0 for external flow and allows the user to monitor the convergence history of the drag, lift and momentum. The directions of the drag, lift and momentum are controlled by the expert parameters IDCDP, IDCLP and IDCMP. More details can be found in the User Manual.
Set IVELSY = 0 to solve equations for absolute velocities in the relative system.
Set MUCLIP = 50,000 to control and avoid the clipping of the turbulence ratio in the flow field but not on the boundaries.

Save Project & Start Calculation
115. Go to the File menu and Save the project.
The project parameters are stored in the *.iec file. This file includes the entire set of parameters required to reproduce the project, excluding the mesh.
116. Press the  icon and click Start Flow Solver in the dialog box to start the calculation: a task manager window will appear.


The calculation will start in serial mode (1 processor) on the local machine. FINE™  includes multi-processor capabilities and the ability to manage computations through a task manager and/or in batch mode. More details can be found in the FINE™  User Guide.
Follow Convergence Steering
117. Double left-click Convergence History.



The evolution of averaged residuals on the entire domain can be observed during the convergence process. Similarly, the evolution of the mass flow balance (in/ out) and/ or global quantities (isentropic efficiency, torque and axial thrust on solid walls selected in the boundary conditions page, pressure ration) can be displayed.
Local and global quantities may also be added for follow-up during the convergence process. However, their representation in the graphical area will only be effective once they are added in the Selected Variables list, see in theFINE™ User Guide.
The examination of residuals per block and/or for a given primitive variable can be achieved accessing the monitorTurbo tool. The tool is included in the FINE™ package and can be accessed through the adequate command line. More details can be found in the FINE™  User Guide.

118. Once the calculation has converged or reaches the maximum number of iterations allowed on the current grid level, the flow solver stops.
119. The final solution is then stored in the solution file (*.cgns) and the task manager window is closed.
To check the convergence of the computation, NUMECA recommends observing the evolution of multiple criteria including (a) an adequate decrease in residuals (minimum 3 orders of magnitude); (b) complete stabilization of global performances; (c) stabilization of mass flow in/out when available, with satisfactory correspondence (usually less than 0.5% difference between in/out).
Now that the iterative process is over, click here to start the visualization of the solution within the post-treatment tool CFView™  integrated in FINE™/Turbo.

System requirements

For proper installation and use of FINE™/Turbo and FINE™/Design3D please consult the following sections detailing the system requirements for your operating system.

Installation

Prior to the installation of FINE™/Turbo and FINE™/Design3D it is important to consult first the System requirements.

Installation

Install FINE™/Turbo with FINE™/Design3D under Linux


Log in the workstation corresponding to the selected OS. It is strongly recommended not to install the software as "root" or using the command "sudo" because the user may have no permission to execute the software afterward. It is  strongly recommended to check the permission of the disk and directory the user will select for the software installation.


Check and make sure that the necessary disk space is available prior to starting the installation process. 
For the disk space requirements, see also: the Linux system requirements.

Get the installation package from the Products page of the Customer Area (www.numeca.be).

Check that the file can be accessed with full permission  and extract it by typing the command line: tar -xvf <package_name>.tar.
Do NOT extract the tar file in the target directory NUMECA_INSTALLATION_DIRECTORY in which the product will be installed.


Go to the  directory containing the files extracted from the tar archive and type the command ./install_numeca <ENTER>.
The trusted storage based licensing requires a LSB compliant platform. After license agreement, a check is performed to verify whether the host machine is LSB compliant. It is required if the license server is installed on the host machine.


During the installation, the user will be asked to accept the terms of the License Agreement.


Enter  the installation directory (referred to as NUMECA_INSTALLATION_DIRECTORY) in function of one of the following scenarios:

If NUMECA software was not installed before on the machine, choose a directory of your preference. Providing a directory name that does not exist will create it automatically.

If NUMECA software was already installed before, choose the same NUMECA_INSTALLATION_DIRECTORY to use the multiple versions and/ or products in one multi-version environment. 
It is important to notice that a common NUMECA_INSTALLATION_DIRECTORY should be shared by all NUMECA  installations, otherwise the multi-version installation will not be set up adequately. This is important e.g. for the good functioning of PVM when launching several products or versions one after the other.
In order to run distributed memory parallel computations with OpenMPI, NUMECA products must be installed in the same directory on different machines.
If the product has not been installed in the same 'NUMECA_INSTALLATION_DIRECTORY' as the old  product. The script 'add_version.sh' in /NUMECA_INSTALLATION_DIRECTORY/COMMON/ will allow the user to link previous versions by specifying their full path name (e.g.: /usr/numeca_software/fineautogrid131).




Finally, the so-called 'HostName' and 'HostID' information required to generate a license file will be shown. This information should be sent to NUMECA local sales or support office. 
Alternative to find the HostName and HostID from a shell

Type the commands:
NUMECA_INSTALLATION_DIRECTORY/<product_name>/LINUX/install/flex64/lmutil lmhostid -hostname <Enter>
and
NUMECA_INSTALLATION_DIRECTORY/<product_name>/LINUX/install/flex64/lmutil lmhostid <Enter>.




After the package is installed, the NUMECA Admin Tool is launched automatically. This is a tool for license management and provides a graphical user interface for the management of the license server and client machines. The tool offers a guide through the process of setting up and configuring a license server. 

                           Alternative to access the NUMECA Admin Tool

After installation, the NUMECA Admin Tool can also be started through the command admin#, where # is the software version (e.g. admin131). 
						Close  the  NUMECA Admin Tool dialog box to leave the tool and to finalize the installation.


Tasks that can be performed in the NUMECA Admin Tool


License Management: to configure the machine as license server and/ or client.
User Configuration: to set the PATH in the .bashrc/.cshrc/.profile files.
Network Configuration: to clean and reinitialize PVM, to setup SSH connections to other machines/ users.
Diagnostics: to assess and fix problems with license management and graphics.






When receiving the license file  from NUMECA, perform the license management and user configuration:

License management

User Configuration



Launch the software as described in the user guide of your product while taking into account the points of attention as listed in the Software launch section of the Linux user configuration.

License management
Introduction
Before using NUMECA software, a valid floating license is required. 
What is a floating license?

With a floating license each software component is
 managed by an independent maximum number of concurrent accesses (number
 of processes). Floating licenses are managed by a license server which 
 checks if process access is free. If so, when launching a software 
 component, license access is given to the user process or access is 
 denied otherwise. The license can be accessed on the same computer 
 but also on other computers (clients) with Linux or Windows, 
 connected through a network to the license server. The license server 
 can be a Linux or a Windows machine.



Important points of attention for license servers:

NUMECA updates the security ID of license files with each major release. License files with old security ID cannot be used with the latest NUMECA software. Please send your old license file to NUMECA local sales or support office for an upgrade of the license file.
Redundant license server can be delivered allowing to manage a floating license by several servers. For more information, contact NUMECA local sales or support office.
Machines used as license server must  have a fixed first IP address. For example, when using VPN on Windows, VPN will become the first network interface. In this case, the license server will not work properly.
By default it is not possible to use a virtual machine as a license server. To install a license server on a virtual machine, contact your account manager.


FlexLM requires LSB (Linux Standard Base) compliant OS.


NUMECA software must be installed on the license server. At the end of the installation, the license information (the HostName and HostID of this computer) must be sent to NUMECA local sales or support office in order to get a license file. 
Before using NUMECA software, the license daemon should be configured on the license server.
To set up the license server it is necessary to prepare the license file and launch the server either though the NUMECA Administration Tool or in a shell.
Access to the NUMECA Admin Tool

At the end of the installation of NUMECA software the NUMECA Admin Tool is launched automatically. 
It can also be started anytime on Linux using the command: admin#, where # is the software version.
It is recommended to run the NUMECA Admin Tool as root to fully benefit from all its possibilities.
Example

admin131





Prepare the license file

To install the license service take the following steps:

Rename the license file as license.dat.
Copy the license.dat file in the directory that all users are able to access.
Check that the license file has the read-execute access privileges (execute chmod 755 license.dat).

The "license.dat" file must be readable by each user.

When using a TCP port for the license server, the port number has to be added in the license file on the server/vendor line: 

SERVER hostname hostid and VENDOR numeca should be replaced by SERVER hostname hostid portnumber1 and VENDOR numeca portnumber2; 
reread the license file,
 start NUMECA software and specify the license server writing portnumber@hostname. All specified ports should be opened and free.




License set-up in NUMECA Admin Tool

Start floating license service

To start the license service:

Select License Management.
On the line Activate from license file browse to the license file under the Product (de)activation tab.
Click on the Activate button.

The manual start operations must be repeated each time the server machine is rebooted. Alternatively it would be possible to define an automatic start of the license service from lmtools or using the NUMECA Admin Tool.


Automatic start at machine boot


                         After the manual start of the license service, it is possible to have it automatically start at machine boot:

Select License Management.
Under the License server tab, click on the Set Autostart button.

When starting the license service through the NUMECA Admin Tool, it uses the cron daemon of the user who installs the software to define the automatic start of the license at machine boot. 

Cron is a daemon used to schedule various kind of tasks on Linux.  This tool uses crontab text files that specify commands/ tasks to run at certain time intervals. In the case of NUMECA Admin Tool, the cron daemon automatically starts the license service using the license file(s) or existing server specified in the previous license server set-up. In absence of a previous set-up, the daemon uses the dummy address NUMECA_INSTALLATION_DIRECTORY/flexlm/any.lic as the license server file location for the autostart.


Verify license service status

To verify that the license server is correctly running do the following:
                            

From the NUMECA Admin Tool home page, click on License Management.
Select the License server tab.
Select the license server in the first table listing all known servers available on the machine.
Information regarding the available features, number of available licenses and number of used licenses is shown in the second table.



Floating license on Linux client

When a floating license service is installed on a license server, this license service may be used by other computers with a network connection to the license server. In this section, it is assumed that the license server is running. 

Go to the NUMECA Admin Tool home page, 
click on License Management,
select the Product (de)activation tab, 
select the Connection to a license server option.

Users willing to launch NUMECA software on a client should perform a user configuration on this machine before first use as described in the section User Configuration.


Update of license file

When a license file is expired, contact NUMECA local sales or support office to obtain an updated license file.
 Rename this license file to license.dat and follow the instructions below.

Replace the active license file license.dat with the update license provided by NUMECA (renamed as license.dat). 
It is strongly suggested to make a backup of the old license file, for safety, by renaming it to "license.old".

From the NUMECA Admin Tool home page, click on License Management .

Select the License server tab.
Under the Start/Stop/Reread section, make sure the license path is correct and click on the icon .                                    


If the version of the Flexlm tool is upgraded or the version of the license file security ID is upgraded, an update of the license file is not enough. The user must shutdown the running license server and start a new license server with the latest Flexlm tool and the latest license file.




Alternative license server set-up from a shell

Start of the license service

To start the license daemon manually, do the following operations:

Go to the directory NUMECA_INSTALLATION_DIRECTORY/<product_name>/LINUX/install/flex64/
Execute the command: ./lmgrd -c NUMECA_INSTALLATION_DIRECTORY/COMMON/license.dat -l $HOME/.numeca/debug_numeca.log

In these lines, 'NUMECA_INSTALLATION_DIRECTORY' should be replaced by the absolute directory path where you have installed NUMECA software.
The manual start operations must be repeated each time the server machine is rebooted.


Automatic start at machine boot

The license daemon can be automatically started during the workstation boot process. For example to do so on LINUX Red Hat Enterprise 5.1:

Login as "root"
Go to the /etc directory
Edit the inittab file
Add the following line at the end:
                    lmgr:35:wait:/NUMECA_INSTALLATION_DIRECTORY/<product_name>/LINUX/install/flex64/lmgrd -c License_path/license.dat

In this line, 'NUMECA_INSTALLATION_DIRECTORY' should be replaced by the absolute directory path where you have installed NUMECA software, 'License_path' should be replaced by the absolute directory path where the license file is located.
The license server can also be started from /etc/rc#.d/. For more information contact your system administrator or NUMECA local sales or support office.


Verify License Service Status

To verify that the license server is correctly running do the following:


Go to the directory:
NUMECA_INSTALLATION_DIRECTORY/<product_name>/LINUX/install/flex64/


Execute the command: ./lmutil lmstat -c License_path/license.dat
If the license server is up this will be shown in the shell with the words: "license server UP (MASTER) v11.14". The vendor daemon numeca needs to be up as well as indicated with the words: "Vendor daemon status (on license_server_machine_name): numeca: UP v11.14 
If the license server or vendor daemon is not up, see: User Configuration).


To display the active users of a given feature, use the following command: ./lmutil lmstat -a -c License_path/license.dat




Floating license on Linux client

When a floating license is installed on a license server, this license may be used by other computers with a network connection to the license server. In this section, it is assumed that the license server is running. 
On a Linux client, the path of the NUMECA_LICENSE_FILE should be defined in the ~/.flexlmrc file:

in csh or tcsh shell:
            setenv NUMECA_LICENSE_FILE /full-path/license.dat or @servername
in bash or korn shell:
            NUMECA_LICENSE_FILE=/full-path/license.dat or @servernameexport NUMECA_LICENSE_FILE

Users willing to launch NUMECA software on a client should perform a user configuration on this machine before first use as described in section User Configuration.


Update of license file

When a floating license file is expired, contact NUMECA local sales or support office to obtain an updated license file and follow the instructions below.

Rename the license file to license.dat.

Replace the active license file with the updated provided license on license server.
It is strongly suggested to make a backup of the old license file, for safety, by renaming it to "license.old".


Go to the directory
NUMECA_INSTALLATION_DIRECTORY/<product_name>/LINUX/install/flex64/


Execute the command:
./lmutil lmreread -c LICENSE_FULL_PATH/license.dat


If the version of the Flexlm tool is upgraded or the version of the license file format is upgraded, an update of the license file is not sufficient. The user must shutdown the running license server and start a new license server with the latest Flexlm tool and the latest license file.




Optional for CFView™: ask software to wait for license

To request that NUMECA products wait for an active license, define it in /home/user/.numeca/preferences.dat using the keyword LICENSE_WAIT. 
Example

PRODUCT CFView
LICENSE_WAIT
END_PRODUCT



Configuration for MINAMO run modes (only for use with FINE™/Design3D)

Floating license management for MINAMO run modes

The FINE™/Turbo & FINE™/Design3D package integrates the MINAMO run modes developed at Cenaero, which allow the user to perform accurate design space sampling and advanced optimization methods in FINE™/Design3D. Before using MINAMO run modes, the user must setup the licensing.
Start the license server
Before starting the license servers, the license information (the HostName and HostID of the computer) must be sent to NUMECA local  support office in order to get the NUMECA and the MINAMO license files. To obtain the HostName and HostID, open a shell and go to the license server directory ( NUMECA_INSTALLATION_DIRECTORY/<product_name>/LINUX/install/flex64 for NUMECA software installation. The NUMECA license information can be obtained by typing the commands ./lmutil lmhostid -hostname <ENTER> and ./lmutil lmhostid <ENTER>. 
After receiving the license files, the activation of the NUMECA and MINAMO license servers can be achieved following one of the two procedures described below. The procedure is here described for the simultaneous activation of both NUMECA and MINAMO licence servers. 
Start of the MINAMO license with the NUMECA Admin Tool



Open a shell and follow the instructions written in Access to the NUMECA Admin Tool .

Select License Management.
							
In the tab Product (de)activation, activate the option Activate from license file. Click on the button at the end of the field, and press the key <Ctrl> to select both the NUMECA and MINAMO licenses. Alternatively, the full paths of the NUMECA and the MINAMO license files can be specified manually, separated by a colon punctuation (":").					
Click on Open to validate the selection, and press Activate. A message is displayed, informing the user that the activation has been successfully performed. Accept the message.
Under the tab License server, select the local machine in the first table.  The MINAMO features should appear together with the NUMECA features.
							
Close the NUMECA Admin Tool.



Alternative license server set-up from a shell

The activation of the NUMECA and MINAMO license servers is also possible via a command line. To this extend, follow the steps described below:

Go to the directory NUMECA_INSTALLATION_DIRECTORY/<product_name>/LINUX/install/flex64/
                            
Execute the command line:./lmgrd -c <FULLPATH>/<NUMECA License file>, <FULLPATH>/<MINAMO license file>
The manual start operations must be repeated each time the server machine is rebooted. 



Configure on Linux clients
On a Linux client, the path of the  CENAERO_LICENSE_FILE should be defined in the ~/.flexlmrc file:

in csh or tcsh shell:
setenv  CENAERO_LICENSE_FILE @servername
in bash or korn shell:
export CENAERO_LICENSE_FILE=@servername



Configuration for FEA solver Oofelie (only for use with FINE™/Design3D)

Floating license management of the FEA solver Oofelie
The FINE™/Turbo & FINE™/Design3D package integrates the multiphysics FEA solver Oofelie developed at Open-Engineering S.A., which allows the user to perform multidisciplinary optimization in FINE™/Design3D. Before using Oofelie, the user must setup the licensing.
Start the license server
Before starting the license server, the license information (the HostName and HostID of this computer) must be sent to NUMECA local  support office or info@open-engineering.com in order to get a license file. The HostName and HostID can be obtained by typing the commands NUMECA_INSTALLATION_DIRECTORY/fine131/LINUX/oofelie/data/license/flexnet-server/lmutil lmhostid -hostname <ENTER> and NUMECA_INSTALLATION_DIRECTORY/fine131/LINUX/oofelie/data/license/flexnet-server/lmutil lmhostid <ENTER>.
After receiving the license file, start the license server as follows:

Check that the license file has the read-execute access privileges (otherwise, execute chmod 755 license_file)
Go to the directory NUMECA_INSTALLATION_DIRECTORY/fine131/LINUX/oofelie/data/license/flexnet-server/,
Execute the command: ./lmgrd -c license_file,

Configure on Linux clients
On a Linux client, the path of the OPENENG_LICENSE_FILE should be defined in the ~/.flexlmrc file:

in csh or tcsh shell:
setenv OPENENG_LICENSE_FILE /full-path/license.dat or @servername
in bash or korn shell:
export OPENENG_LICENSE_FILE=/full-path/license.dat or @servername



Student version with activation ID

In general a license certificate (text file) is provided to give access to NUMECA software. Alternatively the NUMECA Admin Tool allows to use an activation ID to start the license server. For example, the free student version is based on an activation ID and the instructions how to use it are provided together with the activation ID. Use of an activation ID requires the use of Trusted storage and installation of an anchor service. Hence this terminology can be found in the NUMECA Admin Tool but can be safely ignored in case of a license certificate in text file format.
Example of an Activation ID: C2a9-561f-7895-435b-acb5-3520-c166-4bcc

Uninstallation
Introduction
This section details the steps required to properly remove an installation of NUMECA software. 

Depending upon the configuration, there are several possibilities:
                            

If the product is the only product and the only version on the computer: uninstall in mono-version environment.
                                
If other products and/ or other versions are installed on the same machine, it is possible to:                                 

to remove only some of these products/ versions: partly uninstall  in multi-version environment",
                                    
to remove all products: fully uninstall  in multi-version environment".




Furthermore, the license service may be stopped if NUMECA software is not used on any machine connected to the license server.
Uninstall license service


Points of attention:

Instructions related to the NUMECA license service must be removed if the machine has been configured to start automatically the license service at start up. These instructions can be accessed in the /etc/inittab file.
It is not possible to stop the license server without an internet connection.
The license server cannot be started or stopped without a network connection.


In NUMECA Admin Tool


Go to the NUMECA Admin Tool home page,
click on License Management,
under the Product (de)activation tab, click on the Deactivate button and Apply to confirm and stop the running license server(s) and return all existing fulfillment from this machine.
The words "Success" or "Failed" are shown depending on the success or failure of the uninstalling process, respectively.
Click on the Unset Autostart button under the License server tab to complete the uninstalling process.



In a shell

The license service should be stopped before uninstalling NUMECA software. 
To do so, the following operations must be performed:

Go to the directory NUMECA_INSTALLATION_DIRECTORY/<product_name>/OSname/install/flex#/
                                
Execute the command: ./lmutil lmdown -c LICENSE_FULL_PATH/license.dat





Uninstall in mono-version environment

Proceed as follows to remove a product in a mono-version environment under Linux: 
                            

Verify that there are no running tasks on the machine.
                                
Stop the license service before uninstalling NUMECA software. More details in the subsection Uninstall license service.
                                                                
Remove the lines from "#begin NUMECA configuration" to "#end NUMECA configuration" from the user's .cshrc, .tcshrc or .profile file.
                                
Remove the directory NUMECA_INSTALLATION_DIRECTORY and its content.
                                



Partly uninstall in multi-version environment

Proceed as follows to remove one product version in a multi-version environment under Linux: 
                            

Verify that there are no running tasks on the machine.
                                
Stop the license service before uninstalling NUMECA software. More details in the subsection Uninstall license service                                                               .
                                
Remove the directory NUMECA_INSTALLATION_DIRECTORY/<product_name>/ and all of its content.

Before removing the directory NUMECA_INSTALLATION_DIRECTORY/<product_name>/, check and make sure that the license file is not inside the directory.


Fully uninstall in multi-version environment

Proceed as follows to remove all NUMECA products in a multi-version environment under Linux: 

Verify that there are no running tasks on the machine.
                                    
Stop the license service before uninstalling NUMECA software. More details in the subsection Uninstall license service.
                                    
                                    
Remove the lines from "#begin NUMECA configuration" to "#end NUMECA configuration" from the user's .cshrc, .tcshrc or .profile file.
                                    
Remove the directory NUMECA_INSTALLATION_DIRECTORY and its content.

User Configuration
Introduction

 At the end of the installation, each user willing to use NUMECA software must initially configure his/ her working environment by running an initialization script. 


Configure the user environment


Log in as user.
Go to the directory NUMECA_INSTALLATION_DIRECTORY/COMMON, and execute the command ./configure. This operation will add a couple of lines in the user's .cshrc, .tcshrc or .profile file (located in user's home directory) and add the NUMECA software in user's default path.
Log out and log in again to apply the information in the .cshrc , .tcshrc or .profile file.


On Linux, NUMECA software saves some data (preferences, user fluid database, templates...) in the folder $HOME\.numeca\. The variable $HOME is imposed by NUMECA software and cannot be modified.
During the runtime, NUMECA software writes temporary data in the directory $HOME/.numeca/tmp. This tmp directory can be redefined by defining the environment variable NI_TMP_DIR.



Optional: configure account to allow remote computations 
When configuring the FINE™ environment for remote computations, it is strongly advised to suspend all currently running tasks and shutdown the PVM daemon before starting the configuration.:


Start the Task Manager (Modules/Task Manager) from the FINE™ GUI and select the Hosts definition  page in the menu on the left.
                                


Click on the button Shutdown. A warning message will appear stating that all hosts will be removed from the Virtual Machine and that FINE™ GUI will be closed. Click on yes to continue.


RSH

FINE™ enables to launch computations on remote machines by using the Task Manager capabilities. To be able to perform remote launches using rsh command, NUMECA software must be installed on the remote machine and explicit permission must be specified in the dedicated .rhosts file, located in the user's home directory. To this end, the following operation must be checked and/ or performed:

Edit the .rhosts file and check information describing the list of computer and user authorized to use the Task Manager. Example of .rhosts file:computer1 user1 computer2 user1 computer3 user1
Check the permission of the .rhosts file (600 is required).
Check that the rsh command is active on all machines listed in the .rhosts file. This can be done by typing the command rsh machine_name and checking that no password is requested. If the system keeps requesting a password, please verify that the previous steps have been correctly followed or contact your system administrator. Please note that the rsh command is not available on HP and should better be replaced by the remsh command.
Check that the rlogin command allows user to login on all machines listed in the .rhosts file, without requiring any password information. Providing these few tests are successful, the Task Manager is ready to use.

Use of NUMECA software with other applications that would require an access to PVM can lead to conflicts. Contact NUMECA local sales or support office for more information.


SSH

FINE™ enables to launch computations on remote machines by using the Task Manager capabilities. To be able to perform remote launches using ssh command, NUMECA software must be installed on the remote machine and the environment variable "NI_RSHCMD" should be set to "ssh":

in csh or tcsh shell:setenv NI_RSHCMD ssh
in bash or korn shell:export NI_RSHCMD=ssh

and explicit permission must be specified in the dedicated ~/.ssh/authorized_keys file. To this end, the following operations must be checked and/ or performed:

In a shell, the command ssh-keygen -t dsa will generate in the directory ~/.ssh two files, one private key and one public key.
Check the permission of the private key (600 is required).
The public key can be put on the other machine in the ~/.ssh/authorized_keys file.

The permissions on the file must be very strict:

chmod 750 ~/

chmod -R 700 ~/.ssh


Use of NUMECA software with other applications that would require an access to PVM can lead to conflicts. Contact NUMECA local sales or support office for more information.


Software launch


 When launching the FINE™ environment, the user should note:

It is not allowed for one user to simultaneously open (and therefore launch tasks in) more than one FINE™ environment with different versions.
In a multi-version environment, it is strongly suggested to shutdown the Task Manager when switching from version to version, in order to avoid possible conflicts due to the PVM daemon. This warning only applies if the versions have been installed in distinct NUMECA_INSTALLATION_DIRECTORY locations.



To launch the components:
<productname><version#> -print <Enter>


Examples


For FINE™/Turbo: fine131-print <Enter> or cfview131 <Enter> or igg131<Enter>.
For CFView™: cfview# -print with # the version of CFView™ included in your package
For IGG™/AutoGrid5: igg131  -print <Enter> or igg131  -autogrid5 -print <Enter>
For AutoBlade™: autoblade131-print <Enter>



It is important to outline that no output is displayed by default in the shell where the software is launched. Instead the output is redirected to log files, located in the directory ~/.numeca/tmp/ and named as startup_logfile_fine, startup_logfile_hexpress, startup_logfile_cfview.
However, outputs can still be forced for display in the shell. Add the -print command to the command line. This will give additional information during software launch, especially during the initial configuration of the software.

Troubleshooting
Introduction

In most cases, a straightforward and careful execution of the instructions detailed in the previous chapters enables the user to start NUMECA software smoothly. In case of problems, this section aims at providing guidelines on how to detect and solve possible troubleshooting. 


FINE™/Turbo and FINE™/Design3D not starting

In case FINE™/Turbo and FINE™/Design3D fail to start, use the -print argument in the command line, for example cfview131 -print to start the product. 
This argument will output information in the shell (including the location of the license file) which may be helpful to understand the problem. With this information at hand, check the following items:


Is the license file valid and active to start the product ?


Check if the license server is up. On the license server, two active daemons should be present. This can be seen using the commands ps -ealf | grep lmgrd and ps -ealf | grep numeca. If not, follow the instructions for license installation.


Some license check problems may occur if the host computer cannot find the server IP-address corresponding to the hostname information included in the first line of the license key. To solve this problem, replace the hostname by the IP-address of the license server. This operation does not invalidate the license key.


Check if the license key file is well readable by every user.


Did the user configure the working environment? Before using NUMECA software, each user must configure the working environment using the command ./configure within the NUMECA_INSTALLATION_DIRECTORY/COMMON/ directory; then log out and log in.


Is the graphics driver appropriate for the display ? Try to activate the X11 driver.
To change the used driver

To change the driver permanently for every next launch of the software:

Open the file ~\.numeca\.drivers
Type: host_name display_name possible_drivers chosen_driver e.g. gauss.numeca.be gauss OPENGL:X11 X11

 The selection will take effect at the next session.
Alternatively, the driver can be manually specified in a shell for that shell session only through the following commands:

in csh or tcsh shell:
setenv NI_DRIVER X11

in bash or korn shell:
NI_DRIVER=X11 export NI_DRIVER






Check if the TCP/IP protocol is installed on the machine. The protocol is mandatory to ensure the correct function of the floating licenses.


Are the NUMECA software components visible from the machine? If not, install them.


Is the OS adequate? If not, copy the correct tar file and start the installation again.


Are the Linux permissions sufficient for the user to access NUMECA software installed? Ask your system administrator.


Successive installation of FINE™  can possibly lead to trouble if tasks have been improperly stopped. To purge this issue:
Close all tasks opened (including FINE™ GUI) and kill the PVM daemon related to the user (if applicable). This operation can be performed through the kill command applied to the corresponding process number. Process numbers can be outlined using the command ps -ef | grep pvm. This operation must be performed on each machine the user can possibly access.




Graphical problems and system crashes

NUMECA software makes use of the advantages of Graphics Card available. Some trouble may however come up with the default driver OPENGL since it may not be supported by the user host computer and machine display.
In order to set the system compatible with a more portable driver, refer to the following instructions. Note however that the proposed drivers are usually less efficient in terms of graphical speed than the default driver. 
To change the used driver

To change the driver permanently for every next launch of the software:

Open the file ~\.numeca\.drivers
Type: host_name display_name possible_drivers chosen_driver e.g. gauss.numeca.be gauss OPENGL:X11 X11

 The selection will take effect at the next session.
Alternatively, the driver can be manually specified in a shell for that shell session only through the following commands:

in csh or tcsh shell:
setenv NI_DRIVER X11

in bash or korn shell:
NI_DRIVER=X11 export NI_DRIVER






GUI flashes 


In some circumstances, the graphical area can flash during interactive operations, depending upon the driver selected. This mostly happens when using the X11 driver. Setting the environment variable NI_DOUBLEBUFFERING to ON into the user profile (.cshrc, .profile, .tcshrc,...) may solve the problem under Linux. The variable can be manually specified through the following commands:

for csh or tcsh shells: setenv NI_DOUBLEBUFFERING ON
for bash or korn shells: NI_DOUBLEBUFFERING=ON         export NI_DOUBLEBUFFERING




Display drivers not detected

NUMECA products with GUI check the available working drivers and updates automatically in the .drivers file located in the .numeca directory of the user at first launch on a new machine/ display. This operation is only completed during the first execution, since it may take some time. As a consequence, the upgrade of drivers on an existing machine/ display cannot be automatically detected.


Cannot Connect to Other Hosts

At first execution of Task Manager

In case the user cannot connect to other hosts at the first execution of the Task Manager, the following should be checked:


Is the machine included in the computer list within the .rhosts file (when running remote commands with rsh)? This file details the computers authorized to use the Task Manager. The file is located in the user home directory. 
Example of .rhosts file
computer1 user1 computer2 user1 computer3 user1

Has the .rhosts adequate permission (when running remote commands with rsh)? (600 is required)
Is NUMECA software adequately installed on the selected remote hosts? If not, perform the installation.
Is the rsh command active on all machines listed in the .rhosts file? This check can be done by typing the command line rsh machine_name echo \$PVM_ROOT <Enter>. All selected machines must be accessed without requiring any password information and the $PVM_ROOT variable should be displayed adequately. Please note that the rsh command is not available on HP and should better be replaced by the remsh command.
Is the user .cshrc, .tcshrc or .profile file fully executed when opening a new batch shell (non interactive mode)? Ask your system administrator to check this issue.



Task Manager launched once with success


In case the user can no longer connect to other hosts while this operation has at least been successful once, the following should be checked: 


Start the Task Manager (Modules/Task Manager) from the FINE™ GUI and select the Hosts definition  page in the menu on the left.
                                


Click on the button Shutdown. A warning message will appear stating that all hosts will be removed from the Virtual Machine and that FINE™ GUI will be closed. Click on yes to continue.


Close all tasks opened (including FINE™ GUI) and kill the PVM daemon related to the user (if applicable). This operation can be performed through the kill command applied to the corresponding process number. Process numbers can be outlined using the command ps -ef | grep pvm. This operation must be performed on each machine the user can possibly access.






Further troubleshooting

For more information and troubleshooting:

consult the forum in NUMECA's Customer Area with a section dedicated to installation.
or contact NUMECA local sales or support office (for active maintenance plans only). 

To help to find a solution within the shortest delays, please provide a detailed description of the observed behavior and performed analysis.
The following information can be helpful:

the license key file license.dat.
the hostname and hostid. This information can be obtained by executing the commands lmutil lmhostid -hostname <Enter>  and lmutil lmhostid <Enter> in the NUMECA_INSTALLATION_DIRECTORY/<product_name>/LINUX/install/flex64/ directory.
the product name and version for which installation is causing problems.
a description of the configuration (in terms of name, platform and OS for each machine on which NUMECA software is installed).
the .log file generated during the installation and located in the /tmp directory on the machine from where the script ./install_numeca has been launched .
the "startup_logfile_*" files located in ~\.numeca\tmp.

Linux
The user is strongly advised to consult the Linux system requirements prior to start any installation. Troubles may indeed appear during the installation and configuration phases in case the listed hardware and software requirements would not be fully satisfied.
Please do notice that the documentation package attached to NUMECA software is not installed during the installation procedure and can be downloaded from the Products page of the Customer Area of www.numeca.be.
In case of trouble: see Troubleshooting.
For more information and troubleshooting:

consult the forum in NUMECA's Customer Area with a section dedicated to installation.
or contact NUMECA local sales or support office (for active maintenance plans only). 

To help to find a solution within the shortest delays, please provide a detailed description of the observed behavior and performed analysis.
At the end of the Troubleshooting the information to provide is listed.

Linux
Supported platforms and operating systems

NUMECA software is supported in 64 bits on x86_64 processors only (64 bits processors that are compatible with Intel 8086 set of instructions).





Formally tested on
Also known to run ona


Fedora Core 22.x, 25.x
-


(K)Ubuntu 14.04b, 16.04b
-


CentOS 7.0.1406
-


-
SuSe 10.1, 10.2, 11.0


-
Enterprise 3.x, 4.x, 5.x


-
Fedora Core 5.x, 7.x, 8.x, 12.x, 17.x, 18.x, 20.x 


-
(K)Ubuntub 7.x, 8.x, 9.x, 10.x, 11.x, 12.x, 13.x



a. Known from partners and/ or customers. No official support offered on these combinations.
b. Debian based operating systems like Ubuntu, even if  LSB compliant, are not recommended as a license server as  it is known to diverge occasionally from the LSB standard.

FlexLM requires LSB (Linux Standard Base) compliance. The list of Linux distributions and applications certified for compliance with the LSB standard is available on http://www.linuxfoundation.org/lsb-cert/productdir.php?by_lsb.                    
When launching NUMECA software, if an error message appears when loading shared libraries, contact NUMECA local sales or support office.
Your platform of preference is not in the list?

Contact NUMECA local sales or support office. NUMECA Software does however explicitly not run on the following configurations:
				

x86_64 processors running Linux SuSe 10.3,
IBM PowerPC running Linux.



Optimal use of an Infiniband connection

The default  OpenMPI version provided in the package does not support Infiniband usage. An OpenMPI library specific to the machine(s) is required:
Use an External OpenMPI Library on Linux



Multiprocessors calculations
Multiprocessors calculations are allowed on shared and homogeneous distributed platforms. Non-homogeneous configurations are not allowed.
Hardware requirements
Next to the standard hardware (monitor, keyboard and mouse), some specific recommendations apply in the use of NUMECA software:

a mouse with scroll wheel is strongly recommended. 
the monitor should support 24-bit color graphics and have a 1280 x 1024 pixel resolution for adequate visualization. 
an Ethernet card should be installed and properly configured. 
	

Memory and disk space requirements
The Random Access Memory (RAM) required to run NUMECA software depends upon several factors, in particular including the number of grid points inserted in the grid, the physical models selected (turbulence, adaptation,...), the introduction of non-matching boundary conditions and the selected calculation mode (mixed or double precision). 
Similarly, a minimum disk space is required on the hard disk to allow the storage of the project files. The size of these files largely depends upon the number of grid points generated. 
IGG™/AutoGrid5™

The memory (RAM) required to run IGG™/AutoGrid5™  depends upon several factors, in particular including the number of grid points inserted in the grid. The use of minimum 1 GB RAM is strongly recommended. As a general guideline, about 0.5 to 0.7 GB RAM are generally required to run a one million nodes project. The suggested swap space should be equivalent to at least 3 times the RAM installed.
As a general guideline, a minimum of 50 MB is required to store the project files (geometry not defined by Parasolid™  or CATIA v5 files) for a one million nodes project.


FINE™/Turbo

As a general guideline, a minimum 100 MB is required to store the mesh and solution file (one file, no full non-matching connections, solution stored after one iteration) when running a one million nodes project.
The memory (RAM) required to run FINE™/Turbo depends upon several factors, in particular including the number of grid points inserted in the grid, the physical models selected (turbulence, optional modules,...) and the introduction of non-matching boundary conditions. The use of minimum 1 GB RAM is strongly recommended. As a general guideline, about 0.5 to 0.7 GB RAM are generally required to run a one million nodes project. Furthermore, the FINE™/Turbo  solver has a memory limit of 8.59 GB per process. This is thus the maximum memory requirement for a sequential computation. The suggested swap space should be equivalent to at least 3 times the RAM installed.


CFView™

The use of minimum 1 GB RAM is strongly recommended. As a general guideline, about 250 MB RAM are required to visualize a one million nodes project. The suggested swap space should be equivalent to at least 3 times the RAM installed.
No specific disk space is required on the hard disk for CFView™  except if  images or data files are saved or if the meridional average is created in CFView™  (turbomachinery application).


Graphics requirements
NUMECA software makes use of the advantages of the available Graphics Card. By default, the driver OPENGL is used. 
In case a problem appears with the default driver OPENGL, the user should change to the X11 driver under Linux. Note however that the X11 driver is usually less efficient in terms of graphical speed than the default driver.
The drivers OPENGL and OPENGL2 may not work when using VNC or remote access by "ssh". In case of problems, the X11 driver should be used.
To change the used driver


Open the file ~\.numeca\.drivers
Type: host_name display_name possible_drivers chosen_driver e.g. gauss.numeca.be gauss OPENGL:X11 X11

Alternatively, the driver can be manually specified through the following commands:

in csh or tcsh shell:
setenv NI_DRIVER X11

in bash or korn shell:
NI_DRIVER=X11 export NI_DRIVER


 The selection will take effect at the next session.

Installation

Install FINE™/Turbo with FINE™/Design3D under Windows


Log in as administrator or as a user with administrator privileges on the machine. If the user does not have administrator privileges, the NUMECA software installation will not be performed successfully.


Check and make sure that the necessary disk space is available prior to starting the installation process. 

Get the installation package from the Products page of the Customer Area (www.numeca.be).

Unzip the installation package.


Exit all the other active applications and launch the setup.exe executable.


During the installation, the user will be asked to accept the terms of the License Agreement.


Enter  the installation directory (referred to as NUMECA_INSTALLATION_DIRECTORY) in function of one of the following scenarios:

If NUMECA software was not installed before on the machine, choose a directory of your preference. Providing a directory name that does not exist will create it automatically.

If NUMECA software was already installed before, choose the same NUMECA_INSTALLATION_DIRECTORY to use the multiple versions and/ or products in one multi-version environment. 
It is important to notice that a common NUMECA_INSTALLATION_DIRECTORY should be shared by all NUMECA  installations (e.g. C:\numeca_software\), otherwise the multi-version installation will not be set up adequately. This is important e.g. for the good functioning of PVM when launching several products or versions one after the other.




At the end of the installation process, instructions to obtain information required for license generation will be prompted. To this end, the following steps must be performed:

Click on Yes.
The license information is stored in the file license.info located in NUMECA_INSTALLATION_DIRECTORY automatically.  Once it is saved, send this text file to NUMECA local sales or support office. 

Alternatives to get the license information

The information can also be recovered as the Ethernet Address by clicking on the System Settings tab after launching lmtools.exe located in the directory NUMECA_INSTALLATION_DIRECTORY\<product_name>\flexlm. 




After the package is installed, the NUMECA Admin Tool is launched automatically. This is a tool for license management and provides a graphical user interface for the management of the license server and client machines. The tool offers a guide through the process of setting up and configuring a license server. 
Alternatives to access the NUMECA Admin Tool

After installation, the NUMECA Admin Tool can also be started from 
			Start/Programs/NUMECA software/<product_name>/Admin Tool menu. 
			Close the NUMECA Admin Tool dialog box to leave the tool and to finalize the installation.


Tasks that can be performed in the NUMECA Admin Tool


License Management: to configure the machine as license server and/ or client.
User Configuration: to set user MPI configuration.
Diagnostics: to assess and fix problems with license management, graphics, Windows registry and parallel configuration.


Network Configuration: to clean and reinitialize PVM, to setup RSH connections to other machines/ users.




When receiving the license file from NUMECA, perform the license installation and user configuration:

License management

User Configuration



During an installation and license specification, the administrator must launch the software once to properly initialize flexlm.
In case of installation problems, right-click on setup.exe, select the option Run as... and then either run as the true Windows Administrator account, or if and only if the user account with Administrator privileges, run as user, but remove the option to run the program with restricted access. On Windows 7 it may also be necessary to disable the User Account Control feature (UAC) at least during the installation process and the configuration steps.
In order to run distributed memory parallel computations, NUMECA software must be installed in the same directory on different machines.

User Configuration
Optional user configuration
Without the optional steps in this section it is still possible to launch a simulation on one processor on the local machine with a default location of the home directory.
Configure account to perform parallel computations

Provided that the parallel capabilities have been adequately installed and valid licenses can be accessed, the user will be able to perform parallel computations. Launching a parallel computation, the system will by default request the user login and password. Before the first launch, the user can register his/ her name and password once and for all, by doing the following steps:

Open a DOS shell, 
Type the command NUMECA_INSTALLATION_SOFTWARE/fine131/bin64/mpiexec.exe -register<Enter>.
Enter the user login and password and confirm.


If the user does not register his/ her name and password before launching the parallel computation, the FINE™ GUI will prompt the user to enter credentials (Windows login account) if needed. 
Currently, it is not possible to launch the computation without the registering/ providing the user's credentials. Thus, if no password has been defined during the registration,  it will be necessary to set the password on the machine in any case.
Domain administrators are not allowed to run parallel computations under Windows.
PVM does not support domain accounts.
Parallel computations under Windows (except Windows Server) are limited to one PVM daemon running at a time on the machine. Consequently, access to multiple users on a given machine is not allowed.
MPICH2 library needs Microsoft .net Framework package before installing NUMECA software.
When running parallel computations, the path to the project must be identical on both the local and remote machines. For example, for distributed memory parallel computations, a folder must be mounted on each machine and share the same drive name, in order to store the project directory that will be run in parallel on multiple hosts.



Configure account to allow remote computations

It is possible to launch tasks on remote machines by using the Task Manager capabilities. To be able to perform remote launches, NUMECA software must be installed and explicit permission must be specified on the remote machine. To this end, the following operation must be checked and/ or performed on the remote machine:

Open the Windows Control Panel window (Start/Settings/Control Panel).
Click on the Services icon under System and Security/Administrative tools.
Select from the list of services NUMECA RSH Daemon.
Click on Stop and leave the Services window open.

Edit the file rhosts.txt in the directory C:\WINDOWS on both the host and client machines. 
This can be done through the FINE™/Admin Tool. Launch it from All Programs->NUMECA software-><product_name>->Administration Wizard and select Configure the TaskManager in this machine.
Alternatively edit the rhosts.txt file

Edit the text file and add the following line for each host user you want to give access permission: 
hostname username:
These lines typically give right to the user username, working on the machine hostname, to connect to the machine containing the rhosts.txt file.



Select the NUMECA RSH Daemon from the list of services in the Services window.
Click on Start. Starting this service may take approximately 5 minutes.

Use of the Task Manager under Windows with a Linux host may lead the remote copy to option to fail. See also: Cannot connect to other hosts in the Troubleshooting section for more detail on this problem.

In addition to that, the firewall should also allow remote computations of FINE™/Turbo. To do so, follow the steps below:


Add a Port inbound and outbound rule for a TCP protocol with the number 514. The connection should be allowed for all type of profiles.

Allow the following programs to bypass the firewall inbound and outbound rules: smpd, mpiexec, euranusx86_64, euranusdpx86_64, euranus_mpich2x86_64 and euranusdp_mpich2x86_64 located in <NUMECA_INSTALLATION_DIRECTORY>\fine131\bin64; lib\win32\pvmd3.exe, bin\rsh.exe, bin\rsh_vista.exe and bin\win32\hoster.exe located in <NUMECA_INSTALLATION_DIRECTORY>\pvm.



Home directory

On Windows, NUMECA software saves some data (preferences, user fluid database, ...) in the folder %HOME%\.numeca\, or in the %HOMEDRIVE%%HOMEPATH%\.numeca\ folder in case %HOME% is not defined. If the user wants to customize the path of the .numeca folder, the user can redefine the system environment variable HOME. 
Note: 

The variable HOME must be defined as a system environment variable.
 Defining HOME to a network disk may significantly slow down the NUMECA software GUI.

During the runtime, NUMECA software writes temporary data in the directory %HOME%\.numeca\tmp. This tmp directory can be redefined by defining the environment variable TMP_DIR.


Software launch
After configuring, the product can be started from the Start\Programs\NUMECA software\<product_name>\ menu.
It is not allowed to start NUMECA software under Windows as administrator in a user domain environment. This limitation does not apply to user login.
In case the license has not been configured adequately at this stage of the installation process, it is still possible to launch the product by selecting a license file (server) when prompted after first launch.
The UAC (User Account Control) should be disable for running the solver in parallel otherwise it prevents mpiexec to record the encrypted login and password in the registry database and the Task Manager remains open forever without any evolution.
NUMECA software can be launched directly from the user desktop by copying shortcuts from ~\AllUsers\StartMenu\Programs\NUMECA software\<product_name>\ to ~\AllUsers\Desktop.
It is not suggested for one user to simultaneously open (and therefore launch tasks in) more than one FINE™  environment.

Windows
Supported platforms and operating systems
NUMECA software is supported in 64 bits on x86_64 processors only (64 bits processors that are compatible with Intel 8086 set of instructions).





Formally tested on
Also known to run ona




Windows 7 Professional
-


Windows 8.1 Professional
-


Windows 10 Professional
-


Windows HPC 2012
 


-
VISTA Business


-
VISTA Ultimate



                        -
                    

                        Windows Server 2008
                    



                        -
                    

                        Windows Server 2012
                    



a. Known from partners and/ or customers. No official support offered on these combinations.
Please also notice that the following limitations apply:

Computations under Windows (except Windows Server) are limited to one PVM daemon running at a time. As a consequence, access to multiple users on a given machine is not allowed,
Parasolid uses SSE2 instruction for high performance. If your platform is not supporting the SSE2 instruction, the FINE™ GUI cannot be started.

Your platform of preference is not in the list?

Contact NUMECA local sales or support office. NUMECA software does however explicitly not run on the following configurations:
				

Power PC based systems,
WINDOWS 2000 server workstations,
WINDOWS 95, 98 or ME workstations.




Multiprocessors calculations
Multiprocessors calculations are allowed on shared and homogeneous distributed platforms. Non-homogeneous configurations are not allowed.

The following limitations additionally apply:
                            

Multiprocessors calculations are allowed on distributed platforms in local user configurations provided that the same account is used for all machines,
Domain administrators are not allowed to run multiprocessors calculations.
MPICH2 library needs Microsoft .net Framework package before installing NUMECA software otherwise execution of mpiexec.exe will lead to a Windows error message.



Hardware requirements
Next to the standard hardware (monitor, keyboard and mouse), some specific recommendations apply in the use of NUMECA software:

a mouse with scroll wheel is strongly recommended. 
the monitor should support 24-bit color graphics and have a 1280 x 1024 pixel resolution for adequate visualization. 
an Ethernet card should be installed and properly configured. 
	


NUMECA Software does not support CXFS (Clustered XFS) and IBRIX disk file systems.

Memory and disk space requirements
The Random Access Memory (RAM) required to run NUMECA software depends upon several factors, in particular including the number of grid points inserted in the grid, the physical models selected (turbulence, adaptation,...), the introduction of non-matching boundary conditions and the selected calculation mode (mixed or double precision). 
Similarly, a minimum disk space is required on the hard disk to allow the storage of the project files. The size of these files largely depends upon the number of grid points generated. 
More product specific details:
IGG™/AutoGrid5™

The memory (RAM) required to run IGG™/AutoGrid5™  depends upon several factors, in particular including the number of grid points inserted in the grid. The use of minimum 1 GB RAM is strongly recommended. As a general guideline, about 0.5 to 0.7 GB RAM are generally required to run a one million nodes project. The suggested swap space should be equivalent to at least 3 times the RAM installed.
As a general guideline, a minimum of 50 MB is required to store the project files (geometry not defined by Parasolid™  or CATIA v5 files) for a one million nodes project.


FINE™/Turbo

As a general guideline, a minimum 100 MB is required to store the mesh and solution file (one file, no full non-matching connections, solution stored after one iteration) when running a one million nodes project.
The memory (RAM) required to run FINE™/Turbo depends upon several factors, in particular including the number of grid points inserted in the grid, the physical models selected (turbulence, optional modules,...) and the introduction of non-matching boundary conditions. The use of minimum 1 GB RAM is strongly recommended. As a general guideline, about 0.5 to 0.7 GB RAM are generally required to run a one million nodes project. Furthermore, the FINE™/Turbo  solver has a memory limit of 8.59 GB per process. This is thus the maximum memory requirement for a sequential computation. The suggested swap space should be equivalent to at least 3 times the RAM installed.


CFView™

The use of minimum 1 GB RAM is strongly recommended. As a general guideline, about 250 MB RAM are required to visualize a one million nodes project. The suggested swap space should be equivalent to at least 3 times the RAM installed.
No specific disk space is required on the hard disk for CFView™  except if  images or data files are saved or if the meridional average is created in CFView™  (turbomachinery application).


NTFS file system is recommended for installation and working directories under Windows.
Graphics requirements
NVidia graphics cards are fully supported, installed together with the latest drivers.
NUMECA software makes use of the advantages of the available Graphics Card. Some trouble may however come up with the default driver OPENGL since it may not be supported by the user host computer and machine display. In order to set the system compatible with a more portable driver, typically MSW driver is used under Windows instead. Note however that the proposed drivers are usually less efficient in terms of graphical speed than the default driver.
To change the used driver

For all products except in IGG™/ AutoGrid5™:


Log in as administrator. 
                                    
Launch regedit from the Start/Run menu. 
                                    
Go to the HKEY_LOCAL_MACHINE/SOFTWARE/NUMECA International register. 
                                    
Go into the folder of the package for which to modify the driver, e.g.: Fine# where # is the version number.
Modify the DRIVER entry to either OPENGL or MSW.


 The selection will take effect at the next session.

For IGG™ see the Graphics Driver section in the IGG™ User Guide.
In AutoGrid5™ see the Graphics Driver section in the AutoGrid5™ User Guide.

Troubleshooting
Introduction
In most cases, a straightforward and careful execution of the instructions detailed in the installation note enables to start NUMECA software smoothly. In case it is not working as expected this section provides information on how to handle most common situations.
Product not starting


In case FINE™/Turbo and FINE™/Design3D do not start, check the following items:


Is NUMECA software installed with administrator privileges? If not, perform the installation again with administrator privileges.


Check whether 'Hide file extensions for known types' (activated by default for .dat extensions) is disabled to enter the name of the license file with its extension license.dat.


Is the license file valid and active to start the product ?


Check if the license server is up. If so, the numeca.exe process should run in the Windows Task Manager. If not, please do the instructions for license installation.


Some license check problems may occur if the host computer cannot find the server IP-address corresponding to the hostname information included in the first line of the license key. To solve this problem, replace the hostname by the IP-address of the license server. This operation does not invalidate the license key.


Check if the license key file is well readable by every user.

Did the user configure his/ her working environment? If not, perform the configuration according to the section User Configuration; then log out and log in.

Has the machine been rebooted after a change in the environment variables? If not, reboot it.


Check if the TCP/IP protocol is installed on the machine. The protocol is mandatory to ensure the correct function of the floating licenses.


Are the NUMECA software components visible from the machine? If not, install them.



Clean PMV files:

Close all tasks opened, including the FINE™GUI.
Open the Windows Task Manager and select the thumbnail Processes.
Check that no process pvmd3.exe is running. If so, select the process and click End Process to stop it.
Delete any files called pvm*.username in the directory defined by the environment variable PVM_TMP (usually C:\tmp).






Graphical problems and system crashes


NUMECA software makes use of the advantages of the available Graphics Card. Some trouble may however come up with the default driver OPENGL since it may not be supported by the user host computer and machine display. In order to set the system compatible with a more portable driver, typically MSW driver is used under Windows instead. Note however that the proposed drivers are usually less efficient in terms of graphical speed than the default driver.
To change the used driver

For all except IGG™/AutoGrid5™

Log in as administrator. 
                                    
Launch regedit from the Start/Run menu. 
                                    
Go to the HKEY_LOCAL_MACHINE/SOFTWARE/NUMECA International register. 
                                    
Go into the folder of the package for which to modify the driver, e.g.: Fine#  where # is the version number.
Modify the DRIVER entry to either OPENGL or MSW.


 The selection will take effect at the next session.
For IGG™ see the Graphics Driver section in the IGG™ User Guide.
In AutoGrid5™ see the Graphics Driver section in the AutoGrid5™ User Guide.





Screen flashes

In some circumstances, the graphical area can flash during interactive operations, depending upon the driver selected.  Setting the environment variable NI_DOUBLEBUFFERING to ON in HKEY_LOCAL_MACHINE/SOFTWARE/NUMECA International/<product_name> register may solve the problem. To launch the registry editor, access regedit in the Start/Run text box.


Flow solver not starting in parallel mode

The parallel account must be configured at first use.  Please refer to the User Configuration section for more information.
To launch parallel computations on Windows, the  solver uses the MPICH2 libraries and the smpd process manager. The smpd service is automatically installed and started during the installation of FINE™. If the user has already the smpd service installation before installing FINE™, there may be a conflict between the smpd services and thus the smpd service in FINE™ may not be started. If the user gets the error message smpd version mismatch during the parallel computation, check if the FINE™ smpd service is started. If not, stop other smpd services and start the one installed by FINE™ (the service name is MPICH2 Process Manager, Argonne National Lab and the linked executable is  Installation_path\fine<version>\bin64\smpd.exe).


Cannot connect to other hosts

At the first execution of task manager

Can the machine be "seen" from the remote hosts (and vice-versa)? Use the ping command to check this item.
Is the machine name included in the computer list within the rhosts.txt file of the  user? Please notice that capital letters must be used; extra-characters like "è, ä, ë, ..." may lead to potential problems and should better be avoided.


Task manager launched once with success


In case the user can no longer connect to other hosts while this operation has at least be successful once, the following should be checked: 




Start the Task Manager (Modules/Task Manager) from the FINE™ GUI and select the Hosts definition  page in the menu on the left.
                                


Click on the button Shutdown. A warning message will appear stating that all hosts will be removed from the Virtual Machine and that FINE™ GUI will be closed. Click on yes to continue.




Close all currently open tasks (including the FINE™ GUI) and remove pvmd.* and pvml.*, located in the directory defined by the environment variable PVM_TMP (by default C:\tmp), if applicable. Additionally kill the PVM daemon pvmd3.exe, if applicable. The status of PVM daemon can be observed by accessing the Windows Task Manager.






Remote copy does not work


The remote copy option can be accessed in Task Manager Tasks Definition area. 
This option does not work if the user configuration file .cshrc (Linux platform) gives output to a shell. To test whether it applies, open a DOS shell on the Windows machine and type the command rsh machine_name echo YES <Enter> (where machine_name refers to the name of the Linux machine). If the value returned is YES, the configuration is correct and the remote copy option is expected to work properly. If additional lines are returned, problems are expected. If so, further troubleshooting is needed as described in the following section.



Further troubleshooting

For more information and troubleshooting:

consult the forum in NUMECA's Customer Area with a section dedicated to installation.
or contact NUMECA local sales or support office (for active maintenance plans only). 

To help to find a solution within the shortest delays, please provide a detailed description of the observed behavior and performed analysis.
The following information can be helpful:

the license key file license.dat.
the hostname and hostid. This information can be obtained by executing into the subdirectory NUMECA_INSTALLATION_DIRECTORY\<product_name>\flexlm the lmtools.exe (for Hostname and HostID for NUMECA as Computer/Hostname and Ethernet Address under the System Settings tab).  
the product name and version for which installation is causing problems.
a description of the configuration (in terms of name, Windows version, local or domain user).
the debug.log file generated when starting the license service.
the .out files in C:\tmp.
the pvml.username in C:\tmp (or directory defined by the environment variable PVM_TMP).

License management
Introduction
Before using NUMECA software, a valid floating license is required. 
What is a floating license?

With a floating license each software component is
 managed by an independent maximum number of concurrent accesses (number
 of processes). Floating licenses are managed by a license server which 
 checks if process access is free. If so, when launching a software 
 component, license access is given to the user process or access is 
 denied otherwise. The license can be accessed on the same computer 
 but also on other computers (clients) with Linux or Windows, 
 connected through a network to the license server. The license server 
 can be a Linux or a Windows machine.




NUMECA updates the security ID of license files with each major release. License files with old security ID cannot be used with the latest NUMECA software. Please send your old license file to NUMECA local sales or support office for an upgrade of the license file.
Redundant license server can be delivered allowing to manage a floating license by several servers. For more information, contact NUMECA local sales or support office.
Machines used as license server must  have a fixed first IP address. For example, when using VPN on Windows, VPN will become the first network interface. In this case, the license server will not work properly.
By default it is not possible to use a virtual machine as a license server. To install a license server on a virtual machine, contact your account manager.



Running Windows 64-bits, an additional Windows security patch is required to enable CATIA v5 import with Datakit. For more details, link to the Microsoft official website.



NUMECA software must be installed on the license server. At the end of the installation, the license information (the HostName and HostID of this computer) must be sent to NUMECA local sales or support office in order to get a license file. 
Before using NUMECA software, the license daemon should be configured on the license server.
See also: Installation
To set up the license server it is necessary to prepare the license file and launch the server either though the NUMECA Administration Tool or in LMTools.
Access to the NUMECA Admin Tool

At the end of the installation of NUMECA software the Administration Tool is launched automatically. 
It can also be started anytime from the Start/Programs/NUMECA software/<product_name>/Admin Tool menu.
It is required to run the Admin Tool as administrator for its proper functioning.



            Prepare the license file
        

To install the license service:

Rename the license file as license.dat
Copy the license.dat file in the directory that all users are able to access.
                                
Check that the license file has the read-execute access privileges:
                                    

select the license file license.dat using Windows Explorer.
while keeping the mouse on the selected file right-click and select from the appearing menu: Properties. This will open a properties window.
on the General page the Read-only box of the Attributes should not be selected. Unselect this box if necessary.

click on Apply and click on Close to close the window.
The "license.dat" file must be readable by every user.




When using a TCP port for the license server, the port number (check the free port with the command: C:\\netsat -an) has to be added in the license file on the server/ vendor line: 

SERVER hostname hostid and VENDOR numeca should be replaced by SERVER hostname hostid portnumber1 and VENDOR numeca portnumber2; 
reread the license file,
 start NUMECA software and specify the license server writing portnumber@hostname. All specified ports should be opened and free.


It is no more required to copy the license files on every client workstation if the variables NUMECA_LICENSE_FILE defined as @license_server or port_number@license_server are added in the registry database for each client. This allows to update the license file only on the license server.



License set-up in NUMECA Admin Tool

Start floating license service

To start the license service:

Select License Management.
On the line Activate from license file browse to the license file under the Product (de)activation tab.
Click on the Activate button.

The manual start operations must be repeated each time the server machine is rebooted. Alternatively it would be possible to define an automatic start of the license service from lmtools or using the NUMECA Admin Tool.


Automatic start at machine boot



                         After the manual start of the license service, it is possible to have it automatically start at machine boot:

Select License Management.
Under the License server tab, click on the Set Autostart button.

A Windows service called NUMECA License server is used.



Verify license service status

To verify that the license server is correctly running do the following:
                            

From the NUMECA Admin Tool home page, click on License Management.
Select the License server tab.
Select the license server in the first table listing all known servers available on the machine.
Information regarding the available features, number of available licenses and number of used licenses is shown in the second table.



Update of license file

When a license file is expired, contact NUMECA local sales or support office to obtain an updated license file.
 Rename this license file to license.dat and follow the instructions below.

Replace the active license file license.dat with the update license provided by NUMECA (renamed as license.dat). 
It is strongly suggested to make a backup of the old license file, for safety, by renaming it to "license.old".

From the NUMECA Admin Tool home page, click on License Management .

Select the License server tab.
Under the Start/Stop/Reread section, make sure the license path is correct and click on the icon .                                    


If the version of the Flexlm tool is upgraded or the version of the license file security ID is upgraded, an update of the license file is not enough. The user must shutdown the running license server and start a new license server with the latest Flexlm tool and the latest license file.




Alternative: license set-up in lmtools

Start license service


In Windows Explorer, browse to the directory NUMECA_INSTALLATION_DIRECTORY/<product_name>/flexlm and double click on lmtools.exe.
                                
On the Service/License File page select Configuration using Services.
                                
Select the Config Services tab.
                                
Enter for Service Name any name indicating that it is related to a NUMECA license (e.g., numeca_license).
                                
To enter the Path to the lmgrd.exe file click on Browse right next to the text box and browse to NUMECA_INSTALLATION_DIRECTORY/<product_name>/flexlm and select lmgrd.exe.
                                
To enter the Path to the license file, click on Browse right next to the text box and browse to the license file license.dat to select it (files of type from license files (".lic") to license files (".dat")).
                                
Enter HOME_DIRECTORY/.numeca/debug.log to access the path of debug log file. This file is automatically created when starting the license service.
                                
Click on Save Service.
                                
Select Use Services and Start Server at Power Up. In this way the license service will be automatically starting when booting under Windows.
                                
To start the server now manually select the tab Start/Stop/Reread.
                                
Select the NUMECA license service under Flexlm license Services installed on this computer.
                                
Click on Start Server.
                                


If the license service was correctly started, numeca.exe and lmgrd.exe should be visible in the list of processes or services in Windows Task Manager. If these executables are not running verify the debug.log file. 
See also: Troubleshooting


If NUMECA software is used on the license server, the user should first perform a user configuration as described in the section User Configuration.
                                


Launch the software a first time.
Click on Specify the License Server.
                                
Enter the name of the license server or its IP address.
                                
Click on Finish.




Update of license file

When a license file is expired, contact NUMECA local sales or support office to obtain an updated license file.
 Rename this license file to license.dat and follow the instructions below.

Replace the active license file license.dat with the update license provided by NUMECA (renamed as license.dat). 
It is strongly suggested to make a backup of the old license file, for safety, by renaming it to "license.old".
Go to  the directory NUMECA_INSTALLATION_DIRECTORY/<product_name>/flexlm.
Start the LMTools by double clicking on lmtools.exe
Select the tab Start/Stop/Reread.
                                    
Select the NUMECA license service in the list and click on ReRead License File.


If the version of the Flexlm tool is upgraded or the version of the license file security ID is upgraded, an update of the license file is not enough. The user must shutdown the running license server and start a new license server with the latest Flexlm tool and the latest license file.


Verify license service status

To verify that the license server is correctly running do the following:
                            

Open the Windows Task Manager.
                                
Select the  Processes or Services.
                                

                                Check that the processes numeca.exe and lmgrd.exe are running.
                                  
                            

or:
                            

In Windows Explorer browse to the directory NUMECA_INSTALLATION_DIRECTORY/<product_name>/flexlm and double click on lmtools.exe.
                                
Select Configuration using Services.
                                
Select the tab Server Status.
                                
Click on Perform Status Enquiry and wait to see the server status and the available features.





Floating license on Windows client

When a floating license is installed on a  license server, this license may be used by other computers with a network connection to the license server. In this section, it is assumed that the license server is running. On each Windows client, the user must: 
                                Install NUMECA software.Perform a user configuration on this machine before first use as described in the section User Configuration.
Launch the software a first time.Click on Specify the License Server.
                                Enter the name of the license server or its IP address.
                                Click on Finish.



Optional for CFView™: ask software to wait for license

To request that CFView™ waits for an active license, define it in  the Home directory in the file .numeca/preferences.dat using the keyword LICENSE_WAIT.
Example

PRODUCT CFView
LICENSE_WAIT
END_PRODUCT



Configuration for MINAMO run modes (only for use with FINE™/Design3D)

Floating license management for MINAMO run modes

The FINE™/Turbo & FINE™/Design3D package integrates the MINAMO run modes developed at Cenaero, which allow the user to perform accurate design space sampling and advanced optimization methods in FINE™/Design3D. Before using MINAMO run modes, the user must setup the licensing.
Start the license server

                    In the activation procedure described below, the user is assumed to have already performed the installation of the NUMECA software (refer to the section Installation for more details) and started the NUMECA license server (please refer to the section License set-up in NUMECA Admin Tool for more details).
After receiving the MINAMO license file, copy it to your disk. Note, next steps require administrator privileges.
Start of the MINAMO license with the NUMECA Admin Tool


Open the NUMECA Admin Tool as described in the section Access to the NUMECA Admin Tool.
Select License Management.
							
In the tab Product (de)activation, active the option Activate from license file. Select the MINAMO license file via the button at the end of the field, or enter manually the full path to the MINAMO license file.					
Click on Open the validate the selection, and press Activate. A message pops up, inviting the user to stop the NUMECA license server. Click on OK to validate this step.
An error message may appear following the pop-up mentioned in the previous step, indicating that the license server has failed to properly start. This should have no influence on the activation procedure. Accept the message by clicking on  OK.				
                    
							
Under the tab License server, select the local machine in the first table. The MINAMO features should appear together with the NUMECA features.
							An additional check may be performed following the instructions written in the section Verify license service status. The executable CENAERO.exe should appear together with numeca.exe and lmgrd.exe among the list of running processes.							
Close the NUMECA Admin Tool.



Alternative: Start of the MINAMO license with lmtools

 To perform the activation of the MINAMO license server with the lmtools, please refer to the steps described in the section Start license service, by considering the MINAMO license instead of the NUMECA license. As service name, the user can specify for example "NUMECA MINAMO License Server".




Configuration for FEA solver Oofelie (only for use with FINE™/Design3D)

Floating license management of the FEA solver Oofelie
The FINE™/Turbo & FINE™/Design3D package integrates the multiphysics FEA solver Oofelie developed at Open-Engineering S.A., which allows the user to perform multidisciplinary optimization in FINE™/Design3D. Before using Oofelie, the user must setup the licensing.
Install the license manager FlexNet

In Windows Explorer, go to NUMECA_INSTALLATION_DIRECTORY\Fine131\oofelie\data\flexlm\, launch the license management setup program,
Follow the steps to finish the installation (Select Server install for Setup type). 

After installing the license management program,  the C:\Program Files\OpenEngineering\flexlm\mailme.txt file (including the information of the HostName and HostID of this computer) must be sent to your NUMECA local sales/support office or info@open-engineering.com in order to get a license file.
Start the license server
After receiving the license file, copy it to your disk. Note, next steps require administrator privileges.

In Windows Explorer, browse to the directory C:\Program Files\OpenEngineering\flexlm\ and double click on lmtools.exe.
			
On the Service/License File page select Configuration using Services.
			
Select the Config Services tab.
			
Enter for Service Name any name indicating that it is related to a oofelie license (e.g., oofelie_license).
			
To enter the Path to the lmgrd.exe file click on Browse right next to the text box and browse to C:\Program Files\OpenEngineering\flexlm\ and select lmgrd.exe.
			
To enter the Path to the license file, click on Browse right next to the text box and  select the received license file.
			
Enter C:\Program Files\OpenEngineering\flexlm\debug.log to access the path of debug log file. This file is automatically created when starting the license service.
			
Click on Save Service.
			
Select Use Services and Start Server at Power Up. In this way the license service will be automatically starting when booting under Windows.
			
To start the server now manually select the tab Start/Stop/Reread.
			
Select the oofelie license service under Flexlm license Services installed on this computer.
			
Click on Start Server.
			
If the license service was correctly started, openeng.exe and lmgrd.exe should be visible in the list of processes or services in Windows Task Manager. If these executables are not running verify the debug.log file and contact with your NUMECA local support office.
			

Configure on Windows clients
To configure on Windows clients, launch again the license management setup program "NUMECA_INSTALLATION_DIRECTORY\Fine131\oofelie\data\flexlm\Setup.exe". During the installation, select Client install for Setup type then enter the server name (for example @server where server is the name of the machine).


Student version with activation ID

In general a license certificate (text file) is provided to give access to NUMECA software. Alternatively the NUMECA Admin Tool allows to use an activation ID to start the license server. For example, the free student version is based on an activation ID and the instructions how to use it are provided together with the activation ID. Use of an activation ID requires the use of Trusted storage and installation of an anchor service. Hence this terminology can be found in the NUMECA Admin Tool but can be safely ignored in case of a license certificate in text file format.
Example of an Activation ID: C2a9-561f-7895-435b-acb5-3520-c166-4bcc

Windows

The user is strongly advised to consult the Windows system requirements prior to the  installation of FINE™/Turbo and FINE™/Design3D. Problems may indeed appear during the installation and configuration phases in case the listed hardware and software requirements would not be fully satisfied.
Please do notice that the documentation package attached to NUMECA software is not installed during the installation procedure and can be downloaded from the Products page of the Customer Area of www.numeca.be.
In case of trouble: see Troubleshooting.
For more information and troubleshooting:

consult the forum in NUMECA's Customer Area with a section dedicated to installation.
or contact NUMECA local sales or support office (for active maintenance plans only). 

To help to find a solution within the shortest delays, please provide a detailed description of the observed behavior and performed analysis.
At the end of the Troubleshooting the information to provide is listed.

Uninstallation

Before removing a product, the license service and PVM should be stopped as detailed in the following section. As a next step the product can be removed.

Uninstall license service
In case the license service is defined based on a version of NUMECA software to uninstall, the license service should be stopped and removed first. Of course further use of remaining NUMECA products on the machine will require redefining the license service based on the most recent product.
In NUMECA Admin Tool


Go to the NUMECA Admin Tool home page,
click on License Management,
under the Product (de)activation tab, click on the Deactivate button and Apply to confirm and stop the running license server(s) and return all existing fulfillment from this machine.
The words "Success" or "Failed" are shown depending on the success or failure of the uninstalling process, respectively.
Click on the Unset Autostart button under the License server tab to complete the uninstalling process.



Or in LMTools


Browse in Windows Explorer to the directory NUMECA_INSTALLATION_DIRECTORY/<product_name>/flexlm.
Double click on lmtools.exe.
Select Configuration Using Services.
Click on the Start/Stop/ReRead tab.
Select the NUMECA license service from the list of services.
Click on Stop to stop the license service.
Click on the tab Configure Services.
Select the NUMECA license service through the Service Name pull down menu.
Click on Remove Service to remove the service.



Close PVM

FINE™ environment uses PVM. Before uninstalling FINE™, the PVM process must be closed. This can be done as follows:


Start the Task Manager (Modules/Task Manager) from the FINE™ GUI and select the Hosts definition  page in the menu on the left.
                                


Click on the button Shutdown. A warning message will appear stating that all hosts will be removed from the Virtual Machine and that FINE™ GUI will be closed. Click on yes to continue.




Uninstall the Product
Before uninstalling verify the following:

 that there are no running tasks on the machine,
that the license service was stopped as described in the previous section (Uninstall license service).


Depending upon the configuration, there are several possibilities:
                            

If the product is the only product and the only version on the computer: uninstall in mono-version environment.
                                
If other products and/ or other versions are installed on the same machine, it is possible to:                                 

to remove only some of these products/ versions: partly uninstall  in multi-version environment",
                                    
to remove all products: fully uninstall  in multi-version environment".




Uninstall in mono-version environment


Proceed as follows to remove FINE™/Turbo v131 in a mono-version environment under Windows: 
                            


Optional: 

go to NUMECA_INSTALLATION_DIRECTORY/fine131/bin64 in a dos shell and 

type smpd -remove so as to remove the services for MPICH2. 
Please do notice that this step is optional and only applies if MPICH2 services have not yet been removed. Otherwise, an error message indicating that the service has not been installed will appear. Please also notice that the services can be installed back if necessary with the command smpd -install.
			


Go to NUMECA_INSTALLATION_DIRECTORY/impi5/ in a dos shell and type hydra_service -remove so as to remove the services for IntelMPI. 
Please do notice that this step is optional and only applies if IntelMPI services have not yet been removed. Otherwise, an error message indicating that the service has not been installed will appear. Please also notice that the services can be installed back if necessary with the command hydra_service.exe -install.
			





Go to NUMECA_INSTALLATION_DIRECTORY/pvm/bin in a dos shell and type nirshd -remove so as to remove the services for RSH daemons.
Please notice that the services can be installed back if necessary with the command nirshd -install.
                                



Proceed with a reboot of the PC.
                                

Open the Windows Control Panel (Start/Settings/Control Panel) and double click on the icon Add/Remove Programs.
Select Fine131 from the list and click on Add/Remove.
                                



Partly uninstall in multi-version environment

Proceed as follows to remove FINE™/Turbo v131 or, for example, FINE™/Turbo v9.1_# (but not both) in a multi-version environment under Windows:

Open the Windows Control Panel (Start/Control Panel) and double click on the icon Programs and Features.
                                
Select Fine131 or Fine 91_# from the list and click on Uninstall. 
                                    



Fully uninstall in multi-version environment

Proceed as follows to remove FINE™/Turbo v131 and FINE™/Turbo v91_# in a multi-version environment under Windows:


Optional: 

go to NUMECA_INSTALLATION_DIRECTORY/fine131/bin64 in a dos shell and 

type smpd -remove so as to remove the services for MPICH2. 
Please do notice that this step is optional and only applies if MPICH2 services have not yet been removed. Otherwise, an error message indicating that the service has not been installed will appear. Please also notice that the services can be installed back if necessary with the command smpd -install.
			


Go to NUMECA_INSTALLATION_DIRECTORY/impi5/ in a dos shell and type hydra_service -remove so as to remove the services for IntelMPI. 
Please do notice that this step is optional and only applies if IntelMPI services have not yet been removed. Otherwise, an error message indicating that the service has not been installed will appear. Please also notice that the services can be installed back if necessary with the command hydra_service.exe -install.
			





Go to NUMECA_INSTALLATION_DIRECTORY/pvm/bin in a dos shell and type nirshd -remove so as to remove the services for RSH daemons.
Please notice that the services can be installed back if necessary with the command nirshd -install.
                                



Proceed with a reboot of the PC.
                                

Open the Windows Control Panel (Start/Control Panel) and double click on the icon Programs and Features.  
Select Fine 131 from the list and click on Uninstall.
                                        
Repeat the above operations for FINE™/Turbo v91_#.

Show Fluid Properties
When the user does not have the write permission (Read Only) for a fluid the Show Fluid Properties... button opens the wizard with the properties of the fluid. In this case it is not possible to modify any of the properties in the wizard but the user has access to visualize the properties including the defined profiles and formulae.

Launch IGG™ in Batch
How to Launch IGG™ on Linux
To launch IGG™ without use of the interface the commands to perform must be written in a macro script file. To create such a file:

Create a script file ".py". For more details on the commands that can be included in such a script file see the IGG™ manual.
Launch the macro script in a shell by typing: "igg  <script_path>/script.py  -batch  -niversion  <version>"

The command line to start the grid generator IGG™ contains its name, the full path of the script ".py" file (<script_path>) to launch and the IGG™ release (<version>) that will be used. The "-batch" option avoids the display of the IGG™ graphical user interface.
When launched in batch, IGG™ does not open the graphical user interface but an access to the display of the machine on which the process is launched, is still required.
How to Launch IGG™ on Windows

Create script file ".py". For more detailed information on the commands to include in a macro script see the IGG™ manual.
Launch the macro script ".py" by typing in a DOS-shell: "<IGG_path>\iggx86_64.exe  -script  <script_path>\script.py  -batch"

The command line to start the grid generator IGG™ contains the full path name of the igg.exe executable (<IGG_path>) and the full path of the script ".py" file (<script_path>) to launch. The "-script" & "-batch" options respectively permit to launch the script and to avoid to display the IGG™ graphical user interface. The igg.exe executable can be found in: "<NUMECA_install_dir>\Fine#\bin64\"
When launched in batch, IGG™ does not open the graphical user interface but an access to the display of the machine on which the process is launched, is still required.
Remarks: 

The full path of the executable (iggx86_64.exe) has to be specified.
The full path of the script has to be specified.
There can be a segmentation fault at exit (due to an uncontrollable "opengl" problem). It is possible to avoid this message, by adding the option "-driver msw".

Cooling/ bleed data file: '.cooling-holes'
A parser is used to find the data in this file, using keywords to locate the position of the data in the file. The advantage of this technique is that the data do not have to be positioned at a given line in the file, but only have to be followed by the appropriate keyword (the keywords can be written with capitals or not). 
The user specifies a series of 'injection sectors' in the file. An injection sector is either 

a single cooling hole
a series of distributed cooling holes along a line (all holes having the same geometrical and flow properties)
a hub or shroud slot (continuous line of holes along a constant radius and axial position line)
a points type of cooling holes

Each injection sector should respectively start and end with the keywords
Injection file format

This section describes the format and the keywords used to define any kinds of cooling/bleed. A easy way to have an example of the file format for a specific type of cooling/bleed is to define a cooling/bleed in FINE™/Turbo and export it into a file using the menu Export to file.
The header
The header of the file contains the injector file version to ensure future backward compatibility. The current version is 1.0.



Multiple injector format
Each file can contain multiple injector definitions. Each injector must be delimited as following:
NI_BEGIN injector
<injector definition>
NI_END injector
NI_BEGIN injector
<injector definition>
NI_END injector
Injector name
NAME <injector name>
Injection geometry Type
Three types of injectors can be defined: point, slot and line. In addition, the line can be straight or parametric (defined in the parametric space of the mesh patch).
GEOMETRY_TYPE point
GEOMETRY_TYPE straight line
GEOMETRY_TYPE parametric line
GEOMETRY_TYPE slot
GEOMETRY_TYPE points
Injection physical Type
Two types of injectors can be defined through the interface: Bleed and Cooling
PHYSICAL_TYPE Cooling
PHYSICAL_TYPE Bleed
Locations patches
The cooling/bleed must currently be defined on mesh patches identified by their indices.
LOCATION_PATCH_INDICES <b1> <f1> <p1>
LOCATION_PATCH_INDICES <b2> <f2> <p2>
where bi, fi and pi are the block, face and patch indices.
If the type is points, the user needs to specify the name of the location group instead of specifying patches. The flow solver computes automatically the positioning patches. The flow solver intersects the patches definition with the axis of the hole and chooses the closest one as the positioning patch. If the loaded mesh is generated by AutoGrid5, the following keywords can be identified:
LOCATION_GROUP <row name>
LOCATION_GROUP <blade(s)> or <hub> or <shroud>
The <row name> and <blade(s)> is used for holes defined on the blades. The <row name> and <hub> is used for holes defined on the hub. The <row name> and <shroud> is used for holes defined on the shroud.
Location patch index
The point and slot are defined with one anchor point, the line with two anchor point. The point must be defined on one of the location patch specified by its position in the list of the location patch.
POSITION_PATCH_INDEX_1 <location patch index>
Anchor point location
The anchor point can be defined using 4 types of coordinates:

Patch coordinates: parametric normalized arc length along I and J direction of the mesh patch
STREAM_SPAN_POSITION_ON_BLADE_1 s(i) s(j) 0
STREAM_SPAN_POSITION_ON_BLADE_2 s(i) s(j) 0 #for line only
AXIAL_COORDINATES <0 or 1>
SIDE <0 or 1> #only for old AG4 mesh
Cartesian coordinates X,Y,Z
XYZ1 <x1> <y1> <z1>
XYZ2 <x2> <y2> <z2> #for line only
Cylindrical Relative R, theta and Z
RTHZ1 <r1> <theta1> <z1> # for slot, only r and z are important
RTHZ2 <r2> <theta2> <z2> # for line only
Grid Coordinates: I, J indices on the mesh patch
IJ1 <i1> < j1>
IJ2 <i2> < j2> #for line only

Cooling direction (not for Bleed)
The injection direction can be defined in:

Grid Angles: angles along the I, J cst lines of the mesh
IJ_ANGLES <beta1> <beta2> #radians
Injection vector in cartesian coordinates
VXYZ <vx> <vy> <vz>
Injection vector in cylindrical relative coordinates
RELATIVE_VRTHZ <vr> <vtheta> <vz>
Injection vector in cylindrical absolute coordinates
ABSOLUTE_VRTHZ <vr> <vtheta> <vz>

Anchor point location and cooling direction (for points type only)
For the points type of holes, the anchor point location and the injection direction have to be defined in one line in Cartesian coordinates:
SINGLE_HOLE <x1> <y1> <z1><vx> <vy> <vz>
Mass flow
The mass flow can be imposed using the following modes:

Absolute value:
MASS_FLOW <kg/s>
Percentage of the inlet mass flow:
MASS_FLOW_RELATIVE_TO_INLET <inlet group> <%>

Number of holes on a line
NUMBER_OF_HOLES <n>
Cooling/Bleed size
DIAMETER <d> #for point, line or points type only
WIDTH       <w> #for slot only
Physical Properties
Temperature:
RELATIVE_TEMPERATURE <t> or
STATIC_TEMPERATURE <t> or
ABSOLUTE_TEMPERATURE <t> 
Turbulent data:
TURBULENT_VISCOSITY <u> #for Spalart-Allmaras model only
TURBULENT_KE <k> <epsilon> or
TURBULENT_INTENSITY <i> #for k-ε  model
 Examples
Example 1 - Bleed Flow through a Hole defined in Grid Coordinates mode



Example 2 - Cooling Flow through a Line holes defined in Patch Coordinates mode



Example 3 - Cooling Flow through a Slot defined in Cartesian Coordinates mode



Example 4 - Cooling Flow through the points type of holes

Numerical Model
To define numerical parameters of the computation, the Numerical Model page allows to define several aspects of the computation:



the CFL number,
the multigrid parameters,
preconditioning parameters (if applicable),
define inner perturbations (if applicable).

These parameters are described in the next section.


FIGURE 1 Numerical model interface
In expert user mode (Expert Mode) additional parameters are available as shown in FIGURE 2: additional multigrid parameters and unsteady parameters.  The non-interfaced expert parameters are also described in this section.
More theoretical information on the available parameters related to the numerical model (spatial and temporal discretizations) is provided in Chapter 5-2 in the theory guide.


FIGURE 2 Numerical Model page in expert mode

Getting Started


Welcome to the FINE™/Turbo User Manual, a presentation of NUMECA's Flow INtegrated Environment for computations on structured meshes. This chapter presents the basic concepts of FINE™/Turbo and shows how to get started with the program by describing:

what FINE™/Turbo does and how it operates,
how to use this guide,
how to start the FINE™/Turbo interface.

TabGen


Currently, FINE™/Turbo offers several modelizations of fluid properties, including incompressible fluid, perfect gas, real gas and condensable fluid. The use of condensable fluid is done by means of pre-processed thermodynamic tables that are loaded at the beginning of a CFD simulation and looked-up during run time. Depending on the type of the simulation (pre-conditioning or non-preconditioning) and the type of the boundary conditions, a different set of tables is used.
The objective of TabGen is to manage the generation of these thermodynamic tables. For the given user input parameters, such as the name of the fluid, the equation-of-state used, the type of tables generated (e.g. temperature-pressure PT, energy-density ER,…), the dimension of each of the tables, etc, this tool calculates the thermodynamic state at each grid point and writes the resulting table files in a special format. The engine of this tool is the source code of REFPROP v8.0 from NIST (http://www.nist.gov/srd/nist23.htm).
In order to run TabGen, the following command should be executed:
On Linux platforms type: tabgen -niversion <version> -print <Enter>
On Windows click on the TabGen icon in Start/Programs/NUMECA software/Fine<version>. Alternatively TabGen can be launched from a dos shell by typing:
<NUMECA_INSTALLATION_DIRECTORY>\Fine<version>\bin\TabGen <Enter>
where NUMECA_INSTALLATION_DIRECTORY is the directory indicated  and # is the number corresponding to the version to be used.

TabGen expects an uniform phase of different components. It does not take into account the fact that one of the components changes phase at a different conditions than the others. For instance, if considering a mixture of water and alcohol, the alcohol will evaporate first if increasing the temperature at the same pressure.
TabGen cannot be used for the generation of mixture tables in the biphasic zone. Currently, mixtures can be used in conditions where all the components are in the same phase: all liquid or all gas.

Global functions

The Global Solution File '.xmf'
All data stored in ".mf" file are also stored in an XML database (".xmf" file). XML is a markup language for text documents. Data are included in XML documents as strings of text and are surrounded by text markup that describes the data. The main interest of XML is his flexibility. The user's parser will still work without any change even if data are modified in the ".xmf" file. 
XML elements used in this database are as follows:

Station element
Station elements contain data at a given position (inlet, rotor/stator interface or outlet)
Data written in mf file in section <GLOBAL RESULTS AT INLET AND OUTLET> are now split into two parts. These data are stored in two "Station" elements called "inlet" and "outlet".
Data written in mf file in section <GLOBAL RESULTS AT ROTOR/STATOR INTERFACE ID *> are now stored in a "Station" element.
Station elements have one attribute "name".
Row element
Data written in mf file in section <GLOBAL RESULTS FOR ROW *> are now stored in a "Row" element. In "Row" elements, two "Reference" elements are added, they refer to relative inlet and outlet of the row.
Row elements have one attribute "name".
Stage element
Data written in mf file in section < GLOBAL RESULTS FOR STAGE *> are now stored in a "Stage" element. In "Stage" elements, two "Reference" elements are added, they refer to rotor+stator or stator+rotor constituting the stage according to expert parameter "RBRSBS" value.
Stage elements have one attribute "name".
Reference elements
Reference elements have three attributes "name", "type" and "value". Reference elements refer to elements defined previously. Attribute "type" can be "station" or "row" according to the elements referred. Attribute "value" is the name of station or the row referred.
Other elements
Elements MeshData, FluidProperties, WeightFactorsFor Averaging, GeometricalData, Velocity, Condition, MassFlow and Performance contain same data as mf sections.

Project management

create_project(project_name)
Create directory structure on disk:
project_name/
project_name/_mesh/
project_name/project_name.iec
open_project(project_name)
Open an existing project.
save_project()
Save the current project.
save_project_as(new_project_name, duplicate_results)
Save the current project as new_project_name.
If duplicate_results is set to 0, computations directories are not duplicated.
If duplicate_results is set to 1, computations directories are duplicated.

User Guide

Welcome to the FINE™/Turbo User's Guide, a presentation of NUMECA's integrated environment for rotating machinery applications:

Boundary Conditions Resource File: 'euranus_bc.def'

This file contains the default values for all parameters of the available boundary conditions. The same file is also used to create the graphical layout of the page Boundary Conditions in FINE™/Turbo. FINE™/Turbo only reads from this file so this file is not modified while using FINE™/Turbo.

Averaged Mach Number
When imposing the averaged Mach number at the outlet, the user must group all the related patches for each outlet. This permits to have several groups of patches, each of the groups constituting an outlet through which the averaged Mach number can be controlled.
Two options are available:

Absolute Mach Number with Pressure adaptation: the absolute Mach number is imposed at the outlet boundary. The exit pressure is automatically modified during the resolution process so that after convergence, the prescribed absolute Mach number is obtained.
Relative Mach Number with Pressure adaptation: the relative Mach number is imposed at the outlet boundary. The exit pressure is automatically modified during the resolution process so that after convergence, the prescribed relative Mach number is obtained.


The initial pressure asked in addition to the imposed Mach number is used in the full multigrid initialisation. This value is also used for the turbomachinery initial solution.
During the pressure adaptation process, the exit pressure can be imposed in different ways:

Constant Profile: this boundary condition is identical to the 'Static Pressure Imposed' boundary condition.
Radial Equilibrium: this boundary condition is identical to the 'Radial Equilibrium' boundary condition.
Extrapolated Profile: this boundary condition is identical to the 'Averaged Static Pressure' boundary condition.

The averaged Mach number boundary condition at outlet is not compatible with incompressible fluid.

First Time Use
Basic Installation

When using FINE™/Turbo for the first time it is important to verify that FINE™/Turbo is properly installed according to the installation note. The installation note provided with the installation software should be read carefully and the following points are specifically important:

Hardware and operating system requirements should be verified to see whether the chosen machine is supported.
Installation of FINE™/Turbo according to the described procedure in a directory chosen by the user and referenced in the installation note as 'NUMECA_INSTALLATION_DIRECTORY'.
A license should be requested that allows for the use of FINE™/Turbo and the desired component and modules. The license should be installed according to the described procedure in the installation note.
Each user willing to use FINE™/Turbo or any other NUMECA software must perform a user configuration as described in the installation note.

When these points are checked the software can be started as described in the installation note.
Expert Graphics Options
Graphics Driver
FINE™/Turbo can use the OPENGL/OPENGL2/X11 drivers on Linux and the WGL/MSW drivers on Windows. By default, the graphics area of the FINE™/Turbo interface uses the OPENGL driver on Linux and the WGL driver on Windows, which takes advantage of the available graphics card. When the activation of the default driver is causing problems, FINE™/Turbo uses the X11 driver (on Linux) or the MSW driver (for Windows) instead.
On Linux, the OPENGL and OPENGL2 drivers are not compatible with the remote connection using ssh.
It is possible to explicitly change the driver used by FINE™/Turbo in the following ways:
On Linux
in csh, tcsh or bash shell:
setenv NI_DRIVER X11
in korn shell:
NI_DRIVER=X11
export NI_DRIVER
The selection will take effect at the next session.
On Windows

Log in as Administrator.
Launch regedit from the Start/Run menu.
Go to the HKEY_LOCAL_MACHINE/SOFTWARE/NUMECA International/Fine# register.
Modify the DRIVER entry to either WGL or MSW.

The selection will take effect at the next session.
Background Color
The background color of the graphics area can be changed by setting the environment variable NI_IGG_REVERSEVIDEO on Linux platforms or IGG_REVERSEVIDEO on Windows platforms. Set the variable to 'ON' to have a black background and set it to 'OFF' to have a white background. The variable can be manually specified through the following commands:
On Linux
    in csh, tcsh or bash shell:
setenv NI_IGG_REVERSEVIDEO ON
    in korn shell:
NI_IGG_REVERSEVIDEO=ON
export NI_IGG_REVERSEVIDEO
The selection will take effect at the next session.
On Windows

Log in as Administrator.
Launch System Properties from the Start/Settings/Control Panel/System menu.
Go in the Environment Variables.
Modify or add the IGG_REVERSEVIDEO entry to either ON or OFF.

The selection will take effect at the next session.

BoundaryConditionPatch
The class BCPatch contains following methods to access patch properties:

BCPatch( b, f, p )
Construct a BCPatch object from (blockID,faceID,patchID) indices (starting from 0).
get_bc_name()
Return B.C type of the patch
get_patch_name()
Return the name of the patch
get_block_face_patch()
Return the block/face/patch indices

Viewing Buttons
The viewing buttons are used to perform viewing manipulations on the active view, such as scrolling, zooming and rotating. The manipulations use the left, middle and right buttons of the mouse in different ways. The sub-sections below describe the function associated with each mouse button for each viewing button.
For systems that only accept a mouse with two buttons, the middle mouse button can be emulated for viewing options by holding the <Ctrl> key with the left mouse button.
X, Y, and Z Projection Buttons



These buttons allow to view the graphics objects on X, Y or Z projection plane. Press the left mouse button to project the view on an X, Y or Z constant plane. If the same button is pressed more than one time, the horizontal axis changes direction at each click.
Coordinate Axes
The coordinate axes button acts as a toggle to display different types of coordinate axes on the active view using the following mouse buttons:




Left: press to turn on/off the display of symbolic coordinate axis at the lower right corner of the view.
Middle: press to turn on/off the display of scaled coordinate axis for the active view. The axis surrounds all objects in the view and may not be visible when the view is zoomed in.
Right: press to turn on/off the display of IJK axis at the origin of the active block (in Block Viewing Scope) or of all the blocks (in Grid Viewing Scope). For more informations about the viewing scope.

Scrolling



This button is used to translate the contents of active view within the plane of graphics window in the direction specified by the user. Following functions can be performed with the mouse buttons:

Left: press and drag the left mouse button to indicate the translation direction. The translation is proportional to the mouse displacement. Release the button when finished. The translation magnitude is automatically calculated by measuring the distance between the initial clicked point and the current position of the cursor.
Middle: press and drag the middle mouse button to indicate the translation direction. The translation is continuous in the indicated direction. Release the button when finished. The translation speed is automatically calculated by measuring the distance between the initial clicked point and the current position of the cursor.

3D Viewing Button



This button allows to perform viewing operations directly in the graphics area. Allowed operations are 3D rotation, scrolling and zooming.
After having selected the option, move the mouse to the active view, then:

Press and drag the left mouse button to perform a 3D rotation
Press and drag the middle mouse button to perform a translation
Press and drag the middle mouse button while holding the <Shift> key or use the mouse wheel to perform a zoom
To select the centre of rotation, hold the <Shift> key and press the left mouse button on a geometry curve, a vertex or a surface (even if this one is visualized with a wireframe model). The centre of rotation is always located in the centre of the screen. So, when changing it, the model is moved according to its new value.

The 3D viewing tool is also accessible with the <F1> key.
Rotate About X, Y or Z Axis



The rotation buttons are used to rotate graphical objects on the active view around the X, Y or Z axis. The rotations are always performed around the centre of the active view. Following functions can be performed with the mouse buttons:

Left: press and drag the left mouse button to the left or to the right. A clockwise or counterclockwise rotation will be performed, proportional to the mouse displacement. Release the button when finished.
Middle: press and drag the middle mouse button to the left or to the right. A continuous rotation will be performed, clockwise or counter-clockwise. Release the button when finished.

Zoom In/Out



This button is used for zooming operations on the active view. Zooming is always performed around the centre of the view. Following functions can be performed with the mouse buttons:

Left: press and drag the left mouse button to the left or to the right. A zoom in - zoom out will be performed, proportional to the mouse displacement. Release the button when finished.
Middle: press and drag the middle mouse button to the left or to the right. A continuous zoom in - zoom out will be performed. Release the button when finished.

Region Zoom



This button allows to specify a rectangular area of the active view that will be fitted to the view dimensions. After having selected the button:

Move the mouse to the active view.
Press and drag the left mouse button to select the rectangular region.
Release the button to perform the zoom operation.

These operations can be repeated several times to perform more zooming.
Press <q> or click the right mouse button to quit the option.
The region zoom is also accessible with the <F2> key.
Fit Button



The fit button is used to fit the content of the view to the view limits without changing the current orientation of the camera (which can be interpreted as the user's eyes).
Original Button



The original button is used to fit the content of the view and to change back to the default orientation of the camera.
Cutting Plane



This option displays a movable plane that cuts the geometry and the blocks of the mesh. The plane is symbolically represented by four boundaries and its normal, and is by default semi-transparent. After having selected the button:

Press and drag the left mouse button to rotate the plane
Press and drag the middle mouse button to translate the plane
Press < x >, < y> or < z > to align the plane normal along the X, Y or Z axis
Press <n> to revert the plane normal
Press < t > to toggle the transparency of the plane (to make it semi-transparent or fully transparent). It is highly advised to deactivate the plane transparency when using X11 driver to increase the execution speed.

Phase Lagged Method
The Phase Lagged Method is an unsteady simulation technique for rotor/stator interfaces. The effect of displacement due to rotation is taken into account. At each time step, the rotor is set at its correct position and equations are solved for that particular time step for the whole computation domain. The final solution is therefore a succession of instantaneous solutions for each increment of the rotor position.

This method is allowing the user to reduce the CPU time needed for computing an unsteady simulation of a turbomachinery stage (rotor-stator interaction). 
The phase lagged method is only allowed for one stage computations (stator-rotor). For multi-stage computations, such as a 1-1/2 stage computation (stator-rotor-stator), it is only possible if the number of both stators is the same.
Mesh Constraints
The boundary condition type must be set to "ROT" in IGG™ for all grid patches belonging to a rotor/stator interface. 
The phase-lagged boundary conditions only allows matching and full non matching periodic boundary conditions. This option can be used with non matching periodic boundary conditions (PERNMB) if they are automatically transformed into full non matching boundary by setting the expert parameter IFNMB to 1.
The phase lagged method is not compatible with cascade configurations (with translational periodicity).
It is recommended to have an overlapping region in the circumferential direction between the channel(s) of the rotor and the channel(s) of the stator.
FINE™/Turbo Settings


The Phase Lagged Method is an unsteady simulation technique so the Time Configuration in the Flow Model page should be set to Unsteady. 
At the top of the Rotating Machinery page, the Phase Lagged option has to be activated and under Rotor-Stator tab. The user has to specify for each of these patches the ID and the upstream/downstream location as described at step 2 in the FINE™/Turbo Settings of the Mixing Plane Approach. 
The FINE™/Turbo solver allows only one rotation speed (combined with a zero rotation speed) when performing an unsteady simulation using the Phase Lagged method.
The initialization process can be performed in two ways:

A steady state initialization is performed in a separate computation with Steady as Time Configuration. The unsteady phase-lagged computation is using the result of this steady computation as initial solution. See Initial Solution for more information on how to start a computation from an initial solution file.
The steady state initialization is automatically performed before starting the time accurate computation (that means within the same computation). To use this functionality, set an appropriate Number of Steady Iterationsin the Steady Initialization parameters on the Control Variables page.
If a phase lagged computation should be used as an initial solution for another computation, the .res and the .bpl files must be manually copied to the new computation directory.

The Number Of Angular Positions defined in the Control Variables page is the number of time steps per full revolution (2π) of the rotor. In theory, the number of time steps per full rotation has to be a multiple of the number of blades in the rotor (Nbrotor) and number of blades in the stator (Nbstator).
Number Of Angular Positions= i x Nbrotor x Nbstator
The two periods of blade passing frequencies are respectively (ixNbrotorxΔt) and (ixNbstatorxΔt). Since the number of time steps per passage is usually imposed around 40, the value of i should be adjusted so that (ixNbrotor) and (ixNbstator) are both close to this number. By experience, if the number of time steps per passage is lower than 30 the solution starts to be deteriorated. 
The Number Of Time Stepsin the Control Variable page is used to defined the number of time steps running during the calculation. It is recommended to repeat the longer period at least 15 to 20 times (j evolves from 15 to 20). By experience, usually after 20 times (j=20), the flow becomes periodic. There is thus no need to make many full rotations and sometimes even one full rotation.:
Number Of Time Steps=  j x (Number Of Angular Positions)/min(Nbrotor,Nbstator)
Alternatively, the user can select Number of Periods  in the Control Variables page to define the number of time steps running during the calculation. One period corresponds to a full revolution (2π). In this case, the number of time steps is calculated as follows:
Number Of Time Steps= (Number Of Angular Positions)*(Number of Periods)
For more info on the Outputs Files available in the Control Variables page.
By default, the Phase Lagged method computes the viscous fluxes at the rotor/stator interface by extrapolation from dummy cell values, set from same side inner cells.


Output
When a simulation using the phase lagged method is performed, the output includes only one channel for each blade row. FINE™/Turbo provides a tool repetition, which allows the user to output multiple channels for post-processing. This tool can only be launched from the shell. 
On Linux:
repetition131 project-path/project-name.run -nrepet #

On Windows:
Installation path\bin64\repetitionx86_64.exe project-path\project-name.run -nrepet #

where # is the repetition number [1, maximum periodicity-1]. If the argument -nrepet is omitted, two repetitions will be outputted by default.
Then a new .run file "project-name_rep.run" and the corresponding .cgns files "project-name_rep_t##.cgns" will be generated. The user can load these files into CFView™ for post-processing.
All the time steps corresponding to the larger pitch must be present in the computation folder in order to use the tool repetition.
How to restart  phase-lagged computations in second order accuracy
When running phase lagged computations, the user may save solutions at bigger intervals when the computation is not converged yet. This could save significant amount of computing time. Once the computation is converged, the user can suspend the computation and then make a restart to save every time step in order to have a complete revolution solution. In this case, a second order accurate restart must be ensured. x
 To have a second order restart, the following conditions in the initial solution must be satisfied:

The first time step (*_t1.cgns) and any time step higher than the number of time steps in the smaller period should never be used as initial solution files.
The saving interval (Save Solution Every in the Control Variable page) in the initial solution computation  must be  smaller than the number of time steps in the smaller period.
In the initial solution computation, the Output For Visualization must be set to Intermediate and Multiple files in the Control Variable page.

Then the user should follow the procedure below to restart a phase lagged computation:

Set the initial solution to from file in the Initial Solution page, then select a *_t(i).cgns file from the initial solution computation folder. Where t(i) is a time step within the smaller period of the solution. The *_t(i-1).cgns file must also be in the same initial solution folder for a second order restart.
Make sure Reset convergence history is UNCHECKED in the Initial Solution page.
Manually copy the *.bpl and *.res files in the initial solution computation folder into the folder for the restarting computation and rename these files to be consistent with the new computation name.
All other settings should be identical between the initial solution computation and the restart computation.

Expert Parameters
The following expert parameters can be used with an unsteady computation using phase lagged method:
RELPHL(real):	0.5 (default) if necessary, under-relaxation factor can be applied on Periodic and R/S boundary conditions by reducing the two values of the expert parameter for respectively the periodic and the R/S boundary conditions.

Surface Selection
After completion of the page under Global Parameters  tab page, the user has to complete the Surface Selection page (refer to Global Parameters for more details) before creating the ANSYS output file (Create Output File button).
When the ANSYS input file is read in Input File, the common surfaces on which the data must be transferred are identified in the ANSYS mesh. The FINE™/Turbo interface lists each surface with the corresponding coded value (FIGURE 12 - (1)).
When reading the ANSYS input file for the first time, automatically a new file with the extension ".ANSYSgeom" is created in the active computation directory. This file contains the geometry of the related ANSYS surfaces and allows accelerating the next operations.
By clicking on Selected Surface Properties button (FIGURE 12 - (2)), a new window (FIGURE 13) allows the user to specify the solid patches from which the data will be interpolated. Following interpolation parameters can also be defined: interpolation type (Interp Type) and the allowed maximal distance (Max Dist).
Two different interpolation types (Interp Type)  are proposed: a conservative and a non-conservative. The suitable interpolation scheme is dependent on the type of boundary conditions. The spatial field of pressure or temperature can be interpolated from cell faces to nodes whereas a conservative transfer of the heat fluxes can be preferred.
Note that in the non-conservative approach, the local normal of the fluid mesh is used for the projection of the ANSYS surface on the corresponding IGG™ solid patches. Whereas an averaged local normal of the ANSYS mesh is used for the projection in the conservative approach. If the geometry of the common surfaces does not match exactly between the IGG™ mesh and the ANSYS mesh (e.g. if the fillet is not modeled in the fluid mesh), the result depends on the way to define the surfaces in ANSYS, the selection of the IGG™ solid patches from which the interpolation is performed and the choice of the interpolation type. A slight discontinuity can appear in the interpolated field. In case the fillet is not modeled, the different ways to project the ANSYS surface on the IGG™ solid patches imply that the conservative approach can fail if the ANSYS surfaces are not approximately divided in the fillet where its normal intersects the edge separating the IGG™ solid patches (blade and hub or shroud).


FIGURE 12 Surface Selection of ANSYS outputs
The CFD results are read from the ".cgns" file of the active computation. The non-conservative approach needs to save the solid data on the IGG™ solid patches. For the conservative approach, only the solid data Heat Flux is required for the computation of the heat transfer coefficient.
An allowed maximal distance (Max Dist)  can be used to control the interpolation process by ensuring that it is performed in the nearest element of the selected solid CFD patches.
The maximum distance of the ANSYS output on the surface selection page, is always expressed in meters (independent from the mesh units or project preferences)


FIGURE 13 Add solid patches to ANSYS surface
Then, the user specifies the solid CFD patches in the list of Solid Patches by <Ctrl> or <Shift> and left-click. To add or remove solid patches linked to the highlighted ANSYS surface, the buttons Add Selection and Remove Selected are used respectively. When the solid patches are well selected, the window has to be closed (Close) and the patches will appear in the list Selected Solid Patches and Groups (FIGURE 12 - (3)).
A visualization of the active ANSYS surface and of the selected solid patches can help the user in the selection process after opening the mesh through the menu Mesh/View On/Off or Mesh/Tearoff graphics (only available on Linux). Moreover, the visualization allows checking that the surfaces (ANSYS and IGG™ solid patches) are matching. A modification of the ANSYS mesh unit or reference system is directly taken into account in the visualization when the user refreshes the view by clicking again on any ANSYS surface.
To ensure a complete data transfer, the selected IGG™ solid patches have to completely overlap the ANSYS surface.
The area of the selected IGG™ solid patches can be larger than the area of the ANSYS surface.
Since the IGG™ solid patches defining a periodic structure can be divided (FIGURE 14), a periodic shift can be required to match the common ANSYS surface. This shift must be specified for each solid patch, highlighted in Selected Solid Patches and Groups list, in Periodicity by activating Rotation and Translation (FIGURE 12 - (4)). The rotation and translation shifts are respectively specified in degrees and IGG™ mesh units.


FIGURE 14 Mesh differences IGG™ vs. ANSYS
Moreover one ANSYS surface can be covered by a group of solid patches and by the same group which is rotated (or translated). Consequently, a duplication of the periodic solid patches is possible by activating Duplicate patch(es)  after applying a Rotation and Translation  to the highlighted solid patch (FIGURE 12 - (4)).


FIGURE 15 Duplicate Option Utility
It is possible that one rotation with copy option of the IGG™ patches is not sufficient to cover the whole area of the ANSYS surface. Consequently increasing the number of periodic repetitions may be necessary. This feature is possible by selecting a number higher than zero in the Number of repetitions field, which will cause the options specified in Rotation and Translation to be neglected. The original patch is automatically repeated on the left and the right sides by using its block periodicity. For example, the whole row meshed in ANSYS can be covered by the CFD results computed on one single passage by setting Number of repetition equal to (periodicity-1)/2 or periodicity/2 in case of an even number of periodicity.
Finally, the new output file can be created by clicking on the Create Output File button (FIGURE 11 - (5)).

Python Script


FINE™/Turbo provides a new powerful scripting tool that enables the user to automate project settings for applications. More details on the python commands are available in the files "FT.py" provided in the NUMECA distribution after installation (i.e. under Windows, the file is available in "~/_python/_fine/_turbo/").
All actions for which a python command exists will be automatically recorded in FINE™/Turbo. The menu File/Script/Edit... can be used to edit the current record of the commands. The menu File/Script/Save All... can be used to save the current record of the commands.
Script files can be run from the graphical user interface or from the command line. 

From the interface, the option is accessed with the File/Script/Execute... menu. It opens a file chooser prompting to select a ".py" script file. After acceptation, the script is executed by FINE™/Turbo.
From the command line, a script can be run by launching FINE™/Turbo with the -script option. For example: fine -niversion <version> -script my_script.py

FINE™/Turbo will execute the script and then open the graphical user interface.
When running a script from the command line, it is possible to execute a process in batch mode, avoiding to open the GUI. To do so, the -batch option should be specified: 
on LINUX: fine -niversion <version> -script my_script.py -batch in a terminal,
on Windows: <NUMECA_install_dir>\fine<version>\bin64\finex86_64.exe -script <path>\my_script.py -batch in a DOS-shell.
When using Python scripts to set up a project, neither the modules compatibility nor the physical sense of the specified values is checked.

Launch AutoGrid5™ in Batch
How to Launch AutoGrid5™ on Linux


Create a template and geometry files (".trb" and ".geomTurbo") using the AutoGrid5™ interface.
Start AutoGrid5™ to create a mesh from these files by typing in a shell: "igg  -batch  -autogrid5  -trb  <path>/test.trb  -geomTurbo  <path>/test.geomTurbo		-mesh  <path>/test.igg  -niversion  <version>"

The command line to start the grid generator AutoGrid5™ contains its name, the full path of the template and geometry file (<path>), the full path of the mesh that will be saved and the IGG™ version that will be used. The "-batch" option avoids the display of the IGG™ graphical user interface.
Multi-threading can be used with the additional argument -numproc <np>:
"igg  -batch  -autogrid5 -numproc <np> -trb  <path>/test.trb  -geomTurbo  <path>/test.geomTurbo		-mesh  <path>/test.igg  -niversion  <version>"

When launched in batch, IGG™ does not open the graphical user interface but an access to the display of the machine on which the process is launched, is still required.
How to Launch AutoGrid5™ on Windows

Create a template and geometry files (".trb" and ".geomTurbo") using the AutoGrid5™ interface.
Start AutoGrid5™ to create a mesh from these files by typing in a DOS-shell: "<IGG_path>\iggx86_64.exe -batch -autogrid5 -trb <path>\template.trb		-geomTurbo <path>/template.geomTurbo -mesh <path>/mesh.igg"

The command line to start the grid generator AutoGrid™ contains the full path of the igg.exe executable (<IGG_path>), the full path of the template and geometry file (<path>) and the full path of the mesh that will be saved. The "-batch" option avoids the display of the IGG™ graphical user interface. The iggx86_64.exe executable can be found in: "<NUMECA_install_dir>\Fine#\bin64\".
Multi-threading can be used with the additional argument -numproc <np>:
"<IGG_path>\iggx86_64.exe -batch -autogrid5 -numproc <np> -trb <path>\template.trb		-geomTurbo <path>/template.geomTurbo -mesh <path>/mesh.igg"

When launched in batch, IGG™ does not open the graphical user interface but an access to the display of the machine on which the process is launched, is still required.

Initial solution

get_initial_solution_nb_groups()
Return the number of group of blocks (BlockGroup) for initial solution settings.
A BlockGroup can be a single block, or a group of blocks. An InitialSolution object is attached to this group.
get_initial_solution( blockGroupID )
Return the object InitialSolution from blockGroupID. For more details of the class InitialSolution, see InitialSolution.
get_restart_mode()
Return the convergence history reset flag. (0: import conv. hist.  1: reset conv. hist.)
set_restart_mode( flag )
Set the convergence history reset flag. (0: import convergence history.  1: reset convergence  history)
Following constants can be used as value for flag:

IMPORT_CONVERGENCE_HISTORY    ( flag = 0 )
RESET_CONVERGENCE_HISTORY    ( flag = 1 )

create_initial_solution_block_group( name, value )
Create a block group for initial solution settings.
name is the name the group.
value is either the list of blocks (specified by index)  to be grouped, or a pattern to get the blocks with matching name (example: "*gap" returns all blocks which name ends by "gap").
ungroup_initial_solution_block_group( value )
Ungroup a block group.
value is either the name of a block group, or the index of a block group.
reset_initial_solution_turbo_groups()
Set default grouping, for "FOR_TURBOMACHINERY" initial solution mode.

Computation Steering & Monitoring


This chapter is completely dedicated to the monitoring tools available in FINE™/Turbo to monitor the global solution during and after a computation. The Computation Steering pages and the additional tool Monitor are described:

Computation Steering/Control Variables page 
Computation Steering/Convergence History  and Task Manager/Convergence History
Monitor

In the Best Practice for Computation Monitoring, advice is provided on how to use the monitoring tools in analysing the progress of a computation.

Physical Models


FINE™/Turbo contains the following physical models:
Fluid-Particle Interaction to model solid particles in the flow.
Fluid-Structure to model the fluid structure interaction.
Passive Tracers allows to introduce species that are entrained by the flow, without influencing its properties.
Porous Media Model to model the flow in porous media
Cavitation Model to model cavitating flow
Each of these models requires a special license feature. If the model is not accessible due to a missing license it is displayed in gray. Please contact our local sales or support office for more information about the possibility to obtain a license.

Output


With the flow solver in the FINE™/Turbo environment the user has the possibility to specify the content of the output generated by the solver. The output does not only contain the flow variables for which the equations are solved (density, pressure, velocity components, temperature), but also other variables such as total conditions, the Mach number, customized velocity projections, etc...
Furthermore CFView™ allows to calculate derived quantities, which permits to limit the memory size of the output and to avoid re-launching the flow solver in case one quantity of interest is not available. With this functionality the user can find the compromise between an acceptable memory size for the output and the ease of having all flow quantities of interest immediately available for visualization.
In the next sections the way to control the output from the flow solver is described in more detail:

field quantities: calculated at all the mesh nodes,
solid data: calculated along the solid wall boundaries,
customized averaged data:

for turbomachinery applications, a pitchwise averaged output can be created for visualization,

global performance output,
additional output for the ANSYS code, a widely used finite element code for structural analysis).

The global performance output is written in an ASCII file with the extension ".mf". All other outputs, generated by the solver, are written in one single ".cgns" file, compatible with the CFView™ visualisation software. It is also possible to request for the output to be written in Plot3D format.

How to Set-up a Simulation with Rotor/Stator Interfaces?

Five different approaches are available in FINE™/Turbo to simulate the interaction between rotating and non-rotating blocks:
Steady state:

Mixing plane approach: a pitchwise averaging of the flow solution is performed at the rotor/stator interface and the exchange of information at the interface depends on the local direction of the flow. See the Mixing Plane Approach for more detail on how to use this approach.
Frozen rotor: a steady simulation of one specific position of the rotor with respect to the stator. For more information on how to set up a project according to this method see the Frozen Rotor section.

Unsteady:

Domain scaling method: unsteady simulation in which the mesh periodicities are constrained to be identical on both sides of the interface. See the Domain Scaling Method for more detail on how to use this approach.
Phase lagged method: unsteady simulation in which the mesh periodicities are not constrained to be identical on both sides of the interface. See the Phase Lagged Method for more detail on how to use this approach.
Harmonic method: like the phase-lagged method, this method only needs one inter-blade channel per blade row. No special requirement on the periodicities is required. The interaction between two adjacent blade rows is modelled by computing the time harmonics of the fluctuating part of the unsteady flow along the two sides of the rotor/stator interface as well as the time-averaged flow. The values are calculated with respect to the matching of the unsteady flow on both sides of the interface and are treated locally by a non-reflective treatment. A mixing-plane approach is applied to the eddy-viscosity if the Spalart-Allmaras model is used.

Filters
On the Fluid Model page two filters are available to display only a limited amount of fluids out of the complete list of fluids. Select the owner(s) and fluid type(s) to display from the pull down menus to limit the list of fluids.
Please notice that under WINDOWS the fluid database is not owner-oriented. The database is stored locally and user defined fluids are accessible with full permissions to all Windows users.
The filters are used only to browse the fluid list and not to change the current fluid associated to the active computation except if selected in the list by left-click on it.

Cooling/Bleed Model in the FINE™/Turbo GUI
The Cooling/Bleed model can be directly activated from the FINE™/Turbo interface by opening the Cooling/Bleed page under Optional Models. The layout of the page is shown in FIGURE 21.
The list box on the top of the page (a) displays all the injectors (Cooling or Bleed) imported or added by the user. The buttons below the list (b) enable to Preview, Add, Edit, Remove, Import (more details on data file in Cooling/Bleed Data File: '.cooling-holes') injectors or Export injectors definitions to a file. The list box (c) gives the informations of total cooling/bleed mass flow. Clicking with the left mouse button on a selected injector will display its corresponding parameters in the lower part of the page (d). Clicking with the right mouse button on a selected injector will display a popup menu enabling to add/edit/remove the injector.
The button Spreading of the holes on the top of the page can be used to control the location and spreading of the injector. When Spreading of the holes is switched off, the old algorithm of the cooling/bleed model will be used. A hole will be included in one cell only, even when the diameter of the hole exceeds the cell width. The hole center is the closest cell face center to the defined point. When Spreading of the holes is switched on, the new algorithm will be used. The position of the hole and slot is computed exactly. All cells included in the definition of the hole and slot will be used. And the hole or slot can spread over a patch border to another patch.
The spreading of injector can only cross one border between patches.
The spreading of injector cannot cross a periodic boundary.


FIGURE 21 Cooling/Bleed page in FINE™/Turbo
For the Points type of holes, two additional options are available: Number Of Periodic Repetitions and View Hole Tubes. If the mesh in the project is generated by AutoGrid5™ and includes multiple blade passages in one row, the user may create or input the Points type of holes in one blade passage, then set the Number Of Periodic Repetitions to cover all the blade passages. If the value of Number Of Periodic Repetitions is larger than 0, the direction of the duplicated cooling holes is on the positive theta direction. Otherwise,  the direction of the duplicated holes will be on the negative theta direction. The button View Hole Tubes is used to show the hole as a tube.
When the user defines holes in AutoGrid5™ template but does not mesh them, the hole line file or the geomTurbo file created by AutoGrid5™ can be directly imported as a Points type of data file to define the injector. The system automatically selects all the patches related for each holes definition. To use this function, the grid configuration has to be activated when setting the information of the mesh.

Injector Sector Wizard
When adding an injector (Add Injector button), for each injection the following parameters need to be specified through a wizard:

injector name,
injector role: Cooling or Bleed,
injector solid patches location,
definition of the geometry,
position of the injector,
flow parameters.

On the first page of this wizard the user can enter the name, the role, the geometry definition, the type of positioning of the injector and the solid patches. If the option Use Grid Configuration has been chosen when creating the project, the user can define the list of Solid Patches concerned by the injectors by using the Solid Group coming from the grid configuration. In addition, the groups can also be selected by giving filter keywords.


FIGURE 22 Injection Sector Wizard
Injection Sector Name
The name should be entered by moving the mouse to the text box for the Injector Name and to type the name on the keyboard. By default a name is proposed like "injector_1". 
It is strongly recommended to use only standard english letters, arabic numerals and underscore "_" symbol when naming an injection sector. Non-standard characters may not be recognized or may be misinterpreted when using the project on other computers.
Injection Sector Role
The role of the injector should be entered: Cooling if the flow is injected through solid walls into the main flow or Bleed if part of the mass flow leaves the main flow through solid walls.
Injection Sector Geometry
Four types of injection sectors can be defined through the interface: Point, Line, Slot or Points.

the Point type corresponds to a single cooling hole. 
the Line type stands for a series of cooling holes regularly distributed along a line with the same geometrical and flow properties.
a hub or shroud Slot is a continuous line of holes placed at constant radius and axial position (typically used on the hub or shroud surface of a turbomachine). Slots are only defined along axisymmetric surfaces. 

In case a slot (or a line) should traverse several patches (as for instance in a HOH mesh configuration) all the patches should be selected and one single slot should be created.

For the Points type, the location of the cooling holes can be defined with a list of points defined by the user. The definition of the holes will no longer be related to the topology of the mesh, but to the geometrical entities including hub, shroud and blades. 

Injection Sector Positioning
Four modes are available to place the holes: 

Relative mode: this mode is used for blade walls and is valid for AutoGrid™ meshes only. In this case, the spanwise and streamwise positions of the hole (or of the 2 extremities in the case of a line of holes) are specified.
Space Cartesian mode: the user specifies the (X,Y,Z) Cartesian coordinates of the hole or of the 2 extremities for a line. For a slot the user enters the radius and the Z-coordinate of one point of the slot. 
Space Cylindrical mode: the user specifies the (R,θ,Z) cylindrical coordinates of the hole or of the 2 extremities for a line. For a slot the user enters the radius and the Z-coordinate of one point of the slot.
Grid mode: the user specifies the (I,J,K) indices of the hole or of the 2 extremities of a line of holes. 

The injection sectors of type Slot cannot be presented in relative coordinates.
The combination of injector geometry and positioning can be summarized as follows:


FIGURE 23 Injector sector geometry/positioning combination & restriction
To cancel the modifications to the injector definition and close the wizard click on the Cancel button.
Once the injector sector role, type and mode are correctly set, click on Next>> to go to the next page of the wizard. On this page, depending of the role, type and mode of injector, the flow parameters and geometry/positioning parameters have to be defined in the second page of the wizard. 
When defining a cooling or bleed using the Cartesian or cylindrical coordinates, no procedure is implemented to check if the specified direction is correct. 
Injection Sector Geometry/Positioning Parameters
As presented in FIGURE 23, 12 combinations are available. As the transformation from cylindrical to Cartesian coordinates is obvious, only 9 combinations will be described in more detail.
Relative positioning for a single hole
The user specifies the diameter of the hole in case of a single hole. Each hole is circular. The diameter of the hole is used to calculate the outgoing velocity. 
As for the old algorithm, the holes are located by means of a spanwise and a streamwise relative position. The algorithm can be applied to H, I or O-meshes generated by AutoGrid™. For O-meshes the blade surface is divided in two different sub-patches (one for the pressure side and one for the suction side). Therefore, the user has to select on which side of the blade (Side1/Side2) the injection will be located. A button has been added in the interface in order to select the side. This button is active only for O-meshes.
Only AutoGrid™ provided with FINE™/Turbo 6.1-1 (and later versions) can be used to generate the mesh and this relative positioning is only available for blade surfaces.


FIGURE 24 Geometry parameters for relative positioning of a hole
The location is defined as a fraction of the arc length from hub to shroud and from the leading edge to the trailing edge. Spanwise and streamwise coordinates are computed for each cell vertex. The closest point found in this relative coordinate frame is the one that is concerned by the injection.
An option has been set-up in order to use the axial chord (Axial Coordinates option) instead of the arc length (only available for axial machines).
The relative positioning does not accept meshes with a blunt at the leading edge
A pop-down menu Select positioning patch is added in the interface. The user has to choose the patch that the hole will be positioned.
Finally, three ways to impose the injection direction are proposed through the interface: Cartesian, cylindrical or grid indices. For injection direction specified in Cylindrical coordinates two options are available: it can be defined in the relative frame of reference or in the absolute frame of reference.


FIGURE 25 . Relative positioning of a hole at 70% spanwise and 50% streamwise.
When Grid Indices  is selected, the injection direction is provided by the user through 2 angles expressed in degrees (depending of the units selected in the menu File/Preferences). Each angle is measured with respect to the local normal and one of the 2 grid line directions tangent to the wall. In case of an  = ct surface, the angles are measured with respect to the  grid lines respectively. FIGURE 25 illustrates the definition of angle βk for an I = cst surface.


FIGURE 26 Angle definition in the cooling flow page of the FINE™ GUI
Each angle is defined as:



For example, in order to make the velocity direction oriented along the normal, the two angles should be set equal to 0. A 90 degrees angle is not allowed as it will induce a velocity vector tangent to the corresponding grid line direction, with zero mass flow.
For holes located on the blade walls and when the mesh is generated with AutoGrid™, the K- and J- lines are the two tangent directions along the blade wall, respectively oriented in the streamwise and spanwise directions.
Relative positioning for a line of holes
The user specifies the diameter of the hole in case of a line of holes. Furthermore, the number of holes has to be specified and will be uniformly distributed on the line. Each hole is circular. The diameter of the hole is used to calculate the outgoing velocity.
As for the old algorithm, the line of holes is defined by two points (holes) that are located by means of a spanwise and a streamwise relative position. The algorithm can be applied to H, I or O-meshes generated by AutoGrid™. For O-mesh the blade surface is divided in two different sub-patches (one for the pressure side and one for the suction side). Therefore, the user has to select on which side of the blade (Side1/Side2) the injection will be located. A button has been added in the interface in order to select the side. This button is active only for O-meshes.
For each point of the line the algorithm works as for the single hole positioning.


FIGURE 27 Geometry parameters for relative positioning of a line of holes
Only AutoGrid™ provided with FINE™/Turbo 6.1-1 (and later versions) can be used to generate the mesh and this relative positioning is only available for blade surfaces.
The location is defined as a fraction of the arc length from hub to shroud and from the leading edge to the trailing edge. Spanwise and streamwise coordinates are computed for each cell vertex. The closest point found in this relative coordinate frame is the one that is concerned by the injection.
A pop-down menu Select positioning patch is added in the interface. The user has to choose the patch that the hole will be positioned. And an option has been set-up in order to use the axial chord (Axial Coordinates option) instead of the arc length (only available for axial machines).
The relative positioning does not accept meshes with a blunt at the leading edge
Finally, three ways to impose the injection direction are proposed through the interface: Cartesian, cylindrical or grid indices. When Grid Indices is selected, refer to the end of the section Relative positioning for a single hole for more details. For injection direction specified in Cylindrical coordinates two options are available: it can be defined in the relative frame of reference or in the absolute frame of reference.
Cartesian positioning for a single hole
The user specifies the diameter of the hole in case of a single hole. Each hole is circular. The diameter of the hole is used to calculate the outgoing velocity.
As for the old algorithm, the holes are located by means of the (X,Y,Z) Cartesian coordinates.
For a single hole, the cell that is concerned by the injection is the closest cell face centre to the defined point. In case of repetition, the point is automatically transferred to the meshed patch
Furthermore, in order to ease the capture of the right coordinates, the button Get Coordinates enables the user to interactively select the point in the mesh view after opening the mesh through the menu Mesh/View On/Off or Mesh/Tearoff graphics (only available on Linux).


FIGURE 28 Geometry parameters for space Cartesian positioning of a hole
A pop-down manu Select positioning patch is added in the interface. The user has to choose the patch that the hole will be positioned.
Finally, three ways to impose the injection direction are proposed through the interface: Cartesian, cylindrical or grid indices. When Grid Indices is selected, refer to the end of the section Relative positioning for a single hole for more details. For injection direction specified in Cylindrical coordinates two options are available: it can be defined in the relative frame of reference or in the absolute frame of reference.
Cartesian positioning for a line of holes
The user specifies the diameter of the hole in case of a line of holes. Furthermore, the number of holes has to be specified. Each hole is circular. The diameter of the hole is used to calculate the outgoing velocity.
As for the old algorithm, the line of holes is defined by two points (holes) that are located by means of the (X,Y,Z) Cartesian coordinates.
For the two points defining the line, the cells that are concerned by the injection are the closest cell face centre to the defined point. In case of a repetition, the point is automatically transferred to the meshed patch
Furthermore, in order to ease the capture of the right coordinates, the button Get Coordinates enables the user to interactively select the point in the mesh view after opening the mesh through the menu Mesh/View On/Off or Mesh/Tearoff graphics (only available on Linux).


FIGURE 29 Geometry parameters for space Cartesian positioning of a line of holes
A line is drawn from those two points (this line does not necessarily follow the surface of the patch, see FIGURE 30). The segment is then uniformly divided into N-1 sub-segments (where N is the number of holes on this line). Each N-2 limits of the sub-segment is then projected on the patch (the closest cell face centre is found). Those are the cells where the injection will be applied. They are not necessarily uniformly distributed on the patch.


FIGURE 30 Construction of a line of holes on a turbine hub
For a mesh with a high clustering, or for a high number of points on the line, several projected points could end on the same cell. This is taken into account in the algorithm. The mass flow injected is then multiplied by the relevant factor. Therefore, one should be aware that the number of cells that are highlighted in the interface should not strictly match the number of holes on the line
On the contrary for a mesh with a relatively poor spatial discretization, the location of the cell face centres where the injection will be applied will not be strictly on a line. A limitation of this algorithm is that the line does not necessarily follow the patch surface. Therefore, defining a line of holes at the hub of a gap (upper surface of a rotor blade) could produce the problem presented on the left side of FIGURE 31. The same problem can arise generally on a convex surface. In order to solve this problem, the user can define a line of holes following a parametric surface defined by the grid lines by activating Parametric Space. Therefore, a line of holes on a convex surface could be more easily defined (right side of FIGURE 31).


FIGURE 31 Definition of a line of holes without or within the parametric space
One limitation of this option is that a line of holes cannot cross a connection. For instance defining a line of holes (in the parametric space) close to the trailing edge of a O mesh will produce the result sketched bellow.


FIGURE 32 Definition of a line of holes in the parametric space.
For turbomachinery configuration with periodic conditions, points could be located either on the meshed passage or on one of its repetitions. Therefore, the injections are automatically transferred to the meshed patch.


FIGURE 33 Two methods to respect repetition for a line of 3 holes.
In case of multi-patch selection the algorithm described above is applied independently for each patch. Therefore, a direct definition of a line of holes crossing several patches is not possible. In this case it is recommended to define as many lines as necessary (see figure below). In order to overcome this problem the multi-patch selection has been restricted to the slots defined by Cartesian or cylindrical coordinates.


FIGURE 34 Example of definition of a line of 5 holes with multi-patch selection.
A pop-down manu Select positioning patch is added in the interface. The user has to choose the patch that the hole will be positioned.
Finally, three ways to impose the injection direction are proposed through the interface: Cartesian, cylindrical or grid indices. When Grid Indices is selected. For injection direction specified in Cylindrical coordinates two options are available: it can be defined in the relative frame of reference or in the absolute frame of reference.
Cartesian positioning for Points of holes
The user specifies the diameter of the hole in case of points of holes. Each hole is circular. The diameter of the hole is used to calculate the outgoing velocity.
For the points type of holes, the positioning patches are not required any more. The user inputs the center coordinates and the injection direction for each hole by means of the (X,Y,Z) Cartesian coordinates. The button Add Hole allows to add a hole in the list. A double click will be necessary to access the input of the center coordinates and the injection direction of the hole. The button Remove Holes allows to remove the selected holes. Another button Reverse Axis will reverse the injection direction for all the selected holes.


FIGURE 35 Geometry parameters for space Cartesian positioning of points of holes
 Grid positioning for a single hole
The user specifies the diameter of the hole in case of a single hole. Each hole is circular. The diameter of the hole is used to calculate the outgoing velocity.
The grid positioning used in the FINE™/Turbo solver depends on the grid indices of the centre of the cell faces. It is different from the grid indices used in IGG™ and in CFView™. The grid indices are directly used by the flow solver in order to introduce the flow of mass, momentum and energy at this cell face.


FIGURE 36 Geometry Parameters for Grid positioning of a hole
A pop-down menu Select positioning patch is added in the interface. The user has to choose the patch that the hole will be positioned.
Finally, three ways to impose the injection direction are proposed through the interface: Cartesian, cylindrical or grid indices. When Grid Indices is selected, refer to the end of the section Relative positioning for a single hole for more details. For injection direction specified in Cylindrical coordinates two options are available: it can be defined in the relative frame of reference or in the absolute frame of reference.
Grid positioning for a line of holes
The user specifies the diameter of the hole in case of a line of holes. Furthermore, the number of holes has to be specified. Each hole is circular. The diameter of the hole is used to calculate the outgoing velocity.
From the two cell face centres defined in the interface, two geometrical points are defined by their (x,y,z) coordinates. Then, a line is constructed in the same way as for the Cartesian positioning (Cartesian positioning for a line of holes). In this case there is no problem of repetition because the two extremities of the line are located on the meshed patch. 
Furthermore, concerning the Parametric Space option, refer to section Cartesian positioning for a line of holes for more details.


FIGURE 37 Geometry parameters for Grid positioning of a line of holes
A pop-down manu Select positioning patch is added in the interface. The user has to choose the patch that the hole will be positioned.
Finally, three ways to impose the injection direction are proposed through the interface: Cartesian, cylindrical or grid indices. When Grid Indices is selected, refer to the end of the section Relative positioning for a single hole for more details. For injection direction specified in Cylindrical coordinates two options are available: it can be defined in the relative frame of reference or in the absolute frame of reference.
Grid positioning for a slot
The user specifies the width of the slot. The width of the slot is used to calculate the outgoing velocity.
From the grid indices a geometrical point is defined. Then the slot is defined in the same way as for the Cylindrical positioning (Cylindrical positioning for a slot).


FIGURE 38 Geometry Parameters for Grid positioning of a slot
Finally, three ways to impose the injection direction are proposed through the interface: Cartesian, cylindrical or grid indices. When Grid Indices is selected, refer to the end of the section Relative positioning for a single hole for more details. For injection direction specified in Cylindrical coordinates two options are available: it can be defined in the relative frame of reference or in the absolute frame of reference.
Cylindrical positioning for a slot
The user has to specify the width of the slot. The width of the slot is used to calculate the outgoing velocity.
In case of slots, the Solid Patches list is restricted to the patches, which can be used to define the slot.


FIGURE 39 Geometry parameters for space Cylindrical positioning of a slot
For the positioning of the slot, the radius and axial position z are asked to the user. Then, the closest cell face of the solid patches to this point is found. The radius and axial position of this cell face center becomes the slot position in the (r,z) plane. It should be noted that this slot position is not identical to the initial user input. 
The algorithm that defines the cell faces that are concerned by this slot is illustrated in FIGURE 40. For each cell face of the patch, the two extremities in the (r,z) plane of this polygon (A,B and A',B') are identified (i.e., the two vertices with the maximum distance in this plane). They define the limits of the cell face in the (r,z) plane. If those two points are called A,B for cell 1 and A',B' for cell 2, and S is the slot location specified by the user in the (r,z) plane through FINE™/Turbo, as presented on FIGURE 40, S is only included in the domain of cell 1 limited by A,B in the (r,z) plane, therefore, the cell 1 is the only cell concerned by the slot S.


FIGURE 40 Identification of the cells concerned by the slot S in the (r,z) plane. δ is the distance between A and B.
On the contrary, S is not inside the domain defined by A',B'. Thus, the cell 2 will not be concerned by the slot.
For O-meshes with small cells close to leading or trailing edges, this algorithm could leads to missing cells. This problem is due to a (r,z) position specified by the user in FINE™/Turbo for the slot that is not precise enough.


FIGURE 41 Definition of a slot for a O-mesh
Furthermore, in order to ease the capture of the right coordinates, the button Get Coordinates enables the user to interactively select the point in the mesh view after opening the mesh through the menu Mesh/View On/Off or Mesh/Tearoff graphics (only available on Linux).
Finally, three ways to impose the injection direction are proposed through the interface: Cartesian, cylindrical or grid indices. When Grid Indices is selected, refer to the end of the section Relative positioning for a single hole for more details. For injection direction specified in Cylindrical coordinates two options are available: it can be defined in the relative frame of reference or in the absolute frame of reference.
Flow Parameters
The user may specify the Mass flow or Mass flow relative to inlet. The specified mass flow is actually the total mass flow through all the blades and through all the holes in the case of a line of holes. Thus the mass flow through one hole is the specified mass flow divided by the number of blades and the number of holes. The mass flow is often responsible for initialization troubles as it might be too high. The FINE™/Turbo interface allows a tuning of the specified mass flow through an expert parameter. This is described in the Expert Parameters section. 
For cooling flow the mass flow specified in FINE™/Turbo will be considered as positive. The mass flow is considered as negative for bleed flow.
When Mass flow relative to inlet is selected, a new pop-down menu appears. The user has to choose an inlet patch (or group). The cooling/bleed mass flow is specified as a percentage value of the inlet mass flow. 
In case the user changes the inlet grouping in the Boundary Conditions page, a warning box will appear if the patch/group that links to the injectors is changed. It is strongly advised to verify the patches in the injectors definitions after performing inlet group/ungroup in the Boundary Conditions page.
Since the injected flow is relative to an inlet mass flow, the injected flow can strongly varies with iterations when Mass flow relative to inlet is selected. This can lead to unstable behavior if the injected flow is important with respect to the inlet mass flow. In that case it should be recommended to start from a previously converged solution.


FIGURE 42 Flow parameters for Bleed


FIGURE 43 Flow parameters for Cooling
Furthermore, the Arrows scaling factor parameter enables the user to control the shape of the arrows representing the injection direction after opening the mesh through the menu Mesh/View On/Off or Mesh/Tearoff graphics (only available on Linux).
For cooling additional parameters have to be defined:

static or total temperature in absolute or relative frame of reference.
turbulent kinetic energy and dissipation or turbulent intensity for the k-ε model.




kinematic turbulent viscosity for the Spalart-Allmaras model.



The detail of mass flow through each injector and the maximum Mach number in the injector has been added in the .mf file. The user can verify whether his/her data is acceptable.

Numerical model

get_CFL_number()
Return the CFL number
set_CFL_number( value )
Set the CFL number
get_cpubooster()
Return CPU booster activation flag (0:off / 1:on)
set_cpubooster( value )
Set CPU booster activation flag (0:off / 1:on)
get_current_grid_level()
Return 6 values: ni, nj, nk, ni_max, nj_max, nk_max (respectively current number of grid levels in directions I, J, K and maximum number of grid levels in directions I, J, K). 
set_current_grid_level( ni, nj, nk )
Set the current grid level in directions I, J and K.
get_MG_level_number()
Return the number of multigrid levels.
set_MG_level_number(ngrid)
Set the number of multigrid levels.
get_MG_flag()
Return the multigrid activation flag (0:off / 1:on)
set_MG_flag( value )
Set the multigrid activation flag (0:off / 1:on)
get_MG_sweeps_definition()
Return the sweeps definition.
set_MG_sweeps_definition(value )
Set the sweeps definition.
The sweeps definition must be one of following values:

1 :  Linear progression
2 :  Increase on higher level
3 :  User-defined

get_MG_number_of_sweeps()
Return the number of sweeps. A list of 10 values is returned.
set_MG_number_of_sweeps(values)
Set the number of sweeps (10 values).
get_MG_number_of_cycles()
Return the maximum number of cycles per grid level
set_MG_number_of_cycles(value )
Set the maximum number of cycles per grid level
get_MG_convergence_criteria()
Return the convergence criteria on each grid level.
set_MG_convergence_criteria(value )
Set the convergence criteria on each grid level.
get_CPUBooster_FMG_parameters()
Return a list with two values. Only available when CPU Booster is activated in the computation. The first value is the status of CPU Booster during the coarse grid initialization: 0-deavtivated, 1-activated. The second value is the CFL number used during the coarse grid initialization.
set_CPUBooster_FMG_parameters(activation, CFL)
Set the CPU Booster parameters during the coarse grid initialization. Only available when CPU Booster is activated in the computation. The first value "activation" sets the status of CPU Booster during the coarse grid initialization: 0-deavtivated, 1-activated. The second value "CFL" sets the CFL number used during the coarse grid initialization.
get_preconditioning_model()
Return the preconditioning model
set_preconditioning_model( value )
Set the preconditioning model.
The preconditioning model can be one of the following constants:

HAKIMI
MERKLE

get_preconditioning_model_params()
Return 2 values: beta coefficient, local velocity scaling activation flag
set_preconditioning_model_params(beta, localScalingFlag):
Set the beta coefficient, and the local velocity scaling activation flag
get_spatial_discretization_scheme()
Return the spatial discretization scheme (0: "Central" / 1: "Upwind")
set_spatial_discretization_scheme( val )
Set the spatial discretization scheme (0: "Central" / 1: "Upwind")
get_spatial_discretization_upwind_order()
Return the upwind scheme order (1: "1st order" / 2: "2nd order")
set_spatial_discretization_upwind_order( value )
Set the upwind scheme order (1: "1st order" / 2: "2nd order")
get_spatial_discretization_upwind_scheme()
Return the 2nd order upwind scheme choice:

1: "Flux difference splitting"
2: "Symmetric TVD"

set_spatial_discretization_upwind_scheme( value )
Set the upwind 2nd order scheme choice:

1: "Flux difference splitting"
2: "Symmetric TVD"

get_spatial_discretization_upwind_linear_field_limiter()
Return the limiter type for the linear field for upwind 2nd order scheme:

1: "Min Mod"
2: "Van Albada"
3: "Van Leer"
4: "Super Bee"

set_spatial_discretization_upwind_linear_field_limiter( value )
Set the limiter type for the linear field for upwind 2nd order scheme:

1: "Min Mod"
2: "Van Albada"
3: "Van Leer"
4: "Super Bee"

get_spatial_discretization_upwind_nonlinear_field_limiter()
Return the limiter type for the non-linear field for upwind 2nd order scheme:

1: "Min Mod"
2: "Van Albada"
3: "Van Leer"
4: "Super Bee"

set_spatial_discretization_upwind_nonlinear_field_limiter( value )
Set the limiter type for the non-linear field for upwind 2nd order scheme:

1: "Min Mod"
2: "Van Albada"
3: "Van Leer"
4: "Super Bee"

get_time_stepping_technique()
Return the time stepping choice (0: "Local or dual time stepping" / 1: "Global time stepping")
set_time_stepping_technique()
Set the time stepping choice (0: "Local or dual time stepping" / 1: "Global time stepping")
get_dual_time_step_convergence_criteria()
Return the convergence criteria for dual time stepping
set_dual_time_step_convergence_criteria(value)
Set the convergence criteria for dual time stepping
get_dual_time_step_max_number_of_iteration()
Return the maximum number of iterations for dual time stepping
set_dual_time_step_max_number_of_iteration(value)
Set the maximum number of iterations for dual time stepping

	The following commands are used  to defined inner perturbations.

	add_harmonic_inner_perturbation(blockGroupInd)
Add an inner perturbation in the block blockGroupInd
	remove_harmonic_inner_perturbation(blockGroupInd)
Remove the latest  inner perturbation defined in the block blockGroupInd
	set_harmonic_inner_perturbation_params(blockGroupInd, pertInd, freq, mode)
Set the parameters defining the pertInd-th inner perturbation in the block blockGroupInd: the frequency (freq), and the spatial mode (mode)
	get_harmonic_inner_perturbation_params(blockGroupInd, pertInd)
Get the parameters defining the pertInd-th inner perturbation in the block blockGroupInd
	get_nb_harmonic_inner_perturbations(blockGroupInd)
Get the number of harmonics defined for the block blockGroupInd

Import Fluid Database
When the user has his own fluid database or the user database of an older version of FINE™/Turbo, the Import Fluids Database... button enables to load another database  into the project. A File Chooser window will pop-up to select the ".flb" file containing the properties of all the fluids. 

When loading an existing project and opening the Fluid Model page, please notice that FINE™/Turbo is automatically checking if the fluid is existing or not in the fluid database. If the fluid name is existing but the properties are different, a comparison window will invite the user to select the fluid to use (the default fluid in the database or the fluid defined in the project). If the fluid is not existing in the fluid database, no fluid will be selected but the fluid parameters defined in the project will be kept. The fluid can be added to the database by clicking on the button Add New Fluid ....

Parameters Area
The Parameters area displays a page containing the parameters related to the selected item of the parameters list. Depending on the selected User Mode, the available expert parameters will be displayed.

Characteristics of Thermodynamic Tables

As described in section, the Condensable Fluid module aims at modeling the real thermodynamic properties of a given fluid by means of interpolation of the variables from dedicated tables. 

The approach that has been adopted in the FINE™/Turbo solver consists of using a series of thermodynamic tables, one table being required each time a thermodynamic variable must be deduced from two other ones. This implies the creation of many tables as input, but presents the advantage that no iterative inversion of the tables is done in the solver, with as a consequence a very small additional CPU time.
By default, the Water (Steam) and R134a tables are included in the FINE™/Turbo installation package. Both tables are generated by TabGen. Information related to

the range of variation of admissible values for thermodynamic variables
the discretization of the grid
the nature of the interpolation algorithm selected
the size of the table 

is discussed here below for the available thermodynamic tables.

Periodic Condition

One important feature of the IGG™ mesh generator concerns the automatic establishment of all connecting and periodic boundary conditions. The corresponding information is transmitted to the FINE™/Turbo interface, with the advantage that the user does not need to specify any input concerning these boundary conditions.
Normally no user input is required on this page. The only periodic boundary condition cases for which a user input is required are those in which some of the boundary conditions have to be applied with a periodicity angle that differs from the global periodicity angle of the block.


FIGURE 13 Periodic boundary condition page.
In case some input is required this section explains how to define the periodic conditions using the PERIODICtab page.
The type of periodicity connection between the patches (Matching or Non Matching) can be entered. A connection is Matching if the numbers of mesh points along the connected patches are identical, and if all the corresponding points along these patches coincide (PER type within IGG™). The Non Matching connection (PERNM type within IGG™) requires the use of an interpolation process to establish the connection, whereas a matching one consists of a single communication of the flow variables. The interpolation used for non matching periodic boundaries consists on a linear interpolation from the four nearest cells.
Some additional characteristics need to be given to fully determine the periodic boundary condition:

For Cartesian (rectangular) problems, the user has to specify the translation vector defining the periodicity. The positive translation vector goes from the current patch to the periodicity patches.
For cylindrical problems, the user has to specify the rotation angle in degrees. The rotation angle is calculated from the connected patch to the current patch, according to the rule of the right handed system.

Boundary Conditions Data
When defining the inlet (or outlet) boundary condition parameters, the user has the option of specifying one or several input files containing each a data profile. These profiles are used to compute by interpolation the corresponding physical variables at the inlet (or outlet).
The file containing the profile must be created by the user and its name must possess the ".p" extension or could be exported from CFView™ with a ".dat" extension. The values of the physical variable stored in this file can come from any source: experiments, previous computations, etc.
File format ".p"

The format used to create this file contains:

Line 1: 	Two strings defining the name of the coordinate axes.
Line 2:	Type of interpolation and number of points of the profile curve.
The types are:	0 for data given at each cell centre
	1,2,3,4 and 5 for 1D interpolation respectively along x, y, z, r and θ.
	51 for 2D interpolation along x and y.
	52 for 2D interpolation along x and z.
	53 for 2D interpolation along y and z.
	54 for 2D interpolation along r and θ.
	55 for 2D interpolation along r and z.
	56 for 2D interpolation along θ and z.

The theta angle is defined as θ = arctg (y/x). The θ profile should cover the patch geometry, so it may take negative values. For unsteady calculations with profile rotation the θ profile must be given form 0 to 2π.

The next lines contain the coordinate(s) of each point with the associated physical value.

Example 1:
r pressure
4 5
0.5   101000
0.6   102000
0.6   103000
0.7   102000
0.8   101000
This example is related to the interpolation of the pressure along the radius. There are 5 point coordinates in the file. This is a space profile.

FINE™/Turbo uses the same file formats to import space, time, and space and time profiles. Thus if there is only one profile in the file, it will be interpreted as a space profile, if a second profile exists, FINE™/Turbo will recognize it as a time profile. Following is an example of a space and time profile:
Example 2:
R Pt 
  4 6
  .3  95600.13
 .251765 98913.46
 .248412 100909.6
 .24445 101527.6
 .240182 101740.4
 .23622 101811.4
  1 10
 .216713 101811.4
 .210922 101872.1
 .205435 101872.1
 .199644 101872.1
 .195682 101872.1
 .191414 101872.1
 .187452 101872.1
 .18349 101740.4
 .179222 99946.98
  .1  99946.98
The two profiles are separated by an empty line. If this file is imported with the profile viewer invoked as fct(space) - only the first part will be taken into account. If fct(time) is specified - only the second part will be read by the flow solver. Both profiles will be imported if fct(space-time) is specified for the variable type.
Example 3:
x Pt 
  1 0
  1 3
  0 1500
  0.05 2000
  0.1 2500
If only input the time profile, the user has to define an empty space profile with 0 point and then input the time profile in the file. The type of the time profile is set to 1.
If there are less coordinates supplied than the number of points specified, FINE™/Turbo will put zero for the missing coordinates.


File format ".dat" 

Single or multiple 1D and 2D profiles can be exported from CFView™ in a ".dat" file. When multiple profiles in the same ".dat" file, empty lines are separating the different profiles. 
For 1D profile coming from the Cartesian plot within CFView™, the format used contains:

Line 1: 	Three values and a string defining the number of geometrical coordinates, the number of quantities, the number of points followed by the quantity name.
The next lines contain the coordinate(s) of each point with the associated physical value.

If the Cartesian plot has been created from the meridional averaged view within CFView™, the "X Y Z" coordinates are replaced by "Z R 0".
When exporting a curve from the Cartesian plot within CFView™, an additional ".dat" file is generated and contains only the abscissa of the Cartesian plot instead of X Y Z.

Line 1: 	Two values and a string, defining the number of quantities, the number of points followed by the quantity name.
The next lines contain the abscissa of each point with the associated physical value.

 
For 2D profile, the format used contains:

Line 1: The patch name.
Line 2: Three values and a string defining the number of geometrical coordinates, the number of quantities, the number of points followed by the quantity name.
The next lines contain the coordinate(s) of each point with the associated physical value.

 
More details are available into the CFView™ User Guide: Cartesian Plot for 1D profile and Geometry/Export Active Surfaces... menu for 2D profile.

How to Launch the flow solver in Parallel using MPI on Linux

Create a script file batch.sh with permission for execution. 
An example of a batch.sh file for a parallel computation on Linux using OpenMPI flow solver:

#! /bin/csh 
euranusTurbo_parallel131 -mca=btl=openib,sm,self  <project_path>/computation/computation.run  -p4pg  <project_path>/computation/computation.p4pg -fullflex
The script is started in a C-shell, which is obtained by the first line: #! /bin/csh. The command line, to start the FINE™/Turbo solver in parallel, contains the name and the release to use, the OpenMPI options that configures the used OpenMPI library or runs the runtime tools, the full path of the .run file to launch (<project_path>) and the full path of the file .p4pg containing the definition of the machines that will be used to launch the computation in parallel. The argument -fullflex is optional, which forces the flow solver to use the FFLEX-type license keys in priority (For more details, see Flexible Cores Type from License).
The name of the executable is different from the one for sequential computations. 

Without arguments, the OpenMPI flow solver (libraries v1.6.5) compiled Portland PGI6 is used. 
To run the flow solver executables compiled with Intel ICC15:

the argument -intel should be added in the command line to start the OpenMPI flow solver  (libraries v1.10.4),
the argument -intel -intelmpi should be added in the command line to start the IntelMPI flow solver (libraries v5.1.3).

To run the flow solver executables compiled with Portland PGI17:

the argument -pgi should be added in the command line to start the OpenMPI flow solver  (libraries v1.10.4),
the argument -pgi -intelmpi (default) should be added in the command line to start the IntelMPI flow solver (libraries v5.1.3).


The OpenMPI options can be used to configure OpenMPI. In general, all the MCA options can be imposed in the script. 
Please note, when the OpenMPI options are following the NUMECA executable euranusTurbo_parallel<version>, the spaces in the original MCA parameters MUST be replaced by: =.
If OpenMPI is built with the support of CPU affinity, it is possible to configure this feature through the script by adding the option -rf=<rankfile>, with a rankfile written like described in http://www.open-mpi.org/faq/?category=tuning#using-paffinity. 
The OpenMPI options can also be used to call the runtime tools that permit to scan the host machine, get runtime information, etc. For example, the following options can be added in the command line to obtain the corresponding information:
-param=btl=openib	to run ompi_info --param btl openib;
-param=btl=all	to run ompi_info --param btl all; 
-param=mpi=all	to run ompi_info --param mpi all; 
-param=all=all	to run ompi_info --param all all; 
etc.
All the runtime information is written in a hidden file located in the working directory, with the extension .rtm (.rtm<rank> in case of parallel computation).


Create hosts definition file .p4pg. A file needs to be created to define the hosts (e.g. computation.p4pg). This file specifies the machine information regarding the various processes. 
Examples of computation.p4pg files

Example 1
hostname1	4	euranusTurbo<version>
hostname2	2	euranusTurbo<version>
where the master host is on hostname1, 4 processes on hostname1 and 2 processes on hostname2.
Example 2
hostname1	0	euranusTurbo<version>
hostname2	2	euranusTurbo<version>
where the master host is on hostname1, there is no process on hostname1 and two processes on hostname2.


For each machine, a line must be added consisting of the machine name (the machine hostname), the number of processes to run on the machine, the name of the executable and the FINE™/Turbo release:
hostname <nr_processes> euranusTurbo<version>

If additional machines are to be used, subsequent lines are required for each one. If the number of processors is set to 0 for the first machine (first line of the .p4pg file), only the master host process will run on that machine while the nodes will run on the next machines declared in the following lines. 
The first machine (hostname) specified in the .p4pg file has to be the one, on which the script will be launched.
The total number of processes defined in the .p4pg file should be equal to the number of nodes running.
Set permission for execution of the script batch.sh by using the command: chmod 755 batch.sh
The input file .run to launch the computation has to be created. The parallel settings of the computational file (.run) are managed by the Task Manager. Therefore before launching the parallel computation script, the following steps must be performed through the FINE™/Turbo interface:
Create the computation input file (.run) by activating the corresponding computation and clicking on the File/Save Run Files menu in the interface.
To set the final parallel settings:

create a task in the Task Manager,
define the parallel settings of the FINE™/Turbo solver subtask (parallel computation),
Save the task through the Task Manager by clicking on Save button.

These operations are mandatory in order to have all the parallel settings correctly imposed in the computation file (.run). They can also be performed in batch, with the finebatch command, see How to Launch finebatch on Linux.
Launch the script batch.sh by typing the script file name: ./batch.sh.

When saving the .run file of the computation (File/Save Run Files) and clicking the save button (Modules/Task Manager), a script .batch and a .p4pg file are automatically created in the corresponding computation subfolder. These files enable the user to launch the same parallel computation in batch.
General Purpose Graphical Processing Unit (GPGPU) acceleration
FINE™/Turbo solver can be accelerated using a General Purpose Graphical Processing Unit (GPGPU). GPGPU-accelerated computing offloads compute-intensive portions of the application to the graphics processing unit, leaving the remainder of the calculations running on the CPU. Due to their massively parallel architecture, the use of graphics processing units together with CPUs can provide valuable savings in computational time.
Hardware considerations
The performance of the GPGPU-accelerated FINE™/Turbo solver is hardware dependent. Any CUDA 3.0 - CUDA 8.0 enabled NVIDIA® graphics processing unit may be used, which includes all GPUs from the Pascal, Kepler and Maxwell architecture, along with many from the Fermi line.
  When purchasing a GPU enabled system for FINE™/Turbo the customer should consider the following factors, listed in order of importance:The speed of the PCI bus is paramount.  PCIe3 x16 is recommended.The GPU performance will be best if the processing unit has sufficient memory to hold the entire FINE™/Turbo computation.    For a steady, double precision simulation it is recommended that the GPU has 1.5 GB of onboard memory for every million nodes in the  mesh.Most workstations will pair a single multi-core CPU with a single GPU.    An excessive number of CPU cores concurrently offloading work to the GPU will negatively impact performance.  Thus, systems with low core count CPUs (8 or less) will benefit the most from GPU acceleration.Both commercial graphics cards (NVIDIA® GeForce®) and professional compute cards (Quadro® or Tesla®) are supported and have been shown to offer good performance.  The dedicated compute cards avoid contention from other graphical applications which will yield more consistent performance.
Mesh considerations
When constructing a mesh for a GPGPU-accelerated computation it is important to consider the impact of the mesh topology on the solution speed.  Graphical processing units are most effective if they are able to simultaneously process thousands of concurrent calculations.  Meshes with large, evenly sized blocks will typically result in better speedup than heavily partitioned meshes or meshes with large differences in block sizes.  If possible, avoid creating meshes with blocks containing less than 100k cells for GPGPU-accelerated computations.
How to launch GPGPU-accelerated computations FINE™/Turbo
The GPGPU acceleration in FINE™/Turbo can be activated through the use of the integer expert parameters ACCCTL and CPUBRB (only when CPU Booster is also active) and subsequent launching of the computation in batch mode with the -pgi flag appended to end of the launch arguments. The settings of these expert parameters are:

ACCCTL: Acceleration controls.  Integer list of 5 values:ACCCTL[0]:  Primary GPU acceleration toggle:0 = disabled (default);2 = enabled.ACCCTL[1]:  Intermediate OpenACC data regions:0 = disabled, for debugging purposes only;1 = enabled (default).ACCCTL[2]:  Acceleration auto-tuning used to automatically determine the appropriate acceleration flags for each routine/block/grid level without direct user intervention regardless of the hardware or computation configuration:0 = disabled;1 = enabled (default).ACCCTL[3]:  Grid level filtering to skip acceleration on the coarse grids (only considered if auto-tuning is disabled):1 = only the finest grid level accelerated;N = acceleration applied on N finest grid levels.ACCCTL[4]:  GPU memory management mode:0 = high performance mode. Permanently allocate as much memory as possible on the graphics processing unit, minimizing data transfer and allocation time.  Naturally, this requires a high-end GPU with large amount of onboard memory.1 = low GPU memory mode. Temporarily allocate the necessary GPU memory at the entrance to each accelerated region.  This limits the amount of necessary onboard memory but increases the amount of time needed for data transfer and allocation.


CPUBRB: GPU-accelerated CPU Booster scheme:0 = legacy implementation with limited GPU acceleration.1 = updated implementation with full GPU acceleration (for Spalart Allmaras turbulence model only).

The recommended settings for ideal performance of GPGPU-accelerated computations in FINE™/Turbo with typical configurations is ACCCTL = 21100 and CPUBRB = 1 (if CPU Booster is active and for Spalart Allmaras turbulence model only).
The GPGPU-accelerated version of the CPU Booster utilizes a thread-safe implementation which is not numerically identical to the standard CPU Booster.  Both methods have been shown to converge to the same solution, but minor differences in the residual history are to be expected.
The integer expert parameter NITER (default = 2) controls the number of inner solver iterations used in the CPU Booster implementation. Increasing its value (e.g. to 3 or 4) may improve the convergence rate when GPGPU-accelerated computations with CPU Booster are considered.
An example of launching a GPGPU-accelerated computation in FINE™/Turbo in parallel

 Set up the computation in  FINE™/Turbo;
In the Control Variables page, modify the expert parameters ACCCTL (e.g. set ACCCTL = 21100) and CPUBRB (e.g. set CPUBRB = 1 if CPU Booster is active for a computation with Spalart Allmaras turbulence model);
Create the computation input file (.run) by activating the corresponding computation and clicking on the File/Save Run Files menu in the interface;
Go to the menu Modules/Task Manager;
Create a task, a corresponding subtask and link the .run file of the computation;
Define the parallel settings (Parallel Computation or Parallel Partitioned Computation) of the FINE™/Turbo solver subtask with the desired number of processes;
Save the task by clicking on Save button;
Edit the .batch script which was automatically created in the corresponding computation subfolder. Add the following flag to the end of the launch arguments: -pgi. This option is already present in the script if one of the Portland PGI17 compilers was already selected in the Task Manager page, i.e. Portand OMPI (PGI17) or Portland IMPI (PGI17).
Save the .batch script and launch it by typing ./ followed by the script file name in a command shell;
The solution can be monitored  and information regarding the activation of GPGPU acceleration is shown in the .std file generated once the computation starts. An extract of the .std file from a GPGPU-accelerated computation in  FINE™/Turbo is shown below.



The GPGPU acceleration in  FINE™/Turbo can also be launched in sequential mode (by instead selecting Sequential Computation in step 6 shown in the example above).
Limitations
The GPGPU acceleration in  FINE™/Turbo is currently only supported on Linux operating systems. Other limitations and incompatibilities of the GPGPU acceleration can be found under the What's New? section in the Compatibility Matrix file. In addition, the following features are still untested:

NLH steady initialization;
Unsteady initialization;
Moving mesh;
CPUBooster steady initialization.

Files Produced by IGG™

This section describes the files produced by the grid generator IGG™ and used by FINE™/Turbo:

the identification file "project.igg",
the binary file "project.cgns",
the boundary conditions file "project.bcs",
the geometry file "project.geom",
the configuration file "project.config".

The Identification File '.igg'
This file contains all the mesh geometric and topologic information. It is used by FINE™/Turbo to identify the mesh topology. A complete description of this file is given in the IGG™ User Manual.
The Binary File '.cgns'
When the mesh is created and saved in IGG™, the binary file "project.cgns" containing the grid point coordinates is created. Later on, the solver will store the wall distances used for the different turbulence models in the same file.
The Geometry File '.geom'
When the mesh is created and saved in IGG™, the geometry file "project.geom" containing the whole geometry (curves, surfaces and Cartesian points) is created.
The Boundary Condition File '.bcs'
As described in Boundary Conditions, the settings of the boundary condition type have to be set inside IGG™ while the physical boundary condition parameters are set in FINE™/Turbo. The settings of IGG™ are stored in the file "project.bcs". This files is used by FINE™/Turbo to initialize the boundary condition types for each patch. They are updated each time the boundary condition type is changed inside IGG™.
The Configuration File '.config'
This file contains all the mesh patches and boundary conditions. It is used by FINE™/Turbo for the SubProject management. It is also used to automatically create groups to set-up the boundary conditions. A description of this file is given in the IGG™ User Manual.

RotatingBlockGroup
This class contains the following methods to access / modify the block group:

get_group_name()
Return the block group name.
get_nb_blocks()
Return the number of blocks contained in the block group.
get_block_index( index )
Return the global index of the block, from the local index of the block group.
get_streamwise_direction()
Return the streamwise direction of the block group.
set_streamwise_direction( dir )
Set the streamwise direction of the block group. dir can be one of following constants:
DIR_I
DIR_J
DIR_K
get_spanwise_direction()
Return the spanwise direction of the block group.
set_spanwise_direction( dir )
Set the spanwise direction of the block group. dir can be one of following constants:
DIR_I
DIR_J
DIR_K
get_azimuthal_direction()
Return the azimuthal direction of the block group.
set_azimuthal_direction( dir )
Set the azimuthal direction of the block group. dir can be one of following constants:
DIR_I
DIR_J
DIR_K
get_rotational_speed()
Return the rotational speed of the block group.
set_rotational_speed( value )
Set the rotational speed of the block group.

Time Configuration

To perform time independent computations it is sufficient to select Steady. In case time dependence needs to be included in the simulation Unsteady or Harmonic should be selected which gives access to additional parameters respectively for unsteady flow simulation. All parameters in the FINE™/Turbo interface related to Unsteady computations are described in the following sections. For the parameters related to Harmonic computations, please refer to the harmonic method.

Remote Copy Features on Linux
All the tasks defined by the user are associated with files used or created by the NUMECA's software. When the files are not visible from the machine on which the task must be launched (i.e. the files are on the local disk of the host where FINE™/Turbo is running), the user can use the remote copy feature proposed in the Task Manager. All the files needed by the tasks will be transferred into a directory (specified by the user) of the remote machine and at the end all the created or modified files are transferred back to the host machine from which the task has been launched. By default, the available remote directories are "/tmp". The user can also specify any other directory, as long as it is visible from the remote host and has writing permissions. 
This feature uses by default the scp command (encapsulated in the nircp script) unless the environment variable NI_RCPCMD is set to rcp or scp. In this case, the command defined by this environment variable will be launched.

for csh or tcsh:
setenv NI_RCPCMD rcp

for bash or ksh:
export NI_RCPCMD = rcp


 Before using the remote copy feature when the environment variable NI_RCPCMD is set to rcp, it is advised to first check if the rcp command works correctly between the machines:

First try the rsh command (see Machine Connections).
Type the command: touch test;rcp -p -r test destination_machine:/tmp/test. If no error is returned by the system, the remote copy works between the local host and the destination_machine. Errors may appear if the .cshrc file contains an stty command. In order to be able to use the remote copy feature, remove all the stty commands from the .cshrc file.
If the login on the local host is different from the login on the remote host, type the command: touch test;rcp -p -r test remote_login@destination_machine:/tmp/test.

Flow Model



The  Flow Model page, as displayed in FIGURE 1, can be used in order to specify several characteristics of the flow:

the time configuration to define time dependence of the equations to solve,
the mathematical model to:

choose between viscous and non-viscous flow,
choose between laminar and turbulent flow,
activate gravity,
activate pre-conditioning for low speed flow

the characteristic scales defining the Reynolds number of the flow,
the reference values of the temperature and pressure in the flow.



FIGURE 1 Flow Model page.

Expert Parameters Linked to Rotor/Stator interfaces
This section provides a summary of the expert parameters related to rotor/stator interfaces.
CFFNMB(integer):	Applies to all FNMB rotor/stator interfaces.

0: old implementation for FNMB connection
1 (default): new implementation with connection factor of cell area between image mesh and actual mesh.

RSTOL(real):	This parameter is the tolerance used for the Full Non Matching algorithm (default value 0.005). This parameter should be smaller than the ratio of the first inner cell distance to the hub-to-shroud distance.
IFRSFI(integer):	Controls the input and output of FNMB data.

0: FNMB data computed but not saved
1: FNMB data computed and results saved in .adf file.
2 (default): FNMB data computed and results saved if the .adf file is not existing. Results read from .adf file otherwise.

IRSIBS(integer):	Creation of the image mesh.

0: Old 2D nearest neighbour search when building the image mesh.
10 (default): New 2D nearest neighbour search with IRSIBS set to the maximum number of boxes to create along each dimension of the density card when building the image mesh.

ICYOUT(integer):	Controls the output of domain-scaling or phase-lagged simulations when the option Multiple Files is activated in the Computation Steering / Control Variables page.

0: all the specified time steps will be kept in the computation folder. The name of the output changes with suffix _t#.
1 (default): the output files will be overwritten at every cycle.

IDEBUG(integer):	Exports image meshes in the computation directory.

0 0 0 0 0 0 0 0 0 0 (default): image meshes are not saved in the computation directory.
0 0 0 0 0 1 0 0 0 0: image meshes are saved in the computation directory and can used to check the node distribution on the rotor-stator interface(s).

RSIMGD(integer):	
A first integer controls the nodes distribution of the FNMB Rotor/Stator image mesh.

0: old implementation, the image mesh will be locally refined in the middle (both in spanwise and pitchwise directions).
1 (default):  the nodes distribution will be smoother.

A second integer controls  the boundary layer nodes clustering on the image mesh.

0: old implementation, uses shortest distance interpolation algorithm. This may lead to extrapolation, which can result in the loss of boundary layer node clustering or unnecessary clustering outside the boundary layer.
1 (default): activates a more robust algorithm, resulting in a good match of local nodes distribution even with large aspect ratios and expansion ratios.

RSIMGR(real):	Defines the image mesh refinement factor of FNMB rotor/stator interfaces. For example, RSIMGR=2.0 means 2 times finer image mesh in each direction.

Interface for Unsteady Computation
When selecting Unsteady time configuration in the Flow Model page the following additional parameters become accessible in the FINE™/Turbo interface:
Rotating Machinery
On the Rotating Machinery page, under the Rotor-Stator  tab, the Domain Scaling rotor/stator interaction is activated, see Domain Scaling Method on how to set up a Domain Scaling simulation. Furthermore, the Phase Lagged  capability can be activated on the top of the page. When activated, the Phase Lagged rotor/stator interaction will be applied, see Phase Lagged Method on how to set up a Phase Lagged simulation.
Time Dependent Boundary Conditions




On the Boundary Conditions page the boundary conditions at inlet and outlet may be defined as a function of time. To define a time dependent boundary condition go to the Boundary Conditions page and change the default (Constant Value) with the pull down menu to:

fct(time) to define a constant value in space but varying in time. Click on the profile data button () to activate the Profile Manager.
fct(space-time) to define a space and time dependent variation of the boundary condition value. In this case a one-dimensional space profile has to be defined. The time profile to impose is a scaling factor that is applied to the space profile. This means that the profile in space is only varying in time with a certain scaling factor.

Another way to define an inlet/outlet unsteady boundary condition is to set an absolute rotational speed to the boundary condition by activating the option Rotating Boundary_Condition and specifying the rotational speed in Rotational Speed Unsteady respectively under the INLET and OUTLET tabs, and to set the periodicity of the signal entered in FINE™/Turbo through the expert parameter NPERBC.
When Rotating Boundary Condition is activated, the time step is no longer specified by the physical time step in the FINE™/Turbo interface in the Computation Steering/Control Variables page. Instead the time step is imposed by defining the Number Of Angular Positions.
When activating Rotating Boundary Condition in the Boundary Conditions page to rotate the reference system of the boundary condition at the inlet and/or outlet, the period of the boundary condition should be compared to the blade passing period. In the case of a single blade row calculation with the period of the varying inlet or outlet boundary conditions different from the blade passing period, the Phase Lagged option should be activated in the Rotating Machinery page and the periodicity of the signal entered in FINE™/Turbo has to be specified through the expert parameter NPERBC.
The FINE™/Turbo solver allows only one rotation speed (combined with a zero rotation speed) when performing an unsteady simulation using the Domain Scaling method or Phase lagged method.
The inlet/outlet unsteady boundary condition circumferential profile has to be imposed on a range covering the initial blade passage location and the blade passage location after one period of the signal.
In the example shown in FIGURE 4, the blade channel is initially (t0) located at θ1,θ2 and will after one period of the signal (T) be located at θ3,θ4. The circumferential signal has thus to be imposed from at least θ1 to θ4.


FIGURE 4 Circumferential signal
Control Variables


On the Computation Steering/Control Variables page the following parameters appear when selecting an unsteady time configuration:

Physical Time Step: in general cases the user specifies the magnitude of the physical time step in seconds. This time step is constant through the whole calculation. In cases of turbomachinery applications where Rotor/Stator interfaces are detected or Rotating Boundary Condition activated, the Number Of Angular Positions is requested instead of the time step.
Number Of Physical Time Steps: to define the number of time steps to perform. In cases of turbomachinery applications where Rotor/Stator interfaces are detected or Rotating Boundary Condition activated, the Number of Periods can also be specified.
Save Solution Every: allows to save the solution after a constant number of time steps. By default the output files will be overwritten, every time the solution is saved. In order to keep the successive unsteady solutions, the multiple output (Multiple Files) option has to be activated.
Include Time Averaged Solution in Output: When activated, the time averaged solution will be computed over one full period and saved in a "_tav.cfv" file, then updated after each full period. The time averaged solution is computed starting from the first iteration on fine mesh or the first iteration after restart from file. In the "_tav.cfv" file, all the primitive variables are averaged as follows:





where  is the time step in iteration i and T is the period. All other variables are derived from the primitive variables.
The time averaged solution is computed over one full period, this means from T1 to TX with X being the number of angular position. For instance, if the number of angular position is set to 30 and only 16 time steps have been executed, when restarting the computation, the user needs to perform 44 (14+30) time steps in order to have a "_tav.cfv" file saved.
The option Include Time Averaged Solution in Output is only available when Rotor/Stator interfaces are detected or the Rotating Boundary Condition is activated.
The option Include Time Averaged Solution in Output is not available when the phase lagged approach is used. A tool has been provided, which allows the user to compute the time averaged solution for the phase lagged computation. 
Outputs For Visualization: 

At end only and Intermediate Restart Files: One File: During the computation, one set of output files is saved (The solution is saved every x time steps as specified in Save Solution Every ... time steps.) for a possible restart of the unsteady computation. Output files for visualization in CFView™ are only available at the end of the computation. No second order restart possible.
At end only  and Intermediate Restart Files: Multiple Files: During the computation, multiple sets of output files are saved (The solution is saved every x time steps as specified in Save Solution Every ... time steps.) for restart of the unsteady computation. Output files for visualization in CFView™ are only saved at the end of the computation. This option allows a second order restart.
Intermediate and One Output File: One set of output files is saved (The solution is saved every x time steps as specified in Save Solution Every ... time steps.) for restart of the unsteady computation and visualization in CFView™ during the computation. No second order restart possible.
Intermediate  and Multiple Files: Multiple sets of output files are saved (The solution is saved every x time steps as specified in Save Solution Every ... time steps.) for restart of the unsteady computation. and visualization in CFView™ during the computation. This option allows a second order restart. This combination has to be chosen to be able to make an animation of the saved time steps in CFView™.

Number Of Steady Iterations: the number of iterations to initialize the unsteady computation. Such initialisation is performed with the steady state algorithm, using fixed geometry and mesh as well as constant inlet/outlet boundary conditions. In case this initialisation procedure is used the steady state iterations can even be proceeded by a full multigrid process allowing a rapid initialisation of the flow.
Save Steady Solution Every: the number of iterations at which the solution of steady initialisation is saved
By default only one output file is created. For the generation of multiple output files, the Multiple Files option has to be selected.

Second Order Accurate in Time
The FINE™/Turbo solver performs second order accurate simulations in time. In order to allow a second order restart it is necessary to select Multiple Files in the Computation Steering/Control Variables page. When Multiple Files option is selected, in unsteady calculations the ".cfv" and ".cgns" are saved at the requested time steps and only a part of the ".cgns" file is saved for the previous time step. When requesting a restart of an unsteady computation the FINE™/Turbo solver will automatically find this second solution file to use. If this file is not found, a first order scheme is used for the first time step.
Note that only a limited output is saved when selecting Multiple Files with Output For Visualization/At end only. If a solution is requested every x time steps, only solution files with extension ".cgns" are written every x time steps instead of a full set of solution files. This limited output still allows to restart from this solution . The full set of solution files will be written at the end of the computation.
Note, in order to perform a second order restart for an unsteady computation, all the blocks and groups should be merged together into one single group and the option Reset convergence history MUST be deactivated. Otherwise only a first order restart will be applied automatically. Please refer to General Restart Procedure on how to deactivate the option Reset convergence history.
Note, in order to keep the convergence history in the new computation (different from the initial unsteady computation), the ".res", ".steering" and ".steering.binary" files need to be copied and renamed in the new computation directory.

Laminar Navier-Stokes
When selecting Laminar Navier-Stokes equations the only effect is on the thermodynamic property of the flow. The viscosity will be the laminar kinematic viscosity and thus does not contain any turbulent component.

From Rotor/Stator
The outlet boundary condition From Rotor/Stator can only be used in the frame of the SubProject module. This boundary condition is set automatically, no user intervention is required.

BoundaryConditionGroup
The BCGroup class contains following methods to access / modify the boundary conditions settings:

BCGroup(BCType, index )
Construct a BCGroup object from BCType and group index.
BCType can be: 
"INLET"
"OUTLET"
"SOLID"
"EXTERNAL"
"ROTOR-STATOR"
get_type()
Return B.C type
get_index()
Return group index
get_bc_type()
Return the B.C. definition.
set_bc_type(value)
Set the B.C. definition, which can be one of the following constants or codes:
INLETs:





Boundary type

Code



SUBSONIC_CYLINDRICAL_ANGLE_FROM_AXIAL_DIRECTION
[124, 1]


SUBSONIC_CYLINDRICAL_ANGLE_FROM_AXIAL_DIRECTION_V_EXTRAPOLATED
[124, 2]


SUBSONIC_CYLINDRICAL_TOTAL_ENTHALPY_DRYNESS_FRACTION_CONDENSABLE_GAS_ANGLE
[124,22]


SUBSONIC_CYLINDRICAL_TOTAL_ENTHALPY_DRYNESS_FRACTION_CONDENSABLE_GAS_VELOCITY
[124,24]


SUBSONIC_CYLINDRICAL_ANGLE_FROM_AXIAL_DIRECTION_VZ_EXTRAPOLATED
[124, 3]


SUBSONIC_CYLINDRICAL_VELOCITY_DIRECTION_V_EXTRAPOLATED
[124, 4]


SUBSONIC_CYLINDRICAL_TANGENTIAL_VELOCITY_AND_MERIDIONAL_ANGLE_VM_EXTRAPOLATED
[124, 8]


SUBSONIC_CYLINDRICAL_FLOW_ANGLE_AND_TOTAL_COND_UPSTREAM_ROT_FRAME_VM_EXTRAPOLATED
[124, 9]


SUBSONIC_CYLINDRICAL_ANGLE_FROM_MERIDIONAL_DIRECTION_STATIC_PRESSURE_EXTRAPOLATED
[124, 5]


SUBSONIC_CYLINDRICAL_VELOCITY_COMPONENTS_STATIC_PRESSURE_EXTRAPOLATED
[124, 7]


SUBSONIC_CYLINDRICAL_STATIC_QUANTITIES_DISTRIBUTION_HARMONIC
[324, 4]


SUBSONIC_CYLINDRICAL_FROM_ROTOR_STATOR
[ 49, 1]


SUBSONIC_CARTESIAN_STATIC_PRESSURE_EXTRAPOLATED
[ 24, 1]


SUBSONIC_CARTESIAN_MACH_NUMBER_EXTRAPOLATED
[ 24, 2]


SUBSONIC_CARTESIAN_MAGNITUDE_OF_ABSOLUTE_VELOCITY_EXTRAPOLATED
[ 24, 3]


SUPERSONIC_CARTESIAN_VELOCITY_COMPONENTS_IMPOSED
[ 23, 0]


SUPERSONIC_CYLINDRICAL_TOTAL_QUANTITIES_VELOCITY_COMPONENTS_IMPOSED
[ 23, 1]


SUPERSONIC_CYLINDRICAL_STATIC_QUANTITIES_VELOCITY_COMPONENTS_IMPOSED
[ 23, 2]


SUBSONIC_CYLINDRICAL_MERIDIONAL_FLOW_ANGLE_AND_TANGENTIAL_VELOCITY
[ 28, 1]


SUBSONIC_CYLINDRICAL_VELOCITY_DIRECTION
[ 28, 2]


SUBSONIC_CARTESIAN_VELOCITY_DIRECTION
[ 28, 3]



OUTLETs:





Boundary type

Code



SUBSONIC_STATIC_PRESSURE_IMPOSED
[ 25,10]


SUBSONIC_AVERAGED_STATIC_PRESSURE
[ 27,40]


SUBSONIC_RADIAL_EQUILIBRIUM
[125,10]


SUPERSONIC_EXTRAPOLATION
[ 22, 0]


SUBSONIC_VELOCITY_SCALING
[ 27,20]


SUBSONIC_PRESSURE_ADAPTATION
[ 27,30]


SUBSONIC_ABSOLUTE_MACH_NUMBER_WITH_PRESSURE_ADAPTATION
[ 27,50]


SUBSONIC_RELATIVE_MACH_NUMBER_WITH_PRESSURE_ADAPTATION
[ 27,60]


SUBSONIC_RIEMANN_INVARIANT
[ 29, 1]


SUBSONIC_FROM_ROTOR_STATOR
[ 49, 2]


SUBSONIC_MASSFLOW_PRESSURE_ADAPTATION
[ 27, 30]



SOLIDs:





Boundary type

Code



NS_CYLINDRICAL_ADIABATIC_CONSTANT_ROTATION_SPEED
[113, 0]


EULER_EULER_SOLID_WALL
[ 16, 0]


NS_CYLINDRICAL_ADIABATIC_AREA_DEFINED_ROTATION_SPEED
[113, 1]


NS_CYLINDRICAL_HEAT_FLUX_IMPOSED_CONSTANT_ROTATION_SPEED
[110, 0]


NS_CYLINDRICAL_HEAT_FLUX_IMPOSED_AREA_DEFINED_ROTATION_SPEED
[110, 1]


NS_CYLINDRICAL_TEMPERATURE_IMPOSED_CONSTANT_ROTATION_SPEED
[114, 0]


NS_CYLINDRICAL_TEMPERATURE_IMPOSED_AREA_DEFINED_ROTATION_SPEED
[114, 1]


NS_CARTESIAN_ADIABATIC
[ 13, 0]


NS_CARTESIAN_HEAT_FLUX_IMPOSED
[ 10, 0]


NS_CARTESIAN_TEMPERATURE_IMPOSED
[ 14, 0]


NS_CYLINDRICAL_CHT_CONNECTION_CONSTANT_ROTATION_SPEED
[114, 20]


NS_CYLINDRICAL_ROTATION_SPEED_ACOUSTIC_IMPEDANCE
[113, 2]


NS_CARTESIAN_ACOUSTIC_IMPEDANCE
[13, 2]


EULER_ACOUSTIC_IMPEDANCE
[16, 2]



EXTERNALs:





Boundary type

Code



EXTERNAL_STATIC_QUANTITIES
[ 21, 1]


EXTERNAL_CONSTANT_WIND_INCIDENCE_RELATIVE_Z
[ 21, 2]



ROTOR-STATORs:





Boundary type

Code



RS_CONSERVATIVE_COUPLING_PITCHWISE_ROW
[ 43, 1]


RS_LOCAL_CONSERVATIVE_COUPLING
[ 44, 1]


RS_FULL_NON_MATCHING_MIXING_PLANE
[ 45, 1]


RS_FULL_NON_MATCHING_FROZEN_ROTOR
[ 46, 1]


RS_NON_REFLECTING_1D
[ 48, 1]


RS_NON_REFLECTING_2D
[ 48, 2]


RS_DOMAIN_SCALING
[ 47, 1]


RS_PHASE_LAGGED
[ 47, 2]



get_group_name()
Return the name of the group
get_nb_patches()
Return the number of patches contained in the group
get_patch( index )
Return patch (BCPatch object) of group, from its local index.
get_patches_names()
Return the list of patches (names)  of the group
get_parameter_value( name )
Return the parameter value, specified by its name. The name must be the same as the one shown in the interface. The situation is different for the Turbulent Quantities for which the name of the interface must be followed by the chosen turbulence model: '(S-A)' in case of a 1-equation turbulence model and '(k-e)' in case of a 2-equation turbulence model. Examples are: ''Turbulent Intensity (S-A)'' or ''Turbulent Intensity (k-e)''. It is important to note that the names of the turbulent quantities Turbulent Viscosity, k, and Epsilon are exceptional as they do not need to be followed by the turbulence model, e.g. ''Epsilon'' or ''k''.
set_parameter_value(name,value )
Set the parameter value, specified by its name. The name must be the same as the one shown in the interface.The situation is different for the Turbulent Quantities for which the name of the interface must be followed by the chosen turbulence model: '(S-A)' in case of a 1-equation turbulence model and '(k-e)' in case of a 2-equation turbulence model. Examples are: ''Turbulent Intensity (S-A)'' or ''Turbulent Intensity (k-e)''. It is important to note that the names of the turbulent quantities Turbulent Viscosity, K, and Epsilon are exceptional as they do not need to be followed by the turbulence model, e.g. ''Epsilon'' or ''k''. The choice of the specified turbulent quantity is performed by setting the value of the 'name' parameter "Turbulent Quantities (S-A)" or  "Turbulent Quantities (k-e)" according to the turbulence model. The value must be set to an integer between 0 and 3 corresponding to the order in the choice list, starting from 0.
set_bc_profile_from_file(name, type, filename)
Set the profile definition for the specified parameter name. The name must be the same as the one shown in the interface.
type is the profile definition:
1: "space-time"
2: "space"
3: "time"
get_force_and_torque()
Return the force and torque computation flag (0:off / 1:on)
set_force_and_torque(value)
Set the force and torque computation flag (0:off / 1:on)

File Menu


New Project


The menu item File/New allows to create a new FINE™/Turbo project. When clicking on File/New a File Chooser window appears. Browse in the Directory list to the directory in which to create a new project directory (in the example of FIGURE 3 the directory "/home" was selected). Give a new name for the project in the File list, for example "project.iec" and click on OK to create the new project.
When starting a new project a new directory is automatically (FIGURE 4) created with the chosen name (1). All the files related to the project are stored in this new directory. The most important of them is the project file with the extension ".iec", which contains all the project settings (2). Inside the project directory FINE™/Turbo creates automatically a subdirectory "_mesh" (3). As all the computations of the project must have the same mesh it is advised to store the mesh in this specially dedicated directory. Each time the user creates a new computation, a subdirectory is added (4). The output files generated by the flow solver will be written in the subdirectory of the running computation.
After the new project is created a Grid File Selection window (FIGURE 5) appears to assign a grid to the new project. There are two possibilities:

To open an existing grid click on Open Grid File. A File Chooser allows to browse to the grid file with extension .igg. Select the grid file and press OK to accept the selected mesh. A window appears to define the Grid Units and Project Configuration. Set the parameters in this window as described in Grid Units & Project Configuration and click OK to accept.
If the grid to be used in the project was not yet created use Create Grid File to start IGG™. Create a mesh in IGG™ or AutoGrid™ (Modules/AutoGrid5) and save the mesh in the directory "_mesh" of the new project. Click on Modules/Fine Turbo and confirm "yes" to return to the FINE™/Turbo project. Select the created mesh with the pull down menu in the icon bar. A window will appear to define Grid Units and Project Configuration. Set the parameters in this window as described in Grid Units & Project Configuration and click OK to accept.

If the name of an already existing project is specified, this project file will be overwritten. All other files and subdirectories will remain the same as before.
By default, no IGG™ file is associated with the new project and it is indicated "usr/unknown" in the place of the grid file name. The procedure to link a mesh file to the project is explained in the Icon Bar section.


Open Project

There are two ways to open an existing project file:
Use File/Open Menu

Click on File/Open.
A File Chooser window appears.
Browse through the directory structure to find the project file to open. This file has normally the ".iec" extension. If this is not the case, the file filter in the input box named 'List Files of Type', has to be modified.
Select the project file.
Click on the file name and press the OK button.

The opened project becomes the active project. All subsequent actions will be applied to this project.
Select File From the List of Files in File Menu
The File menu lists the names of the five most recent projects that have already been opened. Click on a project name from this menu to open this project.
FINE™/Turbo will check the write permission of the project directory and the project file and will issue a warning if the project or directory is read only. In both cases the project can be modified, but the changes will not be saved.
Only one project can be active. Opening a second project will save and close the first one.
An attempt to open a no longer existing project will remove its name from the list in the File menu.


Save Project

The File/Save menu item stores the project file (with extension ".iec") on disk. The project file is automatically saved when the flow solver is started and can be saved when FINE™/Turbo is closed or when another project is opened.





Save As Project

File/Save As is used to store the active project on disk under different name. A File Chooser opens to specify the new directory and name of the project. When this is done a dialog box asks whether to save all the results files associated with the project. If deactivated, only the project file (with the extension ".iec") will be saved in the new location.





Save Run Files

File/Save Run Files is used to store all the information needed for the flow solver in the ".run" file of the active computation (highlighted in blue in the Computations list). This menu is mainly useful when the Task Manager  is used (see Task Manager for a detailed description). 
Together with the ".run" file, a ".batch" (Linux) or ".bat" (Windows) file is saved. This file can be used to launch the computation in batch mode, without the need of opening the interface. More information on how to use this ".batch" file can be found in Task Manager.
If more than one computation is selected in the Computations list, then all parameters in the Parameters area will be assigned to all selected (active) computations. This may be dangerous if the parameters for the currently opened information page are not the same for all the selected computations. To avoid this it is recommended to select only one computation at a time.
The ".run" file is automatically updated (or created if not existing) when starting a computation through the main menu (Solver/Start...).


Script

Actions executed by the user through the FINE™/Turbo interface are recorded in a Python-like script giving added flexibility for automation of project settings.
The File/Script.../Edit... menu opens a dialog box displaying all the commands performed by the user since the beginning of its session. The user can easily edit this script (add, remove and modify commands). The dialog box contains two pull-down menus. File menu allows to open a script in a separate dialog box and to save the script in a file. Run menu allows to run the script shown in the window under the current session ("Rerun on top").
The File/Script.../Save All... menu is used to save the dynamic recording of all commands performed by the user since the beginning of its session.
The File/Script.../Execute... menu is used to run a python script file containing FINE™/Turbo commands. A file chooser is opened to select a file with a ".py" extension. Upon selection of a valid file, the script is executed in the current session. Depending on the content of the script, operations will be added to the current project or a new project will be automatically opened before operations are performed (the previous project is closed). If the script being run contains a syntactical error it will be aborted and a message will appear in the shell.
The File/Script.../Re-execute Last menu can be used to rerun the last script that was run using the File/Script.../Execute... command. This option is most useful when writing own scripts manually to rapidly test it on the fly.


Preferences

When clicking on File/Preferences... the Preferences window appears and gives access to some project specific and global settings:
Project Units
In this section the user can change the units system of the project. The units can be changed independently for a selected physical quantity or for all of them at the same time. To change the units for one specific quantity select the quantity in the list (see (1) in FIGURE 7). Then select the unit under Select New Units (2). To change the units for all physical quantities at the same time use the box Reset Units System To (3).
The default system proposed by NUMECA is the standard SI system except for the unit for the rotational speed, which is [RPM].
When the user changes the units, all the numerical values corresponding to the selected physical quantity are multiplied automatically by the appropriate conversion factor. The numerical values are stored into the project file ".iec" in the same units as they appear in the interface (e.g. the rotation speed is in [RPM]), but in the ".run" file, which is used by the flow solver, the numerical values are always stored in SI units (e.g the rotation speed is in [rad/s]). The results can be visualized with the flow visualization system CFView™ in the units specified in FINE™/Turbo. The change of the units can be done at any stage of the creation of the project. 
User-defined units can be defined through a text file "euranus.uni". Please contact our local support office for more information.


FIGURE 7 Project Units in the Preferences Window
 Global Layout
In this section, the user may specify project independent preferences for the layout of the interface. More specifically the user may activate or deactivate the balloon help (Show Balloon Help), which gives short explanation of the buttons when the mouse pointer is positioned over them. By default balloon help is activated. Deactivation of the balloon help will only be effective for the current session of FINE™/Turbo. When FINE™/Turbo is closed and launched again the balloon help will always be active by default.
Furthermore, the section allows the user to control the Number of curves that can be plotted in the Convergence History page of the Task Manager. By default the parameter is set to 10 meaning that only 9 curves can be plotted in the steering.
 Solver Preferences
In this section, the user may select the calculation accuracy for the flow solver. Single and double precision modes of the FINE™/Turbo solver are available. For most cases, the single precision solver (much less demanding in memory consumption) will be sufficiently accurate and should be considered as the default option. However, some special cases, such as very long thin pipe and conjugate heat transfer problems, may benefit from the double precision solver. 
One of the most important criteriums to choose the double precision solver is the maximum dimension of the domain and its positioning in the 3D field. If the ratio  is smaller than roughly 1e-6, the double precision solver should be considered. Where  is the local cell size and  is the local coordinate value.
After selecting single or double precision solver, the value will be used as default value for new projects.


Quit

Select the File/Quit menu item to quit the FINE™/Turbo integrated environment after confirmation from the user. The active project will be saved automatically by default (Save Active Project activated).



Note that this action will not stop the running calculations. A FINE TaskManager window will remain open for each running computation. Closing the FINE TaskManager window(s) will kill the running calculation(s) after confirmation from the user.

Rotor/Stator Interaction

Euler
When selecting Euler on the Flow Model page an inviscid calculation will be performed. In such a case all solid walls are considered as Euler walls and the (non-zero) velocity is tangential to the wall.
Since the Reynolds number has no meaning for Euler calculations this number is not displayed when Euler flow is selected.

Modules Menu


Clicking on the menu item Modules shows a pull down menu with the available modules. The first four items are related to geometry and mesh definition:

IGG™ is the interactive geometry modeler and grid generator,

AutoGrid5™ is the automated grid generators for turbomachinery.
AutoBlade™ is the parametric blade modeler, 

Furthermore a design module is available:

FINE™/Design3D is a product for three-dimensional blade analysis and optimization. 

The Task Manager is accessible with Modules/Task Manager. Consult Task Manager for more detailed information.
To start the flow visualization from FINE™/Turbo, click on the Modules/CFView ... and confirm to start a CFView™ session. Wait until the layout of CFView™ appears on the screen. CFView™ automatically loads the visualization file associated with the active computation. To visualize intermediate results of a computation, wait until the flow solver has written output. For more information about the flow visualization system, please refer to the CFView™ User Manual.
Finally, the menu Harmo2Time launches the Harmo2Time module in CFView™ that will reconstruct the current harmonic computation results in time/space. For more details, please refer to the CFView™ User Manual.

Preview/Preview&Check Injector Sector

When adding an injection sector into FINE™/Turbo, the location (cell face are highlighted) and the direction of the injection can be visualized. In order to be able to visualize, the user has to load the mesh through the menu Mesh/View On/Off or Mesh/Tearoff graphics (only available on Linux).


FIGURE 44 Injection sector visualization within FINE™/Turbo
The parameters area will then be overlapped by the graphic window, and the small control button on the upper - left corner of the graphic window can be used to resize the graphics area in order to visualize simultaneously the parameters and the mesh.
Select the injectors and Click-left on the Preview button, a vector will be shown at each hole center if a line or a single hole is selected. If a slot is selected, the vectors are shown at the center line of the slot and there is a vector for each cell crossed by that line. 
When the Spreading of the holes is switched on, the color contour of the surface fraction is represented on the mesh of the wall. This quantity corresponds to the surface fraction of each cell that is "touched" by a hole. The color contour varies from blue to red as the fraction goes from 0 to 1. But if holes are overlapping in a cell, causing the cell fraction to exceed 1, the cell will be displayed in white.
If the injection direction is imposed in cylindrical, whatever the reference frame selected (absolute or relative), the arrows representing the injection direction is displayed as for the cylindrical relative frame of reference.
When a Points type of holes is selected, the button Preview will be changed to Preview&check. After the mesh is loaded, the holes location can be visualized and checked by pressing Preview&check. The selected holes in the list are highlighted. If a hole location is wrong, the GUI prompts the user to remove it. If not, the wrong one is tagged as invalid in the list and displayed in red.
Furthermore, new outputs have been added into FINE™/Turbo on the Outputs/Computed Variables page under the tab Solid data in order to enable the visualisation in CFView™ of the injected flow (in [kg/s]) and the injection direction (normalized [0 1]). The scale of the Injection Direction vector is normalised by the ratio of the surface of the injector relative to the cell surface. For example, 1 means that the cell is entirely covered by the injector and 0 means that there is no injector in this cell. .


FIGURE 45 Injector sector outputs for CFView™
Within CFView™, the injection direction is always visualized in a relative frame of reference.

Monitor
Introduction
Monitor can be launched independently from FINE™/Turbo in order to facilitate the batch mode control. It is a separate graphic control window in which the user can visually monitor the convergence history of one or several computations (Convergence history). This section  describes the functionalities of the convergence history display.
On Linux platforms type: monitor -niversion <version> -print <Enter>
When multiple versions of FINE™/Turbo are installed, the installation note should be consulted for advice on how to start Monitor in a multi-version environment.
On Windows click on the Monitor icon in Start/Programs/NUMECA software/fine131. Alternatively FINE™/Turbo can be launched from a dos shell by typing:
<NUMECA_INSTALLATION_DIRECTORY>\fine#\bin64\monitorx86_64.exe <Enter>

The Monitor GUI


FIGURE 10 The Monitor window
Monitor allows multi-process analyses. Therefore, the convergence histories of multiple (running) projects can be visualized at the same time. It is also possible to compare the convergence history associated with different computational parameters for the same project.
The monitored variables are displayed as a x-y graph in the upper part of the window (a). The x-axis represents the number of multigrid cycles or work units  achieved by the flow solver. The y-axis is a logarithmic axis representing the power of ten of the residual values. The user can choose the residual of any of the equations solved and some global parameters using the buttons visible in the lower right part of the graphic control window (b) as shown in FIGURE 10.
The lower part of the graphic control window contains four boxes. The small box (c) located on the left side contains a Quit button (which allows to close the Monitor window). The two other boxes are described in the next sections.
The Residual File Box
Three buttons are provided in this box to Add, Remove or Activate residual files through a file chooser. The residual files describe the iteration process of previous or current computations. For internal flow, they contain the history of the axial thrust, mass flow, torque, efficiency, pressure ratio (lift, drag and momentum coefficients for external flow), the residuals of five (seven or six if respectively the k-ε , k-ω or the Spalart-Allmaras turbulence model is used) physical variables and the harmonic variables (density, Vx, Vy, Vz, pressure).
The activation of a part of the residual files ".res" has the effect of deactivating the other loaded residual files. When a residual file is deactivated, its associated convergence history is not displayed. The selective activation of residual files allows thus to display only the convergence histories of some of the loaded residual files ".res".
The input boxes File and Block (or Group starting from FINE™/Turbo v12.1, following the possibility to export the residual curves per group or per block (see Control Variables)), visible just below the three buttons Add, Remove and Activate, allow to select for which file and block the choice of the monitored variables performed in the Quantities to display menu should be applied. The box Block (or Group) is changed from one to the other depending on the last loaded computation: Group will appear if the  computation has been set up to display the residuals per group, while Block will be displayed if the option has not been activated (see Control Variables for more details). The indexation of the residual curves is also adapted depending on the type of residual output chosen: the index "g" will appear when monitoring the residuals per group, while "b" will appear when the monitoring is based on the blocks.
Quantities to Display
 Residuals
Buttons are provided to select the type of residuals: rms or maximum as shown in FIGURE 10 on the right. The residuals relative to all transport equations of the problem are available: these are the continuity, the momentum, the energy, and eventually the turbulent kinetic energy k and the turbulent dissipation ε  (if the turbulent computation is using a k-ε  or v²-f model, e.g. not for Baldwin Lomax), and the turbulent kinematic viscosity nu (if the Spalart-Allmaras model is used).
While the Computation Steering/Convergence history or Task Manager/Convergence History page displays only the global residual, Monitor gives the RMS and maximum values per block. Computation of the RMSRES and MAXRES values is done according to the Definition of Global Residual. The values shown in Monitor for the RMS are normalized by the value of RMSRES at the first iteration: RMSRES-(RMSRES)it=1. The values shown for the maximum residuals are normalized by the maximum residual at the first iteration: MAXRES-(MAXRES)it=1.
Since the RMS and maximum residuals are normalized differently it may occur that the RMS value shown in Monitor is higher than the maximum residual.
Global Quantities
Several buttons are provided to visualize the additional global quantities available under the environment FINE™/Turbo:

Internal flow problems (expert parameter IINT=1): The axial thrust, the (inlet and outlet) mass flows, torque, pressure ratio, and efficiency.
External flow problems (expert parameter IINT=0): The drag, the lift and the momentum coefficients. The user has to specify the axis that has to be taken into account for these global quantities as described in the Expert Parameters section.

If several computations are performed at the same time, the curves associated with the different projects are drawn in different colors. The buttons of the present box act only on the curves of the file and block selected through the File and Block menu.
Harmonic Quantities


FIGURE 11 The Monitor window - Harmonic quantities
Several buttons are provided to visualize the real and imaginary part of the harmonic quantities available in the FINE™/Turbo environment: Density, Vx, Vy, Vz and Pressure.
If several computations are performed at the same time, the curves associated with the different projects are drawn in different colors. The buttons of the present box act only on the curves of the file and block selected through the File and Block menu.
The option Show curve allows to plot the curve in the Monitor window.
Display Options
The Legend option is used to display which files are currently activated. In addition, if the mass flow button is activated, the relative errors between the inlet and the outlet are indicated.
The Work Unit option is provided to set the type of unit used on the horizontal axis in the Monitor window: multigrid cycles or work units. If the Cycles option is chosen (the Work Unit option will be deactivated), the abscissa will show the number of iterations. The Work Unit option will adapt the values on the horizontal axis with respect to the grid levels (if 3 grid levels are used, one iteration on 222 and 111 is taking respectively 1/64s and 1/8s considering that one iteration on 000 is taking 1s.
The Update now button updates the graph for the active residual file and the selected block.
The Auto update option can be switched on to follow the iteration processes automatically. It is however a rather time-consuming option and this button is not active by default.
Zooming Option
This option allows to interactively zoom in and out:

In the drawing window, press the left mouse button to initiate a zooming operation,
Then drag the mouse to the left or to the right to zoom in, the zooming window number is displayed on the screen,
Click again on the left button when finished,
To zoom out, click on the right button of the mouse.

Solid Properties
Solid properties heat conductivity can be inputted in the solver as constant but can also be inputted as variables in function of the temperature.
The format used is the following:

Line 1: Comment line.
Line 2: Contains two integers:

the first number is the type of interpolation: 11 for Temperature,
the second one defines the number of points on the profile curve.

The next lines list the data of each point: temperature and the fluid property.

Example 1:
T k
11 5
300.0 12.8638
350.0 13.8726
400.0 14.8814
450.0 15.8902
500.0 16.899
It is recommended to cover the whole temperature range of the considered problem.

Mixing Plane Approach

In the mixing plane approach the flow solution at the rotor-stator interface is azimuthally averaged and the exchange of information at the interface depends on the local direction of the flow. In this section it is described how to use this approach in FINE™/Turbo.
Geometrical Constraints
The default mixing plane method (Local Conservative Coupling and Conservative Coupling by Pitchwise Rows) used in FINE™/Turbo imposes the following geometrical constraints:

The patches on both sides of the rotor-stator interface must cover the same range in spanwise direction,
The meshes don't need to match in the spanwise direction, but the azimuthal mesh lines on the boundary must be circular arcs.
The pitchwise grid line that has constant radius and connects two patches of the same side (e.g., BC 1 and BC 3 in FIGURE 4) must exist as an inner grid line on all other boundaries. 

An illustration of these constraints is given in FIGURE 4. Consisting of two stripes, the depicted configuration provides a complete description of the capabilities. The upstream side of the quasi-steady interface consists of three blocks, represented by the bold frames and the surface meshes, while a single block is assumed for the downstream side. A gap may exist between two blocks, e.g., if the mixing plane coincides with the exit plane of a blade row having a blunt trailing edge. The grid points distribution are different for each of the boundary patches involved, but the pitchwise grid lines have constant radius and the pitchwise line along which two patches of the same side join (e.g., BC 1 and BC 3) exists as an inner grid line on all other boundaries. In the example, the interface is thus decomposed into two stripes, stripe 1, consisting of BC 1 and BC 2 on the upstream side and BC 5 on the downstream side, and stripe 2, consisting of BC 3 and BC 4 on the upstream side and BC 6 on the downstream side.
In special configurations such as a rotor-volute interaction it is preferable to use Local Conservative Coupling.


FIGURE 4 Example of stripe configuration
The full non matching mixing plane method (Full Non Matching Mixing plane, Non Reflecting 1D and Non Reflecting 2D) removes the geometrical constraints imposed in the default mixing plane method. This technique is based on the full non-matching algorithm and has clear advantages: an exact conservation of the mass flow, momentum and energy is guaranteed.
The remaining geometrical constraints for the full non matching mixing plane method are:

The rotor-stator patches belonging to a given interface should lie on the same common axisymmetric surface.
The hub and the shroud lines are assumed to be located on a circular arc, and each extremity of the hub and shroud lines should coincide with one corner of one of the patches. The periodic boundaries between the adjacent blades must be defined by continuous lines with edges connected by their corners. For a 360-degree mesh, a similar continuous spanwise line (defined by interconnected edges) must be used in the connection algorithm.
All patches constituting a rotor-stator interface should form a filled closed surface with no gap.
the rotor-stator patches should be fully included in the rotor-stator interface: contrary to the full non matching algorithm, which includes an automatic detection of the connection zone, and in which the patches can then be partially connected, the rotor-stator module assumes that the patches are fully connected.

Mesh Constraints
Only one blade passage needs to be meshed for both the rotor and the stator, regardless of their respective periodicities. The boundary condition type must be set to "ROT" in IGG™ for all grid patches belonging to a rotor-stator interface.
FINE™/Turbo Settings

The mixing plane approach is a steady simulation technique which requires to set the Time Configuration to Steady on the Flow Model page.
The patches that have boundary condition type "ROT" in the mesh are listed in FINE™/Turbo on the Rotating Machinery page under the Rotor-Stator tab. The user has to specify for each of these patches:

an ID Number that identifies the rotor/stator interface (useful for multistage configurations).
a switch to indicate if the patch is belonging to the Upstream or Downstream part of the rotor-stator interface.
the order of Extrapolation (zero or first order).
the boundary condition:  

Conservative Coupling by Pitchwise Rows, 
Local Conservative Coupling, 
Full Non Matching Mixing plane, 
Non Reflecting 1D. 
Non Reflecting 2D.



The Non Reflecting 1D/2D approach can not be used when the flow perpendicular to the rotor-stator interface is supersonic.
The use of the Non Reflecting 1D/2D approach is limited to steady simulations.


FIGURE 5 Aachen Turbine: Upstream/ Downstream and ID number identification
Illustrative Example
To illustrate the mixing plane approach the flow around a cube is considered as shown in FIGURE 6. The flow is entering the domain at the bottom of the figure. The upstream portion of the domain is the 'rotor' with a cube fixed on it. The second part is a 'stator'. Due to the pitchwise averaging process one can see that the vortex occurring slightly downstream the 'trailing edge' of the cube is spread when entering in the 'stator' component. If the rotational speed of the cube is high, this approximation is acceptable since one can consider that the stator "sees" a more statistically averaged flow. If the rotational speed is low, this approximation is essentially invalid and thus another method should be considered.
In some cases, i.e. in low pressure ratio compressors or turbines, the losses at the rotor-stator interfaces are in the order of magnitude of the overall gain in the machine. In such cases, it is recommended to use an unsteady approach and more specifically the harmonic approach.


FIGURE 6 Flow around a cube: Mixing Plane approach
Expert Parameters
This section provides a summary of the expert parameters related to mixing plane approach.
FLXRS(integer):	toggles mass flux correction at the rotor-stator interfaces of NLH (controlled by the first integer) or Non reflecting 1D/2D steady (controlled by the second integer) computations, see the theory guide for more details.

0: no mass flux conservation.
1: mass flux conservation.

IRSMRG(integer):	used only in parallel mode coupled with Conservative Coupling by Pitchwise Rows or Local Conservative Coupling R/S treatment. The allocated memory for R/S treatment will be equal to IRSMRG value multiplied by the maximum number of spanwise points on both sides of the R/S interface. In some rare cases, the solver might suggest to increase this parameter to a more optimal value.
LOCCOR(integer)	applies corrections for the entropy and the stagnation enthalpy in case of using Non reflecting 1D/2D rotor-stator interface, see the theory guide for more details.

0: no local correction.
1: correction of .
2: corrections of  and .
3: corrections of  and  (including ). Available only for Non reflecting 2D RS interface.
-1 (default): correction of  with local removal of the correction.
-2: corrections of  and  with local removal of the corrections.
-3: corrections of  and  (including ) with local removal of the corrections. Available only for Non reflecting 2D rotor-stator interfaces.

Guidelines for the use of the expert parameter LOCCOR:
        If the R-S interfaces are close to the leading edge and a shock wave reaches this R-S (from the downstream side), set LOCCOR = 0 in order to remove the characteristic corrections.If the mass flow error between inlet and outlet is too high, use LOCCOR = 0 or LOCCOR = -2.For 3D cases, use always a negative value of LOCCOR or the zero value.For 3D cases with convergence failure (for any value of LOCCOR), use the Area defined rotation speed on the hub (or shroud) so that the rotation discontinuity is not located on the R-S interface. By this way, the pitchwise averages of the thermodynamic quantities can be "continuous" through the R-S interfaces.
NH2DNR(integer):	sets the number of harmonics used for DFT and inverse DFT when using the Non reflecting 2D rotor-stator interface. The default value is 3.
The Non reflecting 2D rotor-stator treatment offers a better capture of the azimuthal fluctuations of flow quantities when compared to the  Non reflecting 1D rotor-stator treatment. However, as it is based on Fourier decompositions in a finite number of spatial harmonics, the NH2DNR expert parameter should be adapted for some cases. The default value of 3 is usually sufficient for the potential effects of large blades or shocks but it may need to be increased for the potential effects or wakes of fine blades with low periodicity.

NQSTDY(integer): allows to update the rotor-stator boundary conditions every NQSTDY iterations. If the parameter NQSTDY is set to zero (default), the update is done at every Runge-Kutta step. This is an under-relaxation technique that is rarely used. Before the mixing process, an under-relaxation technique can be applied on the averaged variables to stabilize the calculation (see expert parameter RQSTDY).
NRBCEQ(integer):	allows the choice of characteristics used for Non reflecting 1D/2D rotor-stator interfaces (controlled by the first integer) or Non reflecting Turbo inlet/outlet boundary condition (controlled by the second integer).

1: characteristics based on the usual linearized Euler equations.
2: characteristics based on the preconditioned equations.

Guidelines for the use of the expert parameter NRBCEQ: 
        The preconditioned characteristics are used by default for the non reflecting treatments with preconditioned equations and is only compatible with Merkle preconditioning.The adoption of usual characteristics based on the linearized Euler equations or the Hakimi preconditioning (only with a compressible fluid) is possible by setting the NRBCEQ expert parameter equal to 1. However this approach is not robust for a low speed flow (Mach number < 0.1) with the default settings (a lower CFL number is sometimes needed to get a converged computation). 
NRBCAM(integer):	sets the flux-averaging method at Non reflecting 1D/2D rotor-stator interfaces (controlled by the first integer) or Non reflecting Turbo inlet/outlet boundary condition (controlled by the second integer), see the theory guide for more details.

1: mixed-out averaging approach which provides azimuthally averaged quantities from the integration of fluxes.
2: classical weighted area averaging, which can increase the solver robustness when a partially reversed flow in the circumferential direction is present (for example behind a blunt trailing edge).

RQSTDY(real):	this is another under-relaxation technique that allows to limit the changes in the variables from one iteration to the next. This technique is used in special cases where stability problems are encountered.

1 (default): no relaxation
0 to 1: under-relaxation

Pressure Imposed
There are three different methods to impose the pressure at the outlet:

Static Pressure Imposed: the static pressure is imposed on the boundary, the static temperature and the absolute velocity components are extrapolated. As described for the inlet conditions, the static pressure can be constant or defined as a data profile.
Averaged Static Pressure: if imposing an uniform static pressure at the outlet is not an appropriate approximation of the physical pressure distribution at the outlet, an averaged static pressure may be used. In this case only an averaged value for the static pressure is imposed while the pressure profile (around this average) is extrapolated from the interior field.

 The outlet patches have to be grouped in one group to use this boundary condition.

Radial Equilibrium: This boundary condition is applicable only to cylindrical problems. It is adapted for a patch in which the mesh lines in the circumferential direction have a constant radius. The outlet static pressure is then imposed on the given radius and the integration of the radial equilibrium law along the spanwise direction permits to calculate the hub-to-shroud profile of the static pressure. Please note that the given radius should be between hub and shroud. Otherwise the outlet static pressure will be imposed on the corresponding extreme radius of the outlet instead of the given radius. A constant static pressure is imposed along the circumferential direction.

This boundary condition is only valid on surfaces with mesh lines at constant radius.
 This boundary condition is not compatible with the radius r=0.
The pressure imposed at the outlet, can be constant or as a function of space and/or time. To define a profile as a function of space and/or time click on the profile button () right next to the input text box. The Profile Manager will appear as described in section Imposing Variables as an Interpolation Profile.

List of Fluids
The list of fluids  contains pre-defined fluids in a database. These fluids are coming from  the NIST Chemistry WebBook (http://webbook.nist.gov/chemistry/fluid/). For each fluid the fluid type and the permissions are defined.


Every fluid is associated with the user who created it and can be modified or removed only by its owner (the owner has Read Write Delete permissions). All other users will only have Read Only permissions.
If the user selects a fluid from the list, the selection will be highlighted and the properties are displayed in the information box below the fluid list. Those fluid properties will be saved in the project file ".iec" as soon as the project is saved.
Every fluid is associated with the user who created it and can be modified or removed only by its owner (the owner has Read Write Delete permissions). All other users will only have Read Only permissions.
If the user selects a fluid from the list, the selection will be highlighted and the properties are displayed in the information box below the fluid list. Those fluid properties will be saved in the project file ".iec" as soon as the project is saved.

Initial Solution Defined by Constant Values
When selecting constant values on the Initial Solutions page, the user can modify the physical values used for the initial solution. The physical values are uniformly used as an initial solution all over the selected group of blocks, except on the boundaries. The variables for which initial values need to be specified are the static pressure, the static temperature and the velocity components. In case a 1- or 2-equations turbulence model is selected, the initial turbulence should be defined as well (see Turbulent Quantities below). Note that the velocity components specified by the user are the cartesian (cylindrical) ones for a cartesian (cylindrical) case.
Flow Direction: the lower part of the page allows for a further control of the initial field. First, for both cartesian and cylindrical projects, the velocity direction can be fitted along the I, J or K mesh lines. The reverse option determines whether the velocity vectors will point in the I (J or K) increasing or decreasing direction. By default, no specific velocity direction is set and the input box is set to None.
Velocity Fitting: for the cylindrical projects only, an option for the fitting method can be chosen. The first option fits , the meridional velocity (defined as ), and uses  to set the azimuthal absolute velocity. The second option fits  (default), the relative velocity, to the mesh lines.
Pressure Field: for the cylindrical projects only, it is also possible to act on the initial pressure field. To this end, two options are available: constant pressure field (default) and a radial equilibrium pressure gradient. In rotational machinery, for instance, a radial equilibrium pressure gradient is often closer to the physics than a constant field. The radial equilibrium factor allows adjusting the influence of the pressure gradient (its default value is 1.0).
Turbulent Quantities: in case a 1- or 2-equations turbulence model is selected,  the initial value of the turbulence must be imposed. The user can choose between several sets of turbulent quantities. Given a 1-equation turbulence model, following turbulent quantities are available:

Turbulent Viscosity

Turbulent Viscosity Ratio

Turbulent Intensity and Length Scale

Turbulent Intensity and Hydraulic Diameter

Modified Turbulent Viscosity


and given a 2-equations turbulence model:

k and ε

Turbulent Intensity and Viscosity Ratio

Turbulent Intensity and Length Scale

Turbulent Intensity and Hydraulic Diameter

From Friction Velocity


The Modified Turbulent Viscosity is equal to the turbulent working variable described in Spalart-Allmaras Model.
The From Friction Velocity option does not require the user’s input and generates the initial turbulence automatically based on the initial flow field.
If the Turbulence Intensity is selected, a reference speed will appear on the screen which is equal to the entered characteristic velocity  in the Flow Model page. This velocity is part of  the formula to convert the turbulence intensity to the used quantity in the transport equation(s) of the turbulence model.

Porous Media Model
A porous medium is a solid permeated by an interconnected network of pores filled with a fluid. Usually both the solid matrix and the pore network are assumed to be continuous, so as to form two interpenetrating continua such as in a sponge. Many natural substances such as rocks and soils, and man made materials such as foams and ceramics can be considered as porous media. When simulating the flow in porous media the user has to use a porous media model because the geometry is too complex to resolve with a grid.

The porous media model in FINE™/Turbo allows the user to simulate the flow in porous media. In FINE™/Turbo, the user needs to set which grid block will be treated as a porous medium. And the user has to specify the parameters for each block. 
In section Expert Parameters, a summary of the available expert parameters related to the Porous Media Model is given.
The porous media model is not compatible with the parallel partitioner.
Porous Media Model in the FINE™/Turbo GUI
There is no access of Porous Media Model through the graphical user interface. The user has to activate this model and set all the parameters through the Expert Parameters, as describing in the following part. 
Experts Parameters
IPORME (integer):	Control if activate the porous media module or not:

0: module is deactivated (default)
1: module is activated

IDOMPO (integer):	Porous media domain number (no more than 50 domains).
IDIRPO (real):	Imposed direction for each specified porous block. The direction is specified only in Cartesian coordinate system.

If the direction is set to (0 0 0) in a block, the block resistance is isotropic and is given by one of the pressure drop models. The direction of the flow is given by the resolution of the N-S equations.
If the direction is set to non zero vector (sx, sy, sz), the flow (velocity vector) will be aligned with the direction as if there is infinite resistance in directions normal to the specified vector in the block. The non zero vector thus imposes special anisotropic resistance in porous media block. The model with non zero vector imposed could be applied, e.g., in case of honeycomb.

It is not possible to specify anisotropic resistance in a block with non infinite resistance in directions normal to the specified vector.
IMODPO (integer):	Select the models available to model the pressure drop through the porous media:

1: Darcy or Ergun law
2: Integral law 

LPORME (real):	Porous medium thickness (L), used only if IMODPO = 2. This expert parameter LPORME together with the expert parameter KPORME are used to specify the averaged pressure gradient (resistance) in porous media model, which is used to compute the pressure drop. 
The length parameter LPORME is not necessary to be the length of porous media block (in any direction). Any combination of LPORME and KPORME parameters giving right pressure gradient value might be used.
EPORME (real):	Porosity (), used only if IMODPO = 1, is defined as the volume fraction of the voids from the solid matrixϵ
KPORME (real):	Constant C defining the type of  walls in the Darcy or Ergun law.

0 (default): for Darcy law.
1.8: smooth walls, for Ergun law.
4: rough walls, for Ergun law.

APORME (real):	the specific surface area A in the Ergun or Darcy model and  in the integral model.Atotal/Apassage
NPORME (real):	Exponent n, used only if IMODPO = 2.
ITHEPO (integer):	Control if activate the thermal source term in the porous media or not:

0 (default): Activate the thermal source term
1: Deactivate the thermal source term

HPORME (real):	Heat transfer coefficient for porous media.
SPORME (real):	Volumetric exchange surface.
TPORME (real):	Skin temperature.

Expert Parameters for Unsteady Computations
Numerical Model in Expert User Mode


On the Numerical Model page, two new parameters appear in the user expert mode when selecting the Dual time stepping technique. They are the control variables for the inner iterations. For each physical time step a certain amount of iterations is performed in pseudo time leading to a converged solution independent of the pseudo time.

Convergence criteria of the inner iterations (orders of magnitude of reduction). The inner iterations are stopped if the reduction of the residuals reaches the specified value.
Maximum number of inner iterations: it allows to define the maximum number of iterations to perform for each time step. In general the default of 100 iterations per time step is sufficient. The inner iteration process is automatically stopped after this maximum number of iterations if the convergence criteria has not been satisfied before.

List of Non-interfaced Expert Parameters


The following expert parameter related to unsteady computations are accessible on the Control Variables page by selecting the Expert Mode. 
ICYOUT(integer): can be equal to 0 or 1 (default):

0: name of output changes with suffix _t#iter,
1 (default): each solution is overwritten every cycle.

IFNMB(integer):	can be equal to 0 (default) or 1:

0 (default): to keep all PERNM or NMB boundaries,
1: to transform all PERNM boundaries into periodic full non matching ones or all NMB boundaries into full non matching ones.

NPERBC(integer): can be equal to 1 (default) or integer value:

1 (default): when the inlet/outlet unsteady boundary condition is a rotating circumferential profile (activating Rotating Boundary Condition and specifying the rotational speed in Rotational Speed Unsteady respectively under the INLET and OUTLET tabs) and the boundary condition is entered in the FINE™/Turbo interface for the full range [0,2π].
N: when the inlet/outlet unsteady boundary condition is a rotating circumferential profile (activating Rotating Boundary Condition and specifying the rotational speed in Rotational Speed Unsteady respectively under the INLET and OUTLET tabs) and the boundary condition is entered in the FINE™/Turbo interface for part of the range [0,2π/N] covering one or multiple periods of the signal.

RELPHL(real): 0.5 (default) if necessary, under-relaxation factor can be applied on Periodic and R/S boundary conditions by reducing the two values of the expert parameter for respectively the periodic and the R/S boundary conditions.

Mesh deformation methods

Mesh deformation plays a crucial role in the analysis of multi-physics problems that involve moving bodies and domain with dynamic boundaries. For example, in Fluid-Structure Interaction (FSI), the fluid mesh has to be deformed at each time step according to the displacements computed by the structural solver at the interface of the fluid domain and solid domain. 
In FINE™/Turbo, six kinds of mesh deformation methods are available:

Laplacian smoothing, 
Radial Basis Functions, 
Elastic Analogy,
Radial Basis Functions -> Transfinite Interpolation -> Elastic Analogy,
Radial Basis Functions -> Transfinite Interpolation,
 Inverse Distance Weighting.

The user can select them in Expert Mode when Mechanical coupling is activated.


All the mesh deformation methods present the following limitations:

Not compatible with FNMB connections.
Not compatible with the SNG boundary condition.
Not compatible with deformable rotor/ stator interfaces.
Not compatible with Upwind scheme.

Laplacian Smoothing
The Laplacian smoothing method assumes that the mesh deformation caused by a moving solid wall boundary is small enough so that the mesh topology is not modified and the mesh can be smoothed without generating negative cells. This assumption of small displacements on the moving solid boundary allows to keep the same mesh topology and generate the new mesh with a Laplacian smoothing of these displacements inside the domain. The smoothing of displacements is carried out only to groups where a surface is moving. 
The main limitations for the groups of blocks where the mesh is deformed are as follows:

rotor-stator interface can not be located between moving walls;
not compatible with metaNMB;
the rotation periodic boundary condition is allowed only in case of:

IMVCYL = 1 (mesh deformation in cylindrical coordinates)
Rigid Motion with the motion only along the z direction (no motion in the x or y directions).


Radial Basis Functions
The Laplacian smoothing works only when the mesh deformation is very small. When performing a MpCCI or modal mechanical coupling simulation, the deformation of the structure may be very large. In this case, the mesh deformation method using Radial Basis Function (RBF) can be used. 
In this method, mesh nodes placed at domain boundaries serve as a reference for the RBF interpolation of interior mesh nodes. Moreover, the RBF method results in deformed meshes keeping very good quality even for large deformations. See also Radial Basis Function in the Theory Guide.
The main limitations for the RBF mesh deformation method are as follows:

The mesh deformation method using RBF is not compatible with:

Rigid body motion,
Adaptive Wall.



When deforming a mesh using RBF, zero displacement is considered for nodes lying on Inlet, Outlet, Periodic, Rotor/ Stator interfaces, External and Mirror boundaries. For example, the quasi 2D case with blade cut mesh is not compatible with RBF, because there is only one cell layer in spanwise direction so that mesh deformation will be applied to nodes belonging to the mirror boundaries.

 Please note that the memory usage can become higher when the number of boundary nodes increases. An approximate estimation of the memory usage is 4N² (MB) in case the number of the boundary nodes is N thousand.
Elastic Analogy
The Linear Elastic Analogy based on FVM makes an analogy between the CFD mesh domain and the elastic continuum. The displacement field of the mesh is determined by the equilibrium equation for elasticity and a linear relation between the stress tensor and the displacement is applied. For more information about the mathematical basis of the Elastic Analogy method see also:  Elastic Analogy in the Theory Guide.
The mesh deformation method using ELA is not compatible with:

the Non-Linear Harmonic (NLH) method;
Euler flow and laminar flow;
metaNMB.

Radial Basis Functions -> Transfinite Interpolation
Transfinite Interpolation (TFI) is a very fast method, offering a possibility of reduction in computational time for mesh deformation. For this method, a displacement of the topology is needed.
Radial Basis Functions (RBF), as introduced above, are employed to provide the initial solution to TFI. The displacements of the boundary nodes at the corners serve as a reference for the interpolation of the interior mesh block nodes. 
For topologies with a limited number of blocks, it is recommended to split the blocks/patches  to have more corner nodes.
The RBF method with Transfinite Interpolation has the same limitations as  RBF.
For more details about the TFI see also: Transfinite Interpolation in the Theory Guide. 
Radial Basis Functions -> Transfinite Interpolation -> Elastic Analogy
Orthogonality of  cells at wall is not controlled in the RBF+TFI method, hence Elastic Analogy can be used to improve the mesh quality. The resulting mesh of RBF+TFI process is used as initial solution for the ELA. Furthermore, benefiting from the initial solution, a significant speed-up is achieved compared to standard ELA.
The RBF+TFI+ELA method inherits the limitations of RBF and the ELA.
Inverse Distance Weighting
Inverse Distance Weighting (IDW) is an explicit method that circumvents the need to invert the matrix during the initialization of the flow computation while needed for the Radial Basis Function (RBF) method.
The same limitations as in the RBF method apply for the IDW method. Other limitations include:

The greedy algorithm used in the boundary nodes selection is not compatible with NLH computations.
If interior coarsening is considered (IDWCRS >1), rotations have to be included (IDWROT=1) with dual quaternion (IDWRBF=3). Other methods are not allowed.

See also: Inverse Distance Weighting Interpolation in the Theory Guide. 
Expert Parameters
CORMOD (integer): Forces the mode shapes to be zero for connection between rigid and moving surfaces. It is only applicable for modal coupling method.

0 (default): not active,
1: active.

FCTNIT (real):	Multiplicative factor for the number of smoothing iterations, applicable for Laplacian Smoothing, ELA and RBF+TFI+ELA. The number of iterations (N) for the full multigrid initialization on grid level G is based on the maximum number of points in each direction in all blocks:

N (on grid level G) = FCTNIT*(G+1)*MAX(NI, NJ, NK)
If the deformed mesh has negative volumes, the user can increase this expert parameter.

GRDCR1 (real): Stopping value for the greedy algorithm in the IDW method based on the aerodynamic reference length  (default = 0.00001).
GRDCR2 (real): Stopping value for the greedy algorithm in the IDW method based on the local boundary cell height (default = 3). 
GRDPCT (real): Maximum percentage of the boundary nodes that can be selected by the greedy algorithm in the IDW method (default = 10). (0 < GRDPCT <=100)
ICOARS(integer):	Controls the coarsening level of the boundaries in the RBF method. It only affects the mesh deformation step. This parameter is an array of two dimensions, corresponding to the coarsening level for moving boundaries and fixed boundaries. The first number is the grid level (relative to the grid level of the computation) of moving boundary nodes used for the deformation. The second number is the grid level for the fixed boundary (solid, inlet, outlet, periodic,...) nodes. If the grid level is set to 0, all the nodes of the surface are taken into account. If it is set to one, only the nodes of the surface belonging to the first coarser grid are used. Hence the number of boundary nodes is reduced by four for the surface.
IDWAFX (real): Estimated size of the near boundary influence region for fixed boundaries in the IDW method, expressed as a fraction of the mesh size (default = 0.0).
IDWAMV (real): Estimated size of the near boundary influence region for moving boundaries in the IDW method, expressed as a fraction of the mesh size (default = 0.1).
IDWCRS (integer): Flag to specify the type of coarsening  in the IDW method.

0: no coarsening,
1 (default): boundary coarsening,
2: interior coarsening. The interior coarsening will reduce the CPU-time for interpolation by almost a factor of 2. If interior coarsening is considered (IDWCRS >1), rotations have to be included (IDWROT=1) with dual quaternion (IDWRBF=3). Other methods are not allowed.
3: boundary and interior coarsening.

IDWGRD (integer): Flag to specify the stopping criterion for the greedy algorithm in the IDW method.

1 (default): error relative to the aerodynamic reference length ,
4: error relative to the local boundary cell height and aerodynamic reference length .

IDWRBF (integer): Flag to specify the type of IDW method. 

1 with IDWROT=0 (default): IDW with improved weight function,
1 with IDWROT=1: IDW with interpolation of displacement due to rotation,
2 with IDWROT=0: IDW with basic weight function (not recommended),
2 with IDWROT=1: IDW with interpolation of logarithm of dual quaternion (BETA), 
3 with IDWROT=1: IDW with interpolation of dual quaternion.

IDWROT (integer): Flag to consider or not the rotation of boundary nodes in the IDW method. 

1: considers the rotation of boundary nodes. The deformation of each node is split into two parts, i.e. a part due to rotation and another part due to translation. An increase of CPU cost may be observed.
0 (default): do not consider the rotation of boundary nodes. The deformation is not split and is computed as usual with the displacement along x, y and z.

IELAED(integer): Flag to specify the driving variable of the "Young's Modulus" distribution in the Elastic Analogy and RBF+TFI+ELA:

0: Homogeneous value
1 (default): Distribution in function of wall distance
2: Distribution in function of cell volume

IMOVWD(integer):	When mesh deformation exists, the wall distance used for turbulent flow may change. In this case, the user can set the expert parameter IMOVWD to 1 to compute the wall distance at each time step. This parameter works for all mesh deformation methods.

0 (default): compute the wall distance only once. 
1: compute the wall distance at each time step. 

IMVCYL(integer):	The smoothing can be applied to the displacement field in Cartesian coordinates  or in cylindrical coordinates. The best choice is depending on the geometry of the case. This parameter is valid only for Rigid Body Motion.

0 (default): applied in Cartesian coordinates. 
1: applied in cylindrical coordinates. 

IMVWEI (integer):	Select the smoothing method of the Laplacian Smoothing for the moving mesh:

0 (default): Linear smoothing of displacements;
1: Weighted smoothing of displacements based on the cell volume in the undeformed mesh. The weighted smoothing allows to restrict the smoothing of the small volume cells in order to preserve the quality of the mesh. The smaller cells are more rigid than bigger cells.

ISVMAT(integer):	Choice of the solving method for the system of equations in RBF.

0: don’t use the inverse matrix, 
1 (default): compute, save and use the inverse matrix, 
2: use the inverse matrix that has already been computed and saved.

In case of ISVMAT=2, an inverse matrix computed in single precision can not be used in a double precision computation. Otherwise, negative cells may appear after mesh deformation.
MOVRAD(real):	Support radius for the Wendland C² function or scale factor for the TPS function used in RBF, RBF+TFI and RBF+TFI+ELA. 
MOVRBF(integer):	Choice of the RBF function employed in the methods involving RBF.

1: Wendland C² function, 
2 (default): TPS function. 

MVDIFF (real):	Relaxation factor for the weighted elliptical smoothing of displacements in Laplacian Smoothing (if IMVWEI=1).
MVGAP (integer): Allow a free movement of the nodes along the hub or the shroud that copies the blade displacement.

0 (default): Fixed nodes on the hub/ shroud, 
1: Free moving nodes on the hub/ shroud. 



FIGURE 17 Visualization of the mesh from a cutting plane in the tip gap: MVGAP = 0.


FIGURE 18 Visualization of the mesh from a cutting plane in the tip gap: MVGAP = 1.
Limitations:

Only compatible with mesh coming from AutoGrid5™.
Only available for hub gap or for shroud gap, not both simultaneously,
Not compatible with non-axisymmetric hub or shroud,
Not compatible with meridional effects,
Only compatible with elastic deformation,
Compatible with RBF, RBF+TFI and IDW mesh deformation techniques,
Compatible with parallel partitioned computation if no partitioning is performed in the spanwise direction of the gap blocks,
For a NLH computation, sliding nodes at a tip gap are only applied to the time-averaged deformation field. The sliding treatment is not applied to harmonic deformations.

MVRELF (real):	Relaxation factor of the iterative process (default = 0.9) in Laplacian Smoothing, ELA and RBF+TFI+ELA. A mesh with high aspect ratio and skewed cells requires a lower value (0.45). If the iterative process of the mesh deformation is unstable, MVRELF must be decreased (<0.5).
RELAEV(real): Used for the "Young's Modulus" of the Elastic Analogy and RBF+TFI+ELA, when a homogeneous distribution is set-up. If a heterogeneous distribution is chosen, activates the maximum Yound Modulus.
RELAPV(real): Used for the "Poisson Ratio" of the Elastic Analogy and RBF+TFI+ELA.

The Plot3D Files

The Plot3D output module of the FINE™/Turbo solver creates 4 files:

The "project_computation.g" file contains the grid data.
The "project_computation.q" file contains the conservative variables.
The "project_computation.f" file contains additional variables.
The "project_computation.name" file contains the names of the additional variables.

The first 3 files can be written in ASCII or binary format, the binary format being the Fortran unformatted format. The ".name" file is always written in ASCII.
When the Unformatted file (binary) FORTRAN format is selected in FINE™/Turbo: the user has to make sure that the file format is also correctly defined in CFView™. When opening the Plot3D project in CFView™ through the menu File/Open Plot3D Project..., click on the File Format... button and select Unformatted. Do not select Binary as it corresponds to binary files generated by C programs. Once this is done, the user also needs to check the binary low endian or binary big endian format on the same page. On PC platforms (Windows or Linux) make sure to use binary low endian format whereas binary big endian is mandatory on all other platforms.
1. The "project_computation.g" file format:

Line1: number of blocks,
Line2: the 3 dimensions of each block,
for each block, the coordinates of the mesh points.

2. The "project_computation.q" file format:

Line1: number of blocks,
Line2: the 3 dimensions of each block,
for each block:
the free stream mach number, the flow angle, the Reynolds number and the time,
the 5 conservative unknowns: density, the 3 momentum components and energy.

3. The "project_computation.f" file format:

Line1: number of blocks,
Line2: for each block, the 3 dimensions and the number of additional variables selected by the user,
for each block: the additional flow variables.

4. The "project_computation.name" file format:
This file contains the names of the additional variables stored in the ".f" file, one name per line. If the quantity is a vector, it will be written on 3 different lines like in the following example:
Velocity-X
Velocity-Y
Velocity-Z

Launch the flow solver in Sequential Mode in Batch
To stop a computation in batch mode, the user can create a ".stop" file with the same computation name in the running computation directory, which will enable the FINE™/Turbo solver to stop after saving the solution at the next iteration or after the full multigrid initialization.
To save intermediate solution without stopping a computation in batch mode, the user can create a ".save" file with the same computation name in the running computation directory, which will enable the FINE™/Turbo solver to save the intermediate solution at the next iteration or after the full multigrid initialization.
How to Launch the flow solver in Sequential mode on Linux

Create a script file (for example, with the name "batch.sh"). Such a script file (e.g. "batch.sh") must be created with permission for execution, to launch a series of computations. An example of a "batch.sh" file for a series of sequential computations on Linux:
#! /bin/csh
euranusTurbo <project_path>/computation_1/computation_1.run -niversion <version>  -seq
euranusTurbo <project_path>/computation_2/computation_2.run -niversion <version>  -seq
or
#! /bin/csh 
euranusTurbo<version> <project_path>/computation_1/computation_1.run -seq
euranusTurbo<version> <project_path>/computation_2/computation_2.run -seq
The script is started in a C-shell, which is obtained by the first line: "#! /bin/csh". The command line, to start the FINE™/Turbo solver, contains its name, the full path of the ".run" file to launch (<project_path>), the FINE™/Turbo release that will be used (<version>) and the sequential mode selection.
Set Permission for execution for the script file "batch.sh" by typing the command: "chmod 755 batch.sh".
Create an input file (".run") for each computation. To create those files through the FINE™/Turbo interface, click on the File/Save Run Files menu in order to save the ".run" file of the activated computation, after opening the corresponding project.
Launch the script "batch.sh" by typing: "./batch.sh".

When saving the ".run" file of the computation (File/Save Run Files), a script "computation_name.batch" is automatically created in the corresponding computation subfolder. This script enables the user to launch the same computation in batch.
How to Launch the flow solver in Sequential under Windows

Create script file ".bat". An example of ".bat" file for a series of sequential computations on Windows:
"<NUMECA_install_dir>\fine<version>\bin64\euranusx86_64.exe  <project_path>\computation\computation.run" -seq

The command line, to start the FINE™/Turbo solver, contains the full path of the flow solver executable, the full path of the ".run" file to launch and the sequential mode selection.
Set permission for execution of the ".bat" file.
Create an input file (".run") for each computation. To create those files through the FINE™/Turbo interface, click on the File/Save Run Files menu in order to save the ".run" file of the activated computation, after opening the corresponding project.
Launch the script ".bat" by typing the script file name: "batch.bat" in a shell or double click on the ".bat" file from the Windows Explorer.

When saving the ".run" file of the computation (File/Save Run Files), a script "computation_name.bat" is automatically created in the corresponding computation subfolder. This script enables the user to launch the same computation in batch.

Mesh Menu



View On/Off


This toggle menu is used to visualize the grid in FINE™/Turbo GUI. It may take few seconds to load the mesh file for the first time. The parameters area will be overlapped by the graphic window, and the small control button on the upper - left corner of the graphic window can be used to resize the graphics area in order to visualize simultaneously the parameters and the mesh (see Graphics Area). Once the mesh is opened, the same menu item Mesh/View On/Off will hide it. Note that the mesh will stay in the memory and the following use of the menu will visualize it much faster than the first time.
When the mesh is loaded the following items appear in the FINE™/Turbo interface:

 the View subpad,
themesh information area,
the graphics area will appear in the FINE™/Turbo interface,
the Viewing buttons will appear on the bottom of the graphics area. 

The graphics area and the Viewing buttons will disappear when the mesh is hidden (Mesh/View On/Off). All the tools will disappear when the mesh is unloaded (Mesh/Unload).


Repetition

This menu opens the following dialog box to control the repetition of the blocks when the mesh is visualized:


For each block, the number of repetition desired can be set in the Nb Repet entry. The repetition of all blocks can be displayed or hidden respectively by pressing the Show or Hide button.


Tearoff graphics

This menu transfers the graphics area and its control buttons into a separate window. Closing this window will display the graphics area back in the main FINE™/Turbo window.
This feature is only available on Linux systems.


Unload

Mesh/Unload clears the mesh from the memory of the computer.


Properties

Clicking on Mesh/Properties... opens a dialog box that displays global information about the mesh:

Grid Units: the user specifies the grid units when importing a mesh. When importing a mesh the Grid Units and Project Configuration window appears, which allows the user to check the mesh units. The chosen units can be verified and, if necessary, changed.
Space Configuration: allows the user to verify whether the mesh is cylindrical or Cartesian and the dimensionality of the mesh. When importing a mesh the Grid Units and Project Configuration window allows the user to check these properties. Those chosen properties can be verified and, if necessary, changed.

In case of 2D cases, a simplified 3D solver will be used. The quantities will be updated only in two directions. However, when outputting the results, 1 unit length in the third direction will be used.
The different computations in a project can not have different mesh properties. If any of the properties in this area are changed, the modifications will be taken into account for all (active and non-active) computations.

The total number of blocks and the total number of points are automatically detected from the mesh.
For each block, the following informations are automatically detected from the mesh: the block index (Block #), the current (Current <i,j,k>, depending on the current grid level) and maximum (Maximum <i,j,k>) number of points in each I, J and K directions, the total number of points (Nb of points), the number of periodicity (Nb of periodicity) and the number of meshed passages (Meshed repetition).



FIGURE 8 Mesh Properties dialog box

Specific Output
This section describes the specific outputs generated by the Lagrangian module. 
Field Quantities ('.cgns')
The solver automatically includes in the CFView™ output (".cgns") of the project the field quantities that have been specified by the user under the Lagrangian tab in the Outputs>Computed Variables page. These quantities can be scalars or vectors, and are the following:

Vectors
Mass-weighted relative velocity (1)
Number-weighted relative velocity (2)
Mass-weighted absolute velocity (3)
Number-weighted absolute velocity (4)
Interphase force vector (5)
Scalars		
Number concentration (51)
Mass of particles per cell volume (52)
Volume of particles per cell volume (53)
Presence (1) or absence (0) of particles in cells (54)
Vx: x-component of mass-weighted velocity vector (55)
Vy: y-component of mass-weighted velocity vector (56)
Vz: z-component of mass-weighted velocity vector (57)
Fx: x-component of interphase force (58)
Fy: y-component of interphase force (59)
Fz: z-component of interphase force (60)

Particles Traces ('.tr')
The solver also creates an specific Lagrangian output file (".tr"), containing the trajectories of the all the particles. This file is automatically transmitted to CFView™, which allows for the visualization of the trajectories.
Summary File ('.tr.sum')
In addition to the previous outputs, a summary file (".tr.sum") is automatically written by the solver, giving for each injection patch the particles numbers and mass flows through the inlet/outlet boundaries, and the number of particles that remain stuck on the walls.

Introduction
Components
The resolution of Computational Fluid Dynamics (CFD) problems involves three main steps:

spatial discretization of the flow domain,
flow computation,
visualization of the results. 


To perform these steps NUMECA has developed three software systems. The first one, IGG™, is an Interactive Geometry modeller and Grid generation system for multiblock structured grids. The second software system, the FINE™/turbo solver, is a state of the art 3D multiblock flow solver able to simulate Euler or Navier-Stokes (laminar or turbulent) flows. The third one, CFView™, is a highly interactive Computational Field Visualization system.
These three software systems have been integrated in a unique and user friendly Graphical User Interface (GUI), called FINE™/Turbo, allowing the achievement of complete simulations of 3D internal and external flows from the grid generation to the visualization, without any file manipulation, through the concept of project. Moreover, multi-tasking capabilities are incorporated, allowing the simultaneous treatment of multiple projects.
Multi-Tasking
FINE™/Turbo has the particularity of integrating the concept of multi-tasking. This means that the user can manage a complete project in the FINE™/Turbo interface; making the grid using IGG™, running the computation with the FINE™/Turbo solver and visualizing the results with CFView™. Furthermore, the user has the possibility to start, stop and control multiple computations. Please note that the flow simulation can be time consuming, therefore the possibility of running computations in background has been implemented. 
Project Management
To manage complete flow analyses, FINE™/Turbo integrates the concept of project. A project involves grid generation, flow computation and visualization tasks. The results of each of these tasks are stored in different files that are automatically created, managed and modified within FINE™/Turbo:

The grid files: The grid generation process, IGG™, creates files containing the representation of the geometry and the grid related to the project. The definition of the types of boundary conditions is also done during this process. The five files that contain the information about the mesh have the extensions ".igg", ".geom", ".bcs", ".config" and ".cgns".
The project file: The project file is created by FINE™/Turbo. It has the extension ".iec" and contains the input parameters needed for the flow computations.
The result files: FINE™/Turbo creates a new subdirectory for each computation where it stores the following files:

a file with extension ".run" containing all computation input parameters used by the solver and by CFView™,
a ".cgns" file that contains the solution and that is used for restarting the solver,
a ".res" file used by the Monitor to visualize the residual history.
two files used to visualize the convergence history in the Steering with extensions ".steering" and ".steering.binary".
two files with extensions ".mf" and ".wall" that contain global solution parameters.
a ".xmf" file that stores the information contained in the ".mf" file in XML format.
two files with extensions ".std" and ".log" that contain information on the flow computation process.
a ".batch" file used to launch the computation in batch.



The CFView™ visualization files: In addition to the ".run" file, the flow solver creates a series of files, which can be read by CFView™. These files have different extensions. For example in case of turbomachinery flow problem, the solver will create a file for the azimuthal averaged results with extension ".me.cfv".

Through the interface, the user can modify all the information stored in the files associated to the project. 
When creating a new project a new directory is made, e.g. "/project". In this directory the project file is stored "/project/project.iec" and a directory is created called "/project/_mesh". In this directory the grid files used for the computations can be stored. It is however also possible to select a grid that is located in another directory.
Only one mesh file should be used for all computations in a project. If computations need to be done on another mesh file it is advised to duplicate the project or to create a new project  for those computations.
The special characters, such as ü, ë and ê et al., are not allowed in the path name.
The white space is not allowed in the path name.
Off line files on Windows operation system are not supported.
The length of the path name should be less than 256.


FIGURE 1 Example of file management for a FINE™/Turbo project
Both the absolute and relative path names are used in ".iec" and ".run" files for the mesh and initial solution files. When moving the project from one location to another location in the local machine or between different machines (the same or different OS), the use of the relative pathnames allows the user to:

open the graphical user interface and (re)start calculation without the need to (re)link the mesh and pathnames,
open a solution file within CFView™ without the need to open the graphical user interface,
start calculations in batch mode without the need to open the graphical user interface and (re)link the mesh and pathnames.
The limitations on the use of relative pathnames are as follows:
All files (mesh and computations) related to a given project must be located in hard-coded subdirectories (e.g. _mesh).
Keywords related to relative path in ".iec" and ".run" files are only vaild if the concerned files are at the same level of the project file ".iec" or in subdirectories.
Both the project and the directory in which it is included must have the same name. They can't be renamed.
When duplicating or moving the project, the user must be able to copy either the entire project (mesh files and computations with existing solutions), or a partial project (mesh files and computations, restricted to ".run" files)
Relative path is not compatible with FINE™/Design3D.

Initial Solution




FINE™/Turbo provides the possibility to start a computation from an initial solution. The following initial solution types are available:

constant values,
from file,
for turbomachinery,
from throughflow.

Each of these types is described in the next sections. 
FINE™/Turbo allows to define a different initial solution type for each block or group of blocks. Such a block dependent initial solution provides more flexibility in the restart of previously computed solutions. The next section describes how to set up a block dependent solution.

Modal Coupling
Introduction

FINE™/Turbo includes a modal coupling module in order to perform Fluid-Structure Interaction (FSI) simulations. For modal coupling simulations, an external structural analysis software should be used first to compute the modal shapes and the eigen frequencies of the structure. With the computed modal shapes and the eigen frequencies, the FINE™/Turbo flow solver will consider the interaction between the flow and the structure and compute the deformation of the structure by solving the modal equations.
The limitations on the modal coupling are:

Structure file containing mode shape definition must be written in SI units. The mode shapes must be scaled for a generalized mass equal to 1.
Modal coupling requires elastic mesh deformation. It involves all limitations linked to the mesh deformation methods.

The Modal Coupling in the FINE™/Turbo GUI
The modal coupling can be activated from the Optional Models / Fluid Structure page under the Mechanical tab, see FIGURE 14. 


FIGURE 14 The mechanical coupling with Modal
All solid patches and groups in the fluid mesh are listed on the middle of the page. The user has to do the settings as follows:
(1) select the patches/groups that belong to the same structure. One structure can consist of multiple patches/groups. To select multiple patches/groups, keep the key <Ctrl> pressed and left-click on the patches/groups.
(2) activate the option Coupled and specify the corresponding Structure ID. The FINE™/Turbo flow solver can model multiple structures. The user has to specify a Structure ID for each structure.
(3) clicking on the button  to set the parameters related to the modal coupling. The user has to specify a Structure Name for the selected structure (Structure ID) and set the corresponding parameters.
A Structure File, including the modal properties and the initial deformation (optional), has to be defined for each structure. The modal properties (eigen frequencies and modes shapes) are needed by the flow solver in order to compute the elastic deformation of the structures. These properties can be computed by a CSM code or measured experimentally. As the modal resolution is a linear method, an initial deformation can be specified. This is useful to take into account non-linear effects independent of fluid load, such as centrifugal load effect.
The structure file must be written in ASCII format. First, this file includes the number of dimensions of the structure, the number of modes, the number of structure nodes at which the modes are defined, a flag to specify if an initial deformation is specified and a flag to identify if the mode shapes are complex (see section Complex mode shapes for more information). Then, the eigen frequencies are listed in increasing order. The frequencies have to be written in Hz. Finally, the initial deformation and the mode shape information are written node by node. For each node one line contains the three (or two for 2D computation) coordinates, the initial deformation (if the parameter Initial deformation is set to 1) and the components of each mode sorted in increasing frequency order. If the parameter Complex modes is set to 0, only the real part of the mode shapes is required. If the parameter Complex modes is set to 1, the imaginary part is added next to the real part for each mode. The coordinates and the mode shapes have to be written in SI unit system and in Cartesian system. For mode shape the conversion factor is the inverse of the square root of mass conversion factor.
Mode shape must be normalized with mass for a generalized mass equal to 1. After all modes are normalized, the mass matrix [M] becomes the unit matrix and the stiffness matrix [K] is a diagonal matrix where the elements are the square of the mode frequency, see theory guide for more details.


FIGURE 15 The format of structure file
The mode shapes from the input structure file can be visualized in the graphic window by clicking on Preview. The graphic window must be opened (go to Mesh / View On/Off) before clicking on Previewto be able to visualize the mode shapes.
The mode shapes are represented as arrows as displayed in the next figure (representation of the fifth mode of a cantilever beam).


The user can modify the size of the arrows by modifying the Scaling Factor parameter. By default, the Scaling Factor value is preset to fit the arrows into the graphic window. If the Scaling Factor is set to 1, the actual value of the mode shapes can be visualized in the graphic window. Furthermore, the user can choose to display the arrows either on all the structure mesh points or on one every X structure mesh points by activating the option Display only 1 point in X (the user can input the X value). If an initial deformation is defined (parameter Initial deformation set to 1), the deformed initial position is displayed as a green line. Mode shapes can only be visualized if the Number of Modes includes them. For example, if the structure file includes 10 mode shapes but the Number of Modes is set to 1, only the first mode shape can be visualized. In order to view all the mode shapes, set the Number of Modes to 10 and click again on Preview.
Coupling method
The Coupling method (2-way coupling) computes the structure deformation considering the flow loads on the structure by resolving the modal structure equation.  For more information on how to compute the deformation of the structures, please refer to the theory guide.
 A Damping Coefficient needs to be specified for each used mode. These damping coefficients will be used to solve the modal equations and compute the deformation of the structures. 


The default Coupling method is qualified as weak coupling. At the end of each physical iteration, the equilibrium between the fluid and the structure is not ensured. Indeed, the structure motion is computed from the fluid loads from the previous physical iteration and not from the considered physical iteration.
For more information about the weak coupling method, see the theory guide.
For unsteady computation, the time step should be less than one third of the period of the highest mode to avoid divergence.
Strong coupling method
The strong coupling method is based on a subcycling approach added to the initial modal resolution algorithm. This subcycling loop is based on the repetition of the physical time step calculation while the equilibrium between the fluid and the structure is not reached. The structure deformation is updated between each subcycle. Once the equilibrium is reached, the next time step is computed.
This method can be activated through the expert parameter STRCPL. The maximum number of subcycles is imposed with the expert parameter NMXCYC (default value: 5). Furthermore, a convergence criterion for the strong coupling loop is imposed with the expert parameter RESCPL (default value: -5).
This method allows the use of larger time steps than the weak coupling method.
For more information about the strong coupling method, see the theory guide.
Forced Motion method
For, the Forced Motion method (1-way coupling), the user imposes the structure deformation through the definition of the generalized displacement for each mode. The generalized displacement can be a constant value (steady, unsteady or harmonic mode), a function of time (unsteady mode) or a function of frequency (harmonic mode). These generalized displacements will be used to compute the deformation of the structures directly. For more information on how to compute the deformation of the structures, please refer to the theory guide.


In case of harmonic computations, a frequency domain definition of the generalized displacement can be specified. To define the profile of the generalized displacement, the following parameters must be defined. Clicking on  at the right side of the title Harmonic Generalized Displacement, an information dialog box will appear, which shows the equation used to define the generalized displacement.

Frequency: defines the frequency of the vibration of the selected mode.
IBPA: defines the Inter-Blade Phase Angle (IBPA). The IBPA is used in the flutter analysis and represents the motion phase shift between adjacent blades in the same row. Combining the harmonic method and the modal method, FINE™/Turbo is able to perform flutter analysis with only one channel meshed whatever the IBPA is considered.
Mean: defines the time-averaged value of the profile.
Real/Imaginary: defines the real/imaginary parts of each harmonic.

After defining all parameters, click on the button Update Graph to plot the defined generalized displacement on the right-hand side of the frame.


Since only one perturbation per structure is allowed, only one frequency and one IBPA is allowed. In case multiple modes are used, the frequency of all the modes must be the same.
Specificity related to Harmonic
When performing modal coupling simulations with the harmonic method in multi-row configuration, the user can check the resolved harmonics in each row in the Numerical Model page (button Show the harmonics). See multi-rank harmonic method for the detail of Show the harmonics.
The structure harmonic is noted as "St" in the harmonic names. In the case shown in Show the harmonics, the structure is located in row 1. For example, the name "row 1: Harmonic 4 = (1G2;-1St1)" means that this is the fourth harmonic in row 1 and it is the linear combination between the first harmonic of passing blades of G2 and the first harmonic of structure St1 vibration.
In case of combining modal coupling with multi-rank harmonic method, the perturbation introduced by the structure will be considered in the row where the structure is located. This perturbation will also propagate to the neighbor rows crossing Rotor/Stator interfaces.
 


FIGURE 16 Show the harmonics
Complex mode shapes

For NLH computations, the user has the possibility to use complex mode shapes in the structure file (the parameter Complex modes is set to 1). For visualization of the mode shapes, the user has the choice to see either the Real part, or the Imaginary part or the Amplitude of the mode shapes. Note the following limitations:

If the parameter Complex modes is set to 1, all modes must be complex. In case of real mode shapes, the imaginary part can be set to 0.
For Forced Motion method, the time-averaged generalized displacement is not compatible with complex mode shapes. The time-averaged generalized displacement will only be applied to the real part of the mode shapes.

Limitations

When performing modal coupling with the harmonic method in single row configuration, the following limitations are applied:


Only compatible with the basic harmonic method.
Not compatible with ITURRC = 2.
Only compatible with Radial Basis Functions, Radial Basis Functions -> Transfinite Interpolation and Inverse Distance Weighting for mesh deformation.
Restricted to 1 perturbation (the forced vibration).
Not compatible with steady initialization.


When performing modal coupling with the harmonic method in multi-row configuration, the following limitations are applied:


Only compatible with the multi-rank harmonic method.
Not compatible with ITURRC = 2.
Only compatible with Radial Basis Functions, Radial Basis Functions -> Transfinite Interpolation and Inverse Distance Weighting for mesh deformation.
The blade vibrations are considered only at rank 1.
In case multiple structures exist, only structure/BPF interactions are considered. Structure/structure interactions will not be taken into account.
Not compatible with steady initialization.
The coupling mode considers only the frequencies linked to BPF, which comes from the Rotor-Stator interaction.


Expert parameters
 
CORMOD (integer):	forces the mode shapes to be zero for connection between rigid and moving surfaces. 

0 (default): not active,
1: active.

CPLREL(real): relaxation coefficient of computed generalized displacements between two consecutive iterations. The default value is 1, disabling the relaxation.
ITCPL (integer):	defines the number of iterations between two successive resolutions of the structure equation. This parameter is only used for 2-way coupling in steady and NLH time configuration.
NMXCYC (integer): maximum number of iterations in the strong coupling subcycle loop. The default value is 5.
RESCPL (real): convergence criteria for strong coupling subcycle loop. The default value is -5.
STRCPL (integer):	activate the strong coupling method.

0 (default): weak coupling,
1: strong coupling activated.

Launch FINE™ in Batch

The user has the possibility to set up a computation, without opening the FINE™/Turbo interface, through the finebatch program. In batch mode, FINE™/Turbo will create a computation file (.run) from an existing project (.iec) and mesh (.igg) file. This method can be used to set up sequential or parallel computations.
To get help about the finebatch command, type the following command in shell:
fine  -niversion  <version>  -batch  -help  -print	on Linux
<finebatch_path>\finebatchx86_64.exe  -help  -print	on Windows
The user can also launch finebatch in interactive mode. In this case, the user needs to type all parameters following the instruction of finebatch. To launch finebatch in interactive mode, type the following command in shell:
fine  -niversion  <version>  -batch  -interactive	on Linux
<finebatch_path>\finebatchx86_64.exe  -interactive	on Windows
The use of the interactive mode is advised for beginning users as it helps to familiarize with the necessary input parameters. The outcome of both interactive and non-interactive modes is the same.  
		
In case that the mesh topology has been changed, it is strongly advised to use the FINE™/Turbo interface to set up the computation. When a new/modified mesh is linked to an existing project file, an automatic merge will be performed. This merge will reset the physical parameters to their default values for the modified parts of the mesh. If, for example, blocks have been added, the rotation speed, solid conductivity and initial solution of these blocks will be set to the default values.
The user must have read and write permissions in the project directory.
The required memory selected by default for the considered computation is shown in the interactive mode of finebatch; the user may refer to this value to adjust it if necessary.        
The parameters order is not important for the good execution of the command entered int the shell. 
Create a ".run" file (sequential computation)
To create a ".run" file from an existing project, the finebatch program can be launched with following command:
fine 	-niversion  <version>  -batch on Linux
<finebatch_path>\finebatchx86_64.exe  on Windows
-project  <project_path>/project.iec
-mesh  <mesh_path>/mesh.igg 	 (optional)
-computation  <computation_path>/computation.run 	 (optional)
-index  <computation_index> 	 (optional)
-nbint  # (optional)
-nbreal  #  (optional)
-print (optional)

-project followed by the full path of the input project file (.iec)
-mesh followed by the full path of the input mesh file (.igg). This is an optional argument. If the argument is not specified, the mesh linked to the existing project will be used.
-computation followed by the full path of the output computation file (.run). This is an optional argument. If the argument is not specified, the computation name corresponding to the selected computation (-index) in the project will be used.
-index followed by the index (0 for the first computation, 1 for the second one, ...) of the computation in the project file. This is an optional argument. If the argument is not specified, the first computation will be used.
-nbint followed by the required integer memory size (MB). This is an optional argument. The automatic memory estimation is always performed. If this argument is specified, the specified value will overwrite the automatic estimated one.
-nbreal followed by the required real memory size (MB). This is an optional argument. The automatic memory estimation is always performed. If this argument is specified, the specified value will overwrite the automatic estimated one.
-print. This is an optional argument. If the argument is specified, the output information will be printed on the screen.

The output of the program contains the following files:

Modified computation file (.run)
Script file to launch the computation (.bat in Windows, .batch in Linux)
 The steering files (.steering and .steering.binary) (if not already existing)

An option ("merge mesh") is available in the interactive mode of finebatch to merge the mesh linked to a project, with a new one.
        
The finebatch executable can be found in "<NUMECA_install_dir>\fine#\bin64\".
        
Set up a parallel computation
To set up a parallel computation, the finebatch program can be launched with following command:
fine 	-niversion  <version>  -batch  -parallel	on Linux
<finebatch_path>\finebatchx86_64.exe -parallel on Windows
-computation  <computation_path>/computation.run	
-nproc  #
-machine_file  <machine_file_path>/machine_file (optional)
-nbint  #	 (optional)
-nbreal  # 	(optional)
-sge/-lsf /-pbs <queuing_environment_path>/queuing_environment_file	(optional)
-template  <template_path>/template_file 	(optional)
-print (optional)

-computation followed by the full path of the computation file (.run). This is the input and also the output file. The computation file (.run) will be modified  after executing finebatch.
-nproc followed by the number of the required processes. The distribution of blocks per processor is performed automatically.
-machine_file followed by the full path of the machine file, which specifies the machine information regarding the various processes. This is an optional argument. If this argument is not specified, the current machine will be used. In case of a queuing system (-sge or -lsf or  -pbs), this argument should not be defined. Note that the number of processors defined with the argument -nproc will not be taken into account if  a .machines file is used (even if the only machine name specified in the .machine file is the local machine); this file should be written as below to be fully effective:

An example of a machine file
hostname1  4
hostname2  2
where 4 slave processes on hostname1 and 2 slave processes on hostname2.
For each machine, a line must be added consisting of the machine name (the machine hostname) and the number of processes to run on the machine,
hostname <n_processes>
        
When generating the parallel computation files, the p4pg file generated uses the local machine as master process and the machines specified in the machine file as computing processes (the .p4pg is only used under Linux with finebatch).
Note also that on Windows, the use of the argument -parallel with the argument -machine_file or -proc, will have for effect to define all the processes (the master process and all the slave processes) on the local machine.

-nbint followed by the required integer memory size (MB). This is an optional argument. The automatic memory estimation is always performed. If this argument is specified, the specified value will overwrite the automatic estimated one.
-nbreal followed by the required real memory size (MB). This is an optional argument. The automatic memory estimation is always performed. If this argument is specified, the specified value will overwrite the automatic estimated one.
-sge/-lsf /-pbs followed by the used queuing system environment. This is an optional argument. By default, if no queuing system is specified, the parallel computation will be created using MPI (OpenMPI by default).
-template followed by the path of the used template, which must be one of the name appearing in the interface. This is an optional argument. If this argument is specified, the default template provided in the package will be used. This argument should only be used in case of a queuing system (-sge/-lsf/-pbs).
-print. This is an optional argument. If the argument is specified, the output information will be printed on the screen.

The output of the program contains the following files:

Modified computation file (.run)
Script file to launch the computation(.bat in Windows, .batch in Linux)
The steering files (.steering and .steering.binary) (if not already existing)
Host definition file (.p4pg)
Script file to submit the computation on queuing system, in case a queuing environment has been specified

Set up a parallel partitioned computation
To set up a parallel partitioned computation, the finebatch program can be launched with following command:
fine 	-niversion  <version>  -batch  -partition	on Linux
<finebatch_path>\finebatchx86_64.exe -partition on Windows
-computation  <computation_path>/computation.run	
-nproc  #
-load_balancing  #
-machine_file  <machine_file_path>/machine_file (optional)
-nbint  # (optional)
-nbreal  # (optional)
-sge/-lsf /-pbs <queuing_environment_path>/queuing_environment_file	(optional)
-template  <template_path>/template_file (optional)
-print (optional)

-computation followed by the full path of the computation file (.run). This is the input and also the output file. The computation file (.run) will be modified after executing finebatch.
-nproc followed by the number of the required processes.
-load_balancing followed by the value of the load balancing, which is a real number ranging in ]0,1[. If this argument is not specified, a default value of 0.8 is applied. For more details see: Parallel Partitioned Computation - MPI system .
-machine_file followed by the full path of the machine file, which specifies the machine information regarding the various processes. This is an optional argument. If this argument is not specified, the current machine will be used. In case of a queuing system (-sge or -lsf or -pbs), this argument should not be defined. Note that the number of processors defined with the argument -nproc will not be taken into account if  a .machines file is used (even if the only machine name specified in the .machine file is the local machine); this file should be written as below to be fully effective:

An example of a machine file
hostname1  4
hostname2  2
where 4 slave processes on hostname1 and 2 slave processes on hostname2.
For each machine, a line must be added consisting of the machine name (the machine hostname) and the number of processes to run on the machine,
hostname <n_processes>
When generating the parallel computation files, the p4pg file generated uses the local machine as master process and the machines specified in the machine file as computing processes (the .p4pg is only used under Linux with finebatch).
Note also that on Windows, the use of the argument -parallel with the argument -machine_file or -proc, will have for effect to define all the processes (the master process and all the slave processes) on the local machine.

-nbint followed by the required integer memory size (MB). This is an optional argument. The automatic memory estimation is always performed. If this argument is specified, the specified value will overwrite the automatic estimated one.
-nbreal followed by the required real memory size (MB). This is an optional argument. The automatic memory estimation is always performed. If this argument is specified, the specified value will overwrite the automatic estimated one.
-sge/-lsf/-pbs followed by the used queuing system environment. This is an optional argument. By default, if no queuing system is specified, the parallel computation will be created using MPI (OpenMPI by default).
-template followed by the path of the used template, which must be one of the name appearing in the interface. This is an optional argument. If this argument is specified, the default template provided in the package will be used. This argument should only be used in case of a queuing system (-sge/-lsf /-pbs).
-print. This is an optional argument. If the argument is specified, the output information will be printed on the screen.

The output of the program contains the following files:

Modified computation file (.run)
Script file to launch the computation (.bat in Windows, .batch in Linux)
The steering files (.steering and .steering.binary) (if not already existing)
Host definition file (.p4pg)
Script file to submit the computation on queuing system, in case a queuing environment has been specified

Expert Parameters
Interfaced Expert Parameters
Multigrid Strategy
The option Coarse Grid Initialization enables, before calculating the flow on the mesh, to perform a preliminary flow calculations on a coarser mesh automatically created by the flow solver by coarsening the initial one. This provides a rapid estimation of the flow. This technique is referred to Full Multigrid.
If the option Coarse Grid Initialization is activated, the computation starts on the coarsest grid level and includes a finer grid level each time one of the two following criteria is satisfied:

The maximum number of cycles to be performed on each grid level is reached. This parameter is specified through the input box in the Full MultiGrid Parameters area as the Maximum number of cycles per grid level.
The residual on the current grid level has dropped a certain order of magnitude as indicated by the Convergence criteria on each grid level in the Full MultiGrid Parameters area.

When general CPU Booster is activated in the computation, the user may activate or deactivate CPU Booster during the coarse grid initialization and specify a corresponding CFL number. 
The imposed CFL number during the coarse grid initialization  must be lower or equal to the general CFL number.


For the Convergence criteria on each grid level, both the RMS and maximum residuals are checked when passing from one grid level to the next one in full multigrid initialization. The flow solver jumps to the next grid level when both criteria has decreased e.g. 3 orders of magnitude.

An additional input box permits to select the number of sweeps to be performed on the coarse grid levels through the input box Number of sweeps on successive grid levels. The amount of sweeps is the amount of times the Runge-Kutta operator is applied. In the default configuration of the solver called Linear progression, the number of sweeps on each level equals the level number (2 sweeps on second level,...). It has been observed in many cases that the convergence rate may be significantly improved by performing a higher number of sweeps on the coarsest levels. Recommended sets of values are proposed in the Sweeps area through the parameter Scheme definition: for instance (1,2,16) in case of 3 grid levels. However, it is should be noted that more sweeps have as a consequence more time required for an iteration.



Spatial Discretization
Two types of spatial discretization are available:

central scheme (default) and
upwind scheme.



A new way of calculating the artificial dissipation based on the primitive variables can be accessed by switch expert parameter IARTVS to 2 when a central scheme is chosen. Such a new way can limit or remove strong overshoot in temperature in the vicinity of holes when running blade cooling configurations with the source term approach. 
This method is restricted to non-preconditioned perfect gas and real gas implementations. And it is not applicable with NLH method.
If an upwind discretization is chosen, an input box appears in a Spatial discretization parameters area to specify the order of accuracy of the desired upwind scheme: first or second order. 
Condensable and preconditioned fluids are not compatible with the use of upwind schemes for space discretization.
Temporal Discretization
The temporal discretization scheme used for the computation is an explicit multi-stage Runge-Kutta scheme. In the interface, the time stepping technique should be selected between Local time stepping (default) and Global time stepping. See Time Discretization: Multistage Runge-Kutta  for more detailed information on the temporal discretization. In general the default scheme is recommended.


If the computation is an unsteady computation, unsteady parameters box appears. 
Non-interfaced Expert Parameters


Additional parameters related to the numerical model are available in the list on the Control Variables page in Expert Mode.
Multigrid
IMGDIR(integer):	Indicates if coarsening will be applied in the specified I, J or K direction (three values):

1 1 1 (default): coarsening applied in all directions
0 0 0: no coarsening applied in all directions
1 1 0: coarsening applied only on I and J directions

IPROLO(integer):	Indicates the order of the prolongation within the multigrid approach. The default value is depending on the selected fluid type and turbulence model.

0: piecewise constant prolongation,
1: linear prolongation with damping,
-1: linear prolongation without damping,
2: linear prolongation except at boundaries(-2).

When using incompressible fluids with 0- or 1-equation turbulence models, the damping option is somewhat useless and can be damaging. FINE™/Turbo therefore sets it to off automatically (IPROLO=-1).
IRESTR(integer):	Gives the order of the restriction operator of the multigrid.

= 0 (default): corresponds to linear restriction, 
= 1: to quadratic restriction.

MGRSTR(integer):	Applies only for multigrid and fixes the type of multigrid cycle. MGRSTR=1: V-cycle; MGRSTR=2: W-cycle; MGRSTR=3: F-cycle; MGRSTR=4: V-cycle in sawtooth; MGRSTR=5: W-cycle in sawtooth; MGRSTR=6: F-cycle in sawtooth. Default: MGRSTR=1.
MGSIMP(integer):	Applies only for multigrid. If MGSIMP>1 a simplification will be used on coarser levels. If MGSIMP=1 a more dissipative scheme is used on coarser meshes, i.e. first-order upwind (if 2nd order upwind scheme is used) or central scheme with increased 4th order dissipation on solid walls (if central scheme is used). If MGSIMP=2, in addition to the simplification for MGSIMP=1, viscous and source terms (of turbulence) are neglected on coarser levels. No simplification for MGSIMP=0. Default: MGSIMP=1
RSMPAR(real):	Residual smoothing parameter σ*/σ. A value less or equal to zero means no residual smoothing.
SMCOR(real):	Only used in case of multigrid. SMCOR has the same meaning as RSMPAR but applies to the interpolated multigrid corrections instead of the residuals. SMCOR indicates whether interpolated corrections should be smoothed or not. The default value for SMCOR is 0.
Spatial Discretization
IFACE(integer): 	= 1(default): Cell face gradients are used for the viscous fluxes,

= 0: cell corner gradients.

IWAVVI(integer):	Only used if IFACE=0. If IWAVVI=0 the cell face gradients are obtained by arithmetic averaging of the cell corner gradients. If IWAVVI=1 a weighted averaging is used instead, taking the cell volumes into account.
IWAVCO(integer):	If IWAVCO=0 a variable averaging is performed. If IWAVCO=2 a flux averaging is used instead.
Central Discretization
CDIDTE(real): 	Constant used in the exponential damping factor that is used in the numerical dissipation for k and ε , both if central or upwind schemes are used. The default value for CDIDTE is 100
EXPMAR(real): 	Exponent in the multi-dimensional scaling model of Martinelli of the dissipation used in central schemes. Default EXPMAR=0.5 i.e. multi-dimensional scaling not used.
IARTV2(integer): 	Defines whether the second order artificial dissipation switch should be based on both pressure and temperature gradients (parameter IARTV2=1) or on pressure gradients only (IARTV2=0). In the default configuration, only pressure gradients are taken into account. Both pressure and temperature gradients (IARTV2=1) can only be taken into account for compressible cases.
VIS2(real): 	Coefficient κ(2) for 2nd order dissipation in the central scheme (default VIS2=1.0).
VIS2KE(real): 	Used only for k-ε  turbulence model. Coefficient κ(2) for 2nd order dissipation in the central scheme, as applied to the k and ε equations. Default VIS2KE=1.0
VIS2SW(integer): 	This parameter switches off all second order dissipation for incompressible fluids (when set to the default: VIS2SW=1). Second order dissipation is intended for stabilization of the shocks but there are no shocks in incompressible flows. Therefore the default is to switch off all second order dissipation for incompressible fluids. Sometimes it may be stabilizing to use some second order dissipation. In that case set this parameter to zero.
VIS4(real): 	Coefficient κ(4) for 4th order dissipation in the central scheme. Default VIS4=0.1
VIS4KE(real): 	Used only for k-ε  turbulence model. Coefficient κ(4) for 4th order dissipation in the central scheme, as applied to the k and ε equations. Default VIS4KE=0.1
VISNUL(integer): 	Eliminates 2nd order dissipation fluxes along the physical boundaries (central scheme). Default VISNUL=1. If VISNUL=0, the procedure is not applied.
Upwind Discretization
ENTRFX(real): 	Entropy coefficients. The first value is the entropy fix coefficient applied to the linear field, the second value is applied to the non-linear field. ENTRFX<1. means a constant value, ENTRFX>1. means scaled with the spectral radius through a factor ENTRFX-1.
IRATIO(integer): 	Vector of two values, that indicate which effective ratio is to be used. The first value applies to the linear field, the second to the non-linear field. 
IRATIO is only active for second-order upwind schemes.
IROEAV(integer):	=1 indicates that Roe averages are to be used to calculate cell face data. If IROEAV=0 (default), arithmetic averaging will be used.
Preconditioning
IPRECG(integer):	control the primitive variables used in the Merkle preconditioning method when the fluid is described by thermodynamic tables. Indeed, for condensable fluids, the static pressure and temperature (used with standard Merkle approach) cannot be considered as independent variables in a biphasic zone and other variables have to be chosen.

= 0: the primitive variables are static enthalpy and static pressure (old implementation)
= 1: the primitive variables are static enthalpy and static pressure (new implementation)
= 2(default): the primitive variables are total enthalpy and static pressure

FMPLIM(real): Coefficient related to the aspect ratio of cells in one limiter of the particle velocity used with Merkle preconditioning. Decreasing the value of this parameter (from the maximum value = 1) can improve the robustness of the Merkle preconditioning in case that large aspect ratio appears in the mesh. If the value of the parameter is lower than 0, it is not taken into account. 
Time Discretization
IBOTH(integer):	used in combination with ISWV. The latter parameter indicates whether the dissipation terms are recalculated or not in the different Runge-Kutta stages. IBOTH=0 means that the dissipation term only contains the physical, viscous dissipation; IBOTH=1 means that it also contains the artificial/upwind dissipation. The default value = 2 means that the dissipation term contains only the artificial dissipation. The physical dissipation is computed once per time step.
IRKCO(real):	Runge-Kutta coefficients. One for each stage, the first one for the first stage, the second one for the 2nd stage and so on. The default values that are used when nothing is set in IRKCO are:

1st order upwind - Van Leer:
	4stage	.0833	.2069	.4265	1.
	5stage	.0533	.1263	.2375	.4414	1.
2nd order upwind - Van Leer:
	4stage	.1084	.2602	.5052	1.
	5stage	.0695	.1602	.2898	.5060	1.
central scheme - Jameson:
	4stage	.25	.3333	.5	1.
	5 stage	.25	.1666	.375	.5	1.
both central and upwind - Eliasson:
	4stage	.125	.306	.587	1.
	5stage	.0814	.191	.342	.574	1.

NSTAGE(integer):	number of stages for the explicit Runge-Kutta scheme. In practice, 4 or 5 stage schemes are mostly used.

= 4: ISWV = 1 1 0 ...(ISWV can be modified afterwards independently)
= 5: ISWV = 1 0 1 0 1 0 ...(ISWV can be modified afterwards independently)

IRSMCH(integer):	specifies the type of residual/correction smoothing.

= 1: standard version
= 2 (default only if Hakimi preconditioning): Radespiel & Rossow
= 3 (default): Zhu, time step dependent coefficients
= 4: Swanson & Turkel viscous
= 5: Vatsa. On meshes without high aspect ratio.

ISWV(real): 	governs the recalculation of the dissipative residual in the different Runge-Kutta stages. A value α between 0 and 1 is allowed. Zero means no recalculation of dissipative residual (latest available value will be used); 1 means recalculation. For intermediate values, a weighted averaging of the latest dissipation residual and of the preceding one is applied with the weight α and (1-α) respectively. E.g. for a 5-stage scheme: ISWV = 1 0 1 0 1, means that the dissipative residual is calculated in 1st,3rd and 5th stage only. ISWV is used in combination with IBOTH.
RSMPAR(real):	residual smoothing parameter σ*/σ. A value less or equal to zero means no residual smoothing. Default value = 2.
NITCFL(integer): 	allows a linear increase (starting from 1) of the CFL number within NITCFL iterations. This parameter is used only when general CPU Booster is activated. If CPU Booster is activated during the coarse grid initialization, the CFL number increase will occur from the first iteration on the coarsest grid level. If CPU Booster is not activated during the coarse grid initialization, the CFL number increase will occur from the first iteration on the finest grid level. By default, the value is set to 20.

Computed Variables


Using the Outputs/Computed Variables page, the user can choose with the buttons Add and Remove, which physical variables have to be included in the output generated by the flow solver, see FIGURE 1 to FIGURE 6. All the selected variables will then be automatically available when launching CFView™ in order to visualize the results.
Thermodynamics


FIGURE 1 Thermodynamics computed variables page (for cylindrical projects)
TABLE 1 and TABLE 2 give the formula used to calculate the thermodynamic quantities.
TABLE 1 Thermodynamics quantities generated by the FINE™/Turbo solver






Quantity
Cartesian and cylindrical cases


Incompressible
Perfect gas





Static temperature














Total temperature














Static pressure














Total pressure














Density














Entropy














Dynamic viscosity














Thermal conductivity














Heat capacity














Gamma


-









TABLE 2 Thermodynamic quantities generated by the flow solver in cylindrical cases






 
Cylindrical cases only


Incompressible
Perfect gas





Rothalpy














Relative total temperature














Relative total pressure














ω is the angular rotation speed and r is the distance from the rotation axis.
The term k only exists when the two or four equation turbulence models are applied.
The heat capacities cp and cv are function of the temperature for real gas, while they are constant in case of perfect gas. When real gas is used, the total pressure and total temperature are computed by the following equations:






Furthermore five definitions of the pressure coefficient are available for internal flow (inlet and outlet boundary conditions available): CP1, CP*1, CP2, CP*2, CP3:















where Xinlet corresponds to the mean value of the variable X on the inlet, and where Uref is defined as:

ωRLEN in cylindrical cases, with RLEN, the reference length given in the Flow Model page, and ω, the rotational speed (defined block per block),
UENTR (Cartesian case) to be specified in the expert parameters list of the Control Variables page.

When the reference velocity Uref is set to 0, the value of CP1 and CP3 are undefined and set to 0.
Finally, when a condensable fluid is selected in the Fluid Model  page, new quantities at the bottom of the page will appear. Those variables are defined using the thermodynamic tables defining the condensable fluid.
When the condensable fluid option is used, 6 flow variables are stored at all mesh cell centers instead of 5 for a perfect gas or liquid. These variables are the following: density, velocity components, static pressure and total energy (). The static and total enthalpy can easily be derived using:

static enthalpy 


.

absolute total enthalpy 


.

relative total enthalpy 


.
The dryness fraction permits to evaluate the location of the local thermodynamic state with respect to the saturation curve. For each value of the pressure an interpolation from the saturation table ("PSA.atab") permits to determine the saturated liquid (ρl) and gas (ρv) values of the density. The dryness fraction is then computed by:

dryness fraction 


.
The generalised dryness fraction directly results from the above expression whereas the standard dryness fraction is bounded in the [0,1] interval.
The presence of the saturation table ("PSA.atab") is required in order to calculate the dryness fraction, although this table is not required by the solver itself (unless an inlet boundary condition based on dryness fraction X is used).
Velocities


FIGURE 2 Velocities computed variables page (for cylindrical projects)
The velocity quantities that can be selected are described below.
Both for Cartesian and cylindrical cases

Absolute velocities: 
Velocity projections: 

, surface vector of the i surface,



Absolute Mach Number, only for compressible fluids:




For cylindrical projects only

Absolute velocities in the rotating frame: , , :









Relative velocities: , , , , :






Relative velocity projections: 

 , surface vector of the i surface,

.
Relative Mach Number:




Vorticities


FIGURE 3 Vorticities computed variables page
The vorticity is calculated according to the following expression:

,
where  is the gradient operator. From the above expression, ζx, ζy, ζz, ζxyz and the magnitude of ζ are available.
Residuals


FIGURE 4 Residuals computed variables page
The residuals are computed in FINE™/Turbo by a flux balance (the sum of the fluxes on all the faces of each cell). The absolute value |RES| resulting from the flux balance is written as output for each cell. The residuals for the following quantities can be selected:

density ρ,
energy E,
velocity component ,
velocity component ,
velocity component ,
turbulent kinetic energy k, for the k-ε , k-ω and v²-f turbulence models,
turbulent energy dissipation rate ε , for the k-ε  and v²-f turbulence models.

Solid Data


FIGURE 5 Solid data computed variables page
The solid wall data refer to quantities that are estimated at the solid boundaries:

static pressure at walls (see Thermodynamics)
static temperature at walls (see Thermodynamics)
normalized tangential component of the viscous stress at walls,



where is the viscous stress, V is the reference velocity and ρ is the reference density defined in Flow Model  page.
heat flux at walls in general



and for the turbulent models with extended wall function (see the theory guide for details)



relative velocity at walls (see Velocities)
viscous stress at walls
y+ (in first inner cell): 



where y is the normal distance from the walls to the first inner cell center and   is the wall friction velocity.
heat transfer coefficient:

,	
in which qw is the local heat flux, Twall the local temperature at the wall and Tbulk the reference temperature for convection. Tbulk is controlled by the expert parameter HTCDEF (available in the expert parameters list of the Control Variables page). When setting HTCDEF to 1 (default), Tbulk is equal to the absolute averaged total temperature at the inlet. When setting HTCDEF to 2, Tbulk is equal to the reference temperature defined in the Configuration / Flow Model page.
injection flow
injection direction
harmonic pressure (real and imaginary) at walls (see Harmonic)

For Fluid/Structure Interactions (FSI) computation, additional outputs are available in Unsteady and Harmonic mode:

aerodynamic power:




The expert parameterVISPOW(integer) allows to	include viscous effects in the local aerodynamic power output. The default value is 1, meaning with viscous effects.

components of the deformation velocity vector  and 
components of the deformation acceleration vector  and 

and only for Harmonic FSI computations:

harmonic aerodynamic power (real and imaginary)
harmonic components of the deformation velocity vector (real and imaginary)
harmonic components of the deformation acceleration vector (real and imaginary)
normal surface vector 
harmonic components of the normal surface vector (real and imaginary)

Normal surface vectors are already available in CFView™ in Mechanics Quantities. For time domain computation, it is correct. However, for FSI-NLH computation, as CFView calculates linearization of normal surface vectors, actual (averaged) normal vectors to the surface may differ due to their deformation.
Turbulence


FIGURE 6 Turbulence computed variables page.
The following quantities can be stored:

y+ (3D field)


,

wall distance (i.e. closest distance to the wall: ywall),
turbulent viscosity (μT/μ),
production of kinetic energy (Production),
turbulent kinetic energy k, for the k-ε, k-ω and v²-f turbulence models,
turbulent energy dissipation rate ε, for the k-ε  and v²-f turbulence models,
specific dissipation ω, for the k-ω turbulence models.

Harmonic
For the output specific for harmonic computations.
Deformation


FIGURE 7 Deformation computed variables page
These output variables are only accessed when the mechanical coupling module is activated.
The scalar variables Dx, Dy and Dz is the mesh deformation in X, Y and Z direction, respectively. The variable Dxyz is the mesh deformation vector.
Mesh deformation output is not available when the mesh deformation is calculated in the cylindrical coordinates (IMVCYL=1).
The section Harmonic of Deformation is only accessible when using the harmonic method. 
Lagrangian


FIGURE 8 Outputs of the fluid-particle interaction model
The following quantities are calculated by the solver:

the number concentration  where Ni is the number of particles of class i in the cell of volume Ω,
the mass concentration  (mass of particles per cell volume) where  is the density of the particle of class i and volume ,
the volume concentration  (volume of particles per cell volume),
the components of the mass weighted absolute velocity vector (, , ) 





the weighted mass and weighted absolute or relative velocity vectors number,
the components of the interphase force .

The solver automatically writes an output file (".tr" and ".tr.sum") containing the particle traces that is read by the CFView™ post processing software.

Fluid model

select_fluid_from_database(fluid_name, fluid_type)
Select a fluid from the fluid database. Both fluid name and fluid type must be specified. The fluid type can be "Perfect Gas", "Incompressible", "Real Gas", or "Condensable Gas".
get_fluid_properties()
Return the properties of the selected fluid. 
set_fluid_name(name)
Set the fluid name.
Example: set_fluid_name("my_fluid")
add_new_fluid(new_fluid_name,db_choice)
Add a new fluid in the database.
To be effective, this command should be combined with the other commands, as described in the example below:
Example when adding a new fluid called "Test":
FT.add_new_fluid("new_fluid_1",0)
FT.select_fluid_from_database("new_fluid_1","Real Gas")
FT.set_fluid_name("Test")
Limitation: only the user database (db_choice=0) is available.
set_fluid_type(type)
Set the fluid type. The following arguments can be used:

"Perfect Gas"
"Real Gas"
"Incompressible"
"Condensable Gas"

Example: set_fluid_type("Perfect Gas") to set the type of a fluid to perfect gas.
set_R_gas_constant(value)
Set the real gas constant R.
set_reference_temperature(value)
Set the reference temperature.
set_reference_pressure(value)
Set the reference pressure.
set_fluid_viscosity_law_choice(value)
Set the fluid viscosity law definition. The value can be set to:

1 = Constant
2 = Profile
3 = Formula
4 = Sutherland law
9 = From thermodynamic tables

Example: set_fluid_viscosity_law_choice(value) to set the viscosity of fluid to constant.
set_fluid_conductivity_law_choice(value)
Set the fluid heat conductivity law definition. The value can be set to:

1 = Constant
2 = Profile
3 = Formula
6 = Prandtl
9 = From thermodynamic tables

set_fluid_cp_law_choice(value)
Set the fluid heat capacity law definition. The value can be set to:

1 = Constant
2 = Profile
3 = Formula
9 = From thermodynamic tables

set_fluid_density_law_choice(value)
Set the fluid density law definition. The value can be set to:

0 = Constant
1 = Profile
2 = Formula


	The following commands apply when choosing the Sutherland law for the fluid viscosity definition

set_infinite_temperature(value)
Set the infinite temperature used in the viscosity definition with the Sutherland law.
set_Sutherland_temperature(value)
Set the temperature used in the viscosity definition with the Sutherland law.
set_Sutherland_density(value)
Set the Sutherland density in the viscosity definition.
set_thermo_tables_path(path)
Set the path to link a fluid to a thermodynamic table. The absolute path should be specified.

The following commands apply for constant value of the physical parameter to be set:

set_fluid_viscosity(is_dynamic,value)
Set the fluid viscosity value. is_dynamic can either be the kinematic viscosity (0) or the dynamic viscosity (1).
Example: set_fluid_viscosity(0,100) to set the kinematic viscosity to 1.2e-5 m²/s.
set_fluid_heatConductivity(value)
Set the fluid heat conductivity value.
set_fluid_density(value)
Set the fluid density value.
set_fluid_heatCapacity(value)
Set the fluid heat capacity value.
set_fluid_Prandtl(value)
Set the Prandlt number of the fluid.
set_fluid_compressibility(value)
Set the fluid compressibility value.
set_fluid_dilatation(value)
Set the fluid dilatation value.
set_fluid_Gamma(value)
Set the value of gamma for the fluid considered.

The following commands apply for physical parameters to be defined with a formula:

set_reference_temperature_min(value)
Set the minimum reference temperature for the physical value define with a formula.
set_reference_temperature_max(value)
Set the maximum reference temperature for the physical value define with a formula.
set_reference_pressure_min(value)
Set the minimum reference pressure for the physical value define with a formula.
set_reference_pressure_max(value)
Set the maximum reference pressure for the physical value define with a formula.
set_fluid_viscosity_formula(is_dynamic,viscosity_polynom)
Set the fluid viscosity definition  with the coefficients of a polynom.is_dynamic can either be the kinematic viscosity (0) or the dynamic viscosity (1).
Example: set_fluid_viscosity_formula(0,1,3,1,4,-2,0,6,1). The first argument ("0") corresponds to the type of viscosity defined (kinematic), while the other arguments are the coefficients of a polynom, ranked from the lowest to the highest order. For the viscosity, the dependent variable is the temperature, and the order goes from -3 to +4 (this range is the same for all variables defined with a formula).
set_fluid_heatConductivity_formula(heatConductivity_polynom)
Set the  fluid heat conductivity definition  with the coefficients of a polynom (temperature-dependent). 
set_fluid_density_formula(barotropicDensity_polynom)
Set the fluid density definition  with the coefficients of a polynom (pressure-dependent).
set_fluid_heatCapacity_formula(heatCapacity_polynom)
Set the fluid heat capacity definition with the coefficients of a polynom (temperature-dependent).
set_fluid_Gamma_formula(Gamma_polynom) 
Set the definition of  the gamma coefficient of the fluid with the coefficients of a polynom (temperature-dependent).

 The following commands apply for physical parameters to be defined with a profile:

	set_fluid_viscosity_profile(is_dynamic,viscosity_profile)
	Set the fluid viscosity definition with a temperature-dependent profile. is_dynamic can either be the kinematic viscosity (0) or the dynamic viscosity (1).
Example: set_fluid_viscosity_profile([2,[[273,1.5E-5,0],[300,2.5E-5,0]]]). The first argument ("2") corresponds to the number of sampling points; each sampling point is defined by its positions over X (temperature),Y (fluid viscosity) and Z.
	set_fluid_heatConductivity_profile(heatConductivity_profile)
		Set the fluid heat conductivity definition with a temperature-dependent profile.
	set_fluid_density_profile(barotropicDensity_profile)
		Set the fluid density definition with a pressure-dependent profile.
	set_fluid_heatCapacity_profile(heatCapacity_profile)
		Set the fluid heat capacity definition with a temperature-dependent profile.
	set_fluid_Gamma_profile(Gamma_profile)
Set the fluid gamma definition with a temperature-dependent profile.

Azimuthal Averaged Variables


The FINE™/Turbo environment provides the user with a specific turbomachinery output, i.e. the two-dimensional meridional view of the circumferentially-averaged results. Note that this functionality is also available in CFView™.
Using the Azimuthal Averaged Variables page, the user can choose which physical variables have to be included in the pitchwise-averaged output generated by the flow solver. This page is therefore only accessible if the project is of the cylindrical type. The azimuthal averaging of the variables is calculated at the end of the computation. The results will be displayed as a 2D case in CFView™. The name of the file from which CFView™ can read which variables have been averaged in the azimuthal direction has the extension ".me.cfv".
The choice is left to the user to apply Mass or Area averaging, and to merge the averaging patches into one patch or not. This last option (Merging of meridional patches) simplifies the meridional view but the patches are merged in increasing order one after another, which is not suitable for all mesh topologies. All the patches of the project that will be merged should be matching in spanwise direction.
If Surface of revolution mesh (Autogrid) option is activated, a specific algorithm will be applied to enhance azimuthal averaging of the solution performed on revolution surfaces.
The "parameters area" is divided into five 'notebook pages' which can be selected by clicking on one of the five corresponding tabs: Thermodynamics, Velocities, Vorticities, Residuals and Turbulence in the same way as for the control variables.
FIGURE 9 shows an example of the corresponding information page for thermodynamics variables. 
At the bottom of FIGURE 9 in Expert Mode the user can define the meridional patches for azimuthal averaging.  By default meridional averaging patches are set. 
Automatic setting of the meridional averaging patches only works if no manual action has been performed (like renaming of some patches).


FIGURE 9 The thermodynamics azimuthal averaged variables page

Block Dependent Initial Solution

This procedure permits to initiate the calculation of some of the blocks with the results of a previous calculation, whereas the other blocks are started from a uniform flow. Another possibility is to initiate one new calculation with the results of several previous calculations. This is, for instance, the case if a multistage turbomachinery calculation is preceded by the calculation of the separate stages.
The flow solver can start from files resulting from calculations performed on different grid levels. Only the grid levels that are used in the multigrid cycle are considered here. For instance, a computation of a three-stage turbine can start from three solutions for each stage, each one on a different grid level.
Furthermore, the full multigrid cycle is automatically removed when at least one file is provided on the finest grid level.
How to Define a Block Dependent Initial Solution
The Initial Solution page is divided in two parts. On the left, a tree displays the structure of the groups of blocks. On the right, five ratio buttons allow the user to choose the type of initial solution: constant values, restart from a solution file, turbomachinery oriented, technological effect (AutoGrid™ effects) or restart from a throughflow file. At the bottom, three buttons allow modifying the group(s). It is possible to create new groups of blocks in the same way as for the groups of patches on the boundary conditions page. Different initial solutions can be assigned to these groups of blocks. The Reset Turbo Groups button allows to retrieve the default grouping proposed by AutoGrid™.
Two defaults are available depending on the mesh and the application type:

The first one is dedicated to turbomachinery applications, meshed by AutoGrid™. The Turbomachinery groups are automatically detected and proposed in the interface. These groups are defined by the different rows (group named "ROWS") and the technological effects. The static pressure has to be specified at the main inlet and the rotor-stator interfaces. If the user modifies the groups, clicking on the button Reset Turbo Groups can restore the default turbomachinery grouping. 
The second default is general. All the blocks are grouped in one group named "MESH" and constant values are selected. In the constant values page, the toggle option Cylindrical is set on.



FIGURE 1 Initial Solution default settings when loading AutoGrid™ mesh
Examples of the use of Block Dependent Initial Solution
The block dependent initial solution is helpful in many industrial cases. The following are two scenarios in which this capability is very useful:

A solution has been calculated for a turbine including 10 stages. A new stage is added. Now the turbine has 11 stages. The designer does not want to begin a computation from scratch for the turbine with 11 stages. He can take advantage of the solution that has been found for the 10 first stages. The new computation will contain one group with the 10 stages and one group with the last stage. The first group will be assigned to a from file initial solution and the second group can be assigned to another type of initial solution.
A turbine includes 10 stages. Even with the turbomachinery-oriented initial solution, the code does not succeed to converge properly. The designer could split the turbine in several parts and calculate the solution for each of these parts. Then a global project is created. In the Initial Solution page, a from file initial solution is assigned to each part of the project. The computation will have a far better chance to succeed.

Tasks Definition


A task is a collection of subtasks, where a subtask is one of the programs with its arguments (".run" file for the FINE™/Turbo and FINE™/Design3D solver, template ".trb", geometry ".geomTurbo" and mesh ".igg" files for AutoGrid™ and macro file ".py" and ".run" file for CFView™). The different subtasks of a given task can be run simultaneously if the output of one subtask is not needed by other ones (for example: several CFView™ subtasks with different macro ".py" files or several the FINE™/Turbo solver subtasks with different ".run" files started on different computer). If the output of one subtask is needed by other ones, they must be run sequentially. For example: AutoGrid™ generates the mesh that is used for starting an the FINE™/Turbo solver computation whose output is used for starting CFView™. 
Task List
In this section, the user can visualize the defined tasks and their status. To create a task, just click on New Task button. The defaults task name can be modified by clicking on Rename Task button. The selected task can be removed by clicking on Remove Task button.
After a subtask is defined, the Save button can be used to save all necessary files to start a parallel computation in batch mode. When a queuing system is used, a set of default templates is available in order to submit the job to the queue. New templates can also be created by the user.
Once a task is created and defined (see following section), it can be started or stopped just by clicking respectively on the Start or Stop button.
The user can delay the start of a computation by clicking on Delay button. A dialog box will appear where the user can set a task that will be launched at the specified date and time or after another specified task has finished. The delayed task can be disabled using the button Cancel.


When the user validates the data, a little watch in the task list indicates that the task is scheduled:


FIGURE 3  Task List with Delay window to start a task at a later moment
When setting a task that will be launched after another specified task has finished, the reference task should not be a computation launch from the FINE™/Turbo GUI. Otherwise the delayed task will not start.
The task manager should not be closed once you delay one task. Otherwise, the delayed task will not be started.
Task Definition
In this section the subtasks of the selected task are listed. A subtask is defined by its type (FINE™/Turbo solver, AutoGrid™, CFView™ or Design3D), its status and the host on which they are launched. To add a subtask click on the New button in Task Definition area. Select the executable name (FINE™/Turbo solver, AutoGrid™, CFView™ or Design3D) and the host on which the process should be started, from the two available lists. The host name list contains the hosts that are in the virtual machine. They are set in the Host definition page.
Subtask Arguments
Definition of Input & Output
Once a subtask is created, input and/or output files must be defined in the Subtask Arguments & characteristics section:

The FINE™/Turbo solver and the FINE™/Design3D solver require one argument file: the name of the ".run" file. This files is created using the menu File/Save Run Files in the FINE™/Turbo GUI and FINE™/Design3D GUI.


The mesh generation system AutoGrid™ requires three files as arguments: the ".trb" file, the ".geomTurbo" file and as output the grid file ".igg" (see the AutoGrid™ User Manual for more details)
When working on a remote host, the process still requires a valid display. On Windows platforms, it is not possible to transfer the display, therefore the mesh generation has to be executed locally. On Linux platforms, the command <xhost +> has to be executed on the local machine.


The flow visualization system CFView™ requires two files: the ".run" file and a macro file ".py" (see CFView™ User Manual for more details)


When working on a remote host, the process still requires a valid display. On Windows platforms, it is not possible to transfer the display, therefore the flow postprocessing has to be executed locally. On Linux platforms, the command <xhost +> has to be executed on the local machine.
The run file is automatically opened by CFView™ before starting the macro. The macro file may open other ".run" files to perform flow comparisons (see CFView™ User Manualfor more information about the macro ".py" file).

Simultaneous or Sequential Mode
Moreover, a process can be executed simultaneously with the other subtasks (by selecting Run Simultaneously with Previous Subtask) or sequentially (by selecting Run After Previous Subtask). In sequential mode, the process waits until the previous subtask is finished before starting the next one. This is only available for AutoGrid™, Design3D and the FINE™/Turbo solver subtasks. Only a certain amount of tasks can be performed at the same time depending on the available licenses. The subtasks related to postprocessing with CFView™ are always executed in sequential mode.
Remote Copy
The Remote copy to option allows the user to specify that the files are not visible from the remote machine and must be transferred. This is only available for AutoGrid™, Design3D and the FINE™/Turbo solver.
Launching Mode
The FINE™/Turbo solver has an integrated multiprocessor machine concept, which allows the user to launch the flow solver in serial mode or parallel mode. FINE™/Turbo provides two parallel versions of the flow solver: Parallel Computation relies on the existing block structure and Parallel Partitioned Computation allows to automatically split the mesh in order to run the computation on a massively parallel environment, see Parallel Computations for more information.
Sequential Computation
By default, the FINE™/Turbo solver will be launched in sequential mode. Nothing is needed to set a sequential computation.


Parallel Computation - MPI system
The option Parallel Computation can be selected to specify that the parallel version of the flow solver has to be used for this computation.


Two types of license keys can be used to trigger parallel computations: either seat-locked type (MPROC) whose associated cores cannot be shared between several simultaneous parallel computations or flexible type (FFLEX) whose associated cores can be distributed between several simultaneous parallel computations. The flow solver uses the seat-locked type in priority. Checking the button Flexible Cores Type from License forces the flow solver to use the flexible license key type in priority.
The button Parallel Settings gives access to the dialog box used to set up a parallel computation.
When the dialog box is opened, the block list displays all the blocks of the mesh. The user can define new processes on all the available machines. Additionally, the load balancing can be defined manually or automatically (by using the Automatic Load Balancing button). 
The parallel processing can only be used on multiprocessor machine (shared memory mode) or on machines with the same operating systems (homogenous distributed memory mode)
See Parallel Computations for more detailed information.


FIGURE 4 Parallel settings - load balancing
Parallel Computation - Queuing system
Within the Task Manager, the parallel computation can also be set-up on the Sun Grid Engine batch system (SGE), the Portable Batch System (PBS) or the Load Sharing Facility (LSF).
When setting a parallel computation on a queuing system, the button Queuing system has to be activated and the option Parallel Computation has to be selected.


Two types of license keys can be used to trigger parallel computations: either seat-locked type (MPROC) whose associated cores cannot be shared between several simultaneous parallel computations or flexible type (FFLEX) whose associated cores can be distributed between several simultaneous parallel computations. The flow solver uses the seat-locked type in priority. Checking the button Flexible Cores Type from License forces the flow solver to use the flexible license key type in priority. 
The button Parallel Settings gives access to the dialog box used to set up a parallel computation on a queuing system. 
After the dialog box is opened, the block list displays all the blocks of the mesh, see Parallel settings - load balancing for SGE/PBS/LSF. When a queuing system is used, the number of processors and the system environment have to be specified. Depending on the number of processors, the load balancing can be defined automatically (by using the Automatic Load Balancing button) or manually. 


FIGURE 5 Parallel settings - load balancing for SGE/PBS/LSF
SGE system
The SGE system includes the possibility to add a SGE type host and to define arguments needed to launch the computation within the Task Manager.
Host Definition
In the page Hosts definition the user needs to add the host. When adding the host, automatic checks are performed:

it will detect if the "sge_qmaster" or "sge_execd" is running on the platform. If not, it means that the platform does not have SGE capabilities.
it will detect all parallel environments defined in SGE. 
it will detect all parallel environments, that the user is allowed to use. If no parallel environment could be accessed by the user, his login should be added to the user list by the SGE administrator.

When all checks are successful, the SGE capability of the added host is activated and the user can see if the host added is a SGE platform within the Task Manager GUI (FIGURE 1).
Task Definition
If the user selects a SGE platform when launching an FINE™/Turbo solver task in parallel, the Task Definition page gives access to the MPI or SGE system. When the SGE system is used, the task can be defined as shown FIGURE 5. In the Parallel Settings dialog box, SGE templates are available to run OpenMPI ("default_ompi") or IntelMPI ("default_impi") flow solver.
The user can change the block distribution but not the process host names since the SGE system only asks for a number of processors.
See Parallel Computations for more detailed information on parallel computations.
Process Management
Once the process is starting, the ".run" file is modified automatically, depending on the number of processors used. A script file (".sge") is also created at the same time as the ".p4pg" file, when using MPI system. 
The name of the SGE job is limited to 8 characters and the following format is thus chosen "comp####" where #### stands for any number depending of the number of SGE jobs already running under the same environment.
Because the FINE™/Turbo solver is not launched using the PVM daemon, there is no communication with the Task Manager. To test if a computation is running, the "qstat" command with the job-ID number of the SGE job is used.
To save an intermediate solution of the SGE job, the user can create a ".save" file in the running computation directory that will enable the FINE™/Turbo solver to save a solution at the next iteration or after the full multigrid initialization without stopping the job.
To stop the SGE job, the user can use the Stop function of the Task Manager. It will create automatically a ".stop" file in the running computation directory that will enable the FINE™/Turbo solver to stop after saving the solution at the next iteration or after the full multigrid initialization.
To kill the SGE job, the user can use the Kill function. The Task Manager will then use the SGE’s function "qdel" to kill the computation without saving the solution.
To kill the FINE™/Turbo solver properly, the SGE’s "execd parameters" variable should be set to "NOTIFY_KILL=TERM" and the "notify time" variable of nodes should be set to a sufficient value to allow the FINE™/Turbo solver to exit properly (e.g. 120 seconds). In general, this variable should be set to a value higher than the time required for 1 iteration. We advise the user to ask the SGE administrator to check these variables.
PBS system
The PBS system includes the possibility to add a PBS type host and to define the arguments needed to launch the computation within the Task Manager.
Host Definition
In the page Hosts definition the user needs to add the host. When adding the host, automatic checks are performed:

it will detect if the process "pbs_mom" is running on the platform. If not, it means that the platform does not have PBS capabilities.
it will detect all defined PBS environments.

When all checks are successful, the PBS capability of the added host is activated and the user can see if the host added is a PBS platform within the Task Manager GUI (FIGURE 1).
Task Definition
If the user selects a PBS platform when launching an FINE™/Turbo solver task in parallel, the Task Definition page gives access to the MPI or PBS system. When the PBS system is used, the task can be defined as shown in FIGURE 5. In the Parallel Settings dialog box, PBS templates are available to run OpenMPI ("default_ompi") or IntelMPI ("default_impi") flow solver.
The user can change the block distribution but not the process host names since the PBS system only asks for a number of processors.
Process Management
Once the process is starting, the ".run" file is modified automatically, depending on the number of processors used. A script file (".pbs") is also created at the same time as the ".p4pg" file, when using MPI system. 
The name of the PBS job is limited to 8 characters and the following format is thus chosen "comp####" where #### stands for any number depending of the number of PBS jobs already running under the same environment.
Because the FINE™/Turbo solver is not launched using the PVM daemon, there is no communication with the Task Manager. To test if a computation is running, the "qstat" command with the job-ID number of the PBS job is used.
To save an intermediate solution of the PBS job, the user can create a ".save" file in the running computation directory that will enable the FINE™/Turbo solver to save a solution at the next iteration or after the full multigrid initialization without stopping the job.
To stop the PBS job, the user can use the Stop function of the Task Manager. It will create automatically a ".stop" file in the running computation directory that will enable the FINE™/Turbo solver to stop after saving the solution at the next iteration or after the full multigrid initialization.
To kill the PBS job, the user can use the Kill function. The Task Manager will then use the PBS’s function "qdel" to kill the computation without saving the solution.
To kill the FINE™/Turbo solver properly, the PBS variable "kill_delay" should be set to a sufficiently high value to allow the FINE™/Turbo solver to exit properly (e.g. 120 seconds). In general, this variable should be set to a value higher than the time required for 1 iteration. We advise the user to ask the PBS administrator to check this variable.
LSF system
The LSF system includes the possibility to add a LSF type host and to define the arguments needed to launch the computation within the Task Manager.
Host Definition
In the page Hosts definition the user needs to add the host. When adding the host, automatic checks are performed:

it will detect if the process "sbatchd" is running on the platform. If not, it means that the platform does not have LSF capabilities.
it will detect all defined LSF environments.

When all checks are successful, the LSF capability of the added host is activated and the user can see if the host added is a LSF platform within the Task Manager GUI (FIGURE 1).
Task Definition
If the user selects a LSF platform when launching an FINE™/Turbo solver task in parallel, the Task Definition page gives access to the MPI or LSF system. When the LSF system is used, the task can be defined as shown in FIGURE 5. In the Parallel Settings dialog box, LSF templates are available to run OpenMPI ("default_ompi") or IntelMPI ("default_impi") flow solver.
The user can change the block distribution but not the process host names since the LSF system only asks for a number of processors.
Process Management
Once the process is starting, the ".run" file is modified automatically, depending on the number of processors used. A script file (".lsf") is also created at the same time as the ".p4pg" file, when using MPI system. 
The name of the LSF job is limited to 8 characters and the following format is thus chosen "comp####" where #### stands for any number depending of the number of LSF jobs already running under the same environment.
Because the FINE™/Turbo solver is not launched using the PVM daemon, there is no communication with the Task Manager. To test if a computation is running, the "bjobs" command with the job-ID number of the LSF job is used.
To save an intermediate solution of the LSF job, the user can create a ".save" file in the running computation directory that will enable the FINE™/Turbo solver to save a solution at the next iteration or after the full multigrid initialization without stopping the job.
To stop the LSF job, the user can use the Stop function of the Task Manager. It will create automatically a ".stop" file in the running computation directory that will enable the FINE™/Turbo solver to stop after saving the solution at the next iteration or after the full multigrid initialization.
To kill the LSF job, the user can use the Kill function. The Task Manager will then use the LSF’s function "bkill" to kill the computation without saving the solution.
To kill the FINE™/Turbo solver properly, the LSF variable "JOB_TERMINATE_INTERVAL" should be set to a sufficiently high value to allow the FINE™/Turbo solver to exit properly (e.g. 120 seconds). In general, this variable should be set to a value higher than the time required for 1 iteration. We advise the user to ask the LSF administrator to check this variable.
Parallel Partitioned Computation - MPI system
The option Parallel Partitioned Computation can be selected to specify that the parallel partitioned version of the flow solver has to be used for this computation.


Two types of license keys can be used to trigger parallel computations: either seat-locked type (MPROC) whose associated cores cannot be shared between several simultaneous parallel computations or flexible type (FFLEX) whose associated cores can be distributed between several simultaneous parallel computations. The flow solver uses the seat-locked type in priority. Checking the button Flexible Cores Type from License forces the flow solver to use the flexible license key type in priority.
The button Parallel Partitioned Settings gives access to the dialog box used to set up a parallel partitioned computation.


FIGURE 6 Parallel partitioned settings
For parallel partitioned computation, the mesh will be automatically partitioned. What the user needs to do is to define the hosts with the number of processes and to specify the parameters used to split and partition the mesh.
On the left side of the parallel partitioned settings dialog, the hosts can be added or removed. The list shows all the defined hosts and its processes. The button New Process(es) on allows to add the specified number of processes (left of the button) on the selected host (right of the button) to the host list. The button Remove Selected Host And Its Processes allows to remove the selected host from the list.
For the partition, the user needs to specify the Target load balance efficiency, which is a real between ]0,1[. More the target load balance efficiency is close to 1, more the workload, the communications,... will be properly balanced over the processes but more sub blocks will compose the partition. In order to keep the computational efficiency, the maximum number of blocks per process is limited to 8 in the parallel partitioned computation. So, if the user specify a large target load balance efficiency, a partition will be proposed even if it does not raise the expected balancing. Values between 0.8 and 0.9 have been shown to be easily attainable with most models. If the option Split block into two subblocks (n subblocks otherwise) is activated, the block will be split into two subblocks when splitting. Otherwise the block will be split into n subblocks (depending on the case).
After setting the parameters, click-left on the button Apply Virtual Partitioning to launch the symbolic partitioning and balancing algorithm. The status of the partitioning algorithm can be checked by clicking on the button Partitioning Status>>.
The parallel processing can only be used on multiprocessor machine (shared memory mode) or on machines with the same operating systems (homogenous distributed memory mode)
See Parallel Computations for more detailed information on parallel partitioned computations.
Parallel Partitioned Computation - Queuing system
Within the Task Manager, the parallel partitioned computation can be set-up on the Sun Grid Engine batch system (SGE), the Portable Batch System (PBS) or the Load Sharing Facility (LSF).
When setting a parallel partitioned computation on a queuing system, the button Queuing system can be activated.


Two types of license keys can be used to trigger parallel computations: either seat-locked type (MPROC) whose associated cores cannot be shared between several simultaneous parallel computations or flexible type (FFLEX) whose associated cores can be distributed between several simultaneous parallel computations. The flow solver uses the seat-locked type in priority. Checking the button Flexible Cores Type from License forces the flow solver to use the flexible license key type in priority. 
The button Parallel Partitioned Settings gives access to the dialog box used to set up a parallel computation on a queuing system, see FIGURE 5


FIGURE 7 Parallel settings - load balancing for SGE/PBS/LSF
The user must specify the Number of processors and the Target load balance efficiency. The target load balance efficiency is a real number between ]0,1[. The closer to 1 the target load efficiency is, the more well-balanced over the processes the workload will be. However, the number of subblocks composing the partition will increase. In order to keep the computational efficiency, the maximum number of blocks per process is limited to 8 in the parallel partitioned computation. So, if the user specifies a large target load balance efficiency, a partition will be proposed even if it does not reach the expected balancing. Values between 0.8 and 0.9 have been shown to be easily attainable with most models. If the option Split block into two subblocks (n subblocks otherwise) is activated, the block will be split into two subblocks when splitting. Otherwise the block will be split into n subblocks (depending on the case).
After setting the parameters, click-left on the button Apply Virtual Partitioning to launch the symbolic partitioning and balancing algorithm. The status of the partitioning algorithm can be checked by clicking on the button Partitioning Status>>.
In addition, the user must select the queuing system environment and the template used to submit the computation to the queuing system. Default templates are provided for each queuing system to run OpenMPI ("default_ompi") or IntelMPI flow solver ("default_impi"). A customized template can also be used.
When clicking on the Save button (FIGURE 3), a script (sge/pbs/lsf) file will be saved together with the updated .run file in the computation folder. The user can launch the computation by click the button Start (FIGURE 3) or by using the script file manually.
The name of the SGE job is limited to 8 characters and the following format is thus chosen "comp####" where #### stands for any number depending of the number of SGE jobs already running under the same environment.
On queuing system, the FINE™/Turbo solver is launched in batch mode. There is no communication with the Task Manager. To test if a computation is running:

for SGE system, use  the "qstat" command with the job-ID number of the SGE job.
for PBS system, use  the "qstat" command with the job-ID number of the SGE job.
for LSF system, use the "bjobs" command with the job-ID number of the LSF job.

To stop the computation, the user can use the Stop button of the Task Manager (FIGURE 3). To kill the computation, the user can use the Kill button (FIGURE 3).
To kill the FINE™/Turbo solver properly, the SGE’s "execd parameters" variable should be set to "NOTIFY_KILL=TERM" and the "notify time" variable of nodes should be set to a sufficient value to allow the FINE™/Turbo solver to exit properly (e.g. 120 seconds). In general, this variable should be set to a value higher than the time required for 1 iteration. We advise the user to ask the SGE administrator to check these variables.
To kill the FINE™/Turbo solver properly, the PBS variable "kill_delay" should be set to a sufficiently high value to allow the FINE™/Turbo solver to exit properly (e.g. 120 seconds). In general, this variable should be set to a value higher than the time required for 1 iteration. We advise the user to ask the PBS administrator to check this variable.
To kill the FINE™/Turbo solver properly, the LSF variable "JOB_TERMINATE_INTERVAL" should be set to a sufficiently high value to allow the FINE™/Turbo solver to exit properly (e.g. 120 seconds). In general, this variable should be set to a value higher than the time required for 1 iteration. We advise the user to ask the LSF administrator to check this variable.
User-defined Templates on Queuing Systems
If the option Queuing system in the Task Definition page is activated, the user needs to select a template in the Parallel settings dialog box in order to submit the computation to the queue. By default, a set of templates is available for the supported queuing systems SGE, PBS and LSF (with corresponding extension .sge, .pbs or .lsf).
The user can also create a new template to customize the settings: queuing system environment, OpenMPI, IntelMPI, etc. In order to use a user-defined template, the user has to: 

name the new template using the extension .sge, .pbs or .lsf, corresponding to the queuing system,
copy the template to the queuing templates folder:

On Linux systems:
"NUMECA_INSTALLATION_DIRECTORY/fine#/COMMON/queuing_templates/"
On Windows systems:
"NUMECA_INSTALLATION_DIRECTORY\Fine#\bin\queuing_templates\"


It is strongly suggested to create a new template based on the existing templates. All the existing templates can be found in the queuing templates folder mentioned above. FIGURE 5 shows the contents of the default SGE template launching the single precision solver. Based on this template, the user can customize the SGE environment, the OpenMPI or IntelMPI settings and the command launching the computation. Please refer to sections How to Launch the flow solver in Parallel using SGE on Linux and How to Launch the flow solver in Parallel using LSF on Linux for the detailed explanation of the template contents.
The user must obey the following rules when creating a new template:

Any line beginning with # (except #!, #$, #PBS and #BSUB) is a comment.
The first blank line MUST be placed after the section defining queuing system environment and before the section defining the OpenMPI/IntelMPI settings. Here, TaskManager will define the queuing system environment variables (number of processors, name of the computation, etc.) and the NUMECA variables (NI_VERSION_DIR and NUMECA_SOFT_VERSION), depending on the user-settings in TaskManager.
The comment line "# COMPUTATION SETTINGS" MUST be kept and placed before the command launching the flow solver. Here, TaskManager will define the computation settings (variables RUN_FILE, STEERING1, STEERING2 and PREC), which are used in the command launching the flow solver.



FIGURE 8 The default template launching the single precision solver for SGE (default.sge)
Solver executable choice
The solver executables available in FINE™/Turbo are accessible through the combo-box MPI Library. 


The following choices are proposed for parallel computations:

On Windows: 
			Intel compiler + IntelMPI  library, interfaced as "IntelMPI" [default] MPICH2, interfaced as "MPICH2"
On Linux: 
			
			Portland compiler + OMPI library, interfaced as "Portland OMPI (PGI6)" Portland compiler + OMPI library, interfaced as "Portland OMPI (PGI17)"Portland compiler + IntelMPI library, interfaced as "Portland IMPI (PGI17)" [default]Intel compiler + IntelMPI library, interfaced as "Intel IMPI (ICC15)"

For serial computations, no combo-box is proposed on Windows (Intel compiler + IntelMPI by default); on Linux, the user can access to the same choices than for parallel computations.
Note also that more combinations of compiler and MPI library are accessible through the batch mode. More details can be found in How to Launch the flow solver in Parallel using MPI on Windows (Windows) and How to Launch the flow solver in Parallel using MPI on Linux (Linux).
Message Window
When a task is started, a Task Manager  process is launched to take care about the task management: process communication, automatic launching of the sequential and parallel subtasks. A message window linked to the Task Manager is opened. In this window the user can follow the evolution of the status of all the subtasks of the current task. In case the flow solver is launched, the iterations are also displayed in this window as shown in FIGURE 8. 
At the bottom of the Task Manager window a Refresh Rate can be chosen. This rate determines how frequently the Task Manager window is updated. A higher refresh rate will update the information in the window more frequently but will use more of the available CPU.


FIGURE 9 Task Manager information window
If the user quits FINE™/Turbo, all the message windows will stay open and the tasks will continue. Closing a message window will immediately kill all the subtasks of the corresponding task.

Basic Harmonic Method
Overview

The harmonic method (He and Ning 1998, Chen et al. 2001, Vilmin et al. 2006) was shown to be a very efficient solution method for time periodic flow simulations. It deals with the perturbation introduced due to the relative motion between the adjacent rows. In a turbomachinery configuration, the blade passing frequencies (BPFs) of the blade rows are the fundamental frequencies of the time periodic disturbances entering the adjacent blade rows. Solving the periodic perturbation in a row is performed in the frequency domain by time-marching to the pseudo-steady state solution of the transport equations associated with the BPFs and their harmonics, of which the number is a user input.
The presented method also features an improved treatment that enhances the flow continuity across the rotor/ stator interface by a reconstruction of the harmonics and the time-averaged flow on both sides of the interface. A non-reflective treatment is applied as well at each interface.
The limitations for the basic harmonic simulations are:

The Number of frequencies per perturbation and Max number of perturbations per blade row can not be larger than 10. And the product of them can not be larger than 20.
The basic harmonic method does not work when the rotor-stator interface is connecting two rows that have the same rotation speed.

Interface & best practices
When activating Harmonic in the Flow Model page and select the button Basic, two boxes appear:



Number of frequencies per perturbation (number of harmonics: NBHAR): it represents the number of time harmonics per periodic perturbation modeled in a row. Default value: 3. 
Max number of perturbations per blade row: the highest number of blade passing frequencies that a blade row is subjected to (NPERT). Default value: 2. For the particular stator/rotor/stator configuration, where the stators have the same number of blades, this parameter is equal to 1.



FIGURE 13 Harmonic parameters
When Harmonic is checked, the turbulence model is by default set to Spalart-Allmaras. The user may change to another turbulence model. The Euler flow and the Laminar flow can also be selected.
The other basic harmonic method parameters in the FINE™/Turbo GUI can be found in the following menus:
Boundary conditions
For one stage or multi-stage computations, different boundary conditions can be specified for the NLH method. These boundary conditions are non-reflective at the far inlet and far outlet for the harmonic flow variables. They are based on a 1D non-reflective treatment that computes the flow variables on the boundary as a resulting combination of incoming and outgoing characteristics. The pseudo-steady flow at the far inlet and far outlet is assumed to be the time-averaged without the deterministic stress terms.
Under the tab INLET of the Boundary Conditions page, a dedicated boundary condition, Static Quantities Distributions for Harmonic Calculation, allows to perform NLH computations with a distortion at the inlet. For this condition, the FINE™/Turbo solver performs a spatial Fourier decomposition of the inlet distortion. The extracted spatial harmonics are transformed into time harmonics in the frame of the domain that is subject to the relative motion of the distortion. This inlet boundary condition can be considered as a simplified Rotor-Stator interface. But the computation only takes into account the effect of the fictitious upstream row (inlet distortion) on the downstream row(s). 
The inlet distortion must be specified by a profile. These profiles are the azimuthal distributions of the five flow variables (e, , , ,  and ). Each distribution is for a constant radius or a constant axial position. The imposed profile must range from 0 to 2π and must be periodic over the azimuthal length. Currently, only r-θ or θ-z profile is allowed. The profile should be given at stations of constant θ for increasing r or z. Also θ must be increasing going from one station to the next in the file. Please refer to the File Formats section for more details. The entry PERIODICITY is used to normalize the input profile in the θ direction.
Under the tab EXTERNAL of the Boundary Conditions page, the user can specify External Boundary Conditions for NLH computations:

When using the boundary condition External, the flow at the external boundaries must be axial ( and ) if the external boundaries are attached to the rotating domain.
If the external boundaries are attached to the rotating domain and the flow at the external boundaries is non-axial, the boundary condition External Constant Wind with Incidence Relative to Axis Z should be used. This boundary condition allows to simulate the flow resulting from a constant wind with incidence applied on the external boundaries. The incidence means that  and/or  are not equal to 0. In the cylindrical framework, the velocity components are:




So, the incidence can be considered as a distortion on the external boundaries with a periodicity of 1. The same treatment method as for inlet distortion is used to treat the incidence on the external boundaries in the flow solver. Note, the pseudo-steady solution in the NLH method represents the time-averaged solution over one blade passage. As a result, in the cylindrical framework, the incidence cannot be represented since it is not periodic over one blade passage. To check the effect of the incidence, the unsteady solution must be reconstructed.
The boundary condition External Constant Wind with Incidence Relative to Axis Z is exclusively for external boundaries attached to rotating domains.

		When an inlet distortion is defined, it should have a different rotational speed than the inlet group to which the distortion is applied.

		
Initial Solution
It is recommended to use a previous steady flow simulation as the initial solution. This can be done by using the option from file in the Initial Solution page, or by setting the Number of Steady Iterations in the Computation Steering / Control Variables page, as explained below.
Outputs
The Harmonics tab allows to activate specific outputs from the harmonic method and the reconstruction in time.


FIGURE 14 Harmonic outputs
Harmonic variables output
In the Harmonics category of the Outputs/ Computed Variables page, the following harmonic variables are available: 

Static quantities: Temperature, Pressure, Density and Entropy
Total quantities: Relative Pressure, Absolute Pressure, Relative Temperature and Absolute Temperature.
Velocity components: , , 

Deterministic stresses:














With the buttons Add and Remove, the Real & Imaginary parts and/ or the norm (Amplitude) of the complex amplitude of the harmonics of the variable, or the deterministic stresses can be stored in the output ".cgns" file. The number of harmonics is the maximum, over the whole flow field, of the total number of harmonics per group (blade row), which is equal to (NPERT)x(NBHAR), both set in the Flow Model page.
Example 1: if the Pressure is added, there will be 6 harmonics of pressure fluctuation per row in the output solution file for NBHAR=3 and NPERT=2. This means 6 (for real) + 6 (for imaginary) + 6 (for norm) = 18 additional flow variables in the ".cgns" file, if the real and imaginary parts are selected as well as the norm.
Example 2: For a igv/rotor/ogv configuration, NPERT is set to 2 and NBHAR is set to 4 by the user. There are thus 8 (2x4) harmonics H1, H2, H3, H4, H5, H6, H7, H8 in the output.

In igv row: only one perturbation is generated, induced by the downstream rotor. The perturbation is modeled by its first NBHAR=4 harmonics: H1-H2-H3-H4. No second perturbation exists, so H5, H6, H7, H8 are set to zero.
In rotor row: two perturbations are generated. If the first perturbation is the one originating from the row upstream then:
H1-H2-H3-H4: first 4 harmonics of the periodic disturbance induced by the igv,
H5-H6-H7-H8: first 4 harmonics of the periodic disturbance induced by the ogv.
In ogv row: one perturbation is modeled, the first 4 orders being solved. H1-H2-H3-H4: first 4 harmonics of the periodic disturbance induced by the rotor. H5-H6-H7-H8: zero.

In this case, selecting only the amplitude of the Pressure fluctuation for the output gives 8 additional flow variables in the ".cgns" file.
If a deterministic stress is added, each of its contribution per harmonic will be stored in the output ".cgns" file, that is 8 different values in example 2 presented above.
Information about frequency output for harmonics can be found in the ".std" file for each group. Each group indicates a blade row.
Reconstruction in Time
The executable Harmo2Time for reconstructing a harmonic solution in time, is available in the Modules menu. For more information of Harmo2Time, see the CFView™ user manual.
For the basic harmonic simulation, the user can only reconstruct the unsteady flow.
Plot3D output by Harmo2Time
The Harmo2Time executable checks the .run file of the computation to process. If the plot3d output of the flow solver is switched on, the Harmo2Time executable will also produce unsteady plot3d output in addition to the .cgns output.
As for the FINE™/Turbo solver, there are different options to the plot3d output:

The user can choose between ASCII and binary (formatted) output.
The user can choose to compute the plot3d output to be in relative or absolute frame of reference.

The format of the plot3d output is the same as the FINE™/Turbo solver's. The plot3d output is limited to the grid file and the quantities (density ρ, momentum  and total energy ). 
The plot3d output is only valid with IVELSY=1.
The plot3d output is limited to perfect gas and real gas.
Control Variables
In the Computation Steering / Control Variables page, the user can impose a Number of Steady Iterations. In this case, a steady computation will be performed until the Number of Steady Iterations in the fine mesh. Then the NLH computation will be initialized using the steady solution and be launched.


NLH computations need more CPU time and memory, in comparison with a steady mixing-plane method, due to the additional transport equations associated with each harmonic. If N harmonics of a perturbation are to be modeled, then there are 10N additional transport equations to be solved (5 for the real part and 5 for the imaginary part of the complex amplitude of each harmonic). Then, the ratio R of the required CPU time or memory between the harmonic method and the steady method is:



where  is the number of the grid nodes in the blade row bi (i in range of [1,B]),  is the number of harmonics per perturbation,  is the number of the equations in the steady computation (5 for Euler, Laminar and turbulent flow with the 0-equation turbulence models; 6 for the turbulent flow with the 1-equation turbulence models).
As an approximation, the number of the grid nodes can be assumed to be the same for all the blade rows. The ratio R can be simplified as:



For example, for a 3-harmonic () simulation of a one-stage turbine (B=2) and using the Spalart-Allmaras model (=6), the CPU time is therefore 6 times that of a steady simulation.

SubProject Management
Introduction

The FINE™/Turbo environment allows the partial treatment of multistage turbomachinery projects. Turbomachinery applications can be naturally decomposed into several domains, e.g. rotor, stator... This natural decomposition can also be performed in FINE™/Turbo, by means of a so-called SubProject.
After performing a first computation on the full turbomachine (Main Project), the user can create SubProjects, containing only part of the machine. This allows a fast and easy optimization of the geometry of each row. Afterwards, the results obtained on part of the machine can be merged together again with the full turbomachine.
The access to the SubProject module requires a special license feature. Please contact our local sales or support office for more information about how to obtain a license. 
The next sections will describe the way to set-up and control the SubProjects in more detail.
Set-up of SubProjects in FINE™/Turbo
Grid Requirements
The SubProject module is available for projects of which the mesh has been created with IGG™ or AutoGrid™. Following requirements have to be respected when generating the mesh:

Butterfly blocks in IGG™ is not compatible with sub-project management.
All rotor-stator interfaces have to be defined in the absolute way. This can be defined in the rotor-stator properties dialog box in AutoGrid™.
The final mesh has to be saved in the _mesh directory of the main project.

Create SubProjects
Once the mesh of the main project has been created, the main project has to be set-up in the FINE™/Turbo GUI. After creating the project and when the mesh is loaded for the first time, the user has to activate Use Grid Configuration in the Grid Units and Project Configuration dialog box, see FIGURE 64. When the mesh is loaded, the Grid Configuration subpad will appear in the interface, see FIGURE 65.



FIGURE 64 Use Grid Configuration


FIGURE 65 Grid Configuration Subpad in the FINE™/Turbo GUI
Before creating a SubProject, the main project has to be executed first. The final solution of the main project will be used as the initial solution for the SubProjects. Therefore the main project should be run until satisfactory convergence is reached.
In the main project, all rotor-stator interfaces have to be defined as Full Non Matching Mixing Plane. The type of several rotor-stator interfaces can be changed simultaneously by selecting one rotor-stator interface, hold the <Shift> button and left-click on the desired type of rotor-stator interface, see FIGURE 66. All settings, such as the ID Number, will be kept.
It is suggested to use initial solution for turbomachinery for the main project.


FIGURE 66 Rotor-Stator Interface Settings
After completion of the main project, a SubProject can be created in the following way:

Go to the Grid Configuration subpad.
Right-click on Main Project and select Duplicate. A new SubProject is created.



FIGURE 67 Create SubProject

By left-clicking and holding the <Ctrl> button, several rows of the newly created SubProject can be selected.
Right-click allows to delete the selected rows from the SubProject, see FIGURE 68.



FIGURE 68 Delete Rows from SubProject
The settings for the SubProject are copied from the main project and adjusted if necessary.

Boundary Conditions: Settings for in- and outlet are automatically changed if necessary. A special boundary condition From Rotor/Stator has been created. This will transfer the quantities from the rotor-stator of the main project as in- and/or outlet condition.

The From Rotor/Stator boundary condition is only available for SubProjects and is set by the FINE™/Turbo GUI automatically. These settings should not be modified by the user.

Initial Solution: The initial solution is set automatically to From File. The solution of the main project will be used as an initial solution.
Control Variables: The settings are identical to the main project.

Settings that are changed manually by the user when a SubProject is selected, e.g. number of iterations, will be transferred to the main project.


FIGURE 69 Boundary Conditions for SubProject
The SubProject can be executed in the same way as the main project. The computation will continue until the maximum number of iterations is reached or the convergence criteria is satisfied.
Modify & Merge SubProjects
The SubProject module allows the user to change the geometry of the subproject. A computation can be done on the changed geometry, before inserting it back in the main project.
Modify Geometry
The geometry can be modified in following way:

Select the SubProject which contains the row of which the geometry needs to be changed
Switch to AutoGrid™ by using the Modules menu.

If the mesh of the subproject has not been created yet, a warning message will appear informing the user that the mesh of the main project will be loaded.



Before being able to modify the geometry of the SubProject, the mesh of the SubProject has to be saved separately. More information on this subject, can be found in the Grid Configuration section of the AutoGrid™ user manual.

Only the geometry of the subproject can be modified. The topology of the mesh and the number of grid points have to be kept equal to the main project.

After generating and saving the mesh of the SubProject, switch back to the FINE™/Turbo GUI by using the Modules menu. AutoGrid™ automatically saves the mesh of the SubProject in a separate folder in the _mesh directory. 
The mesh of the SubProject will be automatically linked to the computation.

The computation of the modified SubProject can be launched in the exact same way as the main project.
Merge SubProjects
When the computation of the SubProject is finished successfully, the modified geometry can be transferred to the main project. This is done by means of a merge process. The rows of which the geometry was modified in the SubProject, will replace those rows in the main project. Following procedure has to be followed:

Select the main project from the Grid Configuration subpad and switch to AutoGrid™.
Execute the Merge process in AutoGrid™, more information can be found in the Grid Configuration section of the AutoGrid™ user manual. When the merge process is completed, switch back to the FINE™/Turbo GUI. AutoGrid™ automatically saves the mesh of the merged project in a separate folder in the _mesh directory. More details can be found in the next section.
The merged project is now available from the Grid Configuration subpad in FINE™/Turbo.



FIGURE 70 Merged Project in Grid Configuration Subpad
The merged project will behave in the same way as a SubProject. The computation settings are transferred from the main project, and adapted automatically if necessary. 
File Structure
The files generated by the SubProject module are stored in following way (FIGURE 71):

The mesh of the main project is stored in the _mesh directory, located in the project directory.
The computations of the main project are stored in the project directory, with name <project_name>_<computation_name>
The mesh of a SubProject is stored in a separate folder in the _mesh directory, with name <project_name>_<subproject_name>
The results of the computations of a SubProject are stored separately for every SubProject in the project directory. The name of the directory is equal to <subproject_name>. In every SubProject directory, the results of each computation are saved separately.



FIGURE 71 SubProject File Structure

Project Selection

When the FINE™/Turbo interface is started the Project Selection window is appearing together with the interface. This window allows to create a new project or to open an existing one as described in the next sections. After use of this window it is closed. To open a project or to create a new one without the Project Selection window is also possible using the File menu.

External Condition (Far-field)
The external boundary condition is provided to treat the far-field boundaries when dealing with external flow computations. An example is given in FIGURE 16. This type of boundary condition determines whether the flow is locally entering or leaving the flow domain and uses the theory of the Riemann invariants to act consequently on the appropriate variables. Depending on the chosen turbulence model (see the next section for more detail), between five to eight input boxes are provided to specify the free-stream values of the variables to be used in the boundary condition formulation.  


FIGURE 16 External (far-field) boundary conditions page.
For external flow, it is suggested to set the expert parameter IINT=0 to have appropriate steering variables.
Condensable gases are not compatible with external boundary condition.
External Constant Wind with Incidence Relative to Axis Z
The boundary condition External Constant Wind with Incidence Relative to Axis Z is only compatible with NLH. 
The perturbation caused by external boundary condition External Constant Wind with Incidence Relative to Axis Z is marked as "Ei" in Show the harmonics on the page Numerical Model.


Turbulent quantities for 1- and 2-equation turbulence models
In case a 1- or 2-equations turbulence model is selected,  the boundary value of the turbulence must be imposed. The user can choose between several sets of turbulent quantities.
Given a 1-equation turbulence model, following turbulent quantities are available:

Turbulent Viscosity

Turbulent Viscosity Ratio

Turbulent Intensity and Length Scale

Turbulent Intensity and Hydraulic Diameter


and given a 2-equations turbulence model:

k and ε

Turbulent Intensity and Viscosity Ratio

Turbulent Intensity and Length Scale

Turbulent Intensity and Hydraulic Diameter


All the turbulent quantities are only compatible with constant imposed values. The only exception is the External boundary condition, where the options Turbulent Viscosity and k and ε can be defined with spatial profiles.

Dedicated Turbomachinery Models

The following models and modules in FINE™/Turbo are dedicated to turbomachinery applications:
Rotating Blocks defines the typical information concerning cylindrical cases for each block.
Rotor/Stator Interaction  defines the properties of each rotor/stator interface.
Harmonic Method allows to perform unsteady simulation using Harmonic method.
Cooling/Bleed models cooling holes or bleed.
Aeroacoustics models acoustic noise based on harmonic computation.
Global Correlation Transition Model models the flow transition.
Performance Curve allows to perform an off-designed analysis for turbomachinery.
Uncertainty Quantification allows to perform a non deterministic analysis for turbomachinery.
SubProject Management allows the partial treatment of multistage turbomachinery projects

Thermal
Conjugate Heat Transfer
Introduction
The conjugate heat transfer model allows the simulation of the thermal coupling between a fluid flow and the surrounding solid bodies, i.e. the simultaneous calculation of the flow and of the temperature distribution within the solid bodies.
The model has been validated for steady state and nonlinear harmonic applications. It assumes that some of the blocks of the multiblock mesh are "solid", whereas the other ones are "fluid". The connections between the solid and fluid blocks become "thermal connections" along which the fluid-solid coupling is performed.
Conjugate heat transfer is not compatible with Euler simulations.
Conjugate Heat Transfer in the FINE™/Turbo GUI
The Conjugate Heat Transfer model can be activated from the Optional Models / Fluid Structure page under the Thermal tab. For steady state applications, the Conjugate Heat Transfer page looks like FIGURE 4 (with thermal Solid Conductivity as the only input for solid blocks), while additional solid variables (Solid Density and Solid Heat Capacity) are used as inputs if a nonlinear harmonic analysis is selected, as shown in FIGURE 5. All blocks in the mesh are listed on the left of the page and all of them are by default set as "fluid".


FIGURE 4 Conjugate Heat Transfer page for steady state analysis


FIGURE 5 Conjugate Heat Transfer page for nonlinear harmonic analysis
The only action required from the user to set up a computation involving the Conjugate Heat Transfer model can be decomposed in three steps:

determine the "solid" and "fluid" blocks.
set the global parameters.
define the thermal connections.

Those steps are described in the following paragraphs in more detail.
Step 1: Determine Solid & Fluid Blocks
The use of the Conjugate Heat Transfer model requires the generation of a multi-block mesh, the "solid" and "fluid" parts of the domain being discretised with separate blocks.
Once the mesh is generated, the first step consists in pointing the "fluid" and the "solid" blocks via the FINE™/Turbo user interface. In the default configuration of the solver all blocks are of Fluid type, so that the Conjugate Heat Transfer page does not need to be entered for a classical flow calculation. The transfer of some of the blocks from "fluid" to "solid" is performed by selecting those blocks on the left part of the window and by selecting the option Solid.




For each solid block the thermal Solid Conductivity has to be specified (in W/m.K). In addition, if a harmonic analysis is selected, the Solid Density (in kg/m3) and the Solid Heat Capacity (in J/kg.K) have to be specified. In both cases, the specified  values can be a constant or a profile (see Solid Properties on how to define a profile) and must be larger than 0.
When the automatic grouping based on the Grid Configuration is used, the blocks put as solid during the mesh generation, will automatically be set to solid in the FINE™/Turbo GUI.
Step 2: Setting Global Parameters
The only global parameter is the CFL number used for the time integration of the conduction equation. It can be different from the one used for the fluid. The default value is 1.0.



Step 3: Setting Thermal Connections
Once some blocks of the multi-block mesh are set as "solid" blocks, the connections between solid and fluid blocks become "thermal connections". These connections are solid wall boundary conditions with a particular thermal condition, along which the imposed temperature profile is iteratively recalculated in order to ensure a correct coupling.


These patches appear in the list of patches in the tab page Solid in the Boundary Conditions page. Although the thermal aspect is fully controlled by the coupling procedure and should not be modified, the kinematic boundary condition must be specified by the user (rotation speed in [RPM]) equal to the blocks rotation speed.
When conducting harmonic analysis with conjugate heat transfer, the variables Temperature (Real and Imaginary) and/or Temperature (Amplitude) need to be selected in the Computed Variables page from the Harmonics category of outputs in order to save results of temperature harmonics.
No independent NLH flexibility is allowed for solid groups, i.e.  the same harmonics should solved in the connected solid and fluid groups. This can be ensured in the Numerical Model page, under Harmonics range by clicking on the Show the harmonics ... button.
In addition, the CPU ratio NLH/Steady estimation, found at the Control Variables page, does not take into account the extra CPU time needed to solve temperature harmonics in the solid domains.
Type of Connections Between Solid and Fluid Blocks
Two types of thermal connections are allowed:

matching connections (one patch on each side),
full non-matching connections (one patch or one group of patches on each side). The connection algorithm is implemented in a general way, allowing on both sides a grouping of solid and fluid patches. This is useful for instance in order to facilitate the coupling of a turbine block with holes with the external flow. One single connection can be built, with on the inner side a group of patches including the blade surface and the outer face of the holes.

Conjugate heat transfer analysis for harmonic computations is not available with rotor-stator interfaces between solid and fluid blocks. Therefore, connected fluid and solid blocks must have the same rotational speed.
Type of Connections Between Solid and Solid Blocks
Three types of thermal connections are allowed:

matching connections (one patch on each side),
Periodic connections (PER),
full non-matching connections (one patch or one group of patches on each side). The connection algorithm is implemented in a general way, allowing on both sides a grouping of solid and solid patches.

MpCCI Coupling
Introduction
For multi-physics problems, many commercial codes, such as FINE™/Turbo and Abaqus etc., can be used to solve only one aspect of the physical problem. One way to perform the multi-physics simulations is to use two or more dedicated codes coupled through the exchange of data.
MpCCI (Mesh-based parallel Code Coupling Interface) is a coupling interface developed by the Fraunhofer Institute (SCAI) and used to perform multi-physics simulations. It consists in a server, which handles physical quantities exchanges between two or more heterogeneous solvers (for example a Computational Fluid Dynamics solver and a solid mechanics solver).
FINE™/Turbo includes a MpCCI code adapter in order to solve the thermal coupling problems. The adapter takes in charge all communication processes with the MpCCI coupling server. About the settings in MpCCI, please refer to the MpCCI manual.
The limitations on coupling with MpCCI are as follows:

Wall heat flux exchange is not compatible with FNMB and condensable fluids.
Not compatible with coarse grid initialization and steady initialization.
Not compatible with NLH.

Simulations coupling with MpCCI is available on the following platforms: Linux 64bits and Windows 64bits. 
MpCCI v4 is supported
Thermal Coupling with MpCCI
In order to perform a thermal coupling simulation, the user has to select the option MpCCI on the Optional Models/ Flow Structure page under the tab Thermal. All solid patches and groups in the mesh are listed on the left of the page, see FIGURE 5. The user has to select the coupled surfaces and mark them as "Coupled". 
The coupled patches must be set as Temperature Imposed on the Boundary Conditions / Solid page. The imposed temperature will be the initial value.


FIGURE 6 The thermal coupling with MpCCI
Expert Parameters
The expert parameters related to the thermal coupling with MpCCI:
ITCPL(integer):	defines the number of iterations between each exchange with the coupled code for steady computation. 
CPLREL(real):	relaxation factor for received temperature. This parameter can be useful for steady calculation by reducing it to less than one if computation diverges. For unsteady computation, it should not be modified.

Fluid Properties
This class contains following methods to access the fluid definition:

get_name()
Return the fluid name.
get_type()
Return the fluid type.
get_specific_heat_law()
Return the specific heat law definition, which value is one of the following constants:
CONSTANT_CP_AND_GAMMA
CP_T_AND_GAMMA_T_PROFILE
CP_T_AND_GAMMA_T_FORMULA
CP_T_PROFILE_AND_R
CP_T_FORMULA_AND_R
GAMMA_T_PROFILE_AND_R
GAMMA_T_FORMULA_AND_R
get_heat_conduction_law()
Return the heat conduction law definition, which value is one of the following constants:
CONSTANT_K
K_T_PROFILE
K_T_FORMULA
PRANDTL
get_viscosity_law()
Return the viscosity law definition, which value is one of the following constants:
CONSTANT_VISCOSITY
VISCOSITY_T_PROFILE
VISCOSITY_T_FORMULA
SUTHERLAND
get_density_law()
Return the density law definition, which value is one of the following constants:
BOUSSINESQ
BAROTROPIC_FORMULA
BAROTROPIC_PROFILE
get_compressibility()
Return the compressibility coefficient.
get_dilatation()
Return the dilatation coefficient.
get_R_const()
Return the gas constant 'R' value.
get_Prandtl()
Return the Prandtl number
get_viscosity()
Return the viscosity value.
The returned value is a list of three elements:
value[0] : viscosity definition 
"CONSTANT",
"POLYNOM"
"PROFILE"
value[1] : viscosity value
1 real number in case of "CONSTANT"
a list of 7 real numbers in case of "POLYNOM"
a list of points (x,y) in case of "PROFILE"
value[2] : viscosity type
DYNAMIC_VISCOSITY
KINEMATIC_VISCOSITY
get_density()
Return the density value.
The returned value is a list of two elements:
value[0] : density definition
"CONSTANT"
"POLYNOM"
"PROFILE"
value[1] : density value
1 real number  in case of "CONSTANT"
a list of 7 real numbers in case of "POLYNOM"
a list of points (x,y) in case of "PROFILE"
get_cp()
Return the Cp value.
The returned value is a list of two elements:
value[0] : Cp definition
"CONSTANT"
"POLYNOM" 
"PROFILE"
value[1] : Cp value 
1 real number in case of "CONSTANT"
a list of 7 real numbers in case of "POLYNOM"
a list of points (x,y) in case of "PROFILE"
get_gamma()
Return the gamma value.
The returned value is a list of two elements:
value[0] : gamma definition
"CONSTANT"
"POLYNOM" 
"PROFILE"
value[1] : gamma value 
1 real number in case of "CONSTANT"
a list of 7 real numbers in case of "POLYNOM"
a list of points (x,y) in case of "PROFILE"
get_conductivity()
Return the conductivity value.
The returned value is a list of two elements:
value[0] : conductivity definition
"CONSTANT"
"POLYNOM" 
"PROFILE"
value[1] : conductivity value 
1 real number in case of "CONSTANT"
a list of 7 real numbers in case of "POLYNOM"
a list of points (x,y) in case of "PROFILE"
get_thermo_tables_path()
Return the directory name containing the tables of a condensable fluid.

Multiple edit and copy of the injectors
By selecting many injectors, the user can modify their parameters at the same time. The user can also copy injectors from one blade to another blade and use the Repetition display of the mesh in order to verify the continuity of injectors lines.
Multiple select and edit 
In the case of multiple selection, the buttons Add injector, Edit injector and Remove injector change their names to Duplicate injectors, Edit injectors and Remove injectors (a). The information area in the lower part of the page (b) displays the number and the sum of cooling and bleed mass flow of selected injectors. Clicking with the right mouse button on the selected injectors will display a popup menu as shown in FIGURE 46 (c), which enables to add/edit/remove the injectors or select all injectors through the position or role of the injectors.
Loading the mesh through the menu Mesh/View On/Off or Mesh/Tearoff graphics (only on Linux), then selecting the injectors and Clicking-left on the Preview button will simultaneously display the selected injectors in the graphic view.


FIGURE 46 Cooling/bleed page for multiple selection of the injectors
Multiple edit can only be used to modify the physical parameters. And it is allowed only for injectors of the same type. A check is performed when the Edit injectors button is pressed and a warning is displayed in case the selection contains injectors of different parameters:


Edit of multiple injectors is possible only for injectors of the same type (cooling or bleed).
Confirm the warning, a Edit Multiple Injection Sectors dialog box is given as shown in FIGURE 47. The users can modify the flow parameters in this dialog box. The empty entries are displayed for the quantities that have different values in the selected injectors. The empty entries and choice buttons have different background color in order to be easily noticed by users.   


FIGURE 47 Multiple edit for selected injectors
In order to see the different values in the selection for a parameter, the user has to click in the empty entry and press the line down arrow key. A list box will be displayed below the empty entry, which contains all the values of the parameter in the selectors. The user may click on one of these values and it will be shown in the entry.
The button OK will store all parameters except those of the empty entries. The button Cancel closes the Edit dialog box without saving any of the values.
Copy and Paste
When multiple injectors are selected, the selected injectors can be copied from one blade to another. In order to copy injectors, the user has to select multiple injectors, then click-left on the Duplicate Injectors button. A Wizard page will be displayed first:


The blades on which the selected injectors are located are highlighted with green color. The user has to specify the new blade on which the injectors will be copied and a prefix to be added to the names of the new injectors. The selected injectors will be copied to the selected blade if there are not injectors at the specified position on the chosen blade and there are not injectors with the specified new name (prefix+selected_injector_name).
Copy of injectors is possible only for injector defined on Relative on Blades.

Classes

Expert Parameters
IINT(integer): 	Type of flow:

0: external flow,
1 (default): internal flow.

For external cases the following output will be monitored in the Convergence history page:

Drag, projection of the global force in a chosen direction: .
Lift, projection of the global force in a chosen direction, generally perpendicular to that used for the Drag: .
Momentum, projection of the torque in a chosen direction: .

In the above equations, S is the surface of the selected patch(es).  are normalized vectors used for the Drag, Lift and Momentum and defined through the expert parameters IDCDP, IDCLP and IDCMP. Their default value is (0., 0., 1.). r is the distance from the reference point IXMP (default value: 0., 0., 0.). The parameters mentioned here can be changed in the Control Variables page in Expert Mode.
NRRES(integer):	controls which variable will be applied for the global residual: 

1 (default): density,
2: ,
3: ,
4: ,
5: energy,
6: the turbulent working variable  if Spalart-Allmaras model or k if k-ε  models,
7: ε  if k-ε  models or ω if k-ω models.

NBLRES(integer):	In some cases, especially for unsteady simulations, the .res may be very large. The expert parameter NBLRES allows the user to output only limited information in this file. 

-1: output only the global residual
0 (default): output information for all blocks.
N (>0): output information for the first N blocks. For example, NBLRES=10, outputs only the information for the first 10 blocks. 

IASTWL(integer):	In each iteration, the force and torque are outputted before multigrid correction in the .steering and .res files. However, the force and torque are outputted after multigrid correction in the .mf, .wall and .cgns files. If the convergence is not fully reached, the force and torque may be different in these files. The expert parameter IASTWL allows to output the force and torque after multigrid correction in all files.

0 (default): output the force and torque before multigrid correction in the .steering and .res files but after multigrid correction in the .mf, .wall and .cgns files.
1: output the force and torque after multigrid correction in all files.

Task Manager

add_host(name, type, opt)
                Adds the host in the hosts list with hostname name <type 'str'>, with login opt <type 'str'> and operating system type <type 'str'>. The options for type are "WINDOWS" and "UNIX". Example: add_host("my_machine","WINDOWS","lo=my_name") for the hostname "my_machine", login "my_name" on a Windows machine.


get_hosts() Gets hosts names and architectures. Returns output <type 'list'> with output[0] <type 'str'> and output[1] <type 'str'>.


remove_host(name)               Removes the host with name name <type 'str'> from the hosts list. Note that this operation is not allowed when a task is running on the host or when the selected host is the local one.


task_manager_shutdown() Removes all hosts in the virtual machine.


task(index)             Returns the task class object output <type 'str'>   of the task with index index <type 'int'>.


get_task_number() Gets the total number of tasks. Returns output <type 'int'>.


new_task() Creates a new task.


new_task(index)           Creates a new task as a copy of the task with index index <type 'int'>.


get_task_index(name)            Gets the index of the task with name name <type 'str'>. Returns output <type 'str'> or -1 if there is no  task with the given name.

Output in FINE™/Turbo

List of Float Expert Parameters
ALPHAP:	preconditioning parameter
ANGREL:	relative angles for the inlet boundary conditions
BLFACT:	factor of defining distance from the blade
C1F:	constant for v²-f model
C2F:	constant for v²-f model
CDIDTE:	central discretization
CE1:	constant for k-εmodel
CE2:	constant for k-ε model
CE2V2F:	constant for v²-f model
CET:	constant for v²-f model
CL:	constant for v²-f model
CMU:	constant for k-ε model
CMUV2F:	constant for v²-f model
COOLRT:	reduction of mass flow in cooling holes
CPLREL:	relaxation factor for coupling exchange and strong coupling updates
DDIMAX:	tolerance factor for Lagrangian module
DIAMR:	diameter ratio for Lagrangian module
FMPLIM: pressure limiter used in the Merkle preconditioning.
ENTRFX:	upwind discretization
EPCLIP:	clipping value for turbulent kinetic dissipation
EPS:	minimum value for reals
EXPMAR:	central discretization
FTRAST:	forbid transition before FTRAST*chord with AGS model
FTURBT:	proportion close to the trailing edge that is fully turbulent
IDCDP:	direction of drag or axial thrust
IDCLP:	direction of lift
IDCMP:	direction of moment or torque
IREFPT:	reference altitude in gravity force
IRKCO:	Runge-Kutta coefficients
ISWV:	Runge-Kutta dissipative residuals
IXMP:	definition of point for moment or torque
LTMAX:	maximum turbulent length scale
MAVREM:	control of multigrid correction for k and ε
MAVRES:	update control of k and ε
MERMAR:	azimuthal averaged output
MERTOL: azimuthal averaged output (when parallel partitioned computation)
MUCLIP:	clipping value for Mut/Mu
NUTFRE:	initial value of turbulent viscosity for Spalart Allmaras.   This parameter exists for backward compatibility reasons. The initial turbulence for Spalart-Allmaras can now be block dependent and is determined in the Initial Solution page.
OMGINL:	rotating boundary condition
PRCLIP:	turbulence parameter
PRT:	turbulent Prandtl number
RELAXP:	under-relaxation for mass flow imposed at outlet
RELPHL:	relaxation factor for Phase-Lagged
RESCPL: control the convergence criteria for the strong  coupling subcycle loop 
RESFRZ:	freeze turbulent viscosity field
RQSTDY:	mixing plane under-relaxation
RSIMGR:	refinement factor of FNM-RS image mesh
RSMPAR:	residual smoothing parameter
RSTOL:	maximum tolerance for FNMB/FNM-RS
RTOL:	maximum angle for normals in calculation wall distance
SIGE:	constant for k-e and v²-f model
SIGHRS:	relax coefficient for initialization of harmonic computation
SIGK:	constant for k-ε  and v²-f model
SMCOR:	residual smoothing
TEDAMP:	damping for k-ε  model
UENTR:	thermodynamic output variables
VAPLAX:	under relaxation coefficient for pressure (cavitation model)
VELSCA:	maximum value allowed for velocity scaling
VIS2:	central discretization
VIS2KE:	central discretization
VIS4:	central discretization
VIS4KE:	central discretization

FSI Output
Output files
For all steady/unsteady computations with mesh deformation, a ".globalforce_unsteady" file is generated in the computation folder, which contains the evolution of the load on solid surfaces. The ".globalforce_unsteady" file has the following format:

for steady computation: <iteration_number>, <Force_X>, <Force_Y>, <Force_Z>, <Torque_X>, <Torque_Y>, <Torque_Z>, <Force_X>, <Force_Y>, <Force_Z>, <Torque_X>, <Torque_Y>, <Torque_Z>.
for unsteady computation: <time_step>, <Force_X>, <Force_Y>, <Force_Z>, <Torque_X>, <Torque_Y>, <Torque_Z>, <Force_X>, <Force_Y>, <Force_Z>, <Torque_X>, <Torque_Y>, <Torque_Z>.

The first set of <Force_X> <Force_Y> <Force_Z> <Torque_X> <Torque_Y> <Torque_Z> is for the surfaces for which the option Compute force and torque has been activated in the Boundary Conditions page under SOLID tab. The second one is for the other solid surfaces.
For all harmonic computations with mesh deformation, a ".globalforce_harmonic" file is generated in the computation folder, which contains the time-mean value and the harmonics (real and imaginary parts) of the load on all solid surfaces where the "compute force and torque" is activated. The ".globalforce_harmonic" file has the following format:

<iteration_number>, <Force_X>, <Force_Y>, <Force_Z>, <Torque_X>, <Torque_Y>, <Torque_Z>, and then the real and imaginary parts of <Force_X>, <Force_Y>, <Force_Z>, <Torque_X>, <Torque_Y>, <Torque_Z> for each harmonic.

The .globalforce_harmonic file is not compatible with IFRCTO = 1/2/3.
For NLH and unsteady computations, another output file is generated with the extension ".aerodynamic_power". This file gives the global aerodynamic power for each structure, the inviscid and viscous contributions and positive (excitation power) and negative (damping power) parts.


Furthermore, for unsteady computation with time-averaged solution output enable, a "*.aerodynamic_work" file is written. It corresponds to the "*.aerodynamic_power" file where the power is replaced by the work exerted by the flow over one computation period.
 
With the modal approach, an output file is generated with the extension ".generalized_motion". This file has the following format:

for steady computations: the iteration number, q for each mode and each structure defined in the interface, where q is the generalized displacement.
for unsteady computations: the time step, q, ,  for each mode and each structure defined in the interface, where q is the generalized displacement.
for harmonic computations: the iteration number, the time-averaged value (Mean) and the real/imaginary parts (Real/Imaginary) of q for each mode and each structure defined in the interface.

Output quantities
When the module mechanical coupling is activated, additional outputs for the mesh deformation are available in the page Outputs/Computed Variables under the tab Deformation, see Deformation section for more  details. In case of combining the modal coupling with the harmonic method, the harmonic values of the mesh deformation are also available.
When the modal coupling is used for harmonic and unsteady computations, additional outputs are also available in the page Outputs/Computed Variables under the tab Solid Data, see Solid Data section for more  details. 
Output steering
For MpCCI and modal computations, the user can monitor in the convergence steering the evolution of the aerodynamic power on more than one set of solid patches if the expert parameter SOLSTE (integer) is set to 1. The aerodynamic power is defined as:



where  is the velocity of the wall deformation.
For modal coupling computations, FINE™/Turbo allows the user to monitor the evolution of force (force X, Y, Z), torque (torque X, Y, Z) and aerodynamic power on the solid patches. In case of combining the modal coupling and the harmonic method, the time reconstruction of the force (force X, Y, Z), torque (torque X, Y, Z) and aerodynamic power can also be monitored. Detailed information is available in Available Quantities Selection.

Outputs

get_output_flag( varCode )
Return the output flag (0:off / 1:on), for the variable corresponding to varCode code.
set_output_flag(varCode, value)
Set the output flag (0:off / 1:on), for the variable corresponding to varCode code.
The list of codes associated to output quantities are listed in below table:
Output Variable Name	Variable Code
# Thermodynamics quantities
Static Temperature	0
Relative Total Temperature	1
Absolute Total Temperature	2
Static Pressure	3
Relative Total Pressure	4
Absolute Total Pressure	5
Rothalpy	44
Entropy	45
Density	46
CP1	60
CP*1	61
CP2	62
CP*2	63
CP3	64
Dynamic viscosity	69
Massflow	76
Static enthalpy	175
Absolute total enthalpy	176
Relative total enthalpy	177
Dryness fraction	178
Generalised dryness fraction	179
Heat transfer coefficient	1081
Static Energy	1082
Absolute Energy	1083
Relative Energy	1084
Rotary Energy	1085
Static enthalpy	1086
Absolute total enthalpy	1087
Relative total enthalpy	1088
Absolute Kinetic Energy	1089
Relative Kinetic Energy	1090
Rotary Kinetic Energy	1091
Thermal Conductivity	1096
Gamma	1097
HeatCapacity	1098
# Velocities quantities
Vx	6
Vy	7
Vz	8
Vxyz	9
Magnitude of V	10
Vr	11
Vt	12
Vm	13
Wx	15
Wy	16
Wz	17
Magnitude of W	18
Wxyz	19
Wr	20
Wt	21
Wm	22
Magnitude of Vi	24
Magnitude of Vj	25
Magnitude of Vk	26
Vi	27
Vj	28
Vk	29
Vis	30
Vjs	31
Vks	32
Magnitude of Wi	33
Magnitude of Wj	34
Magnitude of Wk	35
Wi	36
Wj	37
Wk	38
Wis	39
Wjs	40
Wks	41
Absolute Mach Number	42
atan(Vt/Vm)	48
Relative Mach Number	65
asin(Wr/Wm)	66
atan(Wt/Wm)	67
# Vorticities quantities
Vorticity_x	71
Vorticity_y	72
Vorticity_z	73
Vorticity vector	74
Vorticity	75
# Residuals quantities
Residual d	51
Residual Vx	52
Residual Vy	53
Residual Vz	54
Residual E	55
Residual k	56
Residual epsilon	57
# Solid data quantities
Static pressure	92
Static temperature	93
Cf	94
Heat transfer (wall to fluid)	95
Relative velocity	96
Viscous stress (wall to fluid)	97
Intermittency	171
Injection Flow	172
Injection Direction	173
y+	174
# Turbulence quantities
k	49
epsilon	50
Wall Distance	58
Y+	59
Turbulent Viscosity (Mut/Mu)	68
Production	70
omega	1080
intermittency	1099
Transition Reynolds_theta	1100
# Harmonics quantities, (1<= ith <= 20) for each following quantities.
Harmonic Pressure Real - ith harmonic	180+3*(ith-1)+0
Harmonic Pressure Imaginary - ith harmonic	180+3*(ith-1)+1
Harmonic Pressure Amplitude - ith harmonic	180+3*(ith-1)+2
Harmonic Density Real - ith harmonic	240+3*(ith-1)+0
Harmonic Density Imaginary - ith harmonic	240+3*(ith-1)+1
Harmonic Density Amplitude - ith harmonic	240+3*(ith-1)+2
Harmonic Vx Real - ith harmonic	300+3*(ith-1)+0
Harmonic Vx Imaginary - ith harmonic	300+3*(ith-1)+1
Harmonic Vx Amplitude - ith harmonic	300+3*(ith-1)+2
Harmonic Vy Real - ith harmonic	360+3*(ith-1)+0
Harmonic Vy Imaginary - ith harmonic	360+3*(ith-1)+1
Harmonic Vy Amplitude - ith harmonic	360+3*(ith-1)+2
Harmonic Vz Real - ith harmonic	420+3*(ith-1)+0
Harmonic Vz Imaginary - ith harmonic	420+3*(ith-1)+1
Harmonic Vz Amplitude - ith harmonic	420+3*(ith-1)+2
Harmonic Entropy Real - ith harmonic	480+3*(ith-1)+0
Harmonic Entropy Imaginary - ith harmonic	480+3*(ith-1)+1
Harmonic Entropy Amplitude - ith harmonic	480+3*(ith-1)+2
Harmonic (RhoVx)'Vx' - ith harmonic	540+12*(ith-1)+0
Harmonic (RhoVx)'Vy' - ith harmonic	540+12*(ith-1)+1
Harmonic (RhoVx)'Vz' - ith harmonic	540+12*(ith-1)+2
Harmonic (RhoVy)'Vx' - ith harmonic	540+12*(ith-1)+3
Harmonic (RhoVy)'Vy' - ith harmonic	540+12*(ith-1)+4
Harmonic (RhoVy)'Vz' - ith harmonic	540+12*(ith-1)+5
Harmonic (RhoVz)'Vx' - ith harmonic	540+12*(ith-1)+6
Harmonic (RhoVz)'Vy' - ith harmonic	540+12*(ith-1)+7
Harmonic (RhoVz)'Vz' - ith harmonic	540+12*(ith-1)+8
Harmonic (RhoVz)'H'  - ith harmonic	540+12*(ith-1)+9
Harmonic (RhoVz)'H'  - ith harmonic	540+12*(ith-1)+10
Harmonic (RhoVz)'H'  - ith harmonic	540+12*(ith-1)+11
Harmonic Temperature Real - ith harmonic	780+3*(ith-1)+0
Harmonic Temperature Imaginary - ith harmonic	780+3*(ith-1)+1
Harmonic Temperature Amplitude - ith harmonic	780+3*(ith-1)+2
Harmonic Rel. Ptot Real - ith harmonic	840+3*(ith-1)+0
Harmonic Rel. Ptot Imaginary - ith harmonic	840+3*(ith-1)+1
Harmonic Rel. Ptot Amplitude - ith harmonic	840+3*(ith-1)+2
Harmonic Abs. Ptot Real - ith harmonic	900+3*(ith-1)+0
Harmonic Abs. Ptot Imaginary - ith harmonic	900+3*(ith-1)+1
Harmonic Abs. Ptot Amplitude - ith harmonic	900+3*(ith-1)+2
Harmonic Rel. Ttot Real - ith harmonic	960+3*(ith-1)+0
Harmonic Rel. Ttot Imaginary - ith harmonic	960+3*(ith-1)+1
Harmonic Rel. Ttot Amplitude - ith harmonic	960+3*(ith-1)+2
Harmonic Abs. Ttot Real - ith harmonic	1020+3*(ith-1)+0
Harmonic Abs. Ttot Imaginary - ith harmonic	1020+3*(ith-1)+1
Harmonic Abs. Ttot Amplitude - ith harmonic	1020+3*(ith-1)+2
# Deformation quantities
Dx	1092
Dy	1093
Dz	1094
Dxyz	1095
(1<= ith <= 20) for each following quantities
Harmonic Dx Real - ith harmonic	1101+3*(ith-1)+0
Harmonic Dx Imaginary - ith harmonic	1101+3*(ith-1)+1
Harmonic Dx Amplitude - ith harmonic	1101+3*(ith-1)+2
Harmonic Dy Real - ith harmonic	1161+3*(ith-1)+0
Harmonic Dy Imaginary - ith harmonic	1161+3*(ith-1)+1
Harmonic Dy Amplitude - ith harmonic	1161+3*(ith-1)+2
Harmonic Dz Real - ith harmonic	1221+3*(ith-1)+0
Harmonic Dz Imaginary - ith harmonic	1221+3*(ith-1)+1
Harmonic Dz Amplitude - ith harmonic	1221+3*(ith-1)+2
# Throughflow quantities
Blockage b	77
grad(b)/b - 1st component	78
grad(b)/b - 3st component	79
Lean Vector	80
Shape function for beta or wtheta	81
Loss coefficient	82
Blade force	83
Friction force	84
Unit stream vector	85
atan(Wt/Wm.USV)	86
Effective streamtube thickness	87
Magnitude of blade force	88
Magnitude of friction force	89
W_theta target	90
Beta target	91
# Lagrangian quantities
Number concentration	98
Mass concentration	99
Volume of particle per cell volume	100
Presence(1) or absence(0) of particles in cells	101
Vx: x-component of mass-weighted velocity	102
Vy: y-component of mass-weighted velocity	103
Vz: z-component of mass-weighted velocity	104
Mass-weighted relative velocity vector	105
Number-weighted relative velocity vector	106
Mass-weighted absolute velocity vector	107
Number-weighted absolute velocity vector	108
Interphase force vector	109
set_output_flags_from_file(file, profile_name)
The file contains all the output variable codes whose flags will be set to "on". The file can be defined by GUI (stored in the file ~/.numeca/fine_output.def) or defined manually. 
Since several profiles can be defined in the file, the profile_name is used to specify the used profile.
select_output(keyname)
Select the output identified as keyname.
Example: select_output("_GAMMA_") to select the Laplace coefficient.
Example: select_output("_TURB_YPLUS_") to select y+.
Example: select_output("_HARMO_STATIC_PRESSURE_R&I_") to select the real and imaginary part of the static pressure for harmonic computations.
unselect_output(keyname)
Unselect the output identified as keyname.
For these last two commands, the arguments to be used as keyname are fully listed in the file euranus_outputs.def, available in <install_dir>/fine<version>/COMMON/ on Linux, or <NUMECA_install_dir>\fine<version>\bin on Windows. The user can also access the different keynames by selecting the corresponding outputs in the GUI, and checking the FINE™/Turbo shell via File> Script...>Edit.

Launch the flow solver in Parallel Mode in Batch

To stop a computation in batch mode, the user can create a ".stop" file with the same computation name in the running computation directory, which will enable the FINE™/Turbo solver to stop after saving the solution at the next iteration or after the full multigrid initialization.
To save intermediate solution without stopping a computation in batch mode, the user can create a ".save" file with the same computation name in the running computation directory, which will enable the FINE™/Turbo solver to save the intermediate solution at the next iteration or after the full multigrid initialization.

Flow model

get_time_configuration()
Return the time configuration. The following constants are used

STEADY = 0
UNSTEADY = 1
HARMONIC = 2

set_time_configuration(value)
Set the time configuration specified by the value
Example:
set_time_configuration(UNSTEADY)
This parameter is global: it applies to all blocks.
get_mathematical_model()
Return the mathematical model.
set_mathematical_model(model)
Set the mathematical model.
Following constants can be used as model:

EULER
LAMINAR
BALDWIN_LOMAX
SPALART_ALLMARAS
SPALART_ALLMARAS_EXT_WALL_FUNCTION
K_EPS_EXT_WALL_FUNCTION
K_EPS_LOW_RE_CHIEN
K_EPS_LOW_RE_LAUNDER_SHARMA
K_EPS_LOW_RE_YANG_SHIH
V2_F
SST
K_OMEGA_WILCOX
SST_EXT_WALL_FUNCTION
EARSM
EARSM_EXT_WALL_FUNCTION

Example:
set_mathematical_model(SPALART_ALLMARAS)
get_gravity_flag()
Return the gravity activation flag (0: off / 1: on)
set_gravity_flag( flag )
Set the gravity activation flag (0: off / 1: on)
get_gravity_vector()
Return the gravity vector (type Vector)
set_gravity_vector( value )
Set the gravity vector (type Vector)
get_preconditioning()
Return the preconditioning activation flag (0: off / 1: on)
set_preconditioning( value )
Set the preconditioning activation flag (0: off / 1: on)
get_tracer()
Return the number of tracers.
set_tracer( value )
Set the number of tracers. value = 0 means no tracer.
get_reference_length()
Return the reference length.
set_reference_length( value )
Set the reference length.
get_reference_velocity()
Return the reference velocity.
set_reference_velocity( value )
set the reference velocity.
get_reference_density()
Return the reference density.
set_reference_density( value )
Set the reference density.
get_reference_temperature()
Return the reference temperature
set_reference_temperature( value )
Set the reference temperature
get_reference_pressure()
Return the reference pressure
set_reference_pressure( value )
set the reference pressure

Expert Parameters
Azimuthal Averaged Variables
In expert mode the user may specify on the bottom of the Azimuthal Averaged Variables page the Averaging patches of the 3D mesh used to define the mesh surface that will be projected onto the meridional plane in order to support the azimuthal averaged variables. A default selection is automatically presented for AutoGrid™ meshes. Four input boxes are provided to enter the number of patches, the index of the patch being defined, the block number and six indices to define the patch. For instance, the six indices: 1 1 1 65 1 129, define a patch of a given block corresponding to a face I = 1 and for J =1 to 65 and K=1 to 129.
The same system is used to define blade patches that will simply be projected in the meridional plane to visualize the variables on the blade pressure side or suction side.
The indices must be defined on the finest mesh.
MERMAR(real):	Safety margin for azimuthal averaged CFView™ solution. The mesh is shrunk 			                   with a factor of 1 - MERMAR.

1st entry = axial safety margin
2nd entry = radial safety margin

The purpose of these two margins is to avoid points near the boundaries for which the azimuthal averaging can not be performed. In general the azimuthal averaging is performed by taking a point on the defined patch and to average the values for points in azimuthal direction starting from this point. If there is not a sufficient amount of points in azimuthal direction the average is not computed for that point and therefore the value for this point is not represented in CFView™. To avoid such 'blank' points near the edges of the patches it may be necessary to take a certain margin from the edges of the patches.
The default values for the safety margins are appropriate for meshes on surfaces of revolution. If the mesh is not a mesh on surfaces of revolution, higher margins may be required. See the theory guide for more detailed information on the methods available for azimuthal averaging and the use of these margins.
Use of the 3rd and 4th entry is not supported.
MERTOL (float): This parameter controls the offset applied to the averaging process when running parallel partitioned computation. MERTOL will multiply the DR and DZ between the current vertex and the other vertex of the smallest diagonal of the surrounding cells. The consequent offset is applied for the calculation of the azimuthal average.
The default value of the parameter MERTOL is 0 (no offset). In case of presence of unphysical oscillation in the azimuthal average, the value of MERTOL can be increased. Higher value will reduce the occurrence of unphysical oscillation but will also reduce the accuracy of the average at wall. Values ranging from 0.001 to 0.02 have been used on different cases in order to get a correct solution. However, the best value is case dependent.
Global Performance Output
To influence the type of output written in the file with extension ".mf" the following expert parameters can be used:
EFFDEF(integer):	Efficiency definition for projects with at least one rotating block. This parameter is available only for incompressible fluid and perfect gas. 

1 (default): total to total,
2: total to static,
3: static to static.

OUTTYP(integer):	Select the type of output:

0 (default): torque and drag,
1: heat flux and energy,

IWRIT(integer):	Add some additional output on all block faces such as mass flow through these faces:

0 (default): deactivated,
1: mass flow through rotor/stator interfaces,
3: summarizes the mass flow through different boundary types (SOL, ROT, INL,...),
4: mass flow through all block faces.

RBRSBS(integer):	Analyze the performance of every single element (row and/or stage) of a multi-stage machine. The following additional outputs are available in the ".mf" file: the mass flow in and out, the static and total pressure ratio/rise, the static and total temperature ratio/rise, the isentropic and polytropic efficiency, the axial thrust, the torque and the power.

0 (default): no extra analysis
1: row-by-row analysis
2: stage-by-stage analysis (stage = stator + rotor)
3: row-by-row and stage-by-stage analysis (stage = stator + rotor)
-2: stage-by-stage analysis (stage = rotor + stator)
-3: row-by-row and stage-by-stage analysis (stage = rotor + stator)

The RBRSBS analysis is limited to the classical turbomachinery configurations with 1 upstream to 1 downstream in each Rotor/Stator interface. By-pass configurations are not supported.
The orientation of the Rotor/Stator interface must be defined correctly.
The number of Rotor/Stator interfaces must be larger than 0.
IDCDP(real):	This parameter gives the direction (i.e. 3 values) on which the body force has to be projected to give the axial thrust or the drag component. E.g. 1,0,0 means that the drag is the x-component of the body force.
IDCLP(real):	For flows around bodies this parameter gives the direction (i.e. 3 values) on which the body force has to be projected to give the lift component. E.g. 1,0,0 means that the lift is the x-component of the body force. For internal (IINT=1) cylindrical cases this parameter is not used.
IDCMP(real):	This parameter gives the direction (i.e. 3 values) on which the moment vector on the body has to be projected to give the moment. E.g. 1,0,0 means that the moment is the x-component of the moment vector.
IXMP(real):	Specifies the x,y,z coordinate of the point around which the moment has to be calculated. The coordinates are expressed in meters.
IUNIMF(integer):	When a units system is chosen in FINE™/Turbo, the .mf file can be written using this units system or using the SI system (except that angles are always explained in degree).

0 (default): the .mf file is written using the SI system.
1: the .mf is written using the units system chosen in FINE™/Turbo GUI.

ADECMF(integer):	The expert parameter ADECMF is used to adjust the precision of quantities in .mf file. By default, the expert parameter ADECMF is set to 0. The value of the expert parameter ADECMF can be set to 2 or 4 in order to have 2 or 4 additional decimal places.
Solid Data Output
ICGP3D(integer):	When solid wall data is outputted, the grid coordinates of the solid patch(es) can be written in the .cgns file or not.

0 (default): don't write the coordinates of the solid patch(es) in the .cgns file.
1: write the coordinates of the solid patch(es) in the .cgns file.

Computation Management
When selecting the Computations subpanel at the top left of the interface a list of all the computations in the project is shown. The active computation is highlighted in blue and the corresponding parameters are shown in the "parameters area". All the project parameters of the computation can be controlled separately by selecting (from this list) the computation on which all the user modifications are applied.
When selecting multiple computations, the parameters of the active page in the "parameters area" are copied from the first selected computation to all other computations.
With the buttons New Computation and Remove computations can be created or removed. When clicking on New Computation the active computation (highlighted in blue) is copied and the new computation has the same name as the original with the prefix "new_" as shown in the example below. In this example "computation_2" was the active computation at the moment of pressing the button New Computation. A new computation is created called "new_computation_2" that has the same project parameters as "computation_2". To rename the active computation click on Rename, type the new name and press <Enter>. These options are also available when click-right on the active computation.

Two buttons Create Performance Curve and Edit Performance Curve are dedicated to the creation and management of the performance curve for turbomachinery.  


FIGURE 10 Computations subpanel

Transition model

set_transition_model(model)
Set the transition model. The following constants can be used as model:
TRANSITION_OFF = 0
GLOBAL_CORRELATION_TRANSITION = 1
GENERALIZED_TRANSITION = 2
Example: set_transition_model(GENERALIZED_TRANSITION) to set up the generalized transition model.
Example: set_transition_model(0) to deactivate the transition model.
get_transition_model()
Get the transition model.
ungroup_blades(groupIndex)
Ungroup the blade group identified by the index of the group.
Example: ungroup_blades(0) to ungroup the first group of blades.
create_blade_group(group_name,value)
Create blade group called group_name, from  list of blade indices or a name pattern (value).
Example: value = [0,1,2] or value = *_Main_Blade*.
Example: FT.create_blade_group("stator","*_Main_Blade")

The following commands are only applicable with the Global  Correlation Transition model; the following constants can be used as modelSS and modelPS:

FULLY_TURBULENT = 1
FULLY_LAMINAR = 2
	FORCED_TRANSITION = 3
	AGS_MODEL = 4 
set_blade_modelPS(groupID,modelPS)
Set the pressure side model of the blade or the group of blades identified by the index groupID.
Example: set_blade_modelPS(0,FULLY_LAMINAR)
Example: FT.set_blade_modelPS(0,3)
set_blade_modelSS(groupID,modelSS)
Set the suction side model of the blade or the group of blades identified by the index groupID.
get_blade_modelPS(groupID)
Get the pressure side model of the blade or the group of blades identified by the index groupID.
get_blade_modelSS(groupID)
Get the suction side model of the blade or the group of blades identified by the index groupID.

The following commands are relevant when the Forced Transition option is chosen:

set_blade_hubPS(groupID,hubPS)
Set the position, in term of span (0 - 100%) starting from the hub, of the transition line on the pressure side of the blade or the group of blades identified by the index groupID.
Example: set_blade_hubPS(0,50)
set_blade_shroudPS(groupID,shroudPS)
Set the position, in term of span (0 - 100%) starting from the shroud, of the transition line on the pressure side of the blade or the group of blades identified by the index groupID.
get_blade_hubPS(groupID)
Get the position, in term of span (0 - 100%) starting from the hub, of the transition line on the pressure side of the blade or the group of blades identified by the index groupID.
get_blade_shroudPS(groupID)
Get the position, in term of span (0 - 100%) starting from the shroud, of the transition line on the pressure side of the blade or the group of blades identified by the index groupID.
set_blade_hubSS(groupID,hubPS)
Set the position, in term of span (0 - 100%) starting from the hub, of the transition line on the suction side of the blade or the group of blades identified by the index groupID.
Example: set_blade_hubSS(0,50)
set_blade_shroudSS(groupID,shroudPS)
Set the position, in term of span (0 - 100%) starting from the shroud, of the transition line on the suction side of the blade or the group of blades identified by the index groupID.
get_blade_hubSS(groupID)
Get the position, in term of span (0 - 100%) starting from the hub, of the transition line on the suction side of the blade or the group of blades identified by the index groupID.
get_blade_shroudSS(groupID)
Get the position, in term of span (0 - 100%) starting from the shroud, of the transition line on the suction side of the blade or the group of blades identified by the index groupID.

MpCCI Coupling
Introduction
In addition to performing a thermal coupling simulation with MpCCI, the user can also perform a mechanical coupling, or both thermal and mechanical coupling simulation.

When performing the mechanical coupling simulation with MpCCI, the FINE™/Turbo solver computes the flow around the structure and transfers the computed quantities to the structural solver. The displacements are therefore computed and transferred back to the FINE™/Turbo solver, which deforms the mesh. Then, the process is repeated until a steady state solution (steady mode) or the last physical time step (unsteady mode) is reached.
The coupling with MpCCI is compatible with all the mesh deformation methods, see mesh deformation methods for more information.
The limitations on the mechanical coupling with MpCCI are as follows:

Wall forces exchange is not compatible with FNMB and condensable fluids.
Not compatible with coarse grid initialization and steady initialization.
No compatible with NLH.

Simulations coupling with MpCCI is available on the following platforms: Linux 64bits and Windows 64bits. 
MpCCI v4 is supported
Mechanical Coupling with MpCCI
The mechanical coupling with MpCCI can be activated from the Optional Models / Fluid Structure page under the Mechanical tab. After selecting Mechanical Coupling and then Elastic Deformation, the mechanical coupling with MpCCI page will appear. It looks like FIGURE 13. 
All solid patches and groups in the mesh are listed on the middle of the page. The user has to select the coupled surfaces and mark them as "Coupled". 


FIGURE 13 The mechanical coupling with MpCCI
Monitoring
For MpCCI coupling computations, FINE™/Turbo allows the user to monitor the evolution of force (force X, Y, Z), torque (torque X, Y, Z) and aerodynamic power on the solid patches. Detailed information is available in Available Quantities Selection.
Expert Parameters
The expert parameters related to the mechanical coupling with MpCCI:
ITCPL(integer):	defines the number of iterations between each exchange with the coupled code for steady computation.

The STD file '.std'
This ASCII file contains all the information related to the current computation. It contains the whole content of the Task Manager window as well as warnings and error messages. If the flow solver encounters a problem, the latter is described in the ".std" file and in the ".log" file. This file is for support purposes only. When a problem appears please send this file together with the ".log" file and a detailed problem description to our local support office.

Domain Scaling Method
The Domain Scaling Method is an unsteady simulation technique for rotor/stator interfaces. The effect of displacement due to rotation is taken into account. At each time step, the rotor is set at its correct position and equations are solved for that particular time step for the whole computation domain. The final solution is therefore a succession of instantaneous solutions for each increment of the rotor position.


FIGURE 8 Aachen Turbine: Domain Scaling (Sliding Mesh) approach
Mesh Constraints
The boundary condition type must be set to "ROT" in IGG™ for all grid patches belonging to a rotor/stator interface. The blade passages of each blade row to include in the mesh should cover the same pitch distance (have the same periodicity). If the periodicity of the rotor and the stator is not the same this can be solved in three different ways: 

modeling a higher number of blade passages on each side to find a common periodicity,
scaling the geometry (with the scaling being as close to 1 as possible). The common way to scale the geometry is to modify the number of blades during the mesh generation process. The time frequencies are resolved with an error that is proportional to the scaling coefficient.
using the phase lagged approach or the nonlinear harmonic method

Apart from this constraint on the periodicity, there is no constraint on the patches and mesh nodes configurations.
The domain scaling method is not compatible with cascade configurations (with translational periodicity).

FINE™/Turbo Settings

Domain Scaling Method is an unsteady simulation technique so the Time Configurationin the Flow Model page should be set to Unsteady. 
By default, in the Rotating Machinery page under Rotor-Statortab page, the Domain Scalingapproach is selected. The user has to specify for each of these patches the ID and the upstream/downstream location) at step 2. Therefore, the boundary condition type must be set to "ROT" in IGG™ for all grid patches belonging to a rotor/stator interface.
The FINE™/Turbo solver allows only one rotation speed (combined with a zero rotation speed) when performing an unsteady simulation using the Domain Scaling method.
The initialization process can be performed in two ways:

A steady state initialization is performed in a separate computation with Steady as Time Configuration. It is suggested to model all rotor/stator interfaces in this case using frozen rotor approach. The unsteady domain scaling computation is using the result of this steady computation as initial solution. See Initial Solution for more information on how to start a computation from an initial solution file.
The steady state initialization is automatically performed before starting the time accurate computation (that means within the same computation), switching to Unsteady as Time Configuration in the Flow Model page and selecting in the interface an appropriate Number of Steady Iterations in the Steady Initialization parameters on the Control Variables page.

The Number Of Angular Positions is defined in the Control Variables page. When working with the Domain Scaling method, using a Number Of Angular Positions of 10 points per blade passage is giving a coarse but reasonable result. To have a more accurate (but more CPU consuming) result choose 20 to 30 points per blade passage.
The Number Of Time Steps is defined in the Control Variables page.  In general, it is recommended to repeat the period at least 20 times. Usually after 20 periods, the flow becomes periodic.
For example, considering a 1-1/2 turbine with the blade number of 43, 64 and 16. The user can generate a scaled multi-row mesh including 8 stator passages, 12 rotor passages and 3 stator passages with a common periodicity of 5. In this case the user needs at least 10 time steps for each rotor passage and that is really a coarse result. So the minimum Number of Angular Positions is 120. Usually, 20 periods are needed to reach periodic flow. The user will have to set the Number Of Time Steps to 2400. 
For more info on the Outputs Files  available in the Control Variables  page.

  Illustrative Example
For the example case of the flow around a cube where the flow is entering the domain at the bottom of FIGURE 9. The upstream portion of the domain is the 'rotor' with a cube fixed on it. The second part is a 'stator'. With the domain scaling approach, one can observe a strong vortex shed into the stator passage, leading to a correct physical simulation of the unsteady phenomenon (at the expense of much higher CPU time compared to mixing plane approach).


FIGURE 9 Flow around a cube: Domain Scaling method

Task Management in Batch

This section provides the necessary information to launch NUMECA software from a shell, without using the IGG™, AutoGrid™, FINE™/Turbo or CFView™ interfaces.
Every time the ".run" file of a FINE™/Turbo computation is saved, a script file is automatically created. On Linux systems, the name of this file has the extension ".batch". On Windows the extension is ".bat". Such files contain text lines with the commands to launch the software with the appropriate command arguments. To launch a task from a shell simply execute the automatically generated file by typing its name in a shell.
In the next sections the available commands to launch NUMECA software are described in more detail.
The capability to launch in batch is currently not supported for the FINE™/Turbo solver in parallel mode on PC.

Introduction to Turbulence
Turbulence can be defined as the appearance of non-deterministic fluctuations of all variables (velocity u', pressure p', etc...) around mean values. Turbulence is generated above a critical Reynolds number that may range in values from 400 to 2000 depending on the specific case. In 95% of industrial applications the critical Reynolds number falls above that range. That is why it is in general necessary to predict adequately the turbulence effects on the flow-field behavior.
To model turbulent flow in a satisfactory way, four steps should be performed:

choosing a turbulence model,
generating an appropriate grid,
defining initial and boundary conditions,
if necessary, setting expert parameters to procure convergence.

FINE™/Turbo Script Commands
All FINE™/Turbo commands are available from the FT module (under INSTALL_DIR/_python/_fine/_turbo/). This means that they can be accessed by default by using the FT prefix.
Example:
import FT
FT.open('myfile.iec')
Alternatively, the prefix can be omitted by using the statement "from FT import *". However, in that case, the user must insure that no other module contains a same command being used.
Example:
from FT import *
open('myfile.iec')

The Unsteady Time Step File '.unst'
This ASCII file is used to give informations about unsteady run to CFView. It contains three lines: the two first lines indicate the index number of the first and last time step stored, the third line gives the index interval between two consecutive time steps.

Getting Started

Expert Parameters for Turbulence Modeling
Interfaced Expert Parameters


In expert mode additional parameters related to turbulence modeling are available when using the turbulence models with extended wall functions. For these turbulence models the wall type can be defined as smooth or rough:

For a smooth solid wall (default) only the Von Karman constant and Bo have to be specified (κ and B).
When selecting a rough solid wall two additional parameters have to be specified: the equivalent roughness height and the zero-displacement plane (k0 and d0).

Non-interfaced Expert Parameters


All non-interfaced expert parameters related to the turbulence models are accessible on the Control Variables page by selecting the Expert Mode. 
Calculation of the wall distances

All turbulence models need to compute the wall distances everywhere in the computed domain. In FINE™/Turbo, the wall distance for an inner point is defined as the shortest distance between the inner point and the points on the wall surfaces. It is a rather time consuming process so that they are saved in the ".cgns" mesh file at the beginning of the first computation. These values will be read and used for the next computations. If the mesh file is modified or saved again, they are erased and will be computed again. 
Different important expert parameters are used in the calculation of the wall distance. Generally, the default values aresufficient and they have to be changed only if a problem arises. 
NREPET(integer): allows  taking into account the periodicity of the computed domain. At each point of the domain, the closest wall is not always in the computed domain if periodic boundary conditions are used. Consequently, the domain is repeated beyond the periodic boundaries to compute correctly the wall distance (default value =1).
NSUBM(integer):	is the maximum number of subdomains of a domain which is splitted. Its value is sufficiently high and it must be changed only if an error message informs the user to increase it (default value = 1000).
NTUPTC(integer):	is the number of patches whose sub-patches will be searched. In a very complex geometry, the value of this parameter can be increased if the calculation of the wall distances fail (default value = 100).
The computed wall distances should be removed from the mesh first before relaunching a computation with a different value of NTUPTC. To remove the computed wall distances, you should open your mesh in IGG™ and simply save it again.
RTOL(real):	maximum angle allowed between two normals of a patch (default value = 1.8). When the value of IDISTN is 1, the value of RTOL has to be set as the default value (1.8).
When problems occur during the wall distance calculation (wall distance not equal to 0 on the wall), it is recommended to increase the value of NTUPTC (and to reduce RTOL if the wall distance gradient is not smooth). Please keep in mind that increasing this value will slow down the computing of the wall distances.
IDISTN(integer):	 algorithm for wall distance calculation:

0 : old algorithm
1: new algorithm
2 (default): review of new algorithm (advised for 64 bits platforms)

Limiters for all of the turbulence models
MAVRES(real):	denoted here ζ. This parameter limits the variation of the turbulence variables for each Runge-Kutta stage. Denoting the new value of k or ϵ as , the following restrictions are imposed when MAVRES > 0:






where EPS is an expert parameter with a small value, default 1E-28, also used to avoid possible divisions by zero. 
The second restriction is not applied to the turbulent dissipation rate (ε ) when this tends to increase, in order to avoid excessive values of the turbulent viscosity.
If MAVRES = 0, only the first restriction is applied (avoiding negative values)
If MAVRES < 0, the restriction is:
 
MAVREM(real):	a similar system is applied to the multigrid corrections with the expert parameter MAVREM, denoted below as ζ:

If MAVREM > 0: 
If MAVREM = 0: restriction to positive values
If MAVREM < 0: 

MUCLIP(real):	controls the maximum allowable value for the ratio MUT/MU in the flow field but not on boundary conditions (default value = 5000).
KEGRID(integer):	allows the use of a particular full multigrid strategy for all 2-equation and 4-equation turbulence models. The Baldwin-Lomax model is used on the coarse grids during the full multigrid stage and the initial solution of k, ε, ɷ, v² and f is obtained from the Baldwin-Lomax model solution. This parameter is not used for the Spalart-Allmaras model.
KEGRID corresponds to the last grid level on which the algebraic model is used. For example, if the computation is done with 4 levels of multigrid and KEGRID is equal to 2, the Baldwin-Lomax model is used on the 333 (or level 4), 222 (or level 3) and 111 (or level 2) and the k-ε  computation is initiated when transferring to the finest grid. If KEGRID is set to 3,  the Baldwin-Lomax model is used on the 333 (or level 4) and 222 (or level 3)  and the k-ε  computation is initiated when transferring to the grid level 111. If KEGRID is greater than the number of multigrid levels, the computation will be started on the coarsest level with k-ε .
Baldwin-Lomax
IATFRZ(integer):	control the interaction of the model with the multigrid system 

0: apply the turbulence model on all grid levels,
1: freeze turbulence on coarser grids (default),
2: freeze turbulence on all grids (see ITFRZ and RESFRZ).

ITFRZ(integer):	freeze the turbulent viscosity field if the fine grid iteration exceeds ITFRZ (default value = 1000000).
RESFRZ(integer): freeze the turbulent viscosity field if the fine grid residual is lower than RESFRZ (default value = -12).
Spalart-Allmaras
NUTFRE(real):	constant to initialize the turbulent viscosity field (default value = 0.0003).  This parameter exists for backward compatibility reasons. The initial turbulence for Spalart-Allmaras can now be block dependent and is determined in the Initial Solution page.
ITURRC(integer):	the Spalart-Allmaras turbulence model with/without extended wall function does not take the rotation and curvature effects into account. Modifications have been brought in order to consider these effects. The modified Spalart-Allmaras model is marked as SARC model.

0 (default): use the Spalart-Allmaras model, which does not take the rotation/curvature effects into account.
2: use the SARC model, which takes the rotation/curvature effects into account.

k-ε  models
CMU(real):	constant for the k-ε  model (default value = 0.09).
CE1(real):	constant for the k-ε  model (default value = 1.44 automatically set to 1.35 for the Chien k-ε  model).
CE2(real):	constant for the k-ε  model (default value = 1.92 automatically set to 1.8 for the Chien k-ε  model).
SIGK(real):	constant for the k-ε  model (default value = 1.). 
SIGE(real):	constant for the k-ε  model (default value = 1.3).
PRT(real):	constant for the k-ε  model - the turbulent Prandtl Number (default value = 1.).
INEWKE(integer):	allows the user to activate the k-ε (Standard wall function) model when the k-ε (Extended wall function) model is selected in the interface:

0: activate the k-ε (Standard wall function) model.
10 (default): use the k-ε (Extended wall function) model. 

LTMAX(real):	maximum turbulent length scale (default = 1.E+6),

-1: control of turbulent length scale with automatic clipping.

IYAP(integer):	1: applies the Yap's modification to control the turbulent length scale.

0 (default): The value of the expert parameter LTMAX must be the default value. 

TEDAMP(real):	parameter to improve the robustness of the k-ε  models (default value = -1),

> 0: a minimum of TEDAMP multiplication factor of the clipping value (EKCLIP) is used for k in the factor ; a minimum of TEDAMP multiplication factor of the clipping value (EPCLIP) is used for ϵ to compute the turbulent viscosity,
<= 0: the minimum values used for k and ϵ correspond to the expert parameter EPS,

PRCLIP(real):	sets an upper bound for the ratio between production and dissipation (default value = 50).
LIPROD(integer):	corresponds to a linearization of the production term (default = 1) when strain rate is large (i.e. impinging flow) and PRCLIP has no effect anymore on the flow field.
EKCLIP(real):	clipping value for the turbulent kinetic energy k (default value = 1.E-5).
EPCLIP(real):	clipping value for the turbulent dissipation rate ε  (default value = 1E-5).
IUPWTE(integer):	uses an upwind scheme for the convection of k-ε  instead of a center scheme (default = 1).
IKENC(integer):	solves the k-ε  equations with a non-conservative approach (default = 1).
IKELED(integer):	(= 1) activates the LED scalar scheme for k-ε  instead of the standard central scheme (default = 0).
IOPTKE(integer):	optimized implementation for k-ε  (Yang-Shih, Wall function, Lauder Sharma) (default = 1).
All the above-mentioned limiters are very important for the robustness of k-ε computations. Except for the length scale LTMAX, all limiters are given appropriate defaults and it is not recommend to modify them.
v²-f model
CMUV2F(real):	constant for the v²-f model (default value = 0.22),
C1F(real):	constant for the v²-f model (default value = 1.4),
C2F(real):	constant for the v²-f model (default value = 0.3),
CL(real):	constant for the v²-f model (default value = 0.23),
CET(real):	constant for the v²-f model (default value = 70.0),
CE2V2F(real):	constant for the v²-f model (default value = 1.9),
SIGE(real):	constant for the v²-f model (default value = 1.3),
SIGK(real):	constant for the v²-f model (default value = 1),
EKCLIP(real):	clipping value for the turbulent kinetic energy k (default value = 1.E-5),
EPCLIP(real): clipping value for the turbulent dissipation rate ε  (default value = 1E-5),
k-ω (Wilcox)
The parameters for the k-ω (Wilcox) model are hard coded. The user cannot modify the default values.
Shear Stress Transport (SST)
GAM1(real):	constant for the SST model (default value = 0.5532),
GAM2(real):	constant for the SST model (default value = 0.4403),
BETA1(real):	constant for the SST model (default value = 0.075),
BETA2(real):	constant for the SST model (default value = 0.0828),
SIGK1(real):	constant for the SST model (default value = 0.85),
SIGK2(real):	constant for the SST model (default value = 1.0),
SIGO1(real):	constant for the SST model (default value = 0.5),
SIGO2(real):	constant for the SST model (default value = 0.856),
A1SST(real):	constant for the SST model (default value = 0.31),
BETSST(real):	constant for the SST model (default value = 0.09).
EARSM
GAM1(real):	constant  for the EARSM model
GAM2(real):	constant  for the EARSM model
BETA1(real):	constant  for the EARSM model
BETA2(real):	constant  for the EARSM model
SIGK1(real):	constant  for the EARSM model
SIGK2(real):	constant  for the EARSM model
SIGO1(real):	constant  for the EARSM model
SIGO2(real):	constant  for the EARSM model
SIGD1(real):	constant  for the Hellsten's EARSM model
SIGD2(real):	constant  for the Hellsten's EARSM model
A1SST(real):	constant  for the EARSM model
BETSST(real):	constant  for the EARSM model
IEARSM(integer):	parameter to select the EARSM model,

0 (default): the EARSM proposed by Menter.
1: the EARSM proposed by Hellsten.

IMINUT(integer):	only applies to the Menter's EARSM model. This parameter controls the approach computing the turbulent thermal conductivity in the energy equation.

0 (default): 
1:

List of Integer Expert Parameters
ACCCTL:	general purpose graphical processing unit acceleration controls
BCKFLO:	control of backflow at outlet
BCKFLU:	control of backflow at inlet
BLEXCH:	defines non-blocking  parallel exchanges or blocking parallel exchanges during parallel transfer
CFFNMB:	FNMB algorithm
CLASID:	class of particles for CFView™ output
CLIPCG:	the computing method of the thermodynamic tables
CORMOD:	force the mode shapes to be zero for connections between rigid and moving surfaces
CPUBRB: CPU Booster scheme for general purpose graphical processing unit acceleration 
EFFDEF:	efficiency definition
EQWSPA:	control relative spanwise locations
EXCMTH:	reduce integer allocation
FLXRS:	toggles mass flux correction at the Rotor/Stator interfaces of NLH or Non reflecting 1D/2D steady computations
HTCDEF:	definition of heat transfer coefficient
I2DLAG:	simplification of Lagrangian module
IARTV2:	type of computing of VIS2
IARTVS:	type of computing of artificial dissipation
IATFRZ:	multigrid parameter for Baldwin Lomax
IASTWL:	control output of force and torque
IBOTH:	time discretization
IBOUND:	reflection treatment of particles on solid wall
ICAV:	control the initialization of the cavitation 
ICGP3D:	output grid coordinates for solid patches
ICYOUT:	overwrite results in unsteady computations
IDEBUG:	exports image meshes in the computation directory.
IDISTN:	wall distance algorithm
IFACE:	spatial discretization
IFNMB:	transform PERNM boundaries in FNMB
IFNMFI:	reading/writing full non-matching data from file
IFNPPP:	parallelization of FNMB/FNM-RS pre-processing
IFNSTD:	suppress output in std filE
IFRCTO:	activate partial torque output
IFRSFI:	reading/writing FNMB rotor-stator data from file
IINT:	internal or external flow
IKELED:	activation of LED scalar scheme for k-ε
IKENC:	non-conservative approach for k-ε
IMASFL:	mass flow extrapolation at inlet instead of velocity
IMGDIR:	coarsening direction
IMTFIL:	initial solution for k-ε
IMUWAL:	save .wall file at each iteration on fine mesh
INEWKE:	definition of high Reynolds k-ε model
INIKE:	initial solution for k-ε
INITRA:	transition initialisation

INITRB:	initial solution for turbomachinery
INLREL:	relative angles for the cylindrical inlet
INMFTT:	temperature used for inlet mass flow BC
INTERI:	type of intermittency distribution
INTERL:	type of location used for forced transition
IOPTKE:	optimized implementation for k-ε
IPRECG: control the primitive variables used in the Merkle preconditioning method.
IPROLO:	multigrid prolongation order
IRATIO:	spatial upwind discretization
IRESTR:	multigrid restriction order
IROEAV:	upwind discretization
IRSIBS:	creation of image mesh
IRSMCH:	residual smoothing
IRSMRG:	control the allocated memory for R/S treatment
IRSPAR:	parallelization of RS interface
IRSPPA: control the pre-processed FNM-RS data from the unpartitioned to partitioned mesh topology
ITCPL: number of iterations between two successive resolutions of the structure equation
ITFRZ:	freezing of turbulent viscosity
ITRWKI:	wake induced transition through AGS model
IUNIMF:	units used in the .mf file
IUPWTE:	upwind discretization for turbulence equations
IVELSY:	relative frame of reference
IWAVCO:	spatial  discretization averaging
IWAVVI:	spatial discretization
IWRIT:	writing of global performance data
IYAP:	Yap’s modification for turbulent length scale
KEGRID:	switch from Baldwin-Lomax to k-ε  model
KETRAN:	transition control in Yang-Shih  k-ε model
KOUTPT:	particles trajectories output
LIPROD:	linear production term
LMAX:	maximum number of segments in Lagrangian module
LOCCOR:	apply corrections for the entropy and the stagnation enthalpy in case of using non-reflecting 1D/2D Rotor/Stator interface
MASPAO: formulation used for outlet mass flow imposed with pressure adaptation
MAXNBS:	maximum number of injection sectors
MGRSTR:	multigrid strategy
MGSIMP:	multigrid strategy
MVGAP:	activates the free movement of the nodes along the hub or the shroud that copies the blade displacement
MXBFSZ:	maximum buffer size
NBLRES:	control output in .res file
NDTHAR:	control  the number of time steps used for the integration in time of the entropy to get its time-averaged value
NEWNMB:	NMB algorithm for parallel partitioned computation
NITER:  control the number of inner solver iterations used in the CPU Booster implementation
NH2DNR:	control the number of harmonics used for DFT and inverse DFT when using the non-reflecting 2D Rotor/Stator interface
NHIONR: control the number of harmonics used for the non reflecting inlet and outlet boundary condition formulation. 
NMXCYC: control the maximum number of iterations  in the strong coupling subcycle loop
NPERBC:	inlet/outlet signal periodicity
NQSTDY:	update rotor-stator boundary condition
NRBCAM:	flux-averaging method used for non reflecting boundary conditions
NRBCEQ:	choice of characteristics used for non reflecting  boundary conditions
NREPET:	calculation of the wall distance
NRRES:	select variable for global residual
NSTAGE:	number of stages for the explicit Runge-Kutta scheme
NSUBM:	number of subdomains in calculation of wall distance
NTUPTC:	number of patches in calculation of wall distance
OUTTYP:	select type of output
RBRSBS:	select type of performance analysis
RELPRO:	normalize 1D inlet/outlet boundary conditions profiles
RSIMGD:	control node distribution of FNM-RS image mesh
STRCPL:	activate the strong coupling method
TIMEBC:	restart choice for time dependent boundary conditions in unsteady computation
TORRO:	area defined computation of force and torque
VIS2SW:	second order dissipation for incompressible fluid
VISNUL:	central discretization
VISPOW:	include viscous effects in local aerodynamic output

Create New Project

To create a new project when launching the FINE™/Turbo interface: 

click on the Create a New Project... icon () in the Project Selection dialog box. A File Chooser will appear, which allows to select a name and location for the new project. 
The layout of the File Chooser depends on the used operating system but a typical layout is shown in FIGURE 3. The Directories list allows to browse through the available directory structure to the project directory. Then the Files list can be used to select the file name. In the case a file needs to be opened an existing file should be selected in the list of available files. In the case a new file needs to be created the user can type a new file name with the appropriate extension. In the List Files of Type bar the default file type is set by default to list only the files of the required type.


FIGURE 3 Typical layout of a File Chooser window 
In the Directories text box on Linux a name can be typed or the browser under the text box may be used to browse to an appropriate location. On Windows, the browser under the Save in text box is used to browse to an appropriate location. 
Once the location is defined type on Linux and on Windows a new name in the text box under respectively Files and File name, for example "project.iec" (it is not strictly necessary to add the extension ".iec", FINE™/Turbo will automatically create a project file with this extension).
White spaces should be avoided in the file name.
Click on OK (on Linux) or Save (on Windows) to accept the selected name and location of the new project.
A new directory is automatically created with the chosen name as illustrated in figure below indicated by point (1). All the files related to the project are stored in this new directory. The most important of them is the project file with the extension ".iec", which contains all the project settings (FIGURE 4 - (2)). Inside the project directory FINE™/Turbo creates automatically a subdirectory "_mesh" (FIGURE 4 -  (3)).


FIGURE 4 Directories managed through FINE™/Turbo
A Grid File Selection window (FIGURE 5) appears to assign a grid to the new project. There are three possibilities:

To open an existing grid click on Open Grid File (FIGURE 5 - 1.1). A File Chooser allows to browse to the grid file with extension ".igg". Select the grid file and press OK to accept the selected mesh. A window appears to define the Grid Units and Project Configuration (FIGURE 5 - 1.2). Set the parameters in this window as described in Grid Units & Project Configuration and click OK to accept.
If the grid to be used in the project is not yet created use Create Grid File to start IGG™ (FIGURE 5 - 2.1). Create a mesh in IGG™ or AutoGrid™ (Modules/AutoGrid5) and save the mesh in the directory "_mesh" of the new project. Click on Modules/Fine Turbo and confirm "yes" to return to the FINE™/Turbo project. Select the created mesh with the pull down menu (FIGURE 5 - 2.2) in the icon bar. A window will appear to define the Grid Units and Project Configuration. Set the parameters in this window  and click OK to accept.


FIGURE 5 Grid File Selection window
When using the AutoBlade™ or FINE™/Design 3D modules it is not necessary to select a grid. In that case close the Grid File Selection window (FIGURE 5 - 3) and select Modules/AutoBlade or Modules/Design 3D menu to use these modules.

Main Window


FIGURE 4 Main window of TabGen
In the left part of the main window, the current mixture information is displayed: Mixture Fluids, Mixture Values and Applicability Ranges. Just at the bottom of this information part, the Edit Mixture button allows the user to go back to edit the mixture.
The central part of the main window is dedicated to the list of tables available. Several actions can be applied on all the available thermodynamic tables using the bottom buttons. The actions are applied for the selected table(s) within the list. The actions are adapted (enabled/disabled/transformed) according to the current selection(s) of the table(s) as well as the table's status. 
The central part is subdivided in three columns: Independent Variable (or table type), Dependent Variables, Status:

Independent Variables are fixed and cannot be changed. 
Dependent Variables are editable (see edit tables section below). 
Status reflects the current status of the table. 

The status of the table can be:

EMPTY if nothing is generated on disk
GENERATED if generated on disk according to the specified parameters
MISMATCH if the current definition of the table does not correspond to the table generated on disk
PT TABLE NOT AVAILABLE if the table PT is not generated. Any table cannot be generated unless the PT table is GENERATED since all 2D Tables depends on the PT table. Thus, if the PT table is not generated, all other 2D Tables are not available for generation (but available for editing and clearing).

If the saturation table is not generated or mismatched when the user selects to generate the PT table, the saturation table will be generated automatically before starting the PT table generation.
In the right part of the main window, the PT ranges which are defined by default based on the mixture applicability ranges is displayed. The user is allowed to define the Pressure-Temperature ranges for the generation of the tables.
The user can in principle use the recommended range or a more restricted one (to have a finer grid in the range it will be really used). However, the user will NOT be allowed to go beyond the applicability range.
Edit Table
When selecting one non-generated table, the user is able to edit its definition by clicking on the Edit button. It will open a new window related to the type of the table.
Edit 1D Saturation Table
For 1D Table there is no dependent variables selection. When generating it, all dependent variables are selected: Temperature (T), Density_liq (Dl), Density_vap (Dv), Enthalpy_liq (Hl), Enthalpy_vap (Hv), Entropy_liq (Sl), Entropy_vap (Sv), Energy_liq (El), Energy_vap (Ev).
Linear or Cubic interpolation types can be chosen. 					


FIGURE 5 Edit 1D saturation table
Edit PT Table
The user is able to select dependent variables for this table. Temperature and pressure dependent variables are disabled because they are already independent ones. Bilinear or bicubic interpolation type can be chosen. 
To go to the expert mode the user needs to click on the Expert button.
In the Pressure-Temperature tables, a physical discontinuity exists since the saturation is a single line. And therefore, a sudden jump physically exists from the liquid to the gas phase. In order to avoid a non-physical interpolation between the two states, a preferential phase can be used with the following possibilities: 

NONE
GAS
LIQUID

In the Independent variables section, the user can select the scale type of the first and second independent variable directions. The scale can be either linear or logarithmic. The user can also specify the number of grid points in each independent variable direction. a default value 101x101 is given.
In the clustering section, The type of clustering in the first and second independent variable direction can be set. Different grid clustering options are available:

none
at the beginning
at the beginning with a small extension
at the end
at the end with a small extension



FIGURE 6 Edit PT table
Edit 2D Tables
In the normal mode the edit table 2D window is the same as the PT table edition.
In the expert mode, the user can accept the ranges automatically defined from the PT ranges in the main window or define them by deactivating the option Obtain from PT. It activates the ranges below and the user is free to impose their own ranges for independent values.


FIGURE 7 Edit 2D tables
Generate Tables
To start a generation process for one or several selected tables, the user clicks on the Generate Tables button. If the generation action is not allowed for at least one of the selected tables, the Generate Tables button is disabled. The same rule is applied for the other action buttons. If there are more than one selected tables and the generation is allowed for all of them, clicking on the button Generate Tables will open a submenu just below the button where the user can choose between sequential generation or parallel generation of these tables. 
If several tables are selected, launching sequential generation disables the Generate Tables button for any other tables till the end of this generation, while parallel generation leaves the possibility to generate tables which are not generated at the moment.
If only one table is selected, clicking on the button Generate Tables will automatically launch this table generation like a parallel one.
In the case of parallel generation the tasks are really independent, so, they will share the RAM memory and other resources (and the generation process for complex mixtures will require a lot of resources).
If the user selection includes the PT table and a parallel generation is started, then, first of all, the PT table will be generated sequentially and afterwards all selected tables will be generated in parallel. 
During the generation process in the status column the progress bar appears to show the generation progress for the corresponding table. The user is able to stop the generation by clicking on the Stop button. In the case of sequential generation it will stop all the current generation processes. In the case of parallel generation, it will stop the generation only for the selected table(s). 
When generating a table the user can edit neither the current mixture nor the PT ranges. The user can not create new mixture or load another mixture too (all these fields are disabled).
Stop
The user can click on the Stop button to stop the generation of the tables. 
Clear Tables
The button Clear Tables is used to remove the selected table/tables that have been generated in the list.
Mismatch Status / Fix
MISMATCH status for the table appears when its definition inside the interface differs from the generated and saved on disk definition. The table acquires the MISMATCH status when the definition (Edit Table button) of the generated table is changed.
Even with the MISMATCH status, the tables can be regenerated with new definitions (the previous tables are then lost). 
The user can also select the MISMATCH table and click on Fix button. In this case the table definition is restored based on the table saved on disk. The Fix button works for multi-selection if all the selected tables are presenting a MISMATCH status.
Visualization


FIGURE 8 Visualization of the selected table
If the single selected table is generated, the Visualize button is activated and allows to plot the 3D surface corresponding to the selected generated table.
In the bottom part of the window, the view can be customized thanks to the following items:

dependent variable surface to visualize
logarithmic scales for any axis
saturation lines
colormap
viewing buttons

In order to rotate the plot, press the mouse left button on the 3D scene and move the mouse while it is pressed. Zoom can be performed using the mouse wheel. Translation of the surface inside the view plane can be made by analogy to rotation holding <Ctrl> button.
It is also possible to print the current view by pressing the Export TIFF button.

Mesh properties

link_mesh_file(mesh_filename, use_config)
Link a mesh to the project.
If use_config is set to 0, mesh configuration is not used.
If use_config is set to 1, mesh configuration is used. Applicable only for meshes generated by AutoGrid5™.
get_mesh_file()
Return the full pathname of the mesh.
get_unit_ratio()
Return the mesh unit ratio.
set_unit_ratio(ratio)
Set the mesh unit ratio. The parameter 'ratio' can be any real. The following constants can be used as 'ratio':
METER                 (ratio=1.0)
CENTIMETER     (ratio=0.01)
MILLIMETER      (ratio=0.001)
INCH                     (ratio=0.0254)
Example:
set_unit_ratio(MILLIMETER)
view_mesh()
Visualize the mesh in GUI, not available in batch mode.
unload_mesh()
Unload mesh from computer memory.

Block properties

get_nb_blocks()
Return the number of blocks.
get_block_names()
Return the names of all blocks.
get_block_name( index )
Return the name of the block, specified by its global index.
get_block_old_name( index )
Return the old name of the block, specified by its global index. (For CFView conversion syntax)
get_block_imax( index )
Return the IMAX of the block, specified by its global index.
get_block_jmax( index )
Return the JMAX of the block, specified by its global index.
get_block_kmax( index )
Return the KMAX of the block, specified by its global index.


Turbomachinery Configuration
Rows definition:

get_nb_rows()
Return the number of rows.
get_row( value )
Return the row from value. The argument value is the name of the row, or its index.
The row definition is stored in an object of type "Row".
Blades definition:
get_nb_blades()
Return the total number of blades.
get_blade( value )
Return the blade from value. The argument value is the name of the blade, or its index.
The blade definition is stored in an object of type "Blade".

ANSYS


The FINE™/Turbo environment provides the user with a specific ANSYS output. The objective is to export results of the CFD computation on solid surfaces (nodes and elements) into ANSYS as a boundary condition for the finite element model. This approach is called FEM loading method for loading the CFD results on a Finite Element Model. The transferred results on the interface fluid-structure can be the pressure field for a structural analysis and the temperature field or the heat fluxes for a thermal analysis in the structure. The transferred pressure field can comprise steady static pressure acting on the solid surface or harmonic blade loading, which is specially interesting for fluid-structure interaction analyses.
The FEM approach needs to have the finite element mesh of ANSYS. If this mesh does not exist before the CFD computation, it is impossible to create directly a file that can be imported in ANSYS to apply the suitable boundary condition. Consequently the best way to manage the interface between FINE™/Turbo and ANSYS can be a new post-processing tool. The post-processing tool is needed with the specification of the ANSYS mesh, the common surfaces where the data must be interpolated and the type of boundary condition on each surface. The transfer will be carried out through the ANSYS file saved with the command CDWRITE ("project_ANSYS.cdb") in ANSYS. This file will be modified and read again in ANSYS to impose the CFD results as boundary conditions (see FIGURE 11).


FIGURE 10 Data transfer of CFD results into the ANSYS project

Characteristic & Reference Values
Reynolds Number Related Information
The user has to specify some characteristic values (length, velocity and density). These values are used to calculate the Reynolds Number (only plotted when the kinematic viscosity is constant) that provides a useful information to choose the suitable model. These characteristic values can be used for other purposes as well.


The characteristic length is used: 

in the outlet boundary condition for which the mass flow is imposed with pressure adaptation when the expert parameter MASPAO < 2,
in the computation of CP1 and CP3 for cylindrical cases.
in the transition model, to set the free stream turbulent intensity.
The characteristic velocity is used:
in the preconditioning method to compute the parameter β,
in the computation of the solid data Cf (normalized by ).
The characteristic velocity should be set to the highest value in the flow domain.
The characteristic density is used:
 in the Boussinesq approximation for incompressible fluid,
 in the computation of the solid data Cf (normalized by ),
in the evaluation of the Reynolds number only when the dynamic viscosity of the fluid is specified in the Sutherland law on the Fluid Model page. 

Reference Values


The reference values have been introduced for preconditioning, to define a gauge pressure and a gauge total energy. 
A value of Reference temperature Tref of the order of magnitude of the expected temperature field will reduce the machine round-off errors influence on the temperature field.
The value of Reference pressure Pref fixes the absolute level of the pressure in the field. This value is used in the equation of state for a compressible fluid and in the second order artificial dissipation term. A value of Pref close to the real pressure level is therefore recommended.
These reference values also have some additional uses which are described hereafter:

in the Boussinesq approximation for incompressible fluid,
in the outlet boundary condition for which the mass flow is imposed with pressure adaptation  when the expert parameter MASPAO < 2,
in the definition of the heat transfer coefficient when the expert parameter HTCDEF is set to 2.

First Step: Choosing a Turbulence Model
A turbulence model is chosen based on the specific application. TABLE 1 states the most appropriate turbulence models to use for different types of flows. Although these are the "most appropriate" this does not mean that certain turbulence models cannot be used for the flow types listed, but just that they are "less appropriate".

According to the method accounting for viscous effects close to the wall, the turbulence models can be divided into two types: high Reynolds number turbulence models and low Reynolds number turbulence models. Please note that here "high Reynolds number" and "low Reynolds number" refer to the local turbulent Reynolds number  formed by the turbulent ﬂuctuation , turbulent length scale  and kinematic viscosity ν. The high Reynolds number turbulence models assume that the ﬂow near the wall behaves like a fully developed turbulent boundary layer and prescribe boundary conditions by employing wall functions. The viscous sublayer will not be resolved. In FINE™/Turbo, both standard wall function and extended wall function are available, see the theory guide for the detailed information. The low Reynolds number turbulence models resolve the entire boundary layer, including the viscous sublayer where the viscous diffusion is much larger that the turbulent one. Thus, sufficiently fine grid should be used inside the boundary layer so that the sharp gradients can be resolved.
TABLE 1 Recommended turbulence models for different flow types






 

High-Re


Low-Re






Turbulence Models


Spalart-Allmaras (Extended Wall Function);
SARC (Extended Wall Function);
k-ε  (Extended wall function);
k-ε  (Standard wall function);
SST (Extended wall function)
EARSM (Extended wall function);


Baldwin-Lomax;
Spalart-Allmaras;
Spalart-Allmaras (Extended Wall Function);
SARC;
SARC (Extended Wall Function);
k-ε  (Extended wall function);
k-ε  (Low Re Yang-Shih);
k-ε  (Low Re Chien);
k-ε  (Low Re Launder-Sharma);
Shear Stress Transport (SST);
SST (Extended wall function);
EARSM;
EARSM (Extended wall function);
k-ω (Wilcox);
v²-f (code friendly)




Most Appropriate Flows


Quasi-2D;
Weak pressure gradient;
Quick design-cycle calculations


3D;
Strong pressure gradient;
Moderate curvature;
Separating flows




Three main kinds of turbulence models exist:

algebraic models (e.g. Baldwin-Lomax),
one-equation models (e.g. Spalart-Allmaras),
two (four)-equation models (k-ε, k-ω and v²-f).

When quick turbulence calculations are required, for example, in design-cycle analysis, it is recommended that the Baldwin-Lomax model is used due to its high numerical stability and low computational expense. To simulate more precisely the turbulent quantities with also a good rate of convergence the Spalart-Allmaras model should be preferred.
Another model often used in design is the "standard" k-ε  model. This model employs an empirically based logarithmic function to represent the near-wall physics and requires a lower grid resolution in this region as a result. One drawback of this treatment is that the logarithmic function does not apply for separated flows, although the NUMECA extended wall function will still work. If it is expected that a significant amount of separation will have to be predicted, one of the low-Reynolds number turbulence models would be more appropriate. All of the listed turbulence models employ constant turbulent Prandtl numbers which is somewhat of a restriction when performing heat transfer calculations. However, experience has shown quite successful prediction of heat transfer coefficients when using low Reynolds models.
The Shear Stress Transport (SST) k-ω turbulence model is another most utilized two-equation model. This model, which combines the advantages of the Wilcox k-ω model and the k-ε  model, has higher accuracy in the separation flow predictions. The user is recommended to use the SST k-ω model in predicting the onset and the amount of separations under adverse pressure gradient conditions.
The EARSM (Explicit Algebraic Reynolds Stress Model) model is a non linear eddy viscosity 2-equation model. EARSM is much less demanding than RSM from the computational standpoint and, at the same time, is capable of reproducing some important features of turbulence (e.g. its anisotropy in the normal stresses), which are beyond the capabilities of linear eddy viscosity turbulence models. The user is recommended to use the EARSM model when strong anisotropy exists in the computational domain.
The v²-f turbulence model was developed to eliminate the need to the damping functions that used by the low-Reynolds k-ε  turbulence models. Through several years of fundamental research, v²-f turbulence model has been proven to have better behavior in predicting wall induced phenomena such as heat transfer and flow separation than the other low-Reynolds turbulence models. The user is suggested to use this model in heat transfer applications.
The v²-f turbulence model has not been extended to some specific modules: Rotor/Stator interfaces, Full Non-Matching connections and Cooling/Bleed module.

Limitations
The task manager have some limitations due to the current PVM and MPI libraries:

The remote copy works only if there is enough disk space on the remote machine. Currently, no check is performed to identify the available disk space and the flow solver crashes with "undifined reason".
Parallel computation with distributed memory are only available on homogenous Linux/Windows platforms.
When a user launches FINE™/Turbo on different machines, the connection between these machines is not allowed.
The directory installing FINE™/Turbo must be the same in order to be able to run distributed memory parallel computation with OpenMPI.

Task Manager


Using the Solver menu in FINE™/Turbo, computations can be started, stopped or killed. For basic task management these menu items are sufficient.
The Task Manager provides more advanced features for the management of (multiple) tasks. It allows to manage tasks on different machines on a network, to define parallel computations or to delay tasks to a given date and time.
Before using the Task Manager for the first time it is important to read the next section first. This section provides important information for getting started with the Task Manager. Read this section carefully to fully benefit of the capabilities of the Task Manager.
From FINE™/Turbo the Task Manager can be accessed through the Modules/Task Manager menu item.
In The Task Manager Interface section the Task Manager interface is described in detail including a description of all capabilities. The current limitations of the Task Manager are listed in the Limitations section.
To manage tasks through the use of scripts is also possible and has the benefit that it is not necessary to stay logged in on the machine on which the tasks are launched. See Task Management in Batch for more detail on the scripts to use to launch NUMECA software.

Convergence History

PVM Daemons
The Task Manager is based on the PVM library. It allows FINE™/Turbo to control processes and communication between processes on all the machines available by the user. PVM works with a virtual machine managed through a pvm daemon. In this section the way PVM daemons are working and its limitations under Windows are described.
What PVM Daemons Do
If a user starts the FINE™/Turbo interface on a given computer where no PVM daemon is running, FINE™/Turbo will start the process pvmd on this machine that becomes the virtual machine server for the user. When adding a host in the Task Manager (on the Hosts definition page) a pvmd is started on the remote computer that is added to the virtual machine. If after that the user logs on the second computer and starts the FINE™/Turbo interface this second computer belongs also to the virtual machine whose server is the first pvmd started.
If after that the user logs on a third computer on which no pvmd is running and starts the FINE™/Turbo interface, FINE™/Turbo will start a pvmd that becomes the server of a new virtual machine. When trying to add a host belonging the first virtual machine (containing the two first computers), a warning message will be shown that it is not possible to connect to the virtual machine because a pvmd is already running.
If the user wants to have the three computers in the same virtual machine, one of the virtual machines must be shut down (on the Hosts definition page) and add the corresponding computers from the second one.
Limitation under Windows
On windows only one pvmd can run and hence, only one single user can connect to the virtual machine. If another user wants to use the NUMECA software on the PC as server (FINE™/Turbo) or as client (EuranusTurbo), the first one needs to shut down the pvm daemons on this machine. To shut down go to the Hosts definition page and click on Shutdown button. This will close the interface and it will remove all the pvm daemons on the machine. Remove the files pvml.<userID> and pvmd.<userID> from the directory defined by the PVM_TMP (by default C:\tmp).
On Windows Server system, it is possible to run multiple parallel computations by different users at the same time making use of task manager. For more information, please contact with your local sales and support office.

Launch TabGen in Batch Mode
In order to execute the table generation in batch mode, the XML project file should exist before. One or several tables can be generated in one execution depending on the arguments that are given to the execution file. The keywords of the different table types are as follows:

SAT : saturation table. The saturation pressure is the independent variable
PT : tables that have pressure-temperature as independent variables (e.g. EPT.atab)
	HP : tables that have enthalpy-pressure as independent variables (e.g. THP.atab)
	ER : tables that have energy-density as independent variables (e.g. TER.atab)
	SP: tables that have entropy-pressure as independent variables (e.g. HSP.atab)
	HS : tables that have enthalpy-entropy as independent variables (e.g. THS.atab)

Then, the command to generate the tables is:
On Linux:
   tabgen  <XML File> <List of keywords of the tables types separated by spaces>
On Windows:
   Installation path\bin\tabgen.exe <XML File> <List of keywords of the tables types separated by spaces>
Example: tabgen r114.xml SAT PT HP ER SP
In order to remove the tables, the similar command with the keyword <clear> at the end should be typed.
Example: tabgen r114.xml SAT PT HP ER SP clear
It should be noticed that the generation of HP, ER SP and HS requires the previous generation of the PT table. Actually, in the generation of the PT tables, a file containing the ranges of the variables is written. This file is called "ranges.dat" and contains the maximum and minimum values of temperature, pressure, enthalpy, energy, entropy and density.

Cavitation Model
Cavitation occurs when in a liquid flow, the pressure falls below its saturation pressure, and as a consequence, gas filled or gas/vapor filled cavities are formed. This phenomenon is observed in applications such as pumps, nozzles, injectors, propellers and impellers. Cavitation is, in many cases, an undesirable occurrence since it can produce structural damage as soon as the bubbles implode, and can also cause instabilities, a loss in efficiency and an increase of the noise level.

The Cavitation model in FINE™/Turbo allows the user to simulate cavitating flows by using incompressible liquid. When using incompressible liquid to model cavitating flows, the cavitation model is based on the barotropic state law which describes the density change when the pressure falls below the liquid saturation pressure. Barotropic means that the density depends only on the pressure. Both pure phases (liquid and gas) are considered incompressible. The barotropic law is used to describe the density variation in function of pressure from the liquid density to the gas density. Thermo-sensitive effects will NOT be taken into account when using the barotropic law.
In the following sections, the settings and guidelines performing a cavitation simulation will be described.
Cavitation Model in the FINE™/Turbo GUI
The Cavitation Model can be accessed in the Optional Models / Cavitation page. 
Before activating the cavitation model, the user should define/select an incompressible fluid in the Configuration / Fluid Model page. The fluid properties of the selected fluid will be used by the cavitation model.
After activating the button Cavitation model, the parameters linked to the cavitation model can be accessed, as shown in FIGURE 19.
Note, the cavitation model is available only in case of incompressible fluid.


FIGURE 19 Interface of cavitation model
In the Liquid Properties section, the properties of the selected fluid in the Configuration / Fluid Model page are listed. If the interface cannot find the definition of a fluid property, the item becomes accessible and the user can specify its value.
In the Vapor Properties section, the user should specify all the properties of the vapor phase.
In the bottom of the page, the relative saturation pressure (PVAPS) and also the Barotropic law slope coefficient (AMIN) should be defined. The Barotropic law slope coefficient (AMIN) is related to the maximum slope of the barotropic law and defined by: 



where cmin is the celerity of sound in the homogeneous liquid-vapor mixture.
The convergence rate can be quite sensitive to the Barotropic law slope coefficient (AMIN). Low AMIN value implies large derivative of density with pressure. For values lower than 20, the solver might have convergence difficulties. 
After changing the values of the relative saturation pressure (PVAPS) or the Barotropic law slope coefficient (AMIN), the Barotropic law will be plotted in the figure.
The settings and guidelines of the other parameters in the FINE™/Turbo GUI are as follows:
Fluid model


Incompressible liquid MUST be used in the Configuration / Fluid Model page in order to use the cavitation model with the barotropic law.
Boundary conditions


It has been observed that the following combinations of boundary conditions are more robust when the cavitation model with the barotropic law is activated:

Static quantities or mass flow imposed at the inlets (velocity, temperature and turbulence variables) 
Static pressure is imposed at the outlet. Imposing the static pressure at the outlet actually means imposing the cavitation number () at the outlet. However, for most of the test cases, the known parameter of the operating conditions is the cavitation number () at the inlet. Then, the idea is to modify the static pressure at the outlet until we obtain the desired cavitation number at the inlet. 

Initial Solution


When the cavitation model with the barotropic law is activated, the cavitating flow field can be initialized by Constant values or From file.
When the cavitating flow field is initialized by Constant values, it is recommended to use an initial pressure value significantly larger than the saturation pressure. This enforces the computation to start with a pure liquid flow solution.
In some cases, the cavitation simulation initialized by Constant values may have convergence issues. In this case, it is recommended to start the cavitating flow simulation from a converged incompressible simulation without cavitation.
Numerical parameters


When the cavitation model with the barotropic law is activated, the CFL number is reduced to 1.
The Multigrid method is compatible with the cavitation model. Three multigrid levels can in general be used. However, in case of convergence difficulties, the user might consider reducing the number of grid levels.
Steering


In case that the cavitation model is activated, the user can select and monitor from the Computation Steering / Convergence History page the vapor volume.



with 

 the cavitation vapor volume,

 the cell volume,

 the volume fraction with the density (), the liquid density () and the vapor density ().
 
Experts Parameters
The following parameter related to the initialization of the cavitation:
ICAV (integer):

Start a computation from scratch: ICAV will correspond to the number of iterations done in non-cavitating mode to initialize the cavitating simulation coming after that.
Start a computation from a converged non-cavitating solution: ICAV can be set to one if the convergence history is reset, then the cavitating module will be on from the first iteration.
Restart a computation from a cavitating solution: if ICAV is set to 1 and the convergence history is reset, then the cavitation will not be initialized. This is useful when changing the vapor pressure. If ICAV is set to 0, no initialization will occur. This is useful when the vapor pressure is not changed.

The following parameter related to the numerical scheme:
VAPLAX (real):	Under relaxation coefficient for pressure (by default 1.0). This parameter will be used when the vapor density  and/or static pressure drops during run. When having convergence issues, the value of this parameter may be reduced, for example, 0.5.

Global Parameters
The user can complete the Outputs/ANSYS pages after the file "project_ANSYS.cdb" is ready (refer to previous section for more details).
Firstly, the user needs to specify under the tab Global Parameters in Boundary Conditions (FIGURE 11 - (1)) the coded constant value used in the file "project_ANSYS.cdb". The default coded values are given in the TABLE 3 for the different types of boundary condition. Furthermore, the user has to specify the required units of the data for each type of boundary condition. The units will be specified next to the coded value.
Then, the user needs to load the file "project_ANSYS.cdb" (FIGURE 11 - (2)) created in ANSYS  in Input File.
The data transfer between the CFD mesh and the structural mesh requires matching common boundaries. The following settings must be set correctly in order to have matching common boundaries.

Units: The units used in the ANSYS mesh must be specified in ANSYS Mesh Units. The conversion Factor will be deduced automatically (FIGURE 11 - (3)).
Reference system: The user must specify the used coordinate systems (FIGURE 11 - (3)). For example, the original geometry can be rotated for the CFD model so that the axial direction corresponds to the Z axis. The necessary conversion of coordinates will be done through the specification of the position of the coordinate center of the ANSYS mesh in the coordinate system of the CFD mesh and the specification of the location of three common points in both meshes in Reference System.



FIGURE 11 General Parameters of ANSYS outputs
Note that these points cannot be located on a line or a plane including the zero point (not linearly dependent).
The coordinates are specified in their respective units.
The origin of the ANSYS mesh must be at (0,0,0).
Finally in Output File, the user specifies the new output file "project_CFD.cdb" (FIGURE 11 - (4)) containing the transferred CFD results on the solid boundaries coded in ANSYS. 
In order to create the new output file, the user has to complete the page under the Surface Selection tab before clicking on the Create Output File button (FIGURE 11 - (5)).

Hosts Definition


The Hosts definition page shows the host name, the operating system, the connection status and the queuing system supported by FINE™/Turbo if any. For an explanation of the virtual machine see PVM Daemons. If the connection is not OK, it means that the corresponding computer is not in the virtual machine anymore. This may occur for example if the computer has been rebooted.


FIGURE 1 Hosts definition page
Add Host
When the user clicks on the Add Host... button, the interface asks for a host name and a login name. The login name is optional. It is needed only if the login of the user on the local and remote host are different.
When the user accepts (Accept), the host name appears in the host list, with type of operating system and its connection status. At this point, the host is in the virtual machine, and is ready to receive a task.


FIGURE 2 Add a Host
If the connection can not be established, check for more detail in PVM Daemons, Machine Connections and Remote Copy Features on Linux.
The reason that the Task Manager freezes can be because FINE™/Turbo has been launched in background using an additional & symbol behind the command line. You can unfreeze the Task Manager with the <fg> command.
It is impossible to add a host on Fedora 3 and Windows Vista operating systems.
Remove Host
When the user clicks on the Remove Host button, the selected host is removed from the list, and is not in the virtual machine anymore. This operation is not allowed when a task is running on the host, to be removed, or when the selected host is the local one.
Shutdown
When the user clicks on the Shutdown button, all hosts in the virtual machine are removed. FINE™/Turbo exits and the virtual machine halts. All running tasks are killed. This option is useful when the user wants to change the machine on which FINE™/Turbo is running. See PVM Daemons for more detail on virtual machines and when to change this.

Units Systems Resource File: 'euranus.uni'

This file contains the conversion factors for all physical quantities used in FINE™/Turbo for all possible combinations between existing systems of units. To add a new units system the user should add the corresponding conversion factors following the existing format shown in the extract below:
...
# new units can be added by respecting the format
#  for UNITS NAMES AND CONVERSION FACTORS
# NOTE: VALUE_UNITS_NAME value should NOT begin with capital letter !
# -----------------------------------------------------------------------
# -----------------------------------------------------------------------
#   these are the names of the systems 
#    used to change all the quantities at the same time
DEFAULT_SYSTEM SI
DEFAULT_SYSTEM Default
DEFAULT_SYSTEM British 1
DEFAULT_SYSTEM British 2
# -----------------------------------------------------------------------
# -----------------------------------------------------------------------
# this is the system that will be taken as default 
#  when creating a new project
NEW_PROJECT_DEFAULT_SYSTEM Default
# -----------------------------------------------------------------------
# ---------------------  UNITS NAMES AND CONVERSION FACTORS ---------------
NI_BEGIN UNITS_RECORD
NUMBER_OF_SYSTEMS 4
VALUE_UNITS_NAME length
UNITS_NAME 1 [m]
CONV_FACTOR 1 2 1.
CONV_FACTOR 1 3 3.280839895
CONV_FACTOR 1 4 39.37007874
UNITS_NAME 2 [m]
CONV_FACTOR 2 1 1.
CONV_FACTOR 2 3 3.280839895
CONV_FACTOR 2 4 39.37007874
UNITS_NAME 3 [ft]
CONV_FACTOR 3 1 0.3048
CONV_FACTOR 3 2 0.3048
CONV_FACTOR 3 4 12.
UNITS_NAME 4 [in]
CONV_FACTOR 4 1 0.0254
CONV_FACTOR 4 2 0.0254
CONV_FACTOR 4 3 0.08333333333
NI_END UNITS_RECORD
NI_BEGIN UNITS_RECORD
NUMBER_OF_SYSTEMS 4
VALUE_UNITS_NAME mass
UNITS_NAME 1 [kg]
CONV_FACTOR 1 2 1.
CONV_FACTOR 1 3 0.06852176586
CONV_FACTOR 1 4 0.005710147155
UNITS_NAME 2 [kg]
CONV_FACTOR 2 1 1.
CONV_FACTOR 2 3 0.06852176586
CONV_FACTOR 2 4 0.005710147155
UNITS_NAME 3 [lbf s2/ft]
CONV_FACTOR 3 1 14.59390294
CONV_FACTOR 3 2 14.59390294
CONV_FACTOR 3 4 0.08333333333
UNITS_NAME 4 [lbf s2/in]
CONV_FACTOR 4 1 175.1268352
CONV_FACTOR 4 2 175.1268352
CONV_FACTOR 4 3 12.
NI_END UNITS_RECORD
......
If, for example, a new system is added on the fifth position, the user should supply the factors to convert the physical quantities from all the existing systems (1, 2, 3, and 4) to the fifth, and back from the fifth to all the others as shown below:
NI_BEGIN UNITS_RECORD
NUMBER_OF_SYSTEMS 5
VALUE_UNITS_NAME length
UNITS_NAME 1 [m]
CONV_FACTOR 1 2 1.
CONV_FACTOR 1 3 3.280839895
CONV_FACTOR 1 4 39.37007874
CONV_FACTOR 1 5 new_factor_value_from_1_to_5
UNITS_NAME 2 [m]
CONV_FACTOR 2 1 1.
CONV_FACTOR 2 3 3.280839895
CONV_FACTOR 2 4 39.37007874
CONV_FACTOR 2 5 new_factor_value_from_2_to_5
UNITS_NAME 3 [ft]
CONV_FACTOR 3 1 0.3048
CONV_FACTOR 3 2 0.3048
CONV_FACTOR 3 4 12.
CONV_FACTOR 3 5 new_factor_value_from_3_to_5
UNITS_NAME 4 [in]
CONV_FACTOR 4 1 0.0254
CONV_FACTOR 4 2 0.0254
CONV_FACTOR 4 3 0.08333333333
CONV_FACTOR 4 5 new_factor_value_from_4_to_5
UNITS_NAME 5 [new_units_name]
CONV_FACTOR 5 1 new_factor_value_from_5_to_1
CONV_FACTOR 5 2 new_factor_value_from_5_to_2
CONV_FACTOR 5 3 new_factor_value_from_5_to_3
CONV_FACTOR 5 4 new_factor_value_from_5_to_4
NI_END UNITS_RECORD
The default units system can be changed by modifying the line
NEW_PROJECT_DEFAULT_SYSTEM Default
with the name of the desired system.
The first (SI) and the second (default) systems are identical except for the rotational speed units (RPM vs. radian).

InitialSolution
This class InitialSolution contains following methods to access / modify the initial solution settings:

get_group_name ()
Return the name of the group of blocks, to which this object is attached.
get_nb_blocks()
Return the number of blocks of the group to which this object is attached.
get_block_index( idx )
Return the index of the block, from its local index idx in the group.
get_block_names()
Return the list of blocks of the group.
get_mode()
Return the initial solution mode.
set_mode( mode )
Set the initial solution mode, which can be one of the following constants:
const : for CONSTANT_VALUES
file : for FROM_FILE

turbo : for FOR_TURBOMACHINERY
auto : for TECHNO_EFFECTS
through : for FROM_THROUGHFLOW

The following methods are available only in case of 'Constant' initial solution:

get_coord_system()
Return the coordinate system.
set_coord_system( cs )
Set the coordinate system. It can be cartesian or cylindrical.CARTESIAN_COORDSCYLINDRICAL_COORDS
get_pressure()
Return the initial pressure.
set_pressure( P )
Set the initial pressure.
get_temperature()
Return the initial temperature.
set_temperature( T )
Set the initial temperature.
get_velocity()
Return the initial velocity (Vector type).
set_velocity( v )
Set the initial velocity. v is a Vector which components are (vx,vy,vz) or (vr,vt,vz).
get_turbulent_computation_method()
Return the selected Turbulent Quantity as a number between 0 and 4.
set_turbulent_computation_method( method )
Set the  Turbulent Quantity as a number between 0 and 4.
get_turbulent_viscosity()
Return the initial value of the turbulent viscosity.
set_turbulent_viscosity( viscosity )
Set the initial value of the turbulent viscosity.
get_turbulent_viscosity_ratio()
Return the initial value of the turbulent viscosity ratio.
set_turbulent_viscosity_ratio( ratio )
Set the initial value of the turbulent viscosity ratio.
get_turbulent_intensity()
Return the initial value of the turbulent intensity.
set_turbulent_intensity( intensity )
Set the initial value of the turbulent intensity.
get_turbulent_length_scale()
Return the initial value of the turbulent length scale.
set_turbulent_length_scale( length )
Set the initial value of the turbulent length scale.
get_hydraulic_diameter()
Returnthe initial value of the hydraulic diameter.
set_hydraulic_diameter( diameter )
Set the initial value of the hydraulic diameter.
get_modified_turbulent_viscosity()
Return the initial value of the modified turbulent viscosity.
set_modified_turbulent_viscosity( modVisc )
Set the initial value of the modified turbulent viscosity.
get_k()
Return the initial value of k.
set_k( k )
Set the initial value of k .
get_epsilon()
Return the initial value of epsilon.
set_epsilon( epsilon )
Set the initial value of epsilon.
get_flow_direction()
Return the initial flow direction
set_flow_direction( dir )
Set the initial flow direction. dir can be 'None', 'I', 'J', 'K', 'Reverse I', 'Reverse J' or 'Reverse K'
get_velocity_fitting()
Return the initial velocity fitting.
set_velocity_fitting( val )
Set the initial velocity fitting. The value of val must be: 'W', or  'Vm'
get_pressure_field()
Return the initial pressure field.
set_pressure_field( val )
Set the initial pressure field. The value of val must be 'Constant', or  'Radial equilibrium with factor'
get_radial_equilibrium_factor()
Return the radial equilibrium factor.
set_radial_equilibrium_factor( val )
Set the radial equilibrium factor.

The following methods are available only in case of 'From File' initial solution:

get_restart_filename()
Return the filename of the computation for a restart.
set_restart_filename( filename )
Set the filename of the computation for a restart.

The following methods are available only in case of 'From Throughflow' initial solution:

get_throughflow_filename()
Return the data filename for an initial solution from throughflow.
set_throughflow_filename( filename )
Set the data filename for an initial solution from throughflow.

The following methods are available only in case of 'For Turbomachinery' initial solution. In the following methods, BCtype is the B.C type (example: "INLET"), and  BCGroupName is the name of the patch (or group of patches) on which the parameters apply.

get_turbo_patch_pressure_type( BCtype, BCGroupName )
Return the pressure type (0=constant, 1=radial equilibrium).
set_turbo_patch_pressure_type( BCtype, BCGroupName, value )
Set the the pressure type (0=constant, 1=radial equilibrium)
get_turbo_patch_pressure( BCtype, BCGroupName )
Return the constant pressure.
set_turbo_patch_pressure( BCtype, BCGroupName, value )
Set the the constant pressure.
get_turbo_patch_radius( BCtype, BCGroupName )
Return the radial equilibrium value.
set_turbo_patch_radius( BCtype, BCGroupName, value )
Set the the radial equilibrium value.
get_turbulent_computation_method()
Return the selected Turbulent Quantity as a number between 0 and 4.
set_turbulent_computation_method( method )
Set the  Turbulent Quantity as a number between 0 and 4.
get_turbulent_viscosity()
Return the initial value of the turbulent viscosity.
set_turbulent_viscosity( viscosity )
Set the initial value of the turbulent viscosity.
get_turbulent_viscosity_ratio()
Return the initial value of the turbulent viscosity ratio.
set_turbulent_viscosity_ratio( ratio )
Set the initial value of the turbulent viscosity ratio.
get_turbulent_intensity()
Return the initial value of the turbulent intensity.
set_turbulent_intensity( intensity )
Set the initial value of the turbulent intensity.
get_turbulent_length_scale()
Return the initial value of the turbulent length scale.
set_turbulent_length_scale( length )
Set the initial value of the turbulent length scale.
get_hydraulic_diameter()
Return the initial value of the hydraulic diameter.
set_hydraulic_diameter( diameter )
Set the initial value of the hydraulic diameter.
get_modified_turbulent_viscosity()
Return the initial value of the modified turbulent viscosity.
set_modified_turbulent_viscosity( modVisc )
Set the initial value of the modified turbulent viscosity.
get_k()
Return the initial value of k.
set_k( k )
Set the initial value of k.
get_epsilon()
Return the initial value of epsilon.
set_epsilon( epsilon )
Set the initial value of epsilon.

Passive Tracers


Selecting the Passive Tracer option in the Configuration / Flow Model page allows the user to introduce, into the computations, species that are passive with regards to the carrier fluid. This means that the carrier fluid ignores the tracer and is only defined by its own properties.



The passive tracers are not allowed to react with each other.
Boundary Conditions

There are currently two types of boundary conditions available in the FINE™/Turbo solver for passive tracers: inlet and external (far field).
The inlet condition is set through the specification of the species mass fractions  where  with ns, the total number of species. The external condition requires the same input data.
For passive tracers, species concentrations are entered and are independent from each other. There is no limitation on the sum of the concentrations.
Initial Solution
For each species, the initial value of the mass fraction at the initial stage is required. Initial conditions are uniform over the domain for each species.
For passive tracers, species concentrations are entered and are independent from each other. There is no limitation on the sum of the concentrations
Outputs
For each species, the FINE™/Turbo solver will compute automatically the species concentration for each tracer.

Fluid-Structure



Multi-physics problems, including Fluid-Structure Interaction (FSI), are becoming more important for industrial applications. FINE™/Turbo has integrated several modules, which allows the user to perform multi-physics simulations, including thermal and mechanical simulations.

Cooling/Bleed


The Cooling/Bleed model allows both the simulation of cooling flows injected through solid walls into the flow or bleed flows where mass flow leaves the main flow through solid wall.
The adopted technique makes use of additional sources of mass, momentum and energy located at given points or along given lines of the solid walls and does not require the meshing of the cooling flow injection channels. The objective of this model is not to describe the details of the cooling flow itself but rather to consider its effect on the main flow. The major hypothesis of the model is that the injection/bleed surface is smaller than the local cell surface.
A Cooling/Bleed hole cannot be located in an Euler wall.
In the next sections the following information is given on the Cooling/Bleed model:
Cooling/Bleed Model in the FINE™/Turbo GUI describes how to set up a project involving the Cooling/Bleed model under the FINE™/Turbo user environment.
Expert Parameters gives a summary of the available expert parameters related to cooling or bleed flow.
Cooling/Bleed Data File: '.cooling-holes' provides the format of the Cooling/Bleed input data file.

Harmonic Method

Row
This class contains the following methods to access the row configuration:

get_name()
Return the name of the row.
get_nb_blocks()
Return the number of blocks contained in the row.
get_block_name( index )
Return the name of the block, from the local index of the block group.
get_rotation_speed()
Return the rotation speed of the row.
get_nb_blades()
Return the number of blades of the row.
get_repetition()
Return the repetition.

Rotor/Stator Interfaces in the FINE™/Turbo GUI
The Rotor-Stator tab gives access to the definition of the rotor/stator interfaces as shown in FIGURE 3. This tab is only accessible when the mesh contains rotor/stator interfaces. Rotor/stator interfaces are defined in IGG™ as ROT boundary condition. Consult the IGG™ User Manual for more detailed information on how to define this boundary condition.
On the left, the list of patches is displayed which are defined as part of a rotor/stator interface in IGG™ (boundary condition type: ROT). It is possible to display only a limited amount of patches by using the Filter. Type in the text box the part of the name that is common to all patches to display and press <Enter>. All patches containing in the name the entered text will be displayed. Note that the filter is case insensitive.
If the mesh has been made with AutoGrid™, a default grouping is proposed. It is possible to group patches that have the same definition by selecting them in the list and clicking on the Group button. A text box will appear below this button which allows to enter a name for the group. The group will be displayed in red in the list of patches. Double click on the group name to see which patches are in the group. To select multiple patches select them while keeping the <Ctrl> key pressed. To remove the group simply select the group from the list and click on Ungroup. The patches in the selected group will be put back into the list of patches and the group name will be removed from the list.
In some special cases where the mesh is made by AutoGrid5™ (e.g. bypass configuration), the upstream and/or downstream patches can not be grouped automatically. In this case, the user has to pay attention to the rotor/stator interface definition to see if the mesh constraints are ensured.
Multiple rotor/stator interfaces can be treated in one single project. Each rotor/stator interface is indicated by an ID Number and each of them may contain an arbitrary number of Upstream and Downstream patches. For each patch in the list, the ID number of the corresponding rotor/stator interface has to be provided by the user. Also it should be specified whether the patch is located in the upstream or downstream side of the interface. It should be mentioned that no hypothesis is made on the direction of the flow through the interface, except when the transition module or the initial solution for turbomachinery or the stage-by-stage analysis is used. The purpose of the upstream and downstream denominations is only to establish the two groups of patches belonging to respectively the rotor and the stator side.


FIGURE 3 Rotor-Stator interface definition in steady mode
In addition to the ID number and the upstream/downstream side specifications the user has to select also:

the order of Extrapolation (zero or first order). Zero order extrapolation (default) is used in most cases and usually provides satisfactory results. First order extrapolation may be useful in case of important flow gradients in the direction normal to the interface together with a relatively coarse mesh.
one of the six available steady state techniques (for steady state applications only):

The type of several rotor-stator interfaces can be changed simultaneously by selecting one rotor-stator interface, hold the <Shift> button and left-click on the desired type of rotor-stator interface. All other settings, such as the ID Number, will be kept.

The Conservative Coupling by Pitchwise Rows approach is recommended due to its capability to provide an exact conservation of the convective fluxes of mass, momentum and energy through the interface. This approach adopts the same coupling procedure for all the nodes along the circumferential direction, even if the local flow direction is different from the averaged one. This technique offers the advantage of being able to guarantee a strict conservation of the convective fluxes of mass, momentum and energy through the interface. Moreover it shows to be very robust and is therefore used by default.
The Local Conservative Coupling approach is only recommended for the rotor/stator interface between an impeller and a volute. Experience has shown that in cases, where significant flow variations are observed in the circumferential direction (as for instance in the case of rotor-volute interactions), it is more stable to base the flux decomposition on the local flow direction as it is done in the Local Conservative Coupling technique. Small conservation errors can be observed with this technique, which is therefore only used for special configurations.
The Full Non Matching Mixing plane approach is respecting an exact conservation of the convective fluxes of mass, momentum and energy through the interface as the Conservative Coupling by Pitchwise Rows but has less constraints on the interface geometry. 
The Full Non Matching Frozen Rotor approach is considering the rotor/stator interface as a perfect connection and is neglecting the rotor movement in the connecting algorithm. In this approach, the periodicities between rotor stator must be equal.
The Non Reflecting 1D approach is based upon a characteristic analysis of the linearized Euler equations. The characteristic variables are imposed on each side of the rotor/stator interface. Such a treatment is recommended when wave reflection is observed at the interface, which can occur when the interface is close to the blade.
The Non Reflecting 2D approach is the extension of the Non Reflecting 1D approach. The Non Reflecting 2D approach is also based upon a characteristic analysis of the linearized Euler equations. The characteristic variables are imposed on each side of the rotor/stator interface. The Non Reflecting 2D approach will produce a better representation of the shock wave crossing a R/S interface.

When using the Conservative Coupling by Pitchwise Rows approach or the Local Conservative Coupling approach, the rotor/stator interface can not include regions where r=0. When using Full Non Matching Rotor/Stator interface, the rotor/stator interface can include regions where r=0, under the limitations listed as follows:

All zero-radius configurations that are not full-circle are assumed to have a patch corner at zero radius.
If the zero-radius configurations are full-circle and do not have a patch corner at zero radius, two additional limitations exist:
The slope of the rotor-stator meridional profile must not be zero at any point, and it must not change sign. In other words, it must be always possible to start from a point on the shroud, and march toward the axis of rotation by following a path with decreasing radius.




All the patches on each side of the interface must be connected at their corners with matching connections along the adjacent edges.



Rotor/Stator interfaces can be used to connect fluid blocks and solid blocks, in order to simulate the Conjugate Heat Transfer (CHT) between fluid and solid blocks at different rotation speeds. When the selected patch/group is fluid/solid Rotor/Stator interface, a note "Fluid/Solid Rotor-Stator interface" is displayed on GUI, and only Full Non Matching Mixing plane is available.


When using fluid-solid Rotor/Stator interfaces, the following limitations are applied:

Only compatible with Full Non Matching Rotor-Stator interface
Only compatible with steady simulation
Each side is composed of one type of block (fluid or solid).

Properties of Fluid Used in the Project

Every FINE™/Turbo project contains a fluid with the corresponding properties that are displayed in the interface.


 When a new project is created, the default fluid is a perfect gas, pre-defined by FINE™/Turbo. When an existing project is opened, the used fluid is defined by the properties as defined in the project file ".iec".
The first listed fluid property is the fluid type. Four fluid types are available:

perfect gas,
real gas,
incompressible gas or liquid,
condensable fluid.

For more details on each of these types, please see Chapter 2 in the theory guide. For the first three fluid types, the properties can be defined through the interface.  To add a condensable fluid to the list of fluids proposed by default, please use TabGen to generate the appropriate tables. 
To modify the properties of the fluid used, a fluid can be selected from the list of pre-defined fluids or a new fluid may be defined (where the new fluid is based on the current one).

ANSYS module

set_ANSYS_pressure_code( code )
Sets the Pressure Field identification code.
get_ANSYS_pressure_code()
Returns the Pressure Field identification code.
set_ANSYS_temperature_code( code )
Sets the Temperature Field identification code.
get_ANSYS_temperature_code()
Returns the Temperature Field identification code.
set_ANSYS_heat_transfer_coefficient_code( code )
Sets the Heat Transfer Coefficient identification code.
get_ANSYS_heat_transfer_coefficient_code()
Returns the Heat Transfer Coefficient identification code.
set_ANSYS_heat_flux_code( code )
Sets the Heat Flux identification code.
get_ANSYS_heat_flux_code()
Returns the Heat Flux identification code.
set_ANSYS_pressure_unit( unit )
Sets the Pressure Field units system. Conversion factor is computed internally.
unit =1: [Pa]        factor: 1.0
unit =3: [lbf/ft2]        factor: 47.88025898
unit =4: [psi]        factor: 6894.757293
get_ANSYS_pressure_unit()
Returns the Pressure Field units system and conversion factor.
set_ANSYS_temperature_unit( unit )
Sets the Temperature Field units system. Conversion factor is computed internally.
unit =1: [K]        factor: 1.0
unit =3: [R]        factor: 0.555555555
get_ANSYS_temperature_unit()
Returns the Temperature Field units system and conversion factor.
set_ANSYS_heat_transfer_coefficient_unit( unit )
Sets the Heat Transfer Coefficient units system. Conversion factor is computed internally.
unit =1: [W/(m2.K)]    factor: 1.0
unit =3: [lbf/(s.ft.R)]    factor: 26.269025
unit =4: [lbf/(s.in.R)]    factor: 315.2283
get_ANSYS_heat_transfer_coefficient_unit()
Returns the Heat Transfer Coefficient units system and conversion factor.
set_ANSYS_heat_flux_unit( unit )
Sets the Heat Flux units system. Conversion factor is computed internally.
unit =1: [W/m2]        factor: 1.0
unit =3: [lbf/(s.ft)]    factor: 14.59390294
unit =4: [lbf/(s.in)]    factor: 175.1268352
get_ANSYS_heat_flux_unit()
Returns the Heat Flux units system and conversion factor.
set_ANSYS_input_filename( filename )
Sets the ANSYS input file name. This filename is read to initialize the surface parameters.
get_ANSYS_input_filename()
Returns the ANSYS input file name.
set_ANSYS_output_filename( filename )
Sets the ANSYS output file name. This filename will be created afterwards by the solver.
get_ANSYS_output_filename()
Returns the ANSYS output file name.
set_ANSYS_grid_units( unit )
Sets the grid units.
unit =0: Millimeters
unit =1: Centimeters
unit =2: Meters
unit =3: Inches
unit =4: User-defined scale factor
get_ANSYS_grid_units()
Returns the grid units.
set_ANSYS_scale_factor( factor )
Sets  the scale factor. Used if User-defined scale factor is selected as ANSYS Mesh Units.
get_ANSYS_scale_factor()
Returns the scale factor. Used if User-defined scale factor is selected as ANSYS Mesh Units.
set_ANSYS_fluid_mesh_reference_system( orig, pnt1, pnt2, pnt3 )
Sets the Reference System : Fluid Mesh (Origin, Point 1, Point 2, Point 3).
get_ANSYS_fluid_mesh_reference_system()
Returns the Reference System : Fluid Mesh (Origin, Point 1, Point 2, Point 3).
set_ANSYS_solid_mesh_reference_system( orig, pnt1, pnt2, pnt3 )
Sets the Reference System : Structural Mesh (Origin, Point 1, Point 2, Point 3).
get_ANSYS_solid_mesh_reference_system()
Returns the Reference System : Structural Mesh (Origin, Point 1, Point 2, Point 3).
connect_ansys_solid_face_to_patch( *args )
Sets list of connected patches to a given ANSYS surface.
*args may be: sID,b,f,p with
sID: ANSYS surface id
b: block index
f: face index
p: patch index
The patch (b,f,p) is added to the patches connected to the ANSYS surface "sID".
clear_ansys_surfaces( sID )
Clears list of solid patches connected to ANSYS surface "sID".

get_ANSYS_connected_fluid_patch_nb_repet(surfID, patchID)
Returns the Number of repetitions of patch "patchID" connected to ANSYS surface "surfID".


set_ANSYS_connected_fluid_patch_nb_repet(surfID, patchID, nb_repet_)
Sets the Number of repetitions of patch "patchID" connected to ANSYS surface "surfID".

set_ANSYS_connected_fluid_patch_periodic_flag( surfID, patchID )
Sets the Periodicity:Rotation and Translation flag of patch "patchID" connected to ANSYS surface "surfID": 0:off/1:on.
get_ANSYS_connected_fluid_patch_periodic_flag( surfID, patchID )
Returns the Periodicity:Rotation and Translation flag of patch "patchID" connected to ANSYS surface "surfID": 0:off/1:on.
set_ANSYS_connected_fluid_patch_rotation_angle( surfID, patchID )
Sets the rotation angle around Z [degree] of patch "patchID" connected to ANSYS surface "surfID".
get_ANSYS_connected_fluid_patch_rotation_angle( surfID, patchID )
Returns the rotation angle around Z [degree] of patch "patchID" connected to ANSYS surface "surfID".
set_ANSYS_connected_fluid_patch_translation_vector( surfID, patchID,vector )
Sets the translation vector of patch "patchID" connected to ANSYS surface "surfID".
get_ANSYS_connected_fluid_patch_translation_vector( surfID, patchID )
Returns the translation vector of patch "patchID" connected to ANSYS surface "surfID".
set_ANSYS_connected_fluid_patch_partial_flag( surfID, patchID,flag )
Sets the Duplicate patch(es) flag of patch "patchID" connected to ANSYS surface "surfID".
flag = 0/1 if off/on.
get_ANSYS_connected_fluid_patch_partial_flag( surfID, patchID )
Returns the Duplicate patch(es) flag of patch "patchID" connected to ANSYS surface "surfID": 0:off/1:on.
get_ANSYS_solid_surface_list()
Returns the list of ANSYS surfaces.
set_ANSYS_solid_surface_interpolation_type( sID, interpType )
Sets the interpolation type of ANSYS surface "sID".
interpType =0 for "non-conservative"
interpType =1 for "conservative"
get_ANSYS_solid_surface_interpolation_type( sID )
Returns the interpolation type of ANSYS surface "sID".
set_ANSYS_solid_surface_maximum_distance( sID, maxDistance )
Sets the maximum distance of ANSYS surface "sID".
get_ANSYS_solid_surface_maximum_distance( sID )
Returns the maximum distance of ANSYS surface "sID".

Convergence History

steering_add(steeringFile, name, values)
                Adds the variable name <type 'str'> to the steeringFile <type 'str'>. The argument values <type 'int'> or <type 'str'> should include extra necessary inputs  for some available variables.Example: FT.steering_add("my_folder/DemoCase_6_computation1.steering", "static pressure", 2, 3, 4, 1), where values is input as 2,3,4,1, representing point coordinates I, J, K and block id number, respectively.


steering_remove(steeringFile, name)			Removes the variable name <type 'str'> from the steering file steeringFile <type 'str'>.


steering_set_parameters(steeringFile, name, values)			Changes the parameters' value  for variable name <type 'str'> from steeringFile <type 'str'>. The argument values <type 'int'> or <type 'str'> should include extra inputs necessary for some available variables.Example: FT.steering_add("my_folder/DemoCase_6_computation1.steering", "relative velocity u", 3,3,3,2), where values is input as 3,3,3,2, representing point coordinates I, J, K and block id number, respectively.


steering_rename(steeringFile, name, newName)			Changes the name of variable name <type 'str'> to newName <type 'str'> from the steering file steeringFile <type 'str'>.


steering_get_group_names(iecFile)			Get group names from iecFile <type 'str'> file for some parameters (e.g. for 'patch group data' parameters). Returns output <type 'list'>.


steering_export_to_file(cvhFile, steeringFile, variables)			Saves the steering curves of variables <type 'str'> from steeringFile <type 'str'> to the cvhFile <type 'str'>.Example: FT.steering_export_to_file("my_folder/my_file.cvh", "my_folder/DemoCase_6_computation1.steering", "inlet mass flow", "outlet mass flow"). Note: Available in the Convergence History page of the Task Manager module only.


steering_selected_get_count(steeringFile)
			Gets the count of 'Selected Variables' from the steering file steeringFile <type 'str'>. Returns output <type 'int'>.


steering_selected_set_type(steeringFile, name, typeName)			Changes the type of parameter name <type 'str'> to typeName <type 'str'> from steeringFile <type 'str'>.Example: FT.steering_selected_set_type( "my_folder/DemoCase_6_computation1.steering", "torque","local 3d grid point").


steering_selected_get_type(steeringFile, name)			Gets the type of parameter name <type 'str'> from steeringFile <type 'str'>. Returns output <type 'str'>.


steering_selected_get_name(steeringFile, index)			Gets the name of parameter with index index <type 'int'> from steeringFile <type 'str'>. Returns output <type 'str'>.Note: this command is the inverse of the steering_selected_get_index(steeringFile, name)	 command.


steering_selected_get_index(steeringFile, name)			Gets the index of parameter with names name <type 'str'> from steeringFile <type 'str'>. Returns output <type 'int'>.Note: this command is the inverse of the steering_selected_get_name(steeringFile, index)		 command.


steering_available_get_count()
Gets the count of 'Available Variables'. Returns output <type 'int'>.


steering_available_get_type(name)			Gets the type of the available parameter with name name <type 'str'>. Returns output <type 'str'>.


steering_available_get_name(index)			Gets the name of the available parameter with index index <type 'int'>. Returns output <type 'str'>.Note: this command is the inverse of the steering_available_get_index(name)	 command.


steering_available_get_index(name)			Gets the index of the available parameter with name name <type 'str'>. Returns output <type 'int'>.Note: this command is the inverse of the steering_available_get_name(index)	 command.

Numerical Scheme

This chapter describes the interface and settings that can be used to specify the numerical parameters and the time configuration for the simulations:

Numerical Model defines the numerical aspects of the computations
Time Configuration defines the time dependence of the equations to solve.

This chapter is organized as follows:
Numerical Model describes the interface and settings for the definition of the numerical model,
Time Configuration describes the interface and best practice for unsteady computations.

File Formats


This chapter describes the files used by FINE™/Turbo and the flow solver. It is divided in two parts. The first one gives the file format information needed to use FINE™/Turbo, while the second one describes the format of the files used and produced by the FINE™/Turbo solver. As FINE™/Turbo is intended to handle the file treatment for the user, knowing the exact format of all the files used in a simulation process is not required. This chapter is therefore written for advanced users only.
In the following description, it is assumed that all the files are related to a generic project called 'project'. The chapter is divided in five sections:

files produced by IGG™,
files produced and used by FINE™/Turbo,
files produced and used by the FINE™/Turbo solver,
files used as data profile,
resource files used to control the layout and which contain default values and reference information.

To simplify the notations, it is assumed that the related mesh has a topology of one block.
White spaces should be avoided in the file name.

Import Results in ANSYS
The new output file "project_CFD.cdb" (FIGURE 11 - (4)) containing the transferred CFD results on the solid boundaries coded in ANSYS is now available. When reading this file in ANSYS with the command CDREAD, following rules need to be respected: 

Only the FE model (file ".cdb") has to be imported. 
If the coded values have been prescribed by using the solid model, the solid model must not be saved in the original ".cdb" input file (see the options for achieve file). If the solid model is saved, conflicting values are set on the fluid-structure boundaries and the initial coded values will be kept. Moreover these artificial boundary conditions have to be removed in the ANSYS project before importing the modified archive file with the suitable boundary conditions. If they are not removed, the coded values will replace the transferred values.

When harmonic pressure information is selected to be transferred additional output files are generated. This is due to the fact that harmonic responses in ANSYS are usually studied with a field of harmonic external forces in a range of frequencies. On the other hand, FINE/Turbo™ provides different harmonic fields attached to different frequencies. Consequently, one file is generated for each harmonic field (related to one frequency of the possible periodic perturbations in the domain). Each file can be separately loaded in ANSYS on the corresponding surfaces. These additional files use the path name specified for the time averaged field (.cdb file with interpolated CFD results). The extension . cdb is removed from the specified output file and the name is completed as follows:
 
name_SurfaceX_YYY.inp
 
With X as the surface number (based on the order of the detected ANSYS surfaces) and YYY as the name of the harmonic in the domain. This harmonic name can be found in the harmonic characteristics presented in the page Numerical Model. For example, the first harmonic generated by the adjacent row named G3 will be 1G3, the second one (double frequency) 2G3. and so on. In order to help the user, the frequency is reminded in the first lines of the files with the following comments:
 
/COM, Harmonic pressure (real and imaginary parts)
/COM, Frequency 2100.0000 Hz
 

    When comparing the exported harmonic data between softwares, it is important to notice that the harmonic definition in ANSYS is not identical to the one used in FINE/Turbo™ solver. In FINE/Turbo™, the complex conjugate is used to compute the unsteady value of a flow variable:

 



 
With  as the complex amplitude of the k-th harmonic of the p-th periodic perturbation and  its complex conjugate. So the harmonic perturbation amplitude is:
 



 
In ANSYS, the harmonic perturbation with frequency  is defined by its amplitude  and its phase angle :
 



 
With . Consequently, when the harmonics values are defined by their real and imaginary parts, a correction factor of 2 is needed to get the same unsteady perturbation between FINE/Turbo™ and ANSYS softwares.
Another correction of the harmonic values is needed when the IGG™ patch is rotated (with or without repetition). It is the same adaptation that is carried out on the periodic patches. It is based on the phase angle defined for each harmonic: for i-th harmonic of a periodic signal generated by an adjacent row with periodicity  rotating at  in a row with periodicity rotating  at , the phase angle  is given by the following formula:
 



 
Then, if the IGG™ patch is rotated  times of its periodicity, the harmonics values are modified as follows:
 



 
so that they are continuously provided on the repeated patches.

Resource Files

All the resource files are located in the same directory, which is ~/COMMON under Linux and ~\bin under Windows. It is not possible to start FINE™/Turbo if any of these files is missing.

Multi-rank harmonic method
Overview
The basic harmonic method deals with rotor/stator interaction of only adjacent rows. The clocking harmonic method allows the user to simulate the clocking effects between consecutive rotors or stators but the consecutive rotors or stators must have the same rotation speed. For a contra-rotating open rotors (CROR) case, if the pylon of the CROR mounted on the fuselage is taken into account, then the reproduction of its unsteady effects on the flow in the rotor that is not adjacent to the pylon cannot be performed by the basic/clocking harmonic methods. Besides the pylon-CROR limitation, it has appeared that in certain applications the amplitude of the perturbation associated with a BPF is not only created by that BPF but also by the interaction of two harmonics of BPFs that contributes to that BPF. Also, other applications, such as stator/rotor/stator, may show amplitudes of time harmonics induced by the rotor in the aft stator which are significantly higher than the amplitudes predicted by the basic/clocking harmonic methods. This difference may come from the interaction of the time harmonics with the clocking effects induced by the front stator. 
To solve all the cases mentioned above require a generalized multi-rank harmonic method. The multi-rank harmonic method considers not only the perturbations from the adjacent successive N rows of the reference row, but also the interaction of harmonics between the adjacent successive N rows. For the moment, the maximum rank is limited to 2.
The limitations for the multi-rank harmonic simulations are:

The effects are limited to 2-rank.
When using the boundary conditions Static Quantities Distributions for Harmonic Calculation, it is limited to one inlet per group.
The maximum number of harmonics in each row is limited to 40. Starting from FINE™/Turbo v12.1, this limitation has been partially removed to enable to launch a NLH computation having a maximum number of 40 harmonics activated per row, while the total number of harmonics (deactivated + activated) in the group could be higher than 40.
The multi-rank harmonic method with Max rank 1 does not work when the rotor-stator interface is connecting two rows that have the same rotation speed.

Interface and best practices


FIGURE 17 Multi-rank settings
The multi-rank harmonic method can be switched on through the radio button Multi-rank when activating Harmonic in the Flow Model page. Then the user needs to give a value for Max rank. For the moment, the maximum rank of the perturbations is limited to 2. If the user chooses Max rank = 1, the method is exactly the same as the basic harmonic method. After giving a value for Max rank, the user needs to set the following parameters 

Number of harmonics of rank 1: it represents the number of harmonics per periodic rank-1 perturbation. Default value: 3. 
Number of harmonics of rank 2: it represents the number of harmonics per periodic rank-2 perturbation. Default value: 3. The value of the number of harmonics of rank 2 cannot exceed the value of the number of harmonics of rank 1.

When Harmonic is checked, the turbulence model is by default set to Spalart-Allmaras. The user may choose another turbulence model. The Euler flow and the Laminar flow can also be selected.
When the multi-rank harmonic method is selected, a radio button switch appears in the expert parameters frame (visible only in Expert mode) to control the fixed or variable clocking simulation.

Variable: From this simulation, the user can reconstruct the flow in time or in space. When reconstructing in time, the unsteady flow can be represented for all the different positions of the rows. For instance, one stator can be moved relatively to another stator and the unsteady flow can be reconstructed for each relative position. When reconstructing in space, the time-mean flow can also be represented for all the different positions of one stator (or rotor) relatively to the subsequent stator (or rotor).
Fixed: From this simulation, the user can reconstruct the flow only in time. When reconstructing in time, the unsteady flow can be represented in the same way as "Variable" but with the difference that the stator (or rotor) can be moved only in a multiple of the pitch. The rank-2 effects are taken into account but only for the position given in the input mesh.


The other parameters for the multi-rank harmonic method in the FINE™/Turbo GUI can be found in the following menus:
Boundary conditions
For multi-rank harmonic computations, different boundary conditions can be specified for the NLH method. These boundary conditions are non-reflective at the far inlet and far outlet for the harmonic flow variables. They are based on a 1D non-reflective treatment that computes the flow variables on the boundary as a resulting combination of incoming and outgoing characteristics. The pseudo-steady flow at the far inlet and far outlet is assumed to be the time-averaged without the deterministic stress terms.
Under the tab INLET of the Boundary Conditions page, a dedicated boundary condition, Static Quantities Distributions for Harmonic Calculation, allows to perform NLH computations with a distortion at the inlet. For this condition, the FINE™/Turbo solver performs a spatial Fourier decomposition of the inlet distortion. The extracted spatial harmonics are transformed into time harmonics in the frame of the domain that is subject to the relative motion of the distortion. This inlet boundary condition can be considered as a simplified Rotor-Stator interface. But the computation only takes into account the effect of the fictitious upstream row (inlet distortion) on the downstream row(s). 
The inlet distortion must be specified by a profile. These profiles are the azimuthal distributions of the five flow variables (e, , , ,  and ). Each distribution is for a constant radius or a constant axial position. The imposed profile must range from 0 to 2π and must be periodic over the azimuthal length. Currently, only r-θ or θ-z profile is allowed. The profile should be given at stations of constant θ for increasing r or z. Also θ must be increasing going from one station to the next in the file. Please refer to the File Formats section for more details. The entry PERIODICITY is used to normalize the input profile in the θ direction.
Under the tab EXTERNAL of the Boundary Conditions page, the user can specify External Boundary Conditions for NLH computations:

When using the boundary condition External, the flow at the external boundaries must be axial ( and ) if the external boundaries are attached to the rotating domain.
If the external boundaries are attached to the rotating domain and the flow at the external boundaries is non-axial, the boundary condition External Constant Wind with Incidence Relative to Axis Z should be used. This boundary condition allows to simulate the flow resulting from a constant wind with incidence applied on the external boundaries. The incidence means that  and/or  are not equal to 0. In the cylindrical framework, the velocity components are:




So, the incidence can be considered as a distortion on the external boundaries with a periodicity of 1. The same treatment method as for inlet distortion is used to treat the incidence on the external boundaries in the flow solver. Note, the pseudo-steady solution in the NLH method represents the time-averaged solution over one blade passage. As a result, in the cylindrical framework, the incidence cannot be represented since it is not periodic over one blade passage. To check the effect of the incidence, the unsteady solution must be reconstructed.
The boundary condition External Constant Wind with Incidence Relative to Axis Z is exclusively for external boundaries attached to rotating domains.
Numerical Model
The multi-rank harmonic method considers not only the perturbation from the adjacent successive N rows of the reference row, but also the interaction of the harmonics between the adjacent successive N rows.
By default, the multi-rank harmonic method does not consider the interaction of the harmonics between the upstream row and the downstream row of the reference row (No interaction). But in some applications, this interaction may have an important influence on the flow in the reference row. In this case, the user can activate the interaction of the harmonics between the upstream row and the downstream row of the reference row by selecting the button Interaction. The Max order in interaction> is set by default to 1. This number can be changed but cannot be lower than 1 or larger than the number of harmonics of rank 1. For example, a max order in interaction of 3 will introduce the interaction of the first three harmonics from the upstream row and the downstream row into the reference row.
The option Clocking effects on is used to  limit the clocking effects in the 2-rank computations. By default, the clocking effects are considered to be on Time average and time harmonics. In this case, both time clocking effects (whose frequency is different from zero) and space clocking effects (whose frequency is equal to zero) are considered in the reference row. When setting to Time average only, the space clocking effects   are considered only. As an example, for a stator/rotor/stator (S1/R1/S2), the  harmonics in S2 will contain only the space harmonics from S1 and the time harmonics from R1 when using clocking effects on time average only. All the interaction (time clocking effect) between the space harmonics from S1 and the time harmonics from R1 are removed.


FIGURE 18 Harmonic range
The button Show the harmonics is used to display and select all the modeled harmonics in each group. When clicking on the button Show the harmonics, the periodic perturbation info window appears, as shown in FIGURE 19.


FIGURE 19 Periodic perturbations info
This periodic perturbation info window is divided into four parts. 
The left frame lists all the groups (blocks or groups) in the computation. Left-clicking on the name of a group, all the harmonics in this group will be shown.
The second frame is used to limit the number of harmonics induced by each disturber. In FIGURE 19, the harmonics in G4 come from the disturber G2, the disturber G3 and the linear combination of the harmonics between G2 and G3. The user may change the number of harmonics for the disturber G2 or the disturber G3. After changing the number of harmonics per disturber and clicking on the button Update harmonics, the new harmonics will be listed in the third frame. Note, the number of harmonics per disturber cannot exceed the specified number of harmonics in rank 1 or 2 on the Flow Model page.
In the third frame, all the resulting harmonics for the selected group are listed. Click on the square box at the left side of the harmonic name will toggle the activation of the harmonic. Clicking on the button Activate all will activate all the harmonics. Clicking on the button Deactivate all will deactivate all the listed harmonics. Only the activated harmonics will be solved in the NLH computation. In FIGURE 19,  there are 24 harmonics available in G4 and the solved harmonics will be Harmonic 7, Harmonic 14 and Harmonic 21.   The name of the harmonic shows where it comes from. For example, the name "Harmonic 4 = (-3G2;1G3)" means that this is the fourth harmonic in G4 and it is the linear combination between the third harmonic from G2 (row 2) and the first harmonic from G3 (row 3), where the symbol ";" should be considered as the operator "+". The frequency of this harmonic will be given by the algebraic sum of the individual frequencies. For example, if 3G3 has 10000 Hz and 1G2 has 15000 Hz, then frequency of  "(-3G3;1G2)" will be -10000+15000 = 5000 Hz.  Several symbols are used in FINE™/Turbo to indicate the origin of the harmonics:

G#:  the harmonic comes from the group #;
Di#: the harmonic comes from the inlet distortion #;
Ei#:  the harmonic comes from the External Constant Wind with Incidence Relative to Axis Z #;
St#:  the harmonic comes from the structure #, see modal coupling for more details.

When selecting a harmonic in the third frame, its characteristics will be shown in the right-hand frame of the windows:

The Angular Velocity shows the angular velocity of the harmonic.
The Phase Angle depends on the differences between the circumferential angles due to the differences in blade count.
It may happen that harmonics of different origins have the same properties. In this case, the harmonics having the same properties can be merged by using the fixed clocking position. Then, the Number of aliases of a harmonic can be larger than one (alias could be understood as 'name' of the harmonic). For example, a Stator-Rotor-Stator configuration with 36/41/36 blades will have a number of aliases greater than 1 if the simulation is done for only one set of azimuthal positions of the stators (fixed clocking). Indeed, in this case, for one harmonic per perturbation, in the central rotor the harmonic from the second stator has the same frequency and phase angle as the harmonic from the first stator, because the two stators have identical numbers of blades. So the harmonic from the first stator is an alias of the harmonic from the second stator and there is only one harmonic to be resolved in the rotor, instead of two.
Alias name gives the name of all the harmonics that have the same properties and are merged.
The Base can be:

-999: if the harmonic is a LONE TIME HARMONIC (no clocking impact at the frequency of this harmonic).
(-1)*Harmonic number: if the harmonic is a BASE TIME HARMONIC with associated clocking harmonics.
associated base time harmonic number: if the harmonic is a CLOCKING HARMONIC (note that a particular case is zero, which means that the harmonic is associated with the time-averaged flow).


Initial Solution
It is recommended to use a previous steady flow simulation as the initial solution. This can be done by using the option from file in the Initial Solution page, or by setting the Number of Steady Iterations in the Computation Steering / Control Variables page, as explained below.
Outputs
The Harmonics tab in the Outputs / Computed Variables page allows to output the harmonic variables by the flow solver.


FIGURE 20 Harmonic outputs in case of multi-rank
In the Harmonics tab of the Outputs/Computed Variables page, the first group corresponds to the harmonic variables: 

Static quantities: Temperature, Pressure, Density and Entropy
Total quantities: Relative Pressure, Absolute Pressure, Relative Temperature and Absolute Temperature.
Velocity components: , , 

If a box is checked, the Real & Imaginary parts and/or the norm (Amplitude) of the complex amplitude of the harmonics of the variable, can be stored in the output ".cgns" file. The number of harmonics is the maximum, over the whole flow field, of the total number of harmonics per group (blade row).
A second group proposes the selection of the deterministic stresses.












If a stress is selected, each of its contribution per harmonic will be stored in the output ".cgns" file.
Reconstruction in Time/Space
The multi-rank harmonic simulations can be reconstructed in time or in space by Harmo2Time, depending on the setting in the Flow Model page. Harmo2Time generates a run file named "_unst.run" presenting the same format as for the result of an unsteady flow simulation. For more information on Harmo2Time, see the CFView User Guide.
Control Variables


In the Computation Steering / Control Variables page, the user can impose a Number of Steady Iterations. If the Number of Steady Iterations is larger than 0, a pseudo-steady-flow computation will be performed  on the fine mesh with the fixed iteration number. Then the NLH computation will be initialized using the pseudo-steady-flow solution and  launched.
NLH computations need more CPU time and memory, in comparison with a pseudo-steady-flow mixing-plane method, due to the additional transport equations associated with each harmonic. For the multi-rank NLH, a button Calculate CPU cost is available in the Computation Steering / Control Variables page. Clicking on this button will show the approximate CPU time ratio per iteration between the NLH computation and the corresponding pseudo-steady-flow computation.

Subtask
Methods of the class subtask are described below. There are two examples on how they can be used (e.g. For 'new' command):

FT.task(index).subtask(subindex).new()
task = FT.task(index)
my_subtask = task.subtask(subindex)
my_subtask.new()

 

remove() Removes the current subtask from its task.


kill() Kills the current subtask.


stop() Stops the current subtask.


set_executable(type)             Sets the executable of the current subtask as of type type <type 'str'>. The argument should be one from the  combo box list, e.g. euranusTurbo, cfview, autoGrid, design3d.


get_executable() Gets the executable type of the current substask. Returns output <type 'str'>  as euranusTurbo, cfview, autoGrid or design3d.


set_hostName(name)              Sets the host with name name <type 'str'> for the current subtask.


get_hostName()              Gets the host of the current subtask. Returns output <type 'str'>.


set_run_file(path)              Sets the run file from path path <type 'str'> for the current subtask. Example: FT.task(0).subtask(0).set_run_file("/documents/Tutorial1/Tutorial1_steady.run")


get_run_file() Gets the run file of the current subtask. Returns output <type 'str'>.


set_macro_file(path)              Sets the macro file from path path <type 'str'> for the current subtask. 


get_macro_file() Gets the macro file of the current subtask. Returns output <type 'str'>.


set_template_file(path)              Sets the template file from path path <type 'str'> for the current subtask. 


get_template_file() Gets the template file of the current subtask. Returns output <type 'str'>.


set_geometry_file(path)             Sets the geometry file from path path <type 'str'> for the current subtask.


get_geometry_file() Gets the geometry file of the current subtask. Returns output <type 'str'>.


set_mesh_file(path)             Sets the mesh file from path path <type 'str'> for the current subtask.


get_mesh_file() Gets the mesh file of the current subtask. Returns output <type 'str'>.


set_condition(condition)              Sets the condition for the current subtask. The input condition <type 'int'> can be 0 (corresponding to the option 'Run Simultaneously with Previous Subtask') or 1 (corresponding to 'Run After Previous Subtask').


get_condition() Gets the condition of the current subtask. Returns output <type 'int'> as 0 (corresponding to the option 'Run Simultaneously with Previous Subtask') or 1 (corresponding to 'Run After Previous Subtask').


set_parallel_mode(parallel_mode)             Sets the parallel computing type for the current subtask. The input parallel_mode <type 'int'> can be 0 (corresponding to 'Sequential Computation' run mode), 1 (corresponding to 'Parallel Computation' run mode) or 2 (corresponding to 'Parallel Partitioned Computation' run mode).


get_parallel_mode() Gets the parallel computing type for the current subtask. Returns output <type 'int'> as 0 (corresponding to 'Sequential Computation' run mode), 1 (corresponding to 'Parallel Computation' run mode) and 2 (corresponding to 'Parallel Partitioned Computation' run mode).


set_licence_type(license_type)             Sets the license type of the current computation. The input license_type <type 'int'> can be 0 (corresponding to 'MPROC' license key type) or 1 (corresponding to 'FFLEX' ;license key type).


get_licence_type() Gets the license key type of the current subtask. Returns output <type 'int'> as 0  (corresponding to 'MPROC' license key type) or 1 (corresponding to 'FFLEX' license key type).


set_compiler(compiler)             Sets the compiler type for the current subtask. The input compiler <type 'int'> can be 0 (corresponding to 'Portland OMPI (PGI6)' library compiler on LINUX), 1 (corresponding to 'Intel IMPI (ICC15)' or 'IntelMPI' library compiler respectively on LINUX or Windows), 2 (corresponding to 'MPICH2' library compiler on Windows), 3 (corresponding to 'Portland OMPI (PGI17)' library compiler on LINUX) or 4 (corresponding to 'Portland IMPI (PGI17)' library compiler on LINUX).


get_compiler() Gets the compiler type of the current subtask. Returns compiler <type 'int'> as 0 (corresponding to 'Portland OMPI (PGI6)' library compiler on LINUX), 1 (corresponding to 'Intel IMPI (ICC15)' or 'IntelMPI' library compiler respectively on LINUX or Windows), 2 (corresponding to 'MPICH2' library compiler on Windows), 3 (corresponding to 'Portland OMPI (PGI17)' library compiler on LINUX) or 4 (corresponding to 'Portland IMPI (PGI17)' library compiler on LINUX).

 
 
Commands related to the 'Queuing System' checkbox:
 

set_queuing_system(system_mode)              Sets the 'Queuing System' mode status for the current substask. The input system_mode <type 'int'> can be 0 (corresponding to 'Queuing System' mode deactivated) or 1 (corresponding to  'Queuing System' mode activated).


get_queuing_system() Gets the 'Queuing System' mode status of the current substask. Returns system_mode <type 'int'> as 0 (corresponding to 'Queuing System' mode deactivated) or 1 (corresponding to  'Queuing System' mode activated).


set_number_queuing_system_processors(number)             Sets the number of processors as number <type 'int'> for the current subtask when the 'Queuing System' mode is activated.


get_number_queuing_system_processors()             Gets the number of processors for the current subtask when the 'Queuing System' mode is activated. Returns output <type 'int'>.


set_queuing_system_environment(environment)              Sets the environment of the current subtask as environment  <type 'str'> when the 'Queuing System' mode is activated.


get_queuing_system_environment() Gets the environment of the current subtask. Returns output <type 'str'>.


get_queuing_system_environment_list()             Gets the list of possible environments of the current subtask. Returns output <type 'list'>.


set_queuing_system_template(template)             Sets the template of the current subtask as template <type 'str'>.


get_queuing_system_template() Gets the template of the current subtask. Returns output <type 'str'>.


get_queuing_system_template_list() Gets the list of possible templates of the current subtask. Returns output <type 'list'>.

 
 
Commands related to the 'Parallel Computation' settings:
 

parallel_processes_get_count(host)            Gets the number of processes on the host named as host <type 'str'> for the current subtask.


parallel_processes_add(host)            Adds a new process on the machine host <type 'str'> for the current subtask.


parallel_processes_remove(process_index)             Removes the processes with index process_index <type 'int'> in the current subtask.


parallel_processes_change_host(process_index, host)             Changes the host to host <type 'str'> for process with index process_index <type 'int'> in the current subtask.


parallel_automatic_load_balancing() Automatically balances the load of processes in the current subtask.


parallel_set_static_requested_memory(flag)             Sets the requested memory option to flag <type 'int'>, which can be 1 (corresponding to static requested memory) or 0 (corresponding to automatic requested memory).


parallel_get_static_requested_memory() Gets the requested memory option. Returns output <type 'int'> as 1 (corresponding to static requested memory set) or 0 (corresponding to automatic requested memory set).


parallel_set_requested_memory(real_memory, int_memory)             Sets the requested memory option to static, allocates the required real memory to real_memory <type 'int'> in Mb and sets the required integer memory to int_memory <type 'int'> in Mb for the current subtask. More information regarding parallel computation memory allocation can be found here.


parallel_get_requested_memory() Gets the requested real and integer memory values in Mb. Returns output <type 'list'> with output[0] <type 'int'> corresponding to the requested real memory and output[1] <type 'int'> corresponding to the requested integer memory. 


parallel_automatic_requested_memory() Sets the requested memory option to automatic and automatically sets the required values of real and integer memory for the current subtask.


parallel_processes_get_block_count() Gets block count for the current subtask. Returns output <type 'int'>.


parallel_processes_set_process_for_block(block_index, process_index)             Sets process_index <type 'int'> as the process for block with index block_index <type 'int'> for the current subtask.


parallel_processes_get_process_for_block(block_index)            Gets the process' index for block with index block_index <type 'int'> of the current subtask. Returns output <type 'int'>.

 
 
Commands related to the 'Parallel Partitioned Computation' settings:
 

parallelpart_processes_get_count(host)            Gets the number of processes on the host named as host <type 'str'> for the current subtask.


parallelpart_processes_add(count, host) Adds count <type 'int'>  new process on the machine host <type 'str'> for the current subtask.


parallelpart_processes_change_host(oldHost, newHost)            Replaces host oldHost <type 'str'> by host newHost <type 'str'> for all processes of the current subtask.


parallelpart_processes_remove(host)            Removes the host host <type 'str'> from the list in the current subtask. 


parallelpart_set_balanceEfficiency(efficiency)            Sets the 'Target load balance efficiency' of the current subtask to the value of efficiency <type 'double'> (expressed in decimals, e.g. 0.8)


parallelpart_get_balanceEfficiency() Gets the 'Target load balance efficiency' of the current subtask. Returns output <type 'double'>.


parallelpart_set_split_block(split_block)            Sets the type of splitting for the blocks. The input split_block <type 'str'> can be INTO_TWO_SUB_BLOCKS (corresponding to splitting blocks into two sub-blocks) or INTO_N_SUB_BLOCKS (corresponding to splitting blocks into n sub-blocks).


parallelpart_get_split_block() Gets the type of splitting for the blocks. Returns output <type 'str'> as INTO_TWO_SUB_BLOCKS (corresponding to splitting blocks into two sub-blocks) or INTO_N_SUB_BLOCKS (corresponding to splitting blocks into n sub-blocks).


parallelpart_automatic_load_balancing() Balances the load of processes for the current subtask. It is equivalent to the button 'Apply virtual partitioning' in the 'Parallel Partitioned Settings' dialog window.


parallelpart_set_static_requested_memory(flag)            Sets the requested memory option to flag <type 'int'>, which can be 1 (corresponding to static requested memory) or 0 (corresponding to automatic requested memory).


parallelpart_get_static_requested_memory() Gets the requested memory option. Returns output <type 'int'> as 1 (corresponding to static requested memory set) or 0 (corresponding to automatic requested memory set).


parallelpart_set_requested_memory(real_memory, int_memory)             Sets the requested memory option to static, allocates the required real memory to real_memory <type 'int'> in Mb and sets the required integer memory to int_memory <type 'int'> in Mb for the current subtask. More information regarding parallel computation memory allocation can be found here.


parallelpart_get_requested_memory() Gets the requested real and integer memory values in Mb. Returns output <type 'list'> with output[0] <type 'int'> corresponding to the requested real memory and output[1] <type 'int'> corresponding to the requested integer memory.


As indexing goes from zero, every index argument should be from 0 to (number of tasks - 1). In addition, subindex should be from 0 to (number of subtasks - 1) of the corresponding task.

Interface


When launching FINE™/Turbo as described in the Getting Started chapter the interface appears in its default layout as shown in FIGURE 1. An overview of the complete layout of the FINE™/Turbo interface is shown in FIGURE 2. In the next sections the items in this interface are described in more detail. 
Together with the FINE™/Turbo interface a Project Selection window is opened, which allows to create a new project or to open an existing project. See the Project Selection section for a description of this window.
To define a profile through the FINE™/Turbo interface a Profile Manager is included. The Profile Manager is described in more detail in Profile Management.


FIGURE 1 Default FINE™/Turbo Interface


FIGURE 2 Complete overview of the FINE™/Turbo interface

ANSYS Pre-Processing
Before completing the Outputs/ANSYSpages, the user must create a file "project_ANSYS.cdb" with the command CDWRITE in ANSYS. Furthermore before the save in ANSYS, some operations are needed to allow the identification of the common surface between the fluid model and the structural model. The ANSYS project must be completely defined with a special treatment for the surface loads that will be replaced by the interpolated CFD results. On each common surface, a coded constant value is specified. The default coded values are given in the TABLE 3 for the different types of boundary condition. The value is incremented by one for each different surface so that for example the pressure imposed on the first surface is set to 1000001 and it is set to 1000002 on the second,...
TABLE 3 Default code for different type of boundary condition imposed from CFD results






Boundary Condition


Code






Pressure field


1000001




Temperature field


2000001




Heat transfer coefficient


3000001




Heat flux


4000001




The coded value can be modified in order to avoid confusion with physical values.
Note that the surface must be relatively flat or smooth (without sharp angle) so that the six surfaces define a cube. Moreover a surface closed on itself, like a cylinder or a blade must be divided into two parts if the conservative interpolation type is required.
The heat transfer coefficient can be computed only for non-adiabatic solid patches. The correct physical bulk temperature must be specified on the surfaces with convection. It must be constant for each surface.
If the coded values have been prescribed by using the solid model, the solid model must not be saved in the original ".cdb" input file (see the options for archive file).
The ANSYS importation does not support a time profile of a quantity.
Validation tests are performed with ANSYS release v16. Please refer to ANSYS user manual for more details on the ".cdb" file format

In order to transfer harmonic pressure data to ANSYS, the Harmonic Pressure (Real and Imaginary) quantity has to be selected among the Solid Data available quantities in the Outputs/Computed Variables page. In addition, the following limitations apply when transferring harmonic loads:
        In FINE™/Turbo:◦ Only compatible for Harmonic computations with multi-rank harmonic method.◦ Not compatible for FSI-Harmonic computation in a single row. In ANSYS:◦ The mesh should be covered by special elements dedicated to complex (harmonic) pressure loads: SURF153 (1D) or SURF154 (2D).As one file can be generated for each frequency in each row, it is convenient that the studied structure is included in one row meshed in the CFD part. If the fluid-structure surfaces go over a rotor-stator interface, they have to be split at this interface. Then the user can import different files generated in the adjacent rows by considering the right and common frequency.

Multiple FINE™/Turbo Sessions
During a FINE™/Turbo session all the tasks defined by the user are stored in the tasks file in the NUMECA tmp directory. This is the .numeca/tmp directory in the home directory of the user. On Linux the home directory corresponds to the HOME environment variable. This is also true on Windows if this variable is defined and, if it is not the case, it is set to the concatenation of HOMEDRIVE and HOMEPATH environment variables.
When FINE™/Turbo is started more than once at the same time, a warning indicates to the user that FINE™/Turbo is already running and can enter in conflicts with the other FINE™/Turbo sessions. The user can define tasks in both interfaces but the task definitions saved when exiting FINE™/Turbo will be overwritten by the other sessions. Therefore, it is not advised to open multiple FINE™/Turbo sessions when the Task Manager is used.

Cooling/ bleed

get_nb_solid_patches():
Get the number of solid patches in the computation.
get_solid_patches():
Return a list. The  list is composed by: the number of  solid patches and then the name, the block index, the face index, the patch index of each solid patch. 
get_nb_injectors():
Get the number of existing injectors.
get_injector_spreading ():
			
Get the status of the button Spreading of the holes (Activated : 3, Deactivated : 2). 
set_injector_spreading (spreading):
			
Set the status of the button Spreading of the holes (Activated : 3, Deactivated : 2). 
remove_all_injectors():
                    
Remove all injectors from the computation. 
remove_cooling_bleed_injector(name):
Remove the injector specified by its name. 
read_cooling_holes_file (filename, prefix):
Read a injector data file. The argument prefix will be used in the name of the imported injectors as a prefix. For the structure of the data file, please refer to Cooling/Bleed data file.
write_cooling_holes_file (filename):
			
Write all injectors to a file specified by its name. This command will not be recorded by GUI.
write_selected_injectors_to_cooling_holes_file (filename,nb,list_names):
Write the selected injectors to a file specified by it name. nb is the number of injectors and list_names is the name list of the selected injectors.

When defining a cooling or bleed, the following parameters can be used:
Type (integer): Line = 0, Point = 1, Slot = 2, Points = 3;
Mode (integer): Relative (blades)= 0, Spatial coordinates Cartesian = 1, Spatial coordinates Cylindrical = 3, Grid coordinates = 2;
Role (string): Cooling or Bleed;
Injection direction (integer): Grid Indices = 0, Cartesian = 1, Cylindrical Relative = 2;
Index (integer):  index of the injector in the existing injector list (starting from 0).


               add_new_injector (name,type,mode,role,direction_choice,index):
            
Add a new injector. The user should specify the name of the new injector, its type, its mode, its role, its injection direction and the index of the existing injectors. The new injector will be a copy of the indexed one (position and all other parameters of the second wizard page). If the indexed one does not exist, all parameters will be put to the default. 

              get_injector_index (name):
            
Get the index of the injector specified by its name.

				get_injector_name (index):
			
Get the name of the injector specified by its index.

                set_injector_name(old_name, new_name):
            
Change the injector name.
store_injector_patch (name,b,f,p):
Store the patch defined by its block index (b), face index (f) and patch index (p) for the injector specified by its name.
get_patches_in_cooling_bleed_injector(name):
Return a list containing the patches where the injector is located. The list is composed by: the number of the solid patches and then the name, the block index, the face index, the patch index of each solid patch. 
get_injector_type (name):
Get the type of the injector specified by its name. 
set_injector_type(name, type):
Set the type of the injector specified by its name. 
get_injector_role (name):
Get the role of the injector specified by its name. 
set_injector_role(name, role):
Set the role of the injector specified by its name. 
get_injector_mode (name):
Get the mode of the injector specified by its name. 
set_injector_mode(name, mode):
Set the mode of the injector specified by its name. 
get_injector_direction_choice (name):
Get the injection direction of the injector specified by its name. 
set_injector_direction_choice(name, direction_choice):
Set the injection direction of the injector specified by its name. 

 The following commands are used to set the sector geometry of the injector.

get_injector_diameter (name):
Get the diameter of the injector specified by its name. Available for the injector type Point, Line and Points. 
set_injector_diameter(name, diameter):
Set the diameter of the injector specified by its name. Available for the injector type Point, Line and Points. 
get_injector_number_holes (name):
Get the number of the holes in the injector specified by its name. Available for the injector type Line. 
set_injector_number_holes(name, number_holes):
Set the number of the holes in the injector specified by its name. Available for the injector type Line. 
get_injector_slot_width (name):
Get the slot width of the injector specified by its name. Available for the injector type Slot. 
set_injector_slot_width (name, slot_width):
Set the slot width of the injector specified by its name. Available for the injector type Slot. 

 The following commands are used to set the  positioning of the injector.

get_injector_coordinates (name):
set_injector_coordinates (name,x1,y1,z1,x2,y2,z2):
The two commands above are used to get/set the coordinates of the injector specified by its name. Depending on the mode and the type of the injector, the required coordinates is different (1 point/2 points and 2D/3D). In case of 1 point (Point type), the x2/y2/z2 will be ignored. In case of 2D (Relative mode), the z1/z2 will be ignored. 
get_injector_side_one_or_two (name):
Get the side where the injector is located in case of O-type mesh. (Side 1 - 1, Side 2 - 2). Available only for the injector mode Relative.
set_injector_side_one_or_two (name, side_one_or_two):
Set the side where the injector is located in case of O-type mesh. (Side 1 - 1, Side 2 - 2). Available only for the injector mode Relative.
get_injector_axial_coordinates (name):
Get the status of the button Axial Coordinates (Deactivate - 0, Activate - 1). Available only for the injector mode Relative and axial turbomachinery.
set_injector_axial_coordinates (name, axial_coordinates):
Set the status of the button Axial Coordinates (Deactivate - 0, Activate - 1). Available only for the injector mode Relative and axial turbomachinery.
get_injector_positioning_patch(name):
Get the patch where the injector specified by its name is located.
set_injector_positioning_patch(name,patch):
Set the patch where the injector specified by its name is located.
get_injector_first_angle (name):
set_injector_first_angle (name, first_angle):
get_injector_second_angle (name):
set_injector_second_angle (name, second_angle):
get_injector_third_angle (name):
set_injector_third_angle (name, third_angle):
The six commands above are used to get/set the injection direction. When the injection direction type is Grid Indices, only the first two angles need to be defined. When the injection direction type is Cartesian or Cylindrical Relative, the three components of the direction should be defined.

 The following commands are used to set the flow parameters of the injector.

get_injector_mass_flow_choice (name):
Get the mass flow choice of the injector specified by its name. Mass flow : 0, Mass flow relative to inlet : 1.
set_injector_mass_flow_choice (name, mass_flow_choice):
Set the mass flow choice of the injector specified by its name. Mass flow : 0, Mass flow relative to inlet : 1.
get_injector_mass_flow (name):
Get the mass flow of the injector specified by its name. Available only in case that the mass flow choice is set to Mass flow.
set_injector_mass_flow (name, mass_flow):
Set the mass flow of the injector specified by its name. Available only in case that the mass flow choice is set to Mass flow.
get_injector_mass_flow_factor (name):
Get the mass flow of the injector specified by its name. Available only in case that the mass flow choice is set to Mass flow relative to inlet.
set_injector_mass_flow_factor (name, mass_flow_factor):
Set the mass flow of the injector specified by its name. Available only in case that the mass flow choice is set to Mass flow relative to inlet.
get_injector_inlet_group_name (name):
Get the inlet group name that is used to compute the relative mass flow of the injector specified by its name. Available only in case that the mass flow choice is set to Mass flow relative to inlet.
set_injector_inlet_group_name (name, inlet_group_name):
Set the inlet group name that is used to compute the relative mass flow of the injector specified by its name. Available only in case that the mass flow choice is set to Mass flow relative to inlet.
get_injector_temperature_choice (name):
Get the temperature choice of the injector specified by its name. Relative total temperature : 0, Static temperature : 1, Absolute total temperature : 2.
set_injector_temperature_choice (name, temperature_choice):
Set the temperature choice of the injector specified by its name. Relative total temperature : 0, Static temperature : 1, Absolute total temperature : 2.
get_injector_temperature (name):
Get the temperature of the injector specified by its name. 
set_injector_temperature(name, temperature):
Set the temperature of the injector specified by its name. 
get_injector_viscosity (name):
Get the inlet viscosity of the injector specified by its name. Available only for 1-equation turbulence model.
set_injector_viscosity (name, viscosity):
Set the inlet viscosity of the injector specified by its name. Available only for 1-equation turbulence model.
get_injector_turbulence_choice (name):
Get the inlet turbulence choice (K-epsilon : 0, Intensity : 1) of the injector specified by its name. Available only for 2-equation turbulence model.
set_injector_turbulence_choice (name, turbulence_choice):
Set the inlet turbulence choice (K-epsilon : 0, Intensity : 1) of the injector specified by its name. Available only for 2-equation turbulence model.
get_injector_k (name):
Get the value of inlet turbulent kenetic energy (k) of the injector specified by its name. Available only when using 2-equation turbulence model and the turbulence choice is set to K-epsilon.
set_injector_k(name, k):
Set the value of inlet turbulent kenetic energy (k) of the injector specified by its name. Available only when using 2-equation turbulence model and the turbulence choice is set to K-epsilon.
get_injector_epsilon (name):
Get the value of inlet turbulent dissipation rate (ε) of the injector specified by its name. Available only when using 2-equation turbulence model and the turbulence choice is set to K-epsilon.
set_injector_epsilon(name, epsilon):
Set the value of inlet turbulent dissipation rate (ε) of the injector specified by its name. Available only when using 2-equation turbulence model and the turbulence choice is set to K-epsilon.
get_injector_intensity (name):
Get the value of inlet turbulent intensity of the injector specified by its name. Available only when using 2-equation turbulence model and the turbulence choice is set to Intensity.
set_injector_intensity (name, intensity):
Set the value of inlet turbulent intensity of the injector specified by its name. Available only when using 2-equation turbulence model and the turbulence choice is set to Intensity.

 The following commands are used only for the injector type Points.


                get_injector_pointsdata (name):
            
Get the hole data on the points type injector specified by its name. The returned data is a list with 7 sub-lists. The first sub-list gives the X coordinate of each hole. The following sub-lists gives Y, Z, Vx, Vy, Vz and validity (0/1) of each hole.
add_injector_pointsdata(name,index):
            
Add a hole for the injector specified by its name. The hole is a copy of the hole selected hole (index, starting from 0). If no hole exists in the injector, the index is -1.
set_injector_pointsdata (name,index,x,y,z,Vx,Vy,Vx):
            
Set the coordinates and injection direction for the hole (index, starting from 0) in the injector specified by it name.
injector_reverseHolesAxis(name,nb_selected_holes,list_of_selected_holes_indices):
            
Reverse the injection direction for the selected hole in the injector specified by it name.

                injector_remove_pointsdata(name,nb_selected_holes,list_of_selected_holes_indices):
            
Remove the selected holes in the injector specified by it name.
get_injector_pointsrepet(name):
            
Get the number of periodic repetitions of the injector specified by its name. Available only for the type Points.
set_injector_pointsrepet(name,nb_repetition):
				
Set the number of periodic repetitions of the injector specified by its name. Available only for the type Points. The number of periodic repetition is a general parameter. If the value is set for one injector with the type Points, it is common for all injectors with the type Points.

Here is an example that adds one injector on a blade pressure surface:
script_version(2.1)
# add one injector with the properties: Injector name = injector_2, Type = Line, Mode = Relative (blades), Role = Cooling, Injection direction = Grid Indices, Index = 7.
FT.add_new_injector("injector_2",0,0,"Cooling",0,7)
# store the patches (both pressure side and suction side sufaces).
FT.store_injector_patch("injector_2",3,5,1)
FT.store_injector_patch("injector_2",3,5,2)
# set injector sector geometry
FT.set_injector_number_holes("injector_2",10)
FT.set_injector_diameter("injector_2",0.0006)
# set injector positioning
FT.set_injector_positioning_patch("injector_2","row_1_flux_1_Main_Blade_skin_blade_(aap-ps)")
FT.set_injector_coordinates("injector_2",0.2,0.05,0,0.2,0.95,1)
FT.set_injector_first_angle("injector_2",0)
FT.set_injector_second_angle("injector_2",0.78)
# set flow parameters
FT.set_injector_mass_flow_choice("injector_2",1)
FT.set_injector_mass_flow_factor("injector_2",0.01)
FT.set_injector_inlet_group_name("injector_2","Inlet")
FT.set_injector_temperature_choice("injector_2",1)
FT.set_injector_temperature("injector_2",350)
FT.set_injector_viscosity("injector_2",0.001)

Grid Units & Project Configuration
The Grid Units and Project Configuration window shows some properties of the selected mesh when linking the mesh to the project: 

Grid Units: the user specifies the grid units when importing a mesh. The user may define a different scale factor to convert the units of the mesh to meters. The scale factor is for instance 0.01 when the grid is in centimeters.
Space Configuration: allows the user to specify whether the mesh is cylindrical or Cartesian and the dimensionality of the mesh. In case the mesh is axisymmetric the axis of symmetry should be defined.

If a 2D project is created by selecting Cartesian and 2 Dimensions, the mesh must have K direction and Z direction perpendicular to the surface.

Some options in FINE™/Turbo are linked to the used mesh configuration. For example, the Cartesian mesh is not compatible with some TURBO features (Rotating Blocks, Azimuthal averaged output, ...). The user should select an appropriate coordinate system according to the applications.

Use Grid Configuration: This option is only available with a special license feature (SubProjects). The user can choose whether or not to use the automatic grouping based on the grid configuration file (.config). More information on the automatic grouping can be found in chapter Dedicated Turbomachinery Models. This choice can only be made when loading the mesh for the first time, it cannot be changed afterwards.



FIGURE 6 Grid Units & Project Configuration window
The mesh properties are always accessible after linking the mesh to the project through the menu Mesh/Properties...

Boundary Conditions



During the IGG™ grid generation process, the user has to define the type of boundary condition to be imposed along all boundaries. The parameters associated with these boundary condition types can be fully defined using the Boundary Conditions page.
This chapter gives a description of the boundary conditions, available in the Boundary Conditions page. In Boundary Conditions in the FINE™/Turbo GUI, the page is described. For expert use, the Expert Parameters section gives an overview of the available expert parameters. Best Practice for Imposing Boundary Conditions provides some advice on the combinations of boundary conditions to use.

Numerical Model in the FINE™/Turbo GUI
CFL Number
This box allows to tune the CFL (Courant-Friedrich-Levy) number to be employed in the computation. This number globally scales the time-step sizes used for the time-marching scheme of the flow solver. A higher value of the CFL number results in a faster convergence, but will lead to divergence if the stability limit is exceeded.
CPU Booster
FINE™/Turbo includes an innovative breakthrough in convergence acceleration. Based on enhanced implicitness, it leads to a drastic reduction in computational time with respect to the current advanced technologies in FINE™/Turbo. If the user activates the option CPU Booster, the default value of the CFL number will be 1000.
When an oscillating convergence is obtained with CPU Booster, the user may try to change the multigrid sweep definition from Increase on higher level to Linear progression in order to improve the convergence.
CPU Booster is also compatible with incompressible fluids or low speed flows (M < 0.3) with the use of Merkle preconditioning.
CPU Booster is not recommended when modeling low speed flows without preconditioning and may not be robust for computations with condensable gases with dryness fraction less than 1.
Multigrid Parameters
In the left part of the Numerical Model page, three boxes are visible. The first one is an information box, named Grid levels: current/coarsest. It indicates for each of the i, j and k directions the currently selected grid level and the number of the coarsest grid level available in the corresponding direction. The second box of the Numerical Model page is an input box that allows to define the Current grid level for each of the i, j and k directions.

The coarsest grid level depends on the number of times the grid can be coarsened, along each of the (i,j,k) directions. For example, if the grid has 17*33*33 points in the i, j, k directions, it has respectively 16*32*32 cells. The i direction (16 cells) can thus be divided 4 times by 2, while the others can be divided 5 times by 2. The following grid levels are then available:
	0 0 0	17*33*33	(18,513 points)
	1 1 1	9*17*17	(2,601 points)
	2 2 2	5*9*9	(405 points)
	3 3 3	3*5*5	(75 points)
	4 4 4	2*3*3	(18 points)
	4 5 5	2*2*2	(8 points)
The coarsest grid level available is then 4 along i and 5 along j and k.
The current grid level is the finest grid level (for each of the i, j and k directions) on which the computation will take place. The selected levels should be in the range between 0 and the coarsest grid level available for each of the i, j and k directions. Referring to the example given just above, the user can do a first run on level 3 3 3 to validate the computational parameters and then switch to level 1 1 1 or 0 0 0 for a finer solution. It gives a high flexibility to the system since with one grid, the user can run simulations on several sub-meshes.

All combinations between the i, j and k grid levels, in the specified range, are possible such as 2 3 1 or 0 3 2...etc. It is however not recommended to use such hybrid levels (e.g. 010 or 211) since it deforms the mesh in a preferential direction and thus possibly increasing the aspect ratio. Consequently, the quality of the resulting mesh can be decreased.
Press <Enter> after each modification to validate the new specified levels.
The use of multigrid is highly recommended in order to ensure fast convergence of the flow solver. The mesh used to discretise the space can have multiple grid levels in each direction of the computational domain i, j and k. These levels are numbered from 0 (finest grid) to N (coarsest grid).
The grid level (N) available in one direction (I, J, or K) is the smallest grid among all patches on that particular direction (I, J, or K).
The third box, named Number of grid level(s), permits to significantly accelerate the convergence to steady state if several grid levels are available: the flow calculation is performed simultaneously on all the grid levels. This technique is referred to as the multigrid strategy. This number should be chosen as high as possible, and deduced from the information displayed on the available grid level and the grid level on which the computation will be performed (Current Grid Level).
In case that the number of grid levels is 1 in one direction, it is possible to use multigrid strategy in other directions. It is however not recommended to use such hybrid multigrid strategy (except for 2D cases) since it deforms the mesh in a preferential direction and thus possibly increasing the aspect ratio. Consequently, the quality of the resulting mesh can be decreased.
Finally, the option Coarse Grid Initialization enables, before calculating the flow on the mesh contained in the IGG™ files, to perform a preliminary flow calculations on a coarser mesh automatically created by the flow solver by coarsening the initial one. This provides a rapid estimation of the flow. This technique is referred to Full Multigrid.
Preconditioning Parameters
This box allows the user to choose the Hakimi or Merkle preconditioners. The parameters are only available when an incompressible fluid is selected on the Fluid Model page or when the Low Speed Flow (M<0.3)option is activated on the Flow Model page.
The upwind spatial scheme (Numerical Model page) is not available if the preconditioning option is chosen.
Hakimi Preconditioning
When choosing Hakimi preconditioning, extra parameters have to be defined. The variables that the user controls are reference pressure , reference temperature , β coefficient  and characteristic velocity . 

 and  are accessible through the Flow Model page. 
The default value of β* is 3. Based on our experience with the presented low speed preconditioner the parameter β* can be taken of order unity for inviscid flow computations. For viscous computations associated with Reynolds numbers greater than about Re=1000, a constant value β* of order unity is also adequate. If convergence difficulties are encountered at the very beginning of a computation, it is recommended to increase the value of the parameter β*. Remember however that a too large value of β* will introduce excessive artificial dissipation into the solution. For lower Reynolds number the parameter β* has to vary in order to preserve numerical stability and a good convergence rate. The parameter β* should increase as the Reynolds number decreases and may vary over several orders of magnitude (see ).
With low Reynolds number, β* has to be increased. But this increases the dissipation and therefore alters the precision of the solution.


FIGURE 3 Typical variation of the preconditioning parameter  with Reynolds number

 is representative of the maximum velocity in the flow field. For example, in external flows, Uref could be taken as the free stream velocity whereas in internal flows it could be taken as the maximum inlet velocity. Note, for the user's convenience, the constant Uref is always equal to the reference velocity specified in the Flow Model page, which means that one of them (Uref/reference velocity in the Flow Model page) is changed, the other one will be changed automatically.

The choice of Uref has an influence on the convergence.

Another expert parameter ALPHAP (α) is accessible in the Control Variables page under Expert Mode. According to several computations accomplished with the central scheme, good convergence rates were obtained for values of α lying in the range [-1,1]. So far the best value is found to be α=-1.
Merkle Preconditioning
When choosing the Merkle preconditioner, no extra inputs are required. 
Harmonics Range
For multi-rank NLH computations, inner perturbations can be defined. They originate from within a rotor or stator, and are given by a time frequency and a spatial mode (a positive or negative integer).
The introduction of inner perturbations can be done via the button Inner perturbations. The rank of these perturbations is rank = 1 in the group where they are generated, and rank = 2 in the adjacent rows. Multiple inner perturbations can be defined in one or more groups. These perturbations are indexed with "iP" in the harmonics selection window which is accessible via the button Show the harmonics. This window enables the selection of the harmonics which will be solved in each group and the choice of the number of harmonics which will be associated with each inner perturbations. The interaction of the inner perturbations with the other harmonics can also be selected, as well as the maximum order of interaction.

The Wall File '.wall'
This self-explained ASCII file gives information about forces and torques on the patches for which the Compute force and torque option is activated on the Boundary Conditions page in the Solid  tab.

How to Launch the flow solver in Parallel using PBS on Linux

Create a script file "batch.pbs" with permission for execution. An example of a "batch.pbs" file for a parallel computation on Linux using OpenMPI flow solver:
#!/bin/sh
#PBS -r n
#PBS -o /tmp/ahmed/ahmed_computation_1/ahmed_computation_1.std -j oe
#PBS -N ahmed
#PBS -q workq -lselect=3:ncpus=1
NPROCS=`wc -l < $PBS_NODEFILE`
 
NI_VERSIONS_DIR=/home/fine<version>
export NI_VERSIONS_DIR
NUMECA_SOFT_VERSION=<version>
export NUMECA_SOFT_VERSION
 
TMP_DIR=~/.numeca/tmp/
NUMECA_DIR=${NI_VERSIONS_DIR}/fine$NUMECA_SOFT_VERSION
export NUMECA_DIR
NUMECA_BIN=${NUMECA_DIR}/LINUX
export NUMECA_BIN
MPIR_HOME=${NUMECA_BIN}/_mpi/_ompi1.6/
export MPIR_HOME
OPAL_PREFIX=$MPIR_HOME
export OPAL_PREFIX
PATH=${MPIR_HOME}/bin:${PATH}
export PATH
LD_LIBRARY_PATH=$MPIR_HOME/lib64:$MPIR_HOME/lib:${NUMECA_BIN}/ _lib_sx86_64:${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH
ompi_options=
 
BIN=${NUMECA_BIN}/euranus/euranusTurbox86_64_ompi
RUN_FILE=/tmp/ahmed/ahmed_computation_1/ahmed_computation_1.run
STEERING_FILE=/tmp/ahmed/ahmed_computation_1/ahmed_computation_1.steering
 
ompi_info
$OPAL_PREFIX/bin/mpirun  --display-map --display-allocation ${ompi_options} -v -np $NPROCS -machinefile $PBS_NODEFILE ${BIN}  $RUN_FILE -steering  $STEERING_FILE -fullflex
 
where:
All lines beginning with #PBS are PBS commands.
#! /bin/sh requires Bourne shell to be used by PBS for job submission and hence, only the .profile file of the user is executed if exists on each computation host. There is nothing specific to Numeca software that must be written in the .profile file.
#PBS -r n specifies that the job is not rerunnable. That means that the job cannot be stopped and put back again in the waiting queue.
#PBS -o /tmp/ahmed/ahmed_computation_1/ahmed_computation_1.std -j oe tells the PBS system that the standard output has to be redirected in the ".std" in the computation directory, the option "-j oe" indicates that the standard error is also redirected into the same file.
#PBS -N ahmed is the name of the job given to PBS and that will be seen when monitoring the job with qstat PBS command. PBS has a limitation of 8 characters for the job name.
#PBS -q workq -lselect=3:ncpus=1 requests 3 slots (processors) to the PBS system for executing the job using the workq queue. This must correspond to NTASK +1 where NTASK is the number of computation processes in the ".run" file, the "+1" being the host process that manages inputs/outputs.
NPROCS=`wc -l < $PBS_NODEFILE` The NPROCS variable contains the total number of processors allocated for the computation and will be used by the mpirun executable.
NI_VERSIONS_DIR=/home/fine<version>
export NI_VERSIONS_DIR
NUMECA_SOFT_VERSION=<version>
export NUMECA_SOFT_VERSION
specifies the installation directory (e.g. /home/fine131) and version (e.g. 131) of FINE™/Turbo.
MPIR_HOME=${NUMECA_BIN}/_mpi/_ompi1.6/
export MPIR_HOME
OPAL_PREFIX=$MPIR_HOME
export OPAL_PREFIX
PATH=${MPIR_HOME}/bin:${PATH}
export PATH
LD_LIBRARY_PATH=$MPIR_HOME/lib64:$MPIR_HOME/lib:${NUMECA_BIN}/ _lib_sx86_64:${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH
are the environment variables indicating respectively the OpenMPI directory (FINE™/Turbo allows to use an external OpenMPI library, which may be a tuned, customized or hardware specific OpenMPI libraries.) and the library directories that are used in the command launching the flow solver.
ompi_options= specifies the OpenMPI options. If nothing is specified, OpenMPI will choose the most efficient parameters supported by the pointed library (OPAL_PREFIX). In general, all the MCA options can be imposed in the script.
ompi_info provides detailed information about the OpenMPI installation. It can be useful for at least three common scenarios: 1) Checking local configuration and seeing how OpenMPI was installed. 2) Submitting bug reports / help requests to the OpenMPI community. 3) Seeing a list of installed OpenMPI plugins and querying what MCA parameters they support. Refer to http://www.open-mpi.org/doc/v1.6/man1/ompi_info.1.php for more details.
Independently of OpenMPI, the following commands can be used in the pbs script:
ldd -v $NUMECA_BIN/euranus/euranusTurbox86_64_ompi to check which runtime environment is loaded before launching the flow solver.
/lib64/libc.so.* or /lib/libc.so.* to get the version of the libc.
etc.
OPAL_PREFIX=$NUMECA_DIR/LINUX/_mpi/_ompi1.6
export OPAL_PREFIX
LD_LIBRARY_PATH=$OPAL_PREFIX/lib64:$OPAL_PREFIX/lib:$NUMECA_DIR/LINUX/_lib_sx86_64:${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH
are the environment variables indicating respectively the OpenMPI directory (FINE™/Turbo allows to use an external OpenMPI library, which may be a tuned, customized or hardware specific OpenMPI libraries.) and the library directories that are used in the following command:
$OPAL_PREFIX/bin/mpirun  --display-map --display-allocation ${ompi_options} -v -np      $NPROCS -machinefile $PBS_NODEFILE ${BIN}  $RUN_FILE -steering                         $STEERING_FILE -fullflex
is the command to launch the parallel computation. --display-map --display-allocation is the OpenMPI options that are used to display the process map before launching the job and the allocation being used by this job. $PBS_NODEFILE is generated by PBS for providing the machines file used by the mpirun script. ${BIN} is the single precision solver compiled with the OpenMPI library. $RUN_FILE -steering $STEERING_FILE are the arguments to the flow solver. The argument -fullflex is optional, which forces the flow solver to use the FFLEX-type license keys in priority (For more details, see Flexible Cores Type from License).
Create computational file (".run") by activating the corresponding computation and clicking on the File/Save Run Files menu in the interface.
To set the final parallel settings:

create a task in the Task Manager,
define the parallel settings of the FINE™/Turbo solver subtask (parallel computation),
Save the task through the Task Manager by clicking on the Save button.

These operations are mandatory in order to have all the parallel settings correctly imposed in the computation file (".run"). They can also be performed in batch, with the finebatch command, see How to Launch finebatch on Linux.
Submit the PBS script to the queue by using the command line: "qsub batch.pbs".

When saving the ".run" file of the computation (File/Save Run Files) and clicking the save button (Modules/Task Manager), a script ".pbs" is automatically created in the corresponding computation subfolder that enables the user to launch the same computation in batch and in parallel.

Global Performance Output
The main results for global performance are summarized in a file with the extension ".mf". Inlet and outlet averaged quantities, pressure ratios and efficiency are computed and stored in this file. The ".mf" file also provides global averages at each rotor-stator interface. All the variables in the .mf file are mass-averaged, except the static pressure which is area-averaged.
If the project does not involve any of inlet, outlet or rotor-stator interfaces (e.g. for external flow), the ".mf" file is empty. 
A row-by-row and/or stage-by-stage analysis can be performed by using the expert parameter RBRSBS. Depending on the value of the expert parameter RBRSBS, additional performances  will be stored in the ".mf" file.
Geometrical data
The geometrical data are computed at the inlet and outlet boundaries, and at each rotor-stator interfaces.
When there are multiple inlets or outlets with different periodicities, only one "number of blades" is reported in the .mf file, but there will be a minus (-) sign before this number to indicate that there are also other inlets or outlets with different periodicities than reported.
Fluid properties
The specific heat and the specific heat ratio are computed at the inlet and outlet boundaries, and at each rotor-stator interfaces.
Absolute/Relative velocities
Both absolute and relative velocities, including the flow angles, are computed at the inlet and outlet boundaries. At each rotor-stator interface, only absolute velocities, including the flow angles, are computed.
The relative and absolute flow angles are derived from the averaged velocity components:






Static/Total quantities
The density, the  pressures and temperatures are computed at the inlet and outlet boundaries and at each rotor-stator interface.
 
For turbomachinery cases, rothalpy is computed as well.
 
For condensable fluids, static/total enthalpy, entropy and dryness fraction are computed at the inlet and outlet boundaries and at each rotor-stator interface;  isentropic static/total enthalpy is computed at the outlet.
Global Performance
Global performance data, available in the ".mf" file, are calculated using the results at the inlet and outlet boundaries of the computational domain (index 1 and 2 refer to the inlet and outlet sections respectively). 
Global Performance Output for Incompressible Fluid
The outputted global performance is depending on the type of the fluid. In case of incompressible fluid, the following data will be written:

Static pressure rise: 
Absolute total pressure rise: 
Static Head: 
Absolute total Head: 
Static temperature rise: 
Absolute total temperature rise: 
Efficiency

For turbomachinery cases with a rotor, the expressions proposed below are used. Several efficiency definitions are available, selected through the expert parameter EFFDEF (default: 1).
The pressure ratio shown in the convergence history is depending of the value of EFFDEF. It will correspond to  if 2 or  otherwise. 
TABLE 4 Efficiency definitions for incompressible flows







EFFDEF


Pumps 


Turbines 






1














2














3














4














Expressions involving the Torque in TABLE 4 are computed only if the user activates the option Compute force and torque in the Boundary Conditions page devoted to solid surfaces.
For non rotating projects (pure stator), the following expression is used to define the efficiency:



Global Performance Output for Perfect Gas
In case of perfect gas, the following data will be written:

Static pressure ratio: 
Absolute total pressure ratio: 
Static temperature ratio: 
Absolute total temperature ratio: 
Isentropic efficiency
Polytropic efficiency

For turbomachinery cases with a rotor, several efficiency definitions are available, selected through the expert parameter EFFDEF (default: 1).
The pressure ratio shown in the convergence history is depending of the value of EFFDEF. It will correspond to  if 2,  if 3 or  otherwise. 
TABLE 5 Isentropic and polytropic efficiency definitions for perfect gas









EFFDEF


Compressors 


Turbines 






1
























2
























3
























For non-rotating projects (pure stator), the expression used to define efficiency is the same as incompressible fluid.
Global Performance Output for Real Gas & Condensable Fluid
In case of real gas & condensable fluid, the following data will be written:

Static pressure ratio: 
Absolute total pressure ratio: 
Static temperature ratio: 
Absolute total temperature ratio: 
Isentropic total to total or total to static efficiency

For turbomachinery cases with a rotor, the efficiency definition is given in the following table. For real gas, the value of  is obtained from the temperature by using the isentropic relation: .
TABLE 6 Isentropic efficiency definition for real gas and condensable fluid






EFFDEF

Compressors 


Turbines 





1












2









For non rotating projects (pure stator), the expression used to define efficiency is the same as incompressible fluid.
Solid Boundary Characteristics
This part of the file gives the characteristics of the quantities that are estimated at the solid boundaries. Those quantities are computed from the global force  exerted by the flow at a given point. This force can be estimated from the pressure and velocity fields at each point. The calculated quantities for an internal configuration are:

Axial thrust, i.e. the projection of the global force on the rotation axis: .
The projection of the torque along a given direction , i.e. the couple exerted by the global force  along direction . This direction is given through the expert parameter IDCMP, the default value of which is (0,0,1).
Power, defined as the product of the torque and the angular velocity.

The power will not be outputted with 2 non-zero rotation speeds in the computation, i.e.  a counter-rotating turbomachinery. 
Cooling/Bleed data
In case that the cooling/bleed module is used in the computation, the following additional information is available for each injector: mass flow, maximum Mach number, absolute total pressure and absolute total temperature.
The additional information for Cooling/Bleed is available only when the option Spreading of the Holes is activated.
Furthermore, the isentropic efficiency with Cooling/Bleed can be computed by activating the EFFCOO parameter. This parameter is independent of EFFDEF. By activating EFFCOO, two lines will be added in the .mf and .xmf files (Isentropic_efficiency with cooling, total_to_total and total_to_static). The EFFCOO parameter is also compatible with the RBRSBS parameter with the new efficiency being computed for rotating rows and for stages with rotating rows.
Even if the new values of efficiency are computed, the old formulation will be used in the convergence history.
The EFFCOO parameter can take the following values as outlined in TABLE 7:
TABLE 7 







EFFCOO


Definition






0

The efficiency with cooling will not be computed



1

The efficiency with the  formulation based on all inlets/outlets will be used



2

The efficiency with the formulation based on the power will be used



Formulation based on all inlets/outlets
The formulation based on all inlets/outlets is defined in TABLE 8 for compressors and turbines:
TABLE 8 Isentropic efficiency definitions for cooling







Compressors

 Perfect Gas





 Real or Condensable Gas






Turbines

 Perfect Gas





Real or Condensable Gas






with:







the total number of cooling/bleeding injectors

the current cooling/bleeding injector mass flow

 the current cooling/bleeding injector temperature

 the current cooling/bleeding injector total enthalpy

the total number of cooling injectors

the current cooling injector mass flow

the current cooling injector temperature

the current cooling injector pressure

 the current cooling injector isentropic enthalpy


 




Formulation based on the power
The formulation based on the power uses ideal and actual power formulations, the actual power being evaluated from the torque. The efficiency is defined as the ratio between the actual power and the ideal power.






Actual Power


 





Based on torque







Ideal Power


 



Turbine






Compressor





Efficiency Definition



Turbine





Compressor






The formulation based on the power is valid only for perfect gas. When another gas formulation is used, the EFFCOO parameter is automatically changed to 1 (formulation based on all inlets and outlets).

Control Variables
Control Variables in the FINE™/Turbo GUI
The Computation Steering/Control Variables page, see FIGURE 1, allows to define some global parameters for the selected computation:

the Maximum Number Of Iterations on the finest grid level (i.e. not including the iterations performed during the coarse grid initialization process).
the Convergence Criteria corresponding to the (negative) number of orders of magnitude the norm of the residuals must decrease before stopping the calculation. If this criterion is not reached the calculation proceeds until the maximum number of iterations is performed.
the frequency for saving output (Save Solution Every): every x iterations the solver saves the flow solution and creates the output files to be read in CFView™ (where x is the number of iterations defined in the FINE™/Turbo interface).
when the option Minimum output is selected the full solution is only saved at the last iteration.
 the type of residuals: exported per group when the option Residuals per group is checked, and per block when the option is unchecked. Each group is composed by the blocks having:

 the same rotational speed and being comprised between the same rotor-stator interfaces and/or, 
 the same block type (solid/fluid) separated by an FNMB connection. 

The composition of each group can be found in the .std file.
			
The following picture illustrates the composition of each group in a cylindrical case (left) and in a Cartesian case (right).


the Solver Precision: single or double. For most cases, the single precision solver (much less demanding in memory consumption) will be sufficiently accurate. However, some certain types of problem, such as very long thin pipe and conjugate heat transfer problems, may benefit from the double precision solver.
the Memory Requirements for the computation. By default an estimate is given for the required memory. Depending on the parameters defining the computation, additional memory may be needed. For example, more memory is required when full non-matching connections or a k-ε  turbulence model is used. Also the amount of selected output may require more memory. To allocate more memory for the computation activate the option Set the requested memory. This will allow to define the amount of memory in Mb used for reals and integers.

For unsteady computations the Control Variables page is updated to give access to additional parameters as described in Interface for Unsteady Computation and Best Practice on Time Accurate Computations sections.


FIGURE 1 The Control Variables page
In expert mode, this page contains two lists of expert parameters: Int parameters and Double parameters. Each list can be sorted by Name or Status (default or expert). The value of an expert parameter can be changed by entering a new value in the field Value(s), with parameters highlighted in blue when number(s) other than their default(s) are entered.
Each list can be searched by  entries in their respective search fields. If the entry starts with '*' the search will be performed for expert parameter names containing the string typed after '*', otherwise the search consists of expert parameter names starting by the string typed. The Clear button can be used to clear the search request and display the full list of expert parameters sorted by the initial sorting criterion used.
 
Only the expert parameters that are described in the manual are supported. Use of the other parameters is not recommended. For a summary of all supported expert parameters see the List of Expert Parameters.
Expert Parameters
MNGDBL(integer):	The geometrical data (Wall distances and FNMB data) are usually computed one time and stored in the files linked to the project (or the mesh). It is possible that some data are corrupted by a lack of precision. This is obvious for the wall distance computation in single precision when the difference of the absolute coordinates needs more than 8 significant digits. In the flow solver, the wall distances are computed and stored (.cgns file) in the specified precision for real. However, the FNMB data is always computed in the double precision and stored (.adf file) in the specified precision for real. So the FNMB data is less sensitive to the selected solver precision than the wall distances. 
The expert parameter MNGDBL is used to manage the reading or the computation of the wall distances and FNMB data when using the double precision solver: 

0: Read all stored values.
1 (default):  Compute the wall distances again if they are stored in the single precision.
2:  Compute the wall distances and FNMB data again if they are stored in the single precision.

FSTOUT(integer):	toggle output of the CGNS file before the first iteration on fine mesh. 

0: Not output the CGNS file before the first iteration on fine mesh. Note, set FSTOUT=0 only if you are sure that the requested integer and real memory allocations are sufficient. Otherwise, the computation may crash without saving results.
1 (default):  Output the CGNS file before the first iteration on fine mesh.

Task
Methods of the class task are described below. There are two examples on how they can be used (e.g. For the 'new' command):

FT.task(index).new()
my_task = FT.task(index)
my_task.new()

 

remove() Removes the current task.


rename(name)               Sets name <type 'str'> as the new name of the current task. 


save() Saves the current task.


start() Starts the current task.


kill() Kills the current task.


delay_time(time)               Sets time <type 'int'> as the time for start of the current task. Use -1 as time in order to remove a task delay request.


delay_after_task(task)               Sets a task to start after the task with name task <type 'str'>.


get_status() Gets the status of the current task. Returns output <type 'str'> as running or pending.


get_name() Gets the name of the current task. Returns output <type 'str'>.


get_subtask_number() Gets the count of subtasks of the current task. Returns output <type 'int'>.


subtask(subindex)               Returns the subtask class object output <type 'str'>   of the subtask with index subindex <type 'int'>.


new_subtask() Creates a new subtask for the current task.


new_subtask(index)               Creates a new subtask for a task with index index as a copy of the current subtask.


As indexing goes from zero, every index argument should be from 0 to (number of tasks - 1). In addition, subindex should be from 0 to (number of subtasks - 1) of the corresponding task.

Icon Bar



The icon bar contains several buttons that provide a shortcut for menu items in the main menu bar. Also the icon bar contains a File Chooser to indicate the mesh linked to the project and a pull down menu to choose between Standard Mode and Expert Mode.
File Buttons
The four buttons on the left of the icon bar are shortcuts for items of the File menu:

 The New Project icon is a shortcut for the menu item File/New.

 The Open Project icon is a shortcut for the menu item File/Open.

 The Save Project icon is a shortcut for the menu item File/Save.

 The Save RUN Files icon is a shortcut for the menu item File/Save Run Files.
Grid Selection Bar
By clicking on the icon on the right of the bar a File Chooser is opened, which allows to select the grid file (with extension ".igg") of the mesh to use for the project. 



To select a grid not only the grid file with extension ".igg" needs to be present but at least the files with extensions ".igg", ".geom", ".bcs" and ".cgns" need to be available in the same directory with the same name as for the chosen mesh.

If a mesh has already been linked to the current project and another mesh is opened, FINE™/Turbo will check the topological data in the project and compare it against the data in the mesh file. If the topological data is not equal, a new dialog box (FIGURE 9) will open. This dialog box informs the user that a merge of the topologies is necessary and will also show at which item the first difference was detected.
The three following possibilities are available:

Merge Mesh Definition will merge the project and mesh data. For example, if a new block has been added to the mesh. The existing project parameters have been kept for the old blocks, and the default parameters have been set for the new block.
Open Another Grid File will open a File Chooser allowing to browse to the a new grid file with extension ".igg". Select the grid file and press OK to accept the selected mesh. Then the dialog box Mesh Merge Information will appear.
Start IGG will load automatically the new mesh into IGG™, where it can be modified.



FIGURE 9 Merge Topology dialog box
The merge process may also occur when opening an existing project, or when switching between IGG™ and FINE™/Turbo, because the check of the topology is performed each time when a project is read.
In case the mesh file no longer exists, or is not accessible, an appropriate warning will pop-up when opening the project. In this case it will not be possible to start the flow solver, so the user needs to locate the mesh by means of the File Chooser button on the right of the Grid Selection bar.
Once the grid file is selected and its topology is checked, the Grid Units and Project Configuration window appears. This window allows to check the properties of the mesh and to modify them if necessary. 
Solver Buttons
Three buttons allow to start, stop and kill the active computation:

 The Start Flow Solver icon is a shortcut for the menu item Solver/Start....

 The Save Solution and Stop Flow Solver icon is a shortcut for the menu item Solver/Save and Stop....

 The Kill Flow Solver icon is a shortcut for the menu item Solver/Kill....
Module Buttons
Two buttons allow to start the pre- and post-processor:

 The Start IGG icon is a shortcut for the menu item Modules/IGG.

 The Start CFView icon is a shortcut for the menu item Modules/CFView.
User Mode



By clicking on the arrow at the right the user may select the user mode. For most projects the available parameters in Standard Mode are sufficient. When selecting Expert Mode, parameters area included additional parameters. These expert parameters may be useful in some more complex projects. The next chapters contain sections in which the expert parameters are described for the advanced user.

Setting Expert Parameters to Procure Convergence
Several expert parameters may be set to procure convergence.
Minimizing Artificial Dissipation in the Boundary Layer
An alternative treatment of the dissipation terms in the k and ε  equations has been introduced to overcome difficulties related to turbulence decay in boundary layers observed in some specific test cases. Currently, the dissipation terms are scaled with the spectral radius of the equations and are further damped in an exponential manner across the boundary layer. The major drawback of this formulation is that it introduces an excessive amount of artificial dissipation into the boundary layer, leading to non-physical relaminarisation problems. A different implementation, based on the L.E.D. (Local Extrema Diminishing) version of the Jameson-Schmidt-Turkel treatment introduces better monotonicity properties of the k and ε  equations.
IKELED(integer):0 (default): Dissipation scaled with spectral radius.
	1: Less diffusive L.E.D. scheme activated.
Wall Function for the k-ε Turbulence Model
INEWKE(integer):0: Wall function applies for first node off the wall at y+ =20-50, Launder & Spalding.
	10 (default): Mesh-independent formulation of the wall function.
Full Multigrid k-ε / Baldwin-Lomax & v²-f / Baldwin-Lomax Switch
KEGRID	= 2:	    Grid 222 - Baldwin Lomax,
	Grid 111 - Baldwin Lomax,
	Grid 000 - k-ε  or v²-f Model.
KEGRID	= 3:	Grid 222 - Baldwin Lomax,
	Grid 111 - k-ε  or v²-f Model,
	Grid 000 - k-ε  or v²-f Model.
Example: k-ε  run on the finest grid level (000) with 3 levels of grid (222, 111 & 000) in the multi-grid procedure. The Baldwin-Lomax model remains active on levels 222 and 111 before k-ε  is automatically switched on when the finest grid is reached. This is controlled through the expert parameter KEGRID whose value is set to 2, meaning that the Baldwin Lomax model is used up to the second level of grid. The μt/μ field computed using the Baldwin-Lomax model is then transferred to the finest mesh and used to calculate initial k and ε  values. The use of a KEGRID (set to 10 by default) value higher than the number of grid levels available enables the k and ε  equations to be solved on all grid levels.
A similar procedure can be followed when a calculation on 111 mesh is first desired. Providing KEGRID is set to 2, the Baldwin-Lomax is then active on level 222 before the k-ε  model is automatically switched on when the finest grid level (111 in this case) is reached. However, the question then arises when a restart procedure on the 000 level is required. How to restart on 000 while transferring strictly the k and ε  fields already computed on 111? If KEGRID=2, the solution computed on 111 is seen as a Baldwin-Lomax solution. The k and ε  fields are then reset using the classical procedure while the other variable fields (density, velocity and energy) are transferred adequately. To overcome this difficulty, KEGRID must again be set to a value higher than the number of grids. This procedure results in a much better initialisation of k and ε , thus preventing some relaminarisation while enhancing convergence.
Cut-off (clipping) of Maximum Turbulence Production/Destruction Value
The float parameter PRCLIP controls the maximum allowable value of turbulence production/destruction (=production/density*dissipation in k-ε  model). Limiting this to a finite value enhances the convergence rate by removing the possibility of unbounded turbulence spikes occurring during the numerical transient. However, care must be taken to apply a reasonable limit. Recommended values are:
PRCLIP (real):	For most flows: 50 (default),
	In turbulent diffusion dominated flows (e.g., seals): 200.
In case of using generalized transition model with the EARSM turbulence model, the expert parameter PRCLIP is automatically set to 10.
Cut-off (clipping) of Maximum Turbulent Viscosity Ratio (μT /μ)
The float parameter MUCLIP controls the maximum allowable value of the turbulent viscosity ratio μT/μ. Limiting this to a finite value enhances the convergence rate by removing the possibility of unbounded spikes occurring during the numerical transient. At the end of the computation however, the value of μT/μ should not be clipped anymore. During the convergence process, the user can check the output of the computation to see if the maximum value for the turbulence ratio has been reached. If this is the case, the output will contain a line: "MUT/MU CLIPPED FOR # CELLS". MUCLIP can then be put to a higher value, to increase the limit. However, care must be taken to apply reasonable limits. Recommended values are:
MUCLIP (real):	For most flows: 5000 (default). It can be increased if necessary.

Graphics Area


FIGURE 16 Resizing of Graphics Area
The graphics area shows the mesh of the open project. The graphics area appears and disappears when clicking on Mesh/View On/Off. When the graphics area appears it is covering the parameters area. Use the button on the left boundary of the graphics area to reduce its size and to display the parameters area. The Grid page, in the View subpanel on the left, and the viewing buttons can be used to influence the visualization of the mesh. The View subpanel is described in View Area and the viewing buttons area are described below.

Machine Connections
The Task Manager allows the user to control processes on all the machines connected to the network. The rsh command is used by the PVM library to access the machines. Before using the Task Manager, the following actions must be done:

On Windows platforms the Numeca RSH Daemon has to be started. The user is referred to the installation note for more details.
Modify the .rhosts file in the home directory (on Linux) or the rhosts.txt file in C:\WINDOWS (on Windows) in all the machines which can be used by the Task Manager. i.e.: if the machines machine1 and machine2 will be used by the users tasks from machine_master, the file in machine1 and machine2 must be modified as follows:
line1: machine_master <login1>
where machine_master is the host name. login1 is optional. If the login on machine_master is different from login1, the user in machine_master will be asked to supply a password when connecting to machine1 and machine2.
The rhosts file needs to be ended by a blank line.
The file permission must be set to 'rw' (on Linux: chmod 600 ~/.rhosts).
Test the rsh command on the desired machine: an external check that the .rhosts file is set correctly is to enter the following command line:
% rsh remote_host ls <Enter> when the remote host is Linux or rsh remote_host dir <Enter> when the remote host is on Windows.
where remote_host is the name of the machine to connect to. If the login on the remote host is not the same, ensure that the .rhosts file contains the line:
remote_host local_login
and in this case the command line is:
% rsh remote_host -l local_login ls when the remote host is Linux or rsh remote_host -l local_login dir <Enter> when the remote host is on Windows.
If the rhosts file is set up correctly, a listing of the files is shown on the remote host.
On Windows, the rsh.exe executable is located in	 <NUMECA_INSTALLATION_DIRECTORY>/fine#/bin/


The ssh command can be used instead of the rsh command on Linux. To use this command, the user has to define an environment variable NI_RSHCMD in the shell before starting FINE by typing the following:

for csh or tcsh:
setenv NI_RSHCMD ssh

for bash or ksh:
export NI_RSHCMD = ssh


 Of course the settings of the NI_RSHCMD can be added to the ".cshrc", ".tcshrc", ".bashrc" or ".profile" file of the user. 

Due to a limitation of the PVM library, FINE™/Turbo can not be connected to a machine where FINE™/Turbo has already been started. When PVM tries to establish the connection, it detects that a server FINE™/Turbo is already running and/or pvm daemons are still running and finally refuses the connection with a warning. To solve this problem, the PVM daemons must be stopped on the machine on which FINE™/Turbo must be connected:

Log on the machine where the connection must be established.
Start FINE™/Turbo and open the Task Manager through Modules/Task Manager and use the button Shutdown of the page Hosts definition. The button Shutdown can be used to switch off all the PVM daemons of all the machines connected to FINE™/Turbo. This action will stop all the daemons on all the machines connected, kill all the tasks and finally exit FINE™/Turbo.
On Linux: remove all the /tmp/pvmd.<userID> and /tmp/pvml.<userID> files. On Windows these files should be removed from the directory defined by PVM_TMP (by default this directory is C:\tmp).
Repeat this operation for all the machines on which the problems appear.
The script cleanpvmd located in <NUMECA_INSTALLATION_DIRECTORY>/fine#/COMMON/, provided with the NUMECA software, will automatically perform steps 2 and 3 on all machines listed in the .rhosts file. This script is only available for Linux platforms. Performing the script cleanpvmd will kill all the PVM daemons on every computer in the .rhosts file. This means that it will also kill the running computation that are connected to these PVM daemons.
If PVM still has a problem to get the connection, it will print an error message either to the screen, or in the log file /tmp/pvml.<userID> (on Linux) or in the directory defined by the environment variable PVM_TMP (by default C:\tmp) in the log file called: pvml.<userID>. Please send this log file to our local support office.
All these operations apply to the users daemons and users files. Multiple users can use the Task Manager simultaneously. No interaction appears between PVM daemons and PVM log files of different users.
On Windows, when the user stops the pvmd on a remote host (using Remove Host button on the Hosts definition page) and immediately tries to restart it (using the Add Host... button), a message will appear stating that it is not possible to connect. This problem does not occur in general since there is no need to remove a host and add it immediately after. When it occurs the only solution is to wait until the host is available again (after 5 to 10 minutes). More details are available in the installation note.
From time to time, when a user tries to connect on a remote host, an error message can appear very briefly: "Can not connect to RSH Port!!!" This may happen on Windows connecting to a host, disconnecting, and trying to reconnect again to the same host. There is a socket release time parameter which keeps the connection for some time.

Expert Parameters
Imposing Inlet Velocity Angles of Relative Flow
In case of a stator calculation it may be convenient to impose the velocity angles of the relative flow at the exit of the upstream rotor. In case of rotors, the user may also prefer to impose relative boundary conditions. This procedure is only available when total conditions and flow angles are imposed. In addition to that the extrapolation of Vz must be selected. Note also that both flow angles and total conditions are then treated in the relative mode.
The following parameters have to be defined:
INLREL(integer): 	allows to specify relative angles for the cylindrical inlet boundary conditions with: 

= 0 (default): total quantities imposed,
= 1: inlet for a stator (extrapolation of the axial velocity only). The expert parameter OMGINL has also to be specified,
= 2: inlet for a rotor.

ANGREL(real):	data use with the expert parameter INLREL (for stator only). This variable contains three values:

	1st real: relaxation angle (in degrees), 
	2nd real: distance (%) from hub where the absolute flow angle is extrapolated,
	3rd real: distance (%) from shroud where the absolute flow angle is extrapolated.

Inlet Total Quantities Boundary Condition
IMASFL(integer): 	expert parameter specially dedicated to radial inlets. The mass flow is extrapolated instead of the velocity for the cylindrical inlet boundary conditions with imposed total quantities:	

= 0 (default): treatment inactive, the velocity is extrapolated,
=1: option activated, extrapolation of the mass-flow.

Inlet Mass Flow Boundary Condition
INMFTT(integer): 	specify static temperature or total temperature when using mass flow imposed inlet BC:

= 0 (default): static temperature is specified,
=1: total temperature is specified.

Outlet Mass Flow Boundary Condition
MASPAO(integer): defines the formulation used for  the outlet boundary condition when the mass flow is imposed with pressure adaptation:

 = 1: the pressure adaptation coefficient is computed using reference values (reference temperature, pressure and the characteristic length from the Flow Model page),
= 2 (default): the pressure adaptation is independent of the reference values and instead is based on characteristic quantities directly related to the outlet. Local values of area averaged pressure and density, as well as exit surface area, are used in order to speedup convergence to the imposed mass flow.

RELAXP(real): 	is the under-relaxation factor for the outlet boundary condition when mass flow is imposed with pressure adaptation (default value = 1). 
VELSCA(real): 	is the maximum value allowed for the velocity scaling when mass flow is imposed with velocity scaling (default value = 2.)
Outlet Averaged Mach Number Boundary Condition
RELAXP(real): 	is the under-relaxation for the outlet boundary condition where the averaged Mach number is imposed with the exit pressure adaptation (default value = 1.). 
Control of backflows
BCKFLO(integer): defines whether an Euler wall boundary condition is used at all outlet cells where back flow is detected:

= 0 (default): don’t use the control of backflow,
= 1: use an Euler wall boundary condition at all cells where backflow is detected.

BCKFLU(integer): 	defines whether the backflow control at inlet is activated or not. The use of BCKFLU is limited to turbomachinery cases meshed with AutoGrid4™/AutoGrid5™. 

= 0 (default): don’t use the control of backflow at inlet
= 1: use the control of backflow at inlet, based on pitchwise averaging of the solution.	

Torque and Force
IDCDP(real):		if cylindrical project (as defined in Mesh/Properties) and IINT=1: direction (x,y,z) of axial thrust,
	in all other cases: direction (x,y,z) of drag.
IDCLP(real):	direction (x,y,z) for lift (not used if cylindrical project and IINT=1),
IDCMP(real):		direction (x,y,z) for moment,
IFRCTO(integer):		calculate and store the partial torque in the corresponding ".wall" file. More  detail in Force and Torque section.
EQWSPA(integer):	When storing the partial torque and force in the .wall file by setting IFRCTO=2, the relative spanwise positions in the pressure side and suction side may be different. The user can set the expert parameter EQWSPA to 1 in order to calculate the relative spanwise positions by using the same reference (trailing edge). In this case, the relative spanwise positions will be the same between the pressure side and the suction side. Note, when a blunt trailing edge is used, the relative spanwise positions may be different because of the different references.
IXMP(real): 		coordinate (x,y,z) of the point around which the moment has to be calculated. The coordinates are expressed in meters.
TORRO(integer):

= 0: Compute force and torque on the complete patch
= 1(default): Compute force and torque only on the part of the patch which is defined through an area defined rotation (the part corresponding to ω2).

IMUWAL(integer):	if set to 1, the ".wall" file will be saved at each iteration on the finest grid level (current grid level specified in the Numerical Model page) when performing a steady simulation. The corresponding .wall file (_iter#.wall) will be saved in the computation directory.
Profile Management
BC2DIN(integer):	defines the interpolation method when specifying boundary conditions by 2D profile. The setting of this parameter applies to all inputted 2D profiles.

= 0 (default): use the linear interpolation of the 3 closest data points
= 1: use the barycentric interpolation of the three points forming a triangle around the mesh point. In general, the barycentric interpolation will generate smoother distribution than the linear interpolation, especially in case that the 2D profile has a low resolution.

TIMEBC(integer):	controls the restart of the time dependent boundary conditions in unsteady computation.

= 0 (default): resets the time dependent boundary condition at restart
= 1: continues the time dependent boundary condition at restart.

RELPRO(integer): if set to 1, it allows to impose a normalized boundary conditions profile for 1D inlet/outlet profiles. The scaling is done between the minimum and the maximum of the selected coordinate (X, Y, Z or R) and is not available for the theta coordinate.
Euler or Navier-Stokes Wall for Viscous Flow
If the flow type selected is laminar or turbulent Navier-Stokes, it is possible in Expert Mode to choose between an Euler wall (zero normal velocity) and a Navier-Stokes wall (no-slip condition). Further details on the numerical treatment of the walls are provided in the theory guide. Note that the default (active in Standard Mode) is a Navier-Stokes wall.
Pressure Condition at Solid Wall
When the interface is in Expert Mode, two toggle buttons are provided to select the type of pressure condition at the wall: extrapolated or computed from the normal momentum equation. The default (active in Standard Mode) is the extrapolation of the pressure.
Non reflecting boundary conditions
NHIONR(integer):	controls the number of harmonics used for the non reflecting inlet and outlet boundary condition formulation. 

= 5 (default):  number of harmonics used in the Fourier decomposition described in the theory guide.

Global Correlation Transition Model


Overview
The global correlation transition model allows the user to perform a laminar-transition simulation in order to take into account the transition onset at a certain chord distance on a blade pressure and suction sides. The transition location (transition line in 3D) should be imposed either through a user input or via a separate guess. These transition terms will be activated in the turbulence equations when the transition module is used.
The limitations using the global correlation transition model are:


The global correlation transition model is only available for the Spalart-Allmaras, Yang-Shih k-ε , k-ω and SST turbulence models using AutoGrid™ mesh. For the detailed compatibility information, please refer to the Compatibility Matrix of FINE™/Turbo.
Rotor/Stator interfaces should be correctly oriented (from upstream to downstream) and solid walls of the blades should be adiabatic.
When selecting the AGS model, only one upstream R/S interface of each blade is allowed. Furthermore, there are no restrictions on the number of inlets. For example, the transition model will not work for the Blade "B3" if positioning the R/S interface to the location indicated by the red lines, as shown in FIGURE 51.



FIGURE 51 Only one upstream R/S interface directly linked to the blade is allowed

The transition location imposed by the user through the Forced Transition option and by the AGS Model is only appearing if it has been defined in a turbulent boundary layer.
The AGS model only works for transition from laminar to turbulent boundary layers but not to detached turbulent boundary layers. When detached flow is present, a forced transition at a certain location should be used.

Another transition model (Generalized transition model) can also be used to perform transition simulation in turbomachinery.
Global correlation transition model in the FINE™/Turbo GUI
When activating the button Transition Model in the Optional Models / Transition Model page and selecting the button Global Correlation Transition Model, the layout of the page is shown, see  FIGURE 52.
A list of all the blades appears in the left box and the remaining area is divided into two boxes for suction and pressure side, respectively. Four choices are possible:

Fully Turbulent
Fully Laminar
Forced Transition
Abu-Ghannam and Shaw (AGS) Model



FIGURE 52 Global Correlation Transition Model page in FINE™/Turbo
Furthermore, for Forced Transition, the user has to specify the position of the transition lines on each side of each blade. It is based on the relative stream-wise position and it is defined as a line on the blade pressure and/or suction sides from hub to shroud. The user specifies two anchor points through which a straight line will be built by the solver. It should be noted that only blades are transitional while wall ends are fully turbulent.
The intermittency is available on the Outputs/Computed Variables page under the category Solid Data to visualize the intermittency on solid patches in CFView™. 
Expert Parameters
INITRA (integer):	control the number of multigrid iterations (default = 100) performed in fully turbulent after the coarse grid initialization process. Thereafter, the blade pressure side and suction side are identified and the transition line is defined. The computation pursue for the remaining iterations in transitional mode. The transition line derived from the Abu-Ghannam and Shaw model is computed at each iteration.


For starting or restarting a computation in transitional mode from a previous solution (fully turbulent or in transitional mode) the expert parameter INITRA should be set to 0 (otherwise iterations will be performed in fully turbulent mode).
INTERI (integer):	control the type of intermittency distribution (0: binary or 1: from Dhawan and Narasimah) (default = 0).
INTERL (integer):	control the type of location used for forced transition (0: base on arc length or 1: based on axial chord) (default = 0).
FTURBT (real):	control the proportion close to the trailing edge that is fully turbulent (default = 0.95).
FTRAST (real):	prevents the transition to start in an area defined from the leading edge of the mesh. The value set is a percentage of the chord upstream of which the transition is not allowed (by default 0.05: 5%). 
KETRAN (Integer):	control the terms multiplied by intermittency in the equations of turbulence model (default=1)

1: transition is activated for production of k
2: transition is activated for production and dissipation of k
3: transition is activated for production of k and epsilon

BLFACT (real):	factor multiplying boundary layer momentum thickness to define distance from the blade on which the transition model is applied (default=5). 
ITRWKI (integer):	switches on the wake induced transition model. When activated (ITRWKI set to 1), the free stream turbulence intensity (defined at the inlet or at the rotor/stator interface) and the turbulence intensity from the boundary layer edge are used to define the transition region. When this parameter is not checked, only the free stream turbulence intensity is used.

Start Program
When starting the program, a Start window (FIGURE 1) allows the user to create a new mixture, load an existing one or exit TabGen. 


FIGURE 1 Start window of TabGen
Create 	New Mixture
The creation of a new mixture is possible by clicking on the button Create New Mixture in the Start window. Then a Mixture window will appear, as seen in FIGURE 2. The user can modify the name of the mixture, which will be displayed in the top of the main window.


FIGURE 2 Create new mixture
In the section Available Fluids, several fluids can be selected. The  and  buttons are used to transfer the selected fluids to and from the mixture. Multi-selection is also possible to ease the process. Three buttons at the bottom of the window allows the user to load directory with fluids, load one fluid or unload a fluid.
After adding fluids to the mixture, the user needs to set the molar fraction for each fluid of the mixture. The sum of mixture component should be 100%. In order to change molar fraction, a double click on the dedicated fluid is needed.
The maximum number of decimals of the molar fraction is 4.
For each fluid in the mixture, the user is able to see its properties and to choose its equation of state. In order to do it the user needs to select the fluid inside the mixture and click on the button See Fluid Properties at the bottom of the Mixture of fluids section. A new window will be opened, as seen in FIGURE 3. Inside there are general properties of the fluid and a combo box with currently selected equation of state. Just below the application ranges and description related to the selected equation are shown.


FIGURE 3 The properties of the selected fluid
For every user action, the current state of the mixture is displayed at the bottom of the Mixture Properties section. If the mixture is not possible for any reasons, this issue is written inside this field. When the mixture is possible the mixture values and application ranges are displayed.
After setting all the parameters and clicking on the button Ok, the main window of TabGen will appear.
Open Mixture
The user can open an existing mixture by clicking on the Open Mixture button in the Start window. Then a Load Mixture window will appear that allows the user to browse to the location of the existing mixture. The filter in the Load Mixture window is automatically set to display only the files with extension ".xml", the default extension for a mixture file. After opening the existing mixture, the main window of TabGen will appear.
Exit
Clicking on the button Exit will exit TabGen.

Second Step: Generating an Appropriate Grid
Cell Size
When calculating turbulence quantities it is important to place the first grid node off the wall within a certain range (ywall). This can be done for the blade and the endwalls (hub and shroud) independently. When doing computations including viscosity (Navier-Stokes equations) the boundary layer near a solid wall presents high gradients. To properly capture those high gradients in a numerical simulation it is important to have a sufficient amount of grid points inside the boundary layer. When Euler computations are performed no boundary layer exists and therefore the cell size near solid walls is of less importance.
To estimate an appropriate cell size ywall for Navier-Stokes simulations including turbulence, the local Reynolds number based on the wall variable y+ is computed. The value of y+ associated with the first node off the wall will be referred to here as y1+:



where uτ is the friction velocity:



Note that the value of ywall depends on the value of y1+.


FIGURE 2 Boundary layer profilesNote that the sublayer extends up to y+=5 but 10 is an acceptable approximation for design calculations.Note: The variable v* displayed in the figure is uτ.Picture from White, F.M., Viscous Fluid Flow, McGraw Hill, 1991.
In FIGURE 2 it is represented the evolution of u+ against y+ from the measurements of Lindgren (1965) with:
u+=/
Low-Re models resolve the viscous sublayer and are well suited for y1+ values less than 10 whereas high-Re models apply analytical functions to the log-layer and are appropriate to y1+ values ranging from 20 to 50, even more (depending on the extension of the buffer layer for the considered flow). When the extended wall function is used, it is strongly advised to locate the first inner node either in the viscous sublayer (y1+<5) or in the log layer (y1+>20). 
Moreover one can notice that the logarithmic function does not apply for separated flow. So whether it is expected that a significant amount of separation will have to be predicted, one of the low-Reynolds number turbulence models would be more appropriate. 
Recommendations are given in the following table for ranges of y1+ specific to the different types of models.
TABLE 2  Appropriate y1+ values for available turbulence models






 

High-Re


Low-Re






Turbulence Models


Spalart-Allmaras (Extended Wall Function);
SARC (Extended Wall Function);
k-ε  (Extended wall function);
k-ε  (Standard wall function);
SST (Extended wall function)
EARSM (Extended wall function);


Baldwin-Lomax;
Spalart-Allmaras;
Spalart-Allmaras (Extended Wall Function);
SARC;
SARC (Extended Wall Function);
k-ε  (Extended wall function);
k-ε  (Low Re Yang-Shih);
k-ε  (Low Re Chien);
k-ε  (Low Re Launder-Sharma);
Shear Stress Transport (SST);
SST (Extended wall function);
EARSM;
EARSM (Extended wall function);
k-ω (Wilcox);
v²-f (code friendly)




y1+


20-50


<10




One way to estimate ywall as a function of a desired y1+ value is to use a truncated series solution of the Blasius equation:

y1+...

Note that the reference velocity, Vref, can be taken from an average at the inlet. For instance, if the mass flow is known the value can be calculated using density and the cross-sectional area of the inlet. If the mass flow is not known the reference velocity may be calculated from the inlet total pressure and an estimated static pressure using isentropic relations. The reference length, Lref, should be based on a typical length scale since an estimation of boundary layer thickness is implied in this calculation. For instance, in the case of a turbomachinery simulation one could use the distance between hub and shroud curves that exist upstream of the first row of blades. This is approximate, of course, as the thickness of the boundary layers will vary widely within the computational domain. Fortunately it is only necessary to place y1+ within a range and not at a specific value.
Another method of estimating ywall is to apply the 1/7th velocity profile. In this case the skin friction coefficient Cf is related to the Reynolds number:



where Rex should be based on average streamwise values of Vref and Lref as discussed above. Since uτ is based on Cf it may be calculated based on the equation of the friction velocity, and ywall may then be calculated from y1+. Note that either method is not exact but they will yield results that are quite close to each other. In fact, it can be instructive to calculate ywall using both methods as a check. Since only one wall distance is being calculated, the particular flow being studied should be kept in mind. For instance if it is a diffusing flow Cf, and hence y1+, can be expected to drop. Since a certain range is desired (e.g., 20< y1+<50 for high-Re Standard k- ε ) the user may choose to base the calculation of wall distance on an average of that range (e.g., 40).
Things to Look Out For
Previous recommendations should provide reasonable estimates but it is always wise to plot y+ once a solution has finished. Spot checks should be made to ensure that most y1+ values fall within the desired range. For instance it is useful to plot y+ contours over the first layer of nodes from a given wall (available in solid data output). There are some special cases where such checks do not strictly apply. For instance, skin friction approaches zero at points of separation so it is expected that y1+ will be low in such regions. It is generally recommended that turbomachinery blade tip clearances are meshed with uniform spanwise node distributions. In such cases, the y1+ values will tend to be higher within the gap than elsewhere in the computational domain near-wall regions. This should not raise concern as the tip clearance flow consists of thoroughly sheared vortical fluid that undergoes significant acceleration and is therefore quite different than a standard boundary layer. It is expected that the skin friction will be high in this region due to the acceleration.
General Advice
What grid resolution is adequate?
The resolution method employed in the FINE™/Turbo solver requires approximately 9 nodes across a free shear-layer and approximately 15 across a boundary layer to provide grid-independent results for turbulent flows. If wall functions are used the boundary layer only requires approximately 9 nodes.
Of course the flow field under study will realistically consist of shear layers of which the width varies substantially throughout the flow field. The user must therefore decide what is important to capture and what is not. For instance, in the design-cycle analysis of a compressor with a volute it would probably be acceptable to choose a fully-developed boundary layer. The number of nodes across the diameter would therefore be approximately 29. However, it would be wise to select a number like 33 to maintain a large number of multi-grid levels. The selection of nodes in the streamwise direction should be governed by what resolution adequately represents the studied geometry. Regions of concentrated high gradients, such as airfoil leading or trailing edges or any geometrical corners should contain a relatively high clustering of nodes.
What determines the grid quality?
After the various grid resolution concerns are addressed, the level of skewness must be analysed. Providing clustering in a curved geometry can often lead to internal angles of grids cells of 10°. It is important to minimize the number of cells containing such low angles as the calculation of fluxes can become significantly erroneous under such conditions. More information concerning how to check the quality of a grid can be found in the IGG™ or AutoGrid™ manual. If the adjustment of node numbers and clustering does not reduce the level of skewness, local smoothing should be applied. The expansion ratio, or the ratio of adjacent cell sizes, should also be checked. It is particularly important to keep this value within an absolute range of about 1.0-1.6 in regions of high gradients, such as boundary layers, free shear-layers and shocks. If it is evident that adjacent cells are different in size by factors significantly greater than two, the clustering in this region should be reduced or the number of nodes should be increased.
 Verification of y1+
By following these instructions it should be possible to generate a grid of reasonable quality for turbulent flows. It is recommended however, that the user checks values of y1+ after approximately one hundred iterations on the fine grid to ensure the proper range has been specified. At the same time, it can be useful to plot contours of residuals (continuity, momentum, energy and turbulence) over selective planes. If the level of skewness is too high, this will be indicated by local peaks in residuals that are orders of magnitude greater than the rest of the flow field. If a multi-block grid is used, the residual levels in each block can be compared in the Monitor.

List of Expert Parameters

On the Control Variables page under Expert Mode a list of non-interfaced expert parameters is available. As stated in the interface these parameters should not be used unless explicitly stated in this manual. This chapter contains a list of all non-interfaced expert parameters that are described in this manual. For each parameter a reference is given to the corresponding section. If more information is desired on another parameters please contact our local support office.

Performance Curve
Introduction

Performance curve is a graphical representation showing the characteristics of a rotating turbomachinary at various operating conditions. For example, the performance curve for a compressor would include rotor speed for various inlet and outlet pressures versus gas flow rate adjusted for temperature, density, viscosity, head, and other factors.
The FINE™/Turbo environment provides a dedicated module to create and manage performance curve computations in an automatic way. The user imposes the number of the operating points and the boundary conditions. FINE™/Turbo will automatically set-up a series of computations of the operating points and give the performance curve.
The performance curve applies the following limitations:

Currently, the performance curve is only applied to compressor application.
The performance curve is not compatible with outlet BC defined by a profile.

The next sections will describe the way to set-up and manage the performance curve computation in detail.
Performance Curve in the FINE™/Turbo GUI
Create and Edit Performance Curve
Before creating a performance curve computation, the user has to create a starting point computation, such as an operating point at design condition. Then the user needs to set the parameters and launch the flow solver until obtaining a converged solution. This starting point computation will be used as the design point to create and set the performance curve computation.
To create a performance curve computation, first select the starting point computation, then click on the button Create Performance Curve on the Computations subpanel. 


A performance curve definition window will appear, see FIGURE 53.
Here several parameters need to be inputted:

Rotation Speed: impose the rotation speed for the rotating part in the project.
Number of points in stall region: impose the number of the operating points in stall region.
Number of points in choke region: impose the number of the operating points in choke region.
Stall area control: select the type of the outlet boundary condition. The user can specify the outlet boundary condition with only pressure imposed in both stall and choke regions, or combining mass flow imposed in stall region and pressure imposed in choke region.
Pressure/Mass flow range in stall region: specify the varying range (%) of the pressure/mass flow rate at outlet in stall region. 
pressure range in choke region: specify the varying range (%) of the pressure at outlet in choke region.
Initial Solution from: by default, the initial solution will be set as a restart from the previous operating point, except for the design point.



FIGURE 53 Create a performance curve
After clicking on the button Create, multiple sub-computations will be automatically created with the parameters that the user inputs.
The present implementation is dedicated to compressor.
After its creation, the performance curve may be edited to change the number of points and / or the mass flow or pressure range. To edit a performance curve, just select the name of the performance curve and click on the button Edit Performance Curve.
The parameters of each of the automatically generated sub-computations may be separately modified. The flow solver may be separately started for each sub-computation.
As usual, the sub-computation can be operated through the button New Computation, Rename and Remove. When a performance curve item is selected in the computations browser, the action will be applied to all of the subcomputations. The user may change some parameters simultaneously for all computations.
Launch performance curve computation
The performance curve computation can be launched in serial model or in parallel mode. When selecting a performance curve item and clicking on the button Start Flow Solver, a window will appear, see FIGURE 54.


FIGURE 54 Launch performance curve computation
Selecting Start Perfo Curve will launch all the sub-computations in serial mode. Selecting Start Perfo Curve in Parallel, FINE™/Turbo will automatically switch to TaskManager and create a new task with all the sub-computations. A Parallel settings window will appear. The user can set the number of process and other parallel settings. All the settings will be applied to all subtasks.
If a performance curve has been started and afterwards stoped or killed, the user may choose Continue from the Solver menu in order to continue computations from the first not finished subcomputation. The Continue option may also be used in case that the user adds new sub-computations to the existing performance curve in order to compute only the new sub-computations. 
Post-processing


The post processing of the performance curve is available in a separate page, see FIGURE 55. Both pressure ratio and efficiency can be plotted. The user can also input the experimental data for comparison or export the results. If select Export to file, a data file with the name <Performance curve name>_pressureratio_efficiency.dat will be automatically created in the project folder. The option User Axis Limit can be used to specify the range of the abscissa and ordinate.
The file format used to imput the experimental data is:

Line 1: 	Three strings defining the name of the variables.
The next lines contain the variable values of each point.

Example 1:
Mass Flow	Pressure Ratio		Efficiency
10.3443179130554	1.30143475532532		0.839340686798096
10.5739312171936	1.29300808906555		0.844243705272675
10.8034386634827	1.28314805030823		0.847144782543182
11.0327978134155	1.27196598052979		0.848022699356079
11.2620959281921	1.25955402851105		0.846824049949646
......


FIGURE 55 Performance curve output

Python Language Overview
Scripts are available in FINE™/Turbo through the object-oriented Python language. Python is a popular scripting language designed to be easily extendible to a specific application. It provides the major functionalities classically found in languages such as C or C++, in a dynamic, interpreted environment.
By default, French accents cannot be included in a script except if the string # coding=utf-8 is added as first line of the script.
This section provides a brief overview of the basic features of the Python language. Interested readers should consult the tutorial documents or the systematic description of the language available on the Python web site (http://www.python.org).
Scripts are evaluated line by line. However, line evaluation continues on the next line if the character '\' is the last character of the line.
Adding Commented Lines
The '#' character specify that the rest of the line is a comment and will be skipped while the macro is executed.
Support for Mathematical Operations

the operators +, -, * and / are defined,
parenthesis can be used and nested to any level,
functions abs(x), int(x), floor(x), ceil(x) and sqrt(x) for square root are available,
trigonometric functions sin(x), cos(x), tan(x), acos(x), asin(x), atan(x) are available, atan2(x,y) returns atan(x/y),
logarithmic functions log(x) for neperian logarithm, log10(x) for base 10 logarithm, exp(x), sinh(x), cosh(x), tanh(x), asinh(x), acosh(x) are available,
x to the power y is obtained by the function pow(x,y),
boolean values are returned by the operators >, <, <=, >=, ==, !=, and, or,
the constants pi and e are predefined.

String Handling
Strings are handled in Python in the following way:

they are enclosed in single <'> or double <"> quotes,
concatenation is obtained with the operator +,
duplication is obtained by the multiplication by an integer (operator *),
access to the ie element is obtained by the suffix '[i]' and access to a substring is obtained by the suffix [i:j] for a substring starting from the ie character to the je,
numerical values contained in variables can be inserted in a string by enclosing the variable name with reverse quotes (') or by using a formatting specification:
Example:

s = 'The Value of x is' +'x'
s = 'The Value of x is %3d' %(x)
The formatting symbols are interpreted as follows:

%d formats in an integral value (rounded if necessary)
%nd (where n is an integer) in an integral value having a length of exactly n characters (space characters are inserted on the left if necessary)
%n.mf (where n and m are integers and n>m) formats into a floating point value having at most n characters length and a fractional part of m characters exactly
%n.me(where n and m are integers and n>m) formats into a scientific representation having at most n characters length and a fractional part of m characters exactly



stripping of the leading or trailing white spaces is obtained by the function strip. 
Example:

myStrippedString = strip(myString)

Lists Handling
A list is an ordered set of items.

a list is defined by enclosing the comma separated items by square brackets. A list may be empty,
Example:

my_list = [a,b]

empty_list = []
Note that list definition can be extended over several lines without the '\' terminating character.


an item is accessed by adding the suffix [i] to the list name (ex: my_list[1]). Note that list indices start at 0,
lists can be nested to any level,
appending is obtained by the operator + (ex: my_list + my_list2) or by the function append (ex:my_list.append([c, d])),
multiplication (appending oneself n times) is obtained by the multiplication operator (ex: my_list*3),
the functions insert(index, value) inserts value at position index, the elements at upper position are shifted,
the function index(value) returns the index of the first item of which the value is value,
the function remove(value) removes the first item of which the value is value,
the functions sort(), reverse() and len() are, respectively, sorting, reversing the elements and returning the number of elements in the list.

Control Flow 
The body part of these instructions is defined by the indented lines and the specific control lines are terminated by a colon. The end of the loop body is marked by the first line that does not start by a tab character. Nested loop are obtained by heading lines with multiple characters.

if statement: 
Example:

if x < 0 : 
      print 'x is negative'
elif  x==0 :
      print 'x is null'
else :
      print 'x is positive'
elif and else clauses may be omitted.


loop statements: the for loop iterates on the elements of a list and the while loop iterates as long as the condition is met. A break statement may be inserted to step out of the loop.
Example:

for x in a[:] :
for x in range(0,10) :
while x>0 :
where the range function returns a list of integers starting from the first argument value to the second argument value with a step indicated by the third argument if existing (default value is 1).

Function Definition
Function definition starts with the standard header:
def function_name (arg1, arg2, arg3 = default_value, ...)
where def is a reserved keyword. The arguments can be of any type (it is a user responsibility to provide meaningful ones) and last arguments may have a default value (as arg3 in the above example).
Each line of the function's body is indented with a TAB character. The function definition ends with the first line which is not indented by a TAB character.
All arguments are passed by value. Thus, if an argument value is modified, the new value is not available to the caller.
A returned value may be specified using the 'return' statement followed by the name of the variable or by a value. In any case, a value is returned and not a reference on a local variable or object. The type of the returned value is a list, this means that appending a new element in the returned list is obtained by the statement 'return.append(x)'.
Global scope variable can be accessed if they are declared as such by a statement 'global' (e.g. 'global x' specifies that the x variable is a global variable for the current function).
File Handling
Files can be opened for reading and writing. A file is associated to a variable which is initialized at its opening: 
f = open(fileName, mode, bufferSize)

where fileName is the full file name including its path. The parameter mode is a character string of which the value may be:

'r' or 'rb': file opened for reading, 
'w' or 'wb': file opened for writing, creates it if not existing or the previous content is discarded, 
'a' or 'ab': file opened for appending, creates if not existing or writes at the end of the file.

The 'b' character is used only on Windows systems to indicate that the file is in binary mode, on Linux system, it is neglected. The parameter bufferSize is the integer value of the size of the buffer, the system default size is chosen if the value is negative, the file is opened in the unbuffered mode if the value is 0, a value of 1 specifies a line-buffered mode.
The following functions can be used to handle the file content:

f.close(): closes file,
f.flush(): flushes file's internal buffer,
f.read(n): reads at most n bytes from the file and returns as a string. If n is omitted, reads to the end of the file,
f.readline(): reads one entire line,
f.readlines():reads until the end of the file and returns a list of lines,
f.seek(offset, whence=0): sets file position, if whence =0 or is omitted, offset is the absolute position, if whence=1 offset is relative to the current position and if whence = 2, offset is relative to the file end,
f.tell(): returns file current position,
f.write(string): writes string to file.

Error Handling
FINE™/Turbo performs continuous checks during the running of a script to insure that functions can be normally executed, check of arguments validity during calls to functions or object access. When a check fails, FINE™/Turbo raises an exception which stops the execution of the script.
Create & Use Modules (library of functions) 
The python language provides the concept of module for grouping a set of functions in a same file. The module name is the name of the file containing the functions.
The functions can be made available into a script in a similar way to the large set of utility functions provided with FINE™/Turbo. If a set of functions is defined in a file called MyModule.py, and the file is located in the directory /people/myself/open_scripts, they can be made available in another script through the following instructions: sys.path.append('/people/myself/open_scripts')
This declares to the system that some python files are available in that directory. Then, two different ways can be used to import the functions: from MyModule import * or import MyModule
The first one sets all the functions defined in MyModule directly available, while the second form makes them available with the MyModule. prefix (e.g. if a function f is defined in MyModule, it is invoked by the command MyModule.f()).
The standard python modules may be imported with both of the above mentioned forms. The directory declaration is not necessary.

Mechanical coupling

set_global_mechalical_coupling(value)
Activate the mechanical coupling flag (0:off / 1:on).
get_global_mechalical_coupling()
Return the mechanical coupling flag (0:off / 1:on).


set_rigid_motion()
Activate the rigid motion flag.


set_elastic_deformation()
Activate the elastic deformation flag.


get_rigid_motion_or_elastic_deformation()
Return either Rigid_motion either Elastic_deformation.


set_rigid_motion_oscillating_body()
Activate the Oscillating Body type in Rigid Motion.


set_rigid_motion_off_centered_rotor()
Activate the Off Centered Rotor type in Rigid Motion.


set_rigid_motion_generalized_motion()
Activate the Generalized Motion type in Rigid Motion.


set_rigid_motion_type(value)
Set the Rigid Motion type (0: Oscillating Body, 1: Off Centered Rotor and -1: Generalized Motion).


get_rigid_motion_type()
Return the Rigid Motion type: Oscillating_body, Off_centered_rotor or Generalized_motion.


set_elastic_deformation_MPCCI()
Activate the MPCCI type in Elastic Deformation.


set_elastic_deformation_Modal()
Activate the Modal type in Elastic Deformation.


set_elastic_deformation_type(value)
Set the Elastic Deformation type: (0: MPCCI and 1: Modal).


get_elastic_deformation_type()
Return the type of Elastic Deformation: MPCCI or Modal.


get_mechanical_coupling_number_of_groups()
Return the total number of groups of solid patches.


apply_mechanical_coupled(group_ind, value)
Activate the Coupled option (0:off / 1:on) for the specified group_ind (group_ind is the index of the selected group of solid patches, starting from 0).


get_mechanical_coupled(group_ind)
Return the Coupled option flag  (0:off / 1:on) for the specified group_ind.


set_structure_id_to_patch(group_ind, structure_id_value)
Set the structure ID to the specified group_ind.


get_structure_id_to_patch(group_ind)
Return the structure ID of the specified group_ind.


set_modal_damping_coefficient(group_ind, mode, damping_value)
Set the Damping Coefficient for the specified group_ind and mode.


get_modal_damping_coefficient(group_ind, mode)
Return the value of the Damping Coefficient of the specified group_ind and mode.


set_mechanical_coupling_structureID(group_ind, structureID_value)
Set the mechanical coupling Structure ID value for the specified group_ind.


get_mechanical_coupling_structureID(group_ind)
Return the value of the mechanical coupling Structure ID of the specified group_ind.


set_mechanical_coupling_structureName(group_ind, structure_name)
Set the Structure Name for the specified group_ind.


get_mechanical_coupling_structureName(group_ind)
Returns the Structure Name of the specified group_ind.


set_mechanical_coupling_structureFile(group_ind, path_structure_file)
Set the path to the Structure File for the specified group_ind.


get_mechanical_coupling_structureFile(group_ind)
Return the path of the Structure File of the specified group_ind.


set_mechanical_coupling_isForced(group_ind, value)
Set the type of the modal deformation method: 0 for Coupling and 1 for Forced Motion.


get_mechanical_coupling_isForced(group_ind)
Return the type of modal deformation method: 0 for Coupling and 1 for Forced Motion.


set_mechanical_coupling_numberOfModes(group_ind, number_of_modes)
Set the Number of Modes for the specified group_ind.


get_mechanical_coupling_numberOfModes(group_ind)
Return the Number of Modes of the specified group_ind.


set_generalized_displacement_type(group_ind, mode, type)
Set the Generalized Displacement type for the specified group_ind and mode. The type can be set to "Constant Value", "fct(time)" or "fct(frequency)".


get_generalized_displacement_type(group_ind, mode)
Return the Generalized Displacement type for the specified group_ind and mode: "Constant Value", "fct(time)" or "fct(frequency)".


set_generalized_displacement_value(group_ind, mode, value)
Set the Generalized Displacement value for the specified group_ind and mode.


get_generalized_displacement_value(group_ind, mode)
Return the Generalized Displacement value of the specified group_ind and mode.

The following commands are specific to unsteady computations:

set_generalized_displacement_profile(group_ind, profile_points_list, mode)
Set the Generalized Displacement profile for the specified group_ind and mode.
Example: FT.set_generalized_displacement_profile(2,[[1,1],[2,2],[3,3]],1)


get_generalized_displacement_profile(group_ind, mode)
Return the Generalized Displacement profile for the specified group_ind and mode.

The following commands are specific to harmonic computations:

set_generalized_displacement_NLH_frequency(group_ind, mode, frequency_value)
Set the Generalized Displacement Frequency for the specified group_ind and mode.


get_generalized_displacement_NLH_frequency(group_ind, mode)
Return the Generalized Displacement Frequency of the specified group_ind and mode.


set_generalized_displacement_NLH_IBPA(group_ind, mode, ibpa_value)
Set the Generalized Displacement IBPA for the specified group_ind and mode.


get_generalized_displacement_NLH_IBPA(group_ind, mode)
Return the Generalized Displacement IBPA of the specified group_ind and mode.


set_generalized_displacement_NLH_mean(group_ind, mode, mean_value)
Set the Generalized Displacement Mean value for the specified group_ind and mode.


get_generalized_displacement_NLH_mean(group_ind, mode)
Return the Generalized Displacement Mean value of the specified group_ind and mode.


get_generalized_displacement_NLH_harmonics_number()
Return the number of Harmonics for the Harmonic Generalized Displacement (note that this number cannot be set).


set_generalized_displacement_NLH_harmonics_real_value(group_ind, mode, harmonic_number, real_value)
Set the Harmonic Generalized Displacement real value for the specified group_ind, mode and harmonic number.


get_generalized_displacement_NLH_harmonics_real_value(group_ind, mode, harmonic_number)
Return the Harmonic Generalized Displacement real value of the specified group_ind, mode and harmonic number.


set_generalized_displacement_NLH_harmonics_imaginary_value(group_ind, mode, harmonic_number, imaginary_value)
Set the Harmonic Generalized Displacement imaginary value for the specified group_ind, mode and the harmonic number.


get_generalized_displacement_NLH_harmonics_imaginary_value(group_ind, mode, harmonic_number)
Return the Harmonic Generalized Displacement imaginary value of the specified group_ind, mode and the harmonic number.

Required Licenses
Standard FINE™/Turbo License
The standard license for FINE™/Turbo allows for the use of all basic features of FINE™/Turbo including:

IGG™ (see separate IGG™ manual), 
AutoGrid™ (see separate AutoGrid™ manuals), 
CFView™ (see separate CFView™ manual), 
Task Manager,
Monitor (see Computation Steering & Monitoring).

Additional Licenses
Within FINE™/Turbo the following features are available that require a separate license:

parallel computations (see Task Manager),
treatment of unsteady rotor-stator interfaces (see Dedicated Turbomachinery Models),
harmonic method (see Dedicated Turbomachinery Models),
transition (see Flow Model and Dedicated Turbomachinery Models),
fluid-particle interaction (see Physical Models),
passive tracers (see Physical Models),
conjugate heat transfer (see Physical Models),
thermodynamic tables (see Fluid Model),
cooling/bleed flow (see Dedicated Turbomachinery Models),
ANSYS outputs (see Output),
SubProject module (see Dedicated Turbomachinery Models),
porous media (see Physical Models),
cavitation module (see Physical Models).
MpCCI Coupling (Physical Models)
Modal Coupling (Physical Models)
Mesh Deformation (Physical Models)
Aeroacoustics (Dedicated Turbomachinery Models)
Uncertainty Quantification (Dedicated Turbomachinery Models)
CPU Booster (see Numerical Scheme)

Next to FINE™/Turbo other products are available that require a separate license:

FINE™/Design 3D (3D inverse design, see separate user manual).

How to Launch the flow solver in Parallel using MPI on Windows

Create a script file "batch.bat" with permission for execution. An example of a "batch.bat" file for a parallel computation on Windows using IntelMPI flow solver (libraries v5.0.3):
"<NUMECA_install_dir>\fine<version>\bin64\mpiexec.exe  -n  #   -machinefile <project_path>\computation\computation.machines   <NUMECA_install_dir>\fine<version>\bin64\euranusx86_64.exe  <project_path>\computation\computation.run" -fullflex
The command line, to start the FINE™/Turbo solver in parallel, contains the full path to the script that enables parallel computations (mpiexec.exe), the number of the processors, the full path of the ".machines" file containing the definition of the machines that will be used to launch the computation in parallel, the full path to the flow solver (euranusx86_64.exe) and the full path of the ".run" file to launch. The argument -fullflex is optional, which forces the flow solver to use the FFLEX-type license keys in priority (For more details, see Flexible Cores Type from License).

By default the IntelMPI flow solver is used starting FINE™/Turbo v11.1. To run the MPICH2 flow solver, rename the flow solver executable in the ".bat" file to respectively "euranus_mpich2x86_64.exe" or "euranusdp_mpich2x86_64.exe" to run in single or double precision.

Create hosts definition file  ".machines". A file needs to be created to define the hosts (e.g. "computation.machines"). This file specifies the machine information regarding the various processes. 
An example of a "computation.machines" file:
hostname1:5
hostname2:2
where master host on hostname1 and 4 processes on hostname1; 2 processes on hostname2.
For each machine, a line must be added consisting of the machine name (the machine hostname) and the number of processes to run on the machine. If the number of processors is set to 1 for the first machine (first line of the ".machines" file), only the master host process will run on that machine while the nodes will run on the next machines declared in the following lines. 
The first machine (hostname) specified in the  ".machines" file has to be the one, on which the script will be launched.
The total number of processes defined in the ".machines" file should be equal to the number of nodes running.
Set permission for execution "batch.bat"
The input file ".run" to launch the computation has to be created. The parallel settings of the computational file (".run") are managed by the Task Manager. Therefore before launching the parallel computation script, the following steps must be performed through the FINE™/Turbo interface:
Create computational file (".run") by activating the corresponding computation and clicking on the File/Save Run Files menu in the interface.
To set the final parallel settings:

create a task in the Task Manager,
define the parallel settings of the FINE™/Turbo solver subtask (parallel computation),
Save the task through the Task Manager by clicking on Save button.

These operations are mandatory in order to have all the parallel settings correctly imposed in the computation file (".run").
Launch the script ".bat" by typing the script file name: "batch.bat" in a DOS-shell or double click on the ".bat" file from the Windows Explorer.

When saving the ".run" file of the computation (File/Save Run Files) and clicking the save button (Modules/Task Manager), a script ".bat" and a ".p4pg" file are automatically created in the corresponding computation subfolder. These files enable the user to launch the same parallel computation in batch.

Throughflow-oriented Initial Solution
This type of initial solution, of interest in turbomachinery calculations, allows to get an initial field on the basis of an axisymmetric throughflow solution. The initial solution is defined through an external file created by the user. The file contains 2D data in the format described hereafter. The solver will use this data to generate an initial throughflow-oriented solution.
The solver will create a virtual mesh based on the hub and shroud definitions, forcing points on the data points. Two additional stations will be created, at the inlet and outlet, respectively. The inlet data are extrapolated from the first streamwise station while the outlet data come from the last station. It is therefore recommended that the inlet and outlet boundaries of the mesh lie outside the meridional domain covered by the throughflow data.
The meridional velocity is based on the mesh direction.
File Format
The file will include three parts, that must be separated by a blank line:

solution definition,
hub definition,
shroud definition,

Once it is created, the file is selected in the FINE™/Turbo interface through a File Chooser click on the Open Browser button in the Initial Solution/from throughflow page.
Solution Definition
The first part of the file contains the values of the flow variables throughout a meridional structured mesh covering the entire machine. For each node of the meridional mesh, the (R,Z) coordinates are specified together with the pressure, temperature and velocity components.
An axial case is taken as an example:


There are 4 streamwise stations in this example (Z=-0.025, Z=0.0, Z=0.025 and Z=0.05), each with 3 points in spanwise direction (R direction). The point order in a spanwise and streamwise station goes respectively from hub to shroud and from inlet to outlet.
Each data line is made of the two (R,Z) coordinates (in m), the static pressure, the static temperature , the meridional velocity and the tangential velocity. The unit for grid coordinates remain alwyas in [m], the units for the other variables are dependent on the settings in the menu File/Preferences.
Hub Definition
The hub definition uses the same format as for AutoGrid™. The first line must be HUB. The second line specifies the type of coordinate (ZR or RZ) and the third line the number of hub points. The next lines correspond to the hub coordinates.
Taking again the example of the case above:
HUB
RZ															#Type of data (ZR or RZ are accessible)
2	#Number of points on hub
0.245	-0.02	#Point coordinates (in m)
0.245 	0.051
The hub is described in increasing Z coordinate from -0.02 to 0.051. The first column contains the R coordinate for each of the two points on the hub.
Shroud Definition
The shroud definition is similar to the hub definition, except for the first line that will be replaced by SHROUD and the points coordinates.
SHROUD
RZ															#Type of data (ZR or RZ are accessible)
2	#Number of points on hub
0.3	-0.02	#Point coordinates (in m)
0.3 	0.051


FIGURE 6 Throughflow-oriented initial solution

Inlet Condition
Available Types

The inlet boundary condition page is customized according to the configuration of the project (Cartesian or cylindrical) as shown in the following two figures. The user has the freedom to access both types of configuration in the Boundary Conditions page independently of the mesh properties.


FIGURE 3 Subsonic inlet boundary conditions page for cylindrical problems.


FIGURE 4 Subsonic inlet boundary conditions page for Cartesian problems.
The upper part of the inlet boundary condition page allows the user to select the type of inlet condition to apply to the selected patches through a series of toggle buttons. There are two categories of inlet conditions: conditions applicable to Subsonic inlets and conditions applicable to Supersonic inlets.
Note that the velocity component normal to the boundary should be considered to determine whether an inlet (or an outlet) boundary is subsonic or supersonic, .
Total quantities imposed condition applicable to supersonic inlets is not compatible with condensable fluid.
For each inlet condition type, the lower part of the page is adapted to provide input boxes only for the physical variables that are required to determine the boundary condition fully. These variables are for instance: the pressure and temperature (static or total), the velocity components, the velocity magnitude, the velocity angles (specified in radians), or the mass flow.
The user can also set a list of parameters that characterize the injection of an acoustic duct mode at the inlet (see the next section for more detail).
In case of a simulation using a 1-equation turbulence model (SA) or a 2-equations turbulence model (k-ε, k-ω or v²-f), the inlet values of the turbulence are also required (see the next section for more detail).
For the inlet boundary conditions:

The velocity components are defined in the Cartesian or cylindrical coordinate system, depending on the selected type
The pressure and the temperature values to specify can be the static or the total values
For rotating configurations, the specified values are the absolute quantities
A special condition is available, for which the values can be entered in the upstream rotational frame of reference

Nine major types of inlet boundary conditions can be identified:

velocity components, static pressure and temperature (supersonic inlet)  
velocity components and the static temperature 
total pressure, total temperature and the flow direction + acoustic parameters (for NLH computation only)

Total quantities imposed boundary conditions with Angle from Axial Direction (V-extrapolated) cannot be used in the case that the streamwise direction is in negative Z, because Vz is imposed positive whatever the geometry is.

total enthalpy, dryness fraction and the flow angles (only for condensable fluid)
total pressure, dryness fraction and the flow angles (only for condensable fluid)
total pressure, total enthalpy and the flow angles (only for condensable fluid)

The use of the three boundary conditions mentioned above requires the presence of the saturation table ("PSA.atab") of the fluid in the corresponding subfolder.
The inlet thermodynamic must be either saturated or be located inside the biphasic zone. The validity of the condensable fluid model is limited to gases with a small fraction of liquid (X > 0.8) or reversely to liquids with a small fraction of gas (X < 0.2).

mass flow, static temperature and the flow direction (see the next paragraph for detail on coupling with the outlet)

The mass flow imposed in the GUI will be used for the whole inlet. For example, if the user has a rotational periodicity of 40, the mass flow for only one passage will be the mass flow specified in the GUI divided by 40.

distributions of the flow variables for the non-linear harmonic method. 
conditions set from a rotor-stator interface (SubProjects only)


Inlet boundary condition Velocity normal to inlet is not compatible with the following expert parameter value:

INITRB=0
IMASFL=1
INMFTT=1


Moving grid is not compatible with relative velocity normal to inlet when using mass flow imposed.
When activating the Expert Mode (more details in User Mode), the user can access the order of the extrapolation used to imposed the quantities at the inlet boundary. With the zero order, the extrapolation will use the value computed in the first cell; with the first order, the extrapolation will be based both on the first and the second cell.
Turbulent quantities for 1- and 2-equation turbulence models
In case a 1- or 2-equations turbulence model is selected,  the boundary value of the turbulence must be imposed. The user can choose between several sets of turbulent quantities.
Given a 1-equation turbulence model, following turbulent quantities are available:

Turbulent Viscosity

Turbulent Viscosity Ratio

Turbulent Intensity and Length Scale

Turbulent Intensity and Hydraulic Diameter


and given a 2-equations turbulence model:

k and ε

Turbulent Intensity and Viscosity Ratio

Turbulent Intensity and Length Scale

Turbulent Intensity and Hydraulic Diameter


Only the options Turbulent Viscosity and k and ε can be defined as an interpolation profile. The other turbulent quantities are only compatible with constant imposed values.
The turbulence at the inlet near solid walls can differ from the imposed one due to the non-linear relations between the variables and the interpolation process at the corners. 
If the turbulent intensity is specified as input data, the concerned inlet patches must be grouped in one group since the whole inlet has to be considered for the computation of the averaged velocity.
Non reflecting treatment dedicated to turbomachinery applications
 A non reflecting treatment can help to get more physical results on the inlet when the boundary conditions are not known accurately and azimuthal fluctuations of the flow quantities are expected. Such formulation decreases the shock reflection by the inlet boundary and usually allows capturing a part of the potential effect when the boundary is too close to the leading edge of a downstream blade row. 
In FINE™/Turbo, the inlet non reflecting treatment can be set for a range of subsonic cylindrical boundary conditions types. The option can be activated by checking the Non reflecting Turbo button available when a Total Quantities Imposed, Total Enthalpy and Dryness Fraction (Condensable Gas Only), Total Pressure and Dryness Fraction (Condensable Gas Only) or Total Pressure and Total Enthalpy (Condensable Gas Only) type of boundary condition is selected. The relaxation coefficients ( factor for the inlet mentioned in the theory guide) for the entropy wave, two vorticity waves and the incoming acoustic wave can also be input once this button is checked.


FIGURE 5 Inlet non reflecting boundary condition treatment
The following limitations apply:
        

The inlet boundary must be on a revolution surface and bounded by periodic boundary conditions (or connected to itself if the domain is meshed on 360°);
When different patches define the boundary condition, they have to be grouped in the Patches & Groups panel;
The non reflecting inlet treatment is limited to steady computations and it is not compatible with Hakimi preconditioning;

The non reflecting treatment is sensitive to the initial condition, especially with preconditioning. If the initial condition cannot be close to the physical expected values at the inlet boundary (e.g. by using constant initial solution instead of the one dedicated to turbomachinery), the relaxation coefficients must be set lower than 1. Decreasing the relaxation coefficient does not impact the final solution but reduces the convergence speed. This can be useful with CPU Booster, because of the large modifications of the variables during one iteration. If a convergence problem due to non reflecting boundary condition persists, it is still possible to start from a solution without the non reflecting treatment.
Injection of acoustic duct mode
For a computation involving multi-rank NLH and cylindrical configuration, the user can specify a set of acoustic parameters enabling the injection of an acoustic duct mode at the inlet. 

		
For each frequency considered in the acoustic analysis, the acoustic pressure field can be decomposed into an infinite summation of physical waves called acoustic modes. Each mode is characterized by an amplitude, a phase, and an order (periodicity in space) characterizing the pressure oscillation in the azimuthal direction. 


FIGURE 6 Acoustic settings
	Dedicated entries have been created for the input of the azimuthal order of an acoustic mode, as well as the real and imaginary part of the pressure fluctuation that define the amplitude of the considered mode (these last two quantities can either be defined as constant, or dependent of the radial coordinate by imposing a profile). The frequency of the considered acoustic mode can be entered in the last input box of this option. 
				
				
				


FIGURE 7 Time reconstruction in  CFView™ - Acoustic mode at the inlet 
The development implemented in FINE™/Turbo considers the mode as a distortion (index "Di" in the harmonic selection available in  CFView™ for time reconstruction). Planar waves, characterized by an azimuthal order of 0, are also supported. 

			Note that the effects of the acoustic pulsation into each of the rows are modeled by one single harmonic. 
Coupling Temperature with Outlet
When the mass flow is imposed at an inlet patch, the temperature may be chosen to be coupled to an outlet patch. The coupling is performed through the static temperature. Only in that case, the average temperature Taverage is computed at the specified outlet and imposed at the inlet as Tinlet = Taverage + ΔT (see FIGURE 8). The quantity ΔT is a constant temperature difference (>=0 or <0) specified by the user. This is done in FINE™/Turbo by choosing Mass Flow Imposed as boundary condition type for the subsonic inlet in cylindrical configuration and clicking on the Coupling Temperature With Outlet button. A pull-down menu allows to select which patch of the outlet must be involved in the coupling. The value to be entered in the static temperature box is ΔT.
This option is only working if both inlet and coupled outlet patch have the mass flow imposed as a boundary condition.


FIGURE 8 Meridional view of the "Coupling with Outlet ID" functionality
Imposing Variables as an Interpolation Profile
Each variable can be defined as constant or as an interpolation profile of the variable. The imposed boundary condition may be variable in space (one or two dimensions) and/or in time (in case of an unsteady calculation).
To visualize and/or edit the profile data press the small button () on the right side of the label "profile data". This button opens the Profile Manager with the existing profile. See the Profile Management section for a detailed description of the Profile Manager. It offers the possibility to modify or to create a data profile interactively. Click on the OK button to set the new profile to the selected patch(es).


FIGURE 9 The Profile Manager
The option Surface data toggles 1D and 2D editing modes. It can be used to change the dimension of an existing profile. 2D profiles are displayed as a "cloud of points". Selecting a point will display the f(x,y) value in blue in the corresponding column of the Profile Manager. More details on the required file format are available in File Formats.
If a quantity is defined as a function without the definition of a valid profile, a warning message will appear when saving the project or opening a new page or tab page. In such a case a default constant value is used in the computation.

Parameters Management
The Parameters subpanel on the left, below the Computations subpanel, is presenting a directory structure allowing the user to go through the available pages of the project definition. The "parameters area" shows the parameters corresponding to the selected page in the parameters list. 
To see the pages in a directory double click on the name or click on the sign  in front of the name.


FIGURE 13 Parameters subpanel

Outlet Condition
For a supersonic outlet all variables are extrapolated. An outlet is considered as supersonic on the basis of the normal velocity direction to the boundary.
Five types of subsonic outlet boundary condition are available, as shown in FIGURE 10. These five different boundary conditions are described in the following paragraphs.
An option for treatment of Backflow Control can be activated in the case of radial diffusers outlet. The purpose of this option is to control the total temperature distribution along the exit section. In case the flow partially re-enters the domain through the boundary, the total temperature of the entering flow is controlled so that the entering and outgoing flows globally have the same total temperature.
Backflow Control is only compatible with compressible fluid. When condensable or incompressible fluids are used, it is suggested to use the expert parameter BCKFLO to control backflow at outlet, see Expert Parameters for more detail.
Backflow Control is applied separately on each outlet patch when an uniform static pressure is imposed (it is applied to a group of patches if averaged static pressure and mass flow are imposed). 
Backflow Control is not available for the outlet boundary conditions where static pressure is imposed with radial equilibrium.


FIGURE 10 Outlet boundary conditions page.
Non reflecting treatment dedicated to turbomachinery applications
 A non reflecting treatment can help to get more physical results on the outlet when the boundary conditions are not known accurately and azimuthal fluctuations of the flow quantities are expected. Such formulation decreases the shock reflection by the outlet boundary, and usually allows simulating a pressure fluctuation generally consistent with the flow downstream of a blade row.
In FINE™/Turbo, the outlet non reflecting treatment can be set for a range of subsonic boundary conditions types. The option can be activated by checking the Non reflecting Turbo button available when a Pressure Imposed, Mass Flow Imposed (with Pressure Adaptation only) or Averaged Mach Number (related patches must be grouped) type of boundary condition is selected. The relaxation coefficient ( factor for the outlet mentioned in the theory guide) for the  incoming acoustic wave can also be input once this button is checked.


FIGURE 11 Outlet non reflecting boundary condition treatment
The following limitations apply:        
        

The outlet boundary must be on a revolution surface and bounded by periodic boundary conditions (or connected to itself if the domain is meshed on 360°);
When the boundary condition is defined by different patches, they have to be grouped in the Patches & Groups panel;
The non reflecting outlet treatment is limited to steady computations and it is not compatible with Hakimi preconditioning;

The non reflecting treatment is sensitive to the initial condition, especially with preconditioning. If the initial condition cannot be close to the physical expected values at the outlet boundary (e.g. by using constant initial solution instead of the one dedicated to turbomachinery), the relaxation coefficient must be set lower than 1. Decreasing the relaxation coefficient does not impact the final solution but reduces the convergence speed. This can be useful with CPU Booster, because of the large modifications of the variables during one iteration. If a convergence problem due to non reflecting boundary condition persists, it is still possible to start from a solution without the non reflecting treatment. In addition, the quality of the solution can be improved at the outlet when high velocity fluctuations are located in a narrow wake on the exit surface. In such a case, the number of harmonics used in the Fourier decomposition described in the theory guide has to be increased. This number is set by the expert parameter NHIONR with default value of 5.

Aeroacoustics



Acoustic noise, particularly in the aeronautical field, is of increasing importance in technological development. The noise emitted by aircraft engines is mainly due to the fan. Sound waves are created by the rotor and its interactions with the rectifier. In the single-flow turbojet or low bypass ratio supersonic flight, the jet is the main sound source. Manufacturers must be able to predict the noise to design quieter engines. 
FINE™/Turbo has integrated an Aeroacoustics module, which allows the user to predict the acoustic response around a turbomachinery component. The method is based on the Ffowcs Williams and Hawkings (FW-H) equation and its integral solutions (Formulation 1A of Farassat), which replaces a distributed flow interacting with the surfaces by monopole, dipole, and quadrupole sources radiating in an undisturbed medium. As first step, only monopole and dipoles sources will be considered in the current solver. The acoustic signal at the observer is directly computed by evaluating the surface integrals on the specified surfaces by the user.
Time-accurate solutions of the flow-field variables (CFD sources) are required to evaluate the surface integrals. Currently, the solutions are coming from the NLH computation. Before launching the FW-H solver, the user has to launch the flow solver firstly and get a converged solution.
The limitations in the Aeroacoustics module are:

The flow is subsonic;
The sound is propagated into free space;
The backward interaction of the acoustic waves on the fluid is neglected;
The flow viscosity contribution to the noise is neglected. 
No parallel computation ability.

In the next sections, the detailed information on the Aeroacoustics module will be given:
Aeroacoustics in the FINE™/Turbo GUI
In order to access the Aeroacoustics module, the user needs to select the button Acoustic settings in the Flow Model page, see FIGURE 48. This button is visible only in case of Harmonic project configuration. Then the Aeroacoustics page can be accessed under the Optional Models page. 


FIGURE 48 The Acoustic settings in the Flow Model page
The user must activate the option Acoustic settings before launching the FINE™/Turbo flow solver. Otherwise the FW-H solver can not be started. 
If a NLH computation was performed by using the FINE™/Turbo flow solver before v8.9, the user can load the project in FINE™/Turbo v8.9, activate the option Acoustic settings and restart the computation with zero iteration. Then the FW-H solver can be started.
In addition, after the button Acoustic settings in the Flow Model page is activated, a tag Acoustic Source will appear on all the boundary condition pages, see FIGURE 49. This button allows the user to select any boundary as an acoustic source (see The global parameters to know what can be defined as an acoustic source).


FIGURE 49 The Acoustic Source option on the Boundary Conditions page
The GUI for the Aeroacoustics module is shown in FIGURE 50.


FIGURE 50 Aeroacoustics GUI
The Aeroacoustics page is divided into 3 sections:
The global parameters 
These parameters are needed by the FW-H solver:

Far Field Density: the mean density between the source and the observer [kg/m³].
Far Field Sound Speed: the mean sound speed between the source and the observer [m/s].
Period: for which the acoustic response must be computed [s].
Number of Time Steps.
Sources on: specifies the location of the acoustic source surfaces. The sources are defined as a cloud of points on a surface with some CFD fields (pressure harmonics, density harmonics, etc.). Two kinds of sources can be used: solid sources and permeable sources. In FINE™/Turbo, the user can define the sources on:

Mesh Bcs: the boundaries of the domain that are meshed and solved by the user. All the boundaries existing in the Boundary Condition page can be selected as the acoustic source surface. 
User Defined Curve: the source can be coming from an external permeable curve defined in AutoGrid5™. A surface of revolution will be created by using the external permeable curve. Please refer to the AutoGrid5™ manual for more information on how to create the permeable curve.
ZCst. Cut: the user may specify a constant Z value. Then a cut plane will be created on the specified Z.

Source velocity [m/s]: the constant translational velocity imposed to the sources.

The observer definition
The button Add Observer can be used to create a new observer. If an observer is selected when adding a new observer, the new observer is a copy of the selected observer. The button Remove Observers is used to remove all the selected observers from the list. Once the observer has been created, the user is able to modify its name, its location and its velocity by double clicking on the observer. 
Please note, there should be at least one defined observer. Otherwise it is not possible to launch the FW-H solver. 
When multiple observers exist in the list, the user is able to impose the same velocity components to all observers at once. If selecting one observer and right-clicking on it, a menu will appear and allow the user to "Set Vx/Vy/Vz of selected to all observers". If selecting several observers and right-clicking on them, a menu will appear and allow the user to "Set Vx/Vy/Vz of first selected to all observers". 
The buttons Import Settings and Export Settings are used to load or save all the parameters in this page from/to a file.
Launch Solver and Post-processing
When the button Start FW-H is pressed, a new task is created and launched through the task manager. This task calls the FW-H solver with the run file as input. The task manager shows the progress status of the computation. The button Stop FW-H may be used to kill the running task.
After the FW-H solver has finished the task, the button Load Results can be used to read the .fwh files and updates the available groups and field lists for selection. Multiple observers and groups can be selected for visualisation.
Expert Parameters for Aeroacoustics
In the Expert mode, the additional parameters can be specified for the acoustic source surface.


when the sources on Zcst. Cut is selected, the user may select Orientation, which is used to determine the orientation of the permeable FW-H surface.
The user may change the following settings for the FW-H solver:

Number of harmonics: Number of harmonics used in acoustic computations (e.g. if it is set to 0, the mean CFD fields are used as input to the FW-H solver).
Far Field pressure: the mean pressure between the source and the observer
Epsilon Newton-Raphson: Level of accuracy that the Newton iterative solver has to reach before stopping the iterations. This iterative solver is used to evaluate the retarded time.

Control variables

get_nb_iter_max()
Return the maximum number of iterations
set_nb_iter_max(value)
Set the maximum number of iterations
get_convergence_criteria()
Return the convergence criteria.
set_convergence_criteria(value)
Set the convergence criteria.
get_output_writing_frequency()
Return the output writing frequency.
set_output_writing_frequency(value)
Set the output writing frequency.
get_min_output_choice()
Return the minimum output activation flag (2:off / 0:on)
set_min_output_choice(2:off  0:on)
Set the minimum output activation flag
	get_residuals_per_row()
Get the status of the option "Residuals per group"
Parameters: None
Returns: Integer (0: Off / 1: On)
	set_residuals_per_row(value)
Set the status of the option "Residuals per group"
 Parameters: value (integer). value = 0 : option deactivated; value = 1 : option activated 
Example: set_residuals_per_row(1) to activate the option
get_automatic_memory_estimation()
Return the automatic memory estimation activation flag (0:off / 1:on)
set_automatic_memory_estimation(value)
Set the automatic memory estimation activation flag (0:off / 1:on)
get_user_memory_estimation()
Return the number of reals and number of integers for memory allocation
set_user_memory_estimation(nbR,nbI )
Set the number of reals and number of integers for memory allocation
get_user_solver_precision()
 Get the precision of the flow solver (0-single, 1-double)
set_user_solver_precision(precision)
 Set the precision of the flow solver (0-single, 1-double)
get_expert_parameter(name)
 Get the value of the expert parameter specified by its name.
set_expert_parameter(name,value)
 Set the value of the expert parameter specified by its name. For example, set_expert_parameter('MUCLIP',50000)

The following command is only applicable for unsteady computation:

get_unsteady_time_step_choice()
Return the time step choice for unsteady computation (0: time step / 1: period):
set_unsteady_time_step_choice(timeStepChoice)
Set the time step choice for unsteady computation (0:time step / 1:period)
get_number_of_angular_positions()
Return the number of angular positions
set_number_of_angular_positions(n)
Set the number of angular positions  
get_time_averaged_output_flag()
Return the time-average output flag (0:off / 1:on)
set_time_averaged_output_flag(flag)
Set the time-average output flag (0:off / 1:on)
get_physical_time_step()
Return the physical time step
set_physical_time_step(physTimeStep)
Set the physical time step
get_nb_of_time_steps()
Return the number of physical time steps
set_nb_of_time_steps(nb )
Set the number of physical time steps
get_nb_of_steady_iterations()
Return the number of steady iterations
set_nb_of_steady_iterations(nb )
Set the number of steady iterations
get_output_unsteady_writing_frequency()
Return the unsteady output writing frequency
set_output_unsteady_writing_frequency(value )
Set the unsteady output writing frequency

The LOG File '.log'
This ASCII file contains all the information related to the current computation. It contains a summary of the computation variable as well as warnings and error messages. If the flow solver encounters a problem, the latter will be described in the ".log" file or in the ".std" file. This file is for support purposes only. When a problem appears please send this file together with the ".std" file and a detailed problem description to our local support office.

Characteristic Imposed
This boundary condition has been implemented to increase the robustness in the frame of a design process and is only available when using a perfect or real gas in the Fluid Model page. 
FIGURE 12 shows as an illustration performance curves for a centrifugal compressor. Near choking conditions the mass flow stays almost constant with a variation of the pressure. Therefore, it is recommended in this region, to impose the static pressure at the outlet. Near stall however, the pressure varies only slightly with varying mass flow. Therefore, it is recommended in this region of the performance curve, to impose the mass flow at the outlet instead of the static pressure.


FIGURE 12 Example of performance curves for centrifugal compressor
In a design process, with a variation of the geometry, it is not always known in advance where in the performance curve the computations are performed. Therefore it is not always possible to choose the appropriate boundary condition at the outlet for the complete design process. 
To overcome this problem this boundary condition allows to impose a relation between the mass flow and the pressure at the outlet. It is no longer needed to choose between imposing pressure when working around the chocking part and imposing mass flow when working close to the stall limit.
The user has to impose a very simple characteristic line defined through 3 parameters: a target outlet mass flow and a target outlet pressure (at point 2 in FIGURE 12) and the pressure at zero mass flow (point 1 in FIGURE 12). Based on these three parameters, a simple parabolic curve is generated. This curve is then used to apply the boundary condition allowing to impose a relation between the mass flow and the pressure at the outlet.
The curve represents the pressure loss in a passive component downstream the turbomachine. When there is no mass flow, there is no loss and the static pressure corresponds to the outlet static pressure, i.e. the atmospheric static pressure if the system is connected to the outside. The higher the mass flow rate is, the higher the losses are and so the outlet pressure of the turbomachine. For a given mass flow, the difference of pressure between the outlet pressure and the pressure at zero mass flow corresponds to the pressure loss of the downstream system at this given mass flow rate.

Main Characteristics for R134a
The tables for the refrigerant R134a come in the form of 13 tables, described as follows:
DHS:	interpolates density as a function of entropy and static or total enthalpy
DPT:	interpolates density as a function of static pressure and temperature 
EPT:	interpolates internal energy as a function of pressure and static temperature 
HSP:	interpolates static or total enthalpy as a function of entropy and static or total pressure
KER:	interpolates thermal conductivity as a function of internal energy and density
MER:	interpolatesdynamic viscosity as a function of internal energy and density
PER:	interpolates static pressure as a function of internal energy and density 
PHS:	interpolates static or total pressure as a function of entropy and static or total   enthalpy
PSA:	defines the saturation line
RHP:	interpolates density as a function of total enthalpy/total pressure or relative enthalpy/relative pressure
SHP:	interpolates entropy as a function of total enthalpy/total pressure or relative enthalpy/relative pressure
TER:	interpolates static temperature as a function of internal energy and density 
THP:	interpolates static temperature as a function of total enthalpy/total pressure or relative enthalpy/relative pressure
The R134a tables are generated by using the equation of state BWR. The range of admissible variations for the thermodynamic variables is:

Pressure  [Pa, Pa],
temperature  [169.85K, 600K].

TABLE 2 Main characteristics of the R134a thermodynamic tables








Tables


Grid


Interpolation


Size [Mb]






DHS


301 x 301


bi-cubic 


30.7




DPT



301 x 301


bi-linear


8




EPT



301 x 301


bi-linear 


8




HSP



301 x 301


bi-cubic


30.7




KER



301 x 301


bi-cubic


30.7




MER


301 x 301


bi-cubic 


30.7




RER


301 x 301


bi-cubic 


30.7




PHS


301 x 301


bi-cubic


30.7




PSA


300 


cubic


0.2




RHP


301 x 301


bi-cubic


30.7




SHP



301 x 301


bi-cubic


30.7




TER



301 x 301


bi-cubic 


30.7




THP


301 x 301


bi-cubic


30.7




TABLE 2 lists the discretization size of the grid, the interpolation algorithm and the size of the table.

Rotating machinery

get_phase_lagged()
Return the phase lagged activation flag.
set_phase_lagged( value )
Set the phase lagged activation flag.
get_nb_rotating_block_groups()
Return the number of rotating block groups. A block group can be a group of blocks, or a single block.
get_rotating_block_group( value )
Return the block group from value. value can be the block group index, or the block group name.
The block group is stored in an object of type "RotatingBlockGroup".
create_rotating_block_group( name, value )
Create a block group.
name is the name the group.
value is either the list of blocks (specified by index)  to be grouped, either a pattern to get the blocks with matching name (example: "*gap" returns all blocks which name ends by "gap").
ungroup_rotating_block_group( value )
Ungroup a block group.
value is either the name of a block group, either the index of a block group.

Fluid-Particle Interaction in the FINE™/Turbo GUI
To access the parameters select the Fluid-Particle Interaction page under the Optional Models. In the parameters section click on Fluid-particle calculation to activate this model (see FIGURE 1). The user enters not only the main features of the numerical simulations but also the characteristics (i.e. processes to be taken into account) of the interphase force between the fluid and the particles.
Parameters
The top window allows to choose the degree of influence of the particles on the flow. The calculation of the carrier flow and of the particles can be fully (2-way coupling) or weakly (1-way coupling) coupled:

	in the 1-way coupling approach the flow calculation (ignoring the influence of the particles on the flow field) is followed by a calculation of the trajectories of particles. In this case, there is no influence of the particles on the flow.
	in the 2-way coupling approach the calculation of the trajectories of particles is followed by a second flow calculation, taking into account the presence of the particles in the flow (the interphase forces are introduced as source terms in the flow calculation). The sequence can be repeated several times (by entering the Number of global iterations) until no changes are observed in the results (usually 3 to 10 times).

Concerning the simulation itself, the user can choose the Global strategy:

Start from scratch: to start the flow calculations and then pursue with the particle tracking simulation. In this particular case, the criterion for the carrier flow calculations convergence is the one set on the Control Variables page (set to -6 by default).
Start from converged flow solution: to proceed directly with the Lagrangian coupling from a previous converged flow calculation.



FIGURE 1 Parameters page of the Lagrangian fluid-particle interaction model.
The usual way to proceed is: 

perform a pure flow study without activating the Fluid-Particle Interaction model in a computation.
while this computation is active in the list of Computations subpanel on the top left of the interface create a new project by clicking on the New button.
in this new computation activate the Lagrangian Fluid-particle calculation and perform a computation with Lagrangian coupling. The particles encounter several forces: the friction force, i.e. the resultant of the pressure and viscous stress in the carrier phase over the particle surface, as well as potential inertia and gravity forces. The user is free to introduce the Gravity Forces through the vectorial components of the acceleration of gravity on the Flow Model page. An inertial force due to the rotation of the system of reference can also be included. If some of the blocks are rotating the option Body forces/Rotation of reference system should systematically be activated. In this case the reference rotation velocity is the one specified on the Rotating Machinery page.
while moving through a turbulent flow, each particle faces a sequence of random turbulent eddies that result in a lack of accuracy in particle velocity and position. This process is taken into account using a stochastic treatment when activating Turbulence. The treatment is available when a two-equation turbulence model is assumed for the carrier flow simulation. In this case a Coefficient for eddy life time has to be imposed.

Boundary Conditions
All boundary conditions available for the carrier flow solver are also accepted by the particle tracking algorithm. The only boundary conditions requiring user's input are: inlet and solid boundary.
The boundary conditions are imposed by selecting a patch on which to fix the condition. The user has to confirm the entered values by clicking on the Apply to selection button (FIGURE 2). In the list of patches it is not possible to group patches but multiple patches can be selected at the same time to apply the same boundary conditions to all of them. To select multiple patches hold the <Ctrl> key while selecting them.
Inlet Boundary
The user can enter a number of classes of particles, each class representing a different type of particles. For each class the inlet boundary conditions have to be specified. The displayed boundary conditions are the one for the class specified in the bar as indicated (a) in FIGURE 2. To select another class use the scroll buttons on both sides of this bar. The purpose of this is to be able to simulate the presence of different types of particles in the same patch.
Note however that multiple classes are of interest for fully couples calculations only, by allowing the flow calculation to account for the presence of different particle types. In the case of a weak coupling strategy it is recommended to create one computation per particle class, because only one particle class can be visualized in CFView™. The expert parameter (in Expert Mode on the Control Variables page) CLASID permits to specify which particle class must be included in the CFView™ output.


FIGURE 2 Inlet boundary conditions for the fluid-particle interaction model
The inlet boundary conditions are the following:

spatial distribution of the injection points: uniform over the chosen patch or located at a chosen point of coordinates (x,y,z).
inlet velocity of the particles (absolute or relative frame of reference). The velocity is always considered in the same relative frame of reference as the one of the block in which the inlet particle is located. The relative velocities here defined as the difference between the particle and the flow velocity (a zero relative velocity is therefore very commonly used) whereas the absolute velocity boundary conditions is used when the velocity of the particle is well known and different from the velocity of the flow. Note that only the Cartesian coordinate system is available.
density and mean diameter of the particles.
particle concentration (number of particles/m³).
number of particles per cell should be seen as the number of trajectories per cell.

The use of multiple trajectories per cell permits to ensure a more uniform covering of the inlet (and hence of the computational domain) by the particles. This is only of interest in the case of fully coupled calculations where it is important to ensure that the source terms are correctly evaluated in all mesh cells. The use of multiple trajectories does not modify the number of particles entering the domain. Each trajectory must be seen as an ensemble of particles. It is also very often referred to as a computational particle. 
In the case of full coupling, the number of particles per cell should be statistically large enough to provide accurate averaging of the dispersed phase parameters. Therefore it is recommended in this case to have a high number of particles per cell. This increases the computational time required for the particle tracking process, but gives rise to a smoother distribution of the particles in the domain. In the case of a weak (1-way) coupling, only one particle per cell is usually enough to provide a sufficiently detailed description of the particles distribution in the field.
Solid Wall Boundary
The solid wall boundary condition requires an additional input data, which is the reflection ratio. If the ratio is zero, all the particles remain stuck on the wall, whereas if it is 1.0, all particles are reflected, without any loss of mass or energy. The user can choose the reflection ratio by clicking on the corresponding button while moving the mouse (FIGURE 3).
Two reflection modes are available and can be selected by the expert parameter IBOUND:

In the default mode (IBOUND = 1) the particle loses a fraction of its mass and hence of its kinetic energy at each wall hit. After several wall hits, the size of the particles becomes very small, and the tracking stops (once the diameter has reached a given ratio of the initial one, specified by the expert parameter DIAMR).
In the other mode (IBOUND = 2) the velocity of the particle is reduced, with an unchanged mass. The particle is stopped as soon as the velocity becomes too small (also specified by the parameter DIAMR).



FIGURE 3 Solid boundary conditions for the fluid-particle interaction model

Configuration Management
When creating a mesh within AutoGrid™ or IGG™, the multiblock data structure can become very complex. A database, named Grid Configuration, is created automatically at the end of the mesh generation, saved together with the project into a file ".config" (more details can be found in the IGG™ or AutoGrid™ User Manuals).

To access the grid configuration menu in FINE™/Turbo, the Use Grid Configuration option has to be activated when linking the mesh for the first time. This option is only available through a special license feature (SubProjects).


FIGURE 11 Use Grid Configuration
The grid configuration describes (as presented in the following figure) the mesh structure of the project as a tree through which the user can access the domain structure. The structure is defined as a set of fluid and solid domains interconnected together through domain interfaces. Each domain contains a set of subdomains and a set of interfaces. Each domain interface contains a type of boundary condition, a type of free boundary condition and the possible connected domain reference.


FIGURE 12 Grid Configuration control
This data structure is very useful. It can be used to reduce the time needed to analyse and visualize the mesh of a project, to setup the boundary conditions within FINE™/Turbo and to create subprojects starting from the main project.

Force and Torque
Below the box, a Compute force and torque option is provided that permits to include the selected patches in the calculation of the global solid boundary characteristics.
In  Computation Steering>Convergence History, it is possible to monitor force, torque and aerodynamic power for the patches or group of patches which have the option “Compute force and torque” activated. The monitoring of the aerodynamic power is submitted to additional requirements (see Convergence History in the FINE™/Turbo GUI).
The contribution of patches included in a full non-matching connection will not be taken into account for the computation of the force and torque. Those patches will however appear as solid in the boundary condition page.
For a cylindrical project (as defined in Mesh/Properties) in an internal flow (the expert parameter IINT set to 1 as by default):

the axial thrust, i.e. the projection of the global force on the rotation axis,
the torque, i.e. the couple exerted by the global force, calculated at (0,0,0).

These quantities are often calculated on the rotating walls. They are calculated from the pressure and the velocity fields on the walls. The axial thrust is computed as:

.
The computed force is the one from fluid on solid. The force is considered as positive when in the direction of the z-axis.
The projection of the torque along a given direction , i.e. the couple exerted by the global force along the rotation axis:



In all other cases the force and torque are computed as:

the lift,
the drag,
the moment calculated at (0,0,0) by default.

The direction of the forces and torque as well as the location of the point for the moment can be determined with the expert parameters IDCLP, IDCDP, IDCMP and IXMP.
When using an area defined rotation speed, the expert parameter TORRO can be used to compute the force and torque on the complete patch, or on the rotating part only.

Within the FINE™/Turbo solver it is possible to calculate and to store the partial torque in the corresponding ".wall" file of the computation through the use of the expert parameter IFRCTO within the FINE™/Turbo GUI.
The partial torque is the torque computed for each layer on the whole blade. When IFRCTO is set to 2 (1 or 3), the torque is defined on each J-direction (I-direction or K-direction) layer (i.e. when using AutoGrid™ meshes, J-direction corresponds to the spanwise direction).


FIGURE 15 File ".wall" when computing partial torque along the blade
Finally, the resulting ".wall" will contain, in addition of the global torque and force on the selected blade, the partial torque for each layer along the J-direction of the blade as presented in FIGURE 15.
The force and torque computed on the selected surface(s) and included in ".wall" file are based on the full 360 degrees, so taking into account the periodicity when the blocks concerned are presenting a periodicity.

Plot3D Formatted Output
On the Computed Variables page it is possible to select Plot3D output to be created according to the file format described in File Formats. The user may select between an ASCII format or Fortran unformatted format.
When selecting the Unformatted file (binary) option, use the corresponding option in CFView™ to open the file: click on the File Format... button in the menu File/Open Plot3D Project... and select Unformatted. Do not select Binary format. In CFView™ the user needs to select also low endian or big endian formats. On PC platforms (Windows and Linux) select binary low endian and on all other platforms select binary big endian (more details in CFView™ User Manual).

The Global Solution File '.mf'
This ASCII file contains averaged quantities over the inlet, outlet and Rotor/Stator interfaces. If the project does not involve any of inlet/outlet or Rotor/Stator interfaces (e.g. for external flow), the ".mf" file is empty.

The ADF File '.adf'
This file contains the FNMB data and is saved in mesh directory. This file is created once and read afterwards by the code to ensure a faster start-up of following computations. The creation/reading of the FNMB data of R-S interfaces in this file can be controlled separately through the expert parameter IFRSFI. The creation/reading of all other FNMB data can be controlled through another expert parameter IFNMFI.

Parallel Computations
Introduction
Parallel computations can be defined through the FINE™/Turbo interface as described in the Subtask Arguments section. Parallel processing relies on the distribution of independent tasks among several processors using communication protocols to transfer data from one processor to another whenever this is necessary. This induces of course an acceleration of the computation itself but it also offers the possibility to perform large computations, that would not fit on a single processor. 
The parallel version uses MPI (Message Passing Interface) libraries. MPI was chosen among other tools such as PVM or Open MP for its high communication performances (high bandwidth, low latencies). Although Open MP has better performance on shared memory configurations, i.e. on a given computer with single global memory and several processors, it is not designed for distributed memory configurations (several computers with their own memory). 
The parallel version is implemented for Linux and Windows platforms (see Installation Notes for more details on the way to establish connections between platforms). By default, FINE™/Turbo uses the IntelMPI libraries v5.0.3 and v5.1.3 respectively on Windows and LINUX operating systems. 
Generally, each cluster has its own characteristics and we recommend to use a local version of OpenMPI which has been compiled for supporting infiniband connection. This library is generally provided by the cluster manufacturer. The OpenMPI provided in the installation package does not support infiniband connection. For example in order to use a local version of OpenMPI, please refer to Use an External OpenMPI Library on Linux.
On Windows, the UAC (User Account Control) should be disable for running the solver in parallel otherwise it prevents mpiexec to record the encrypted login and password in the registry database and the Task Manager remains open forever without any evolution.
The present MPI implementation is based on a host/slaves approach. One host process is dedicated to input/output management. The host reads the mesh and input files, sends the data to the computation processes (the slaves), receives the computation results from the slave processes and writes the output files. FIGURE 10 shows the task distribution on a 4 processor (1 host + 3 slaves) configuration. Note that the host/slaves implementation will be replaced progressively as parallel MPI input/output functionalities are now available.


FIGURE 10 Tasks in a parallel computation
FINE™/Turbo provides two kinds of parallel computation mode: Parallel Computation and Parallel Partitioned Computation, see the Subtask Arguments section for the interface to set Parallel Computation and Parallel Partitioned Computation. 
Parallel Computation
For parallel computation, the parallel processing relies on the block structure of the mesh. Each process is assigned a given number of blocks. As a consequence, the number of processors cannot exceed the number of blocks in the mesh. Boundary data are exchanged between processors each time an update of the flow solution is required. 
Parallel Partitioned Computation
The objective of Parallel Partitioned Computation is to improve the capabilities of FINE™/Turbo in a massively parallel environment, allowing the user to most effectively utilize the computational resources (large clusters especially).
The parallel partitioned computation version of the flow solver integrates automatic pre- and post-processing modules. The pre-processing module is used to automatically split the original mesh and partition the mesh depending on the user defined Target load balance efficiency and the number of processes, see the Subtask Arguments section. The post-processing module is used to output the result based on the original mesh instead of on the thousands of split blocks.
The parallel partitioned computation is not compatible with the following modules:

global correlation transition model
R/S interface: Conservative Coupling by Pitchwise Row / Local Conservative Coupling
phase lagged method
2D or axi-symmetric projects
Lagrangian module
Turbo machinery initial solution linked to AG4 mesh (expert parameter INITRB set to 0)

Management of Inter-Block Communication
The block structure of the solver allows to distribute blocks across processors or computers (in case of a cluster). Each processor will handle an integer number of blocks. The treatment of the boundary condition will be replaced by a message passing between the processors or remote computers.
Communication optimization
The parallel version of the flow solver is optimized in order to minimize duplicated data as well as the number and the volume of exchanged messages. A significant improvement of the code performance was obtained by grouping small messages into larger buffers: the information contained in small messages is usually shared by a large number of blocks, leading to frequent messages of that type. This is the case for block edges data that are exchanged several times during each iteration. Significant latency times are induced by these communication processes and message grouping highly reduces the number of such messages.
Large message limitation
Very large messages are usually exchanged during initialization and at the end of the computation between the nodes and the host. These also need to be avoided as they can cause important memory needs and eventually lead to system failure. Messages are split into buffers of maximum size MXBFSZ (see next section) in order to avoid excessive MPI memory requests.
How to Run a Parallel Computation
Configuring a parallel run using the FINE™/Turbo interface is described in the Tasks Definition section. 
Memory allocation
Memory allocation is performed as follows:

The integer data structure is duplicated for all processes. Since the integer data structure size is about a tenth of the real data structure, this does not lead to high memory overload when the number of processes is less than 10. 
The real memory allocation is performed for each process. It should be set to the minimal amount of memory necessary to hold the data structure on the process that has most grid points. When the load is well balanced, the real memory overload is due to face and edge data structures. These data need indeed to be duplicated when two processors are involved in the same block connection.

The total memory need Mtotal for a parallel computation involving n () processors can be estimated as:
where Mreal and Minteger are the real and integer memory needed for the same computation in sequential mode.
From a practical point of view, the user does not specify the total memory needed but the integer and real memory required per processor. This can be estimated as  for the real memory and Minteger for the integer memory. 
When doing a parallel calculation, the estimated real memory displayed by FINE™/Turbo on the Control Variables page, shall not be followed but the formula shown above will be respected.
The following table states the total memory needed for a parallel computation using respectively 4 and 6 and 8 processors. The values of Mreal and Minteger are set to 10 Mb and 1 Mb respectively. The equivalent memory request on a single processor is thus 11Mb.
TABLE 1  Parallel memory request 







n


Mtotal (Mb)


Parallel overhead (Mb)






4


20


9




6


20.4


9.4




8


21.7


10.7




In the present implementation, the presence of the host processor increases the global memory request. It also reduces the overall speed-up of the computation as it is mainly dedicated to I/O management and no computation is affected to it. Future versions of the FINE™/Turbo solver will optimize this aspect by removing gradually the need of a host processor.
Message size limitation
During initialization and final steps, large messages are usually exchanged between the nodes and the host process. In order to avoid any system failure, messages are split into buffers of maximum size. This size is set to 100000 by default but the user can eventually tune this value through the expert parameter MXBFSZ.
OpenMPI Options
The FINE™/Turbo solver uses the dafault OpenMPI options. The user can change the OpenMPI options in order to get higher performance. In general, all the MCA parameters can be defined by the user. The MCA parameters may be set in several different ways:

add the options in the command line, see Launch the flow solver in Parallel Mode in Batch for more details.
set the options in the user profile ($HOME/.profile). For example:

for csh or tcsh:
setenv OMPI_MCA_btl_sm_eager_limit 9192
for bash or ksh:
export OMPI_MCA_btl_sm_eager_limit=9192

create a file ".default_mpi'" under the folder <NUMECA_INSTALLATION_DIRECTORY>/fine#/_mpi/, where # is the FINE™/Turbo version. Then edit the file ".default_mpi" and set the options. For example:

for csh or tcsh:
setenv OMPI_MCA_btl_sm_eager_limit 9192
for bash or ksh:
export OMPI_MCA_btl_sm_eager_limit=9192

create a file "default_mpi'" under the folder $HOME/.numeca/, where $HOME is the home directory of the user account. Then edit the file "default_mpi" and set the options. For example:

for csh or tcsh:
setenv OMPI_MCA_btl_sm_eager_limit 9192
for bash or ksh:
export OMPI_MCA_btl_sm_eager_limit=9192
In case that the flow solver hangs, the user may check and change the settings of the following OpenMPI options:
OMPI_MCA_btl_sm_eager_limit, e.g., set to 4096
OMPI_MCA_btl, e.g., set to tcp,self


The following MCA parameters may be required to tune:

OMPI_MCA_mpi_leave_pinned: When mpi_leave_pinned is set to 1, OpenMPI aggressively leaves user memory registered with the OpenFabrics network stack after the first time it is used with a send or receive MPI function. This allows OpenMPI to avoid expensive registration / deregistration function invocations for each send or receive MPI function. When the value is set to 0, it is disable. -1 (default) let the system decides. Setting this parameter to 0 has helped to performed a parallel partitioning on a cluster.
OMPI_MCA_btl_###_eager_limit (### being tcp, openib,sm,...): This argument controls the size of the message above which the processor must wait a confirmation from the other processor that the message has been properly delivered. If the message is smaller than the specified value, the message is sent and the processor does not wait any confirmation of reception. If the message is bigger than this value, the message is split in sub-packets of fixed size and each sub-packet is sent one by one and the processor waits a confirmation of reception from the other processor before sending the next packet. By removing this parameter, the size is reduced to the default one (4096 b= 4 Kb) and the processors must wait a confirmation from the other processors in order to go on for all messages bigger than 4 Kb. This may have an impact on the speed up but it secures the communication.

Use an External OpenMPI Library on Linux
By default, FINE™/Turbo uses the OpenMPI library v1.6 on Linux operation systems. FINE™/Turbo also allows to use an external OpenMPI library, which may be a tuned, customized or hardware specific OpenMPI library. In order to use an external library, the user has to re-define the runtime environment, which can be done in two ways:

create a file ".default_mpi'" under the folder <NUMECA_INSTALLATION_DIRECTORY>/fine#/LINUX/_mpi/, where # is the FINE™/Turbo version. Then edit the file ".default_mpi" and specify the external OpenMPI library in the file ".default_mpi" (here the external library is located in /tmp/libs/OpenMPI/ompi1.6):

for csh or tcsh:
setenv NI_MPI_DEFAULT ompi
setenv NUMECA_MPI_DIR /tmp/libs/OpenMPI/ompi1.6
for bash or ksh:
export NI_MPI_DEFAULT=ompi
export NUMECA_MPI_DIR=/tmp/libs/OpenMPI/ompi1.6
In this way, the FINE™/Turbo flow solver will use the specified external library when launching computations.

create a file "default_mpi'" under the folder $HOME/.numeca/, where $HOME is the home directory of the user account. Then edit the file "default_mpi" and specify the external OpenMPI library in the file "default_mpi" (here the external library is located in /tmp/libs/OpenMPI/ompi1.6):

for csh or tcsh:
setenv NI_MPI_DEFAULT ompi
setenv NUMECA_MPI_DIR /tmp/libs/OpenMPI/ompi1.6
for bash or ksh:
export NI_MPI_DEFAULT=ompi
export NUMECA_MPI_DIR=/tmp/libs/OpenMPI/ompi1.6
In this way, all the NUMECA flow solvers running in this user account will use the specified external library.


Expert Parameters
The following expert parameters are related to parallel computations and parallel partitioned computations:
IRSPAR(integer):	For parallel partitioned computations, the Full Non Matching Rotor/Stator (FNM-RS) connections is by default assigned to one process, which has limited the scalability of rotating machinery cases to less than 1000 processes. In order to effectively use over 1000 processes, the FNMB-RS can be partitioned to a larger number of compute processes. This can be activated by setting the expert parameter IRSPAR=1.
EXCMTH(integer):	For parallel/parallel partitioned computations, the size of the integer allocation for the transmission of packed messages with MPI will grow exponentially with the number of processes. The expert parameter EXCMTH can be used to reduce integer allocation by setting it to 1.
IFNPPP(integer):	The pre-processing of the Full Non Matching Boundaries (FNMB) and Full Non Matching Rotor-Stator (FNM-RS) connections can be performed in serial or in parallel. The parallelization of the FNMB/FNM-RS connections is based on the patches included in the FNMB/FNM-RS connections. For parallel partitioned computations, the distribution of the FNMB connections is always performed in the virtually partitioned mesh. While the distribution of the FNM-RS connections can be performed in the original mesh or the virtually partitioned mesh, depending on the value of the expert parameter IFNPPP.

0: Serial pre-processing.
1: Parallel pre-processing. The FNM-RS connections will be distributed based on the original mesh. And the full RS image mesh will be hosted in each node.
2 (default): Parallel pre-processing. The FNM-RS connections will be distributed based on the original mesh. And minimal necessary portion of the image mesh will be hosted in each node in order to reduce the memory requirement.
3: Parallel pre-processing. The FNM-RS connections will be distributed based on the virtually partitioned mesh.

IRSPPA(integer):	When running in parallel partitioned mode it is necessary to adapt the pre-processed FNM-RS data from the unpartitioned to partitioned mesh topology.  This adaptation takes place during solver initialization after reading the FNM-RS data from the *.adf file.   This operation may be performed in serial or parallel.

0: Adaptation on the host process when reading FNM-RS data.
-1: Adaptation on the nodes, use all available compute processes.
>0: Adaptation on the nodes, use [IRSPPA] compute processes.

IFNSTD(integer):	The FNMB and FNMB RS pre-processing will output a large amount of information to the .std file. This output becomes meaningless during parallel preprocessing as multiple processes write projection and intersection information to the .std file simultaneously. In this case, the extra information output to the .std file can be suppressed.

0 (default): suppress extra information output.
1: output extra information.

The following expert parameters are related to parallel partitioned computations only:
NEWNMB(integer):	When NMB connections exist in the computation, it is recommanded to set the expert parameter NEWNMB to 1 to activate the metaNMB structure when running a parallel partitionned computation.
BLEXCH(integer):	defines non-blocking  parallel exchanges or blocking parallel exchanges for the local force steering output (including aerodynamic power). Non-blocking exchange may lead to synchronization problems and corruption of the data in some special cases.

0: non-blocking  parallel exchanges.
1 (default): blocking  parallel exchanges.

Limitations


The distributed memory mode is restricted to homogeneous system. It is recommended that machines with the same speed are used, as all partitions are of equal size by default and therefore, require the same computational cost.




When running parallel computations, the path to the project has to be identical on both the local and remote machines. For example, for distributed memory parallel computations, a folder must be mounted on the remote machine and share the same disk, in order to store the project directory that will be run in parallel on multiple hosts.


The blank space is not allowed in the path name and the computation name.

Introduction

An attractive feature of FINE™/Turbo is the computation of unsteady flows using the so-called nonlinear harmonic method (NLH). This approach, introduced by He and Ning (1998), can be considered as a hybrid method that conjugates the advantages of classical steady state and full unsteady calculations: it provides an approximate unsteady solution at affordable calculation costs.
The main idea is that the flow perturbations that make the flow unsteady are written about a time-averaged value of the flow and are Fourier decomposed in time. Casting the unsteady Navier-Stokes system into the frequency domain, transport equations are obtained for each time frequency. The user controls the accuracy of the unsteady solution through the order of the Fourier series. Alongside the solving of the time-averaged flow steady-state equations, each frequency requires the solving of two additional sets of conservation equations (for the real and imaginary parts of each harmonic). The method is made nonlinear by the injection of the so-called deterministic stresses, resulting from all the solved frequencies, into the time-averaged flow solver. Because of the transposition to the frequency domain, only one blade channel is required like a steady flow simulation.
Depending on the number N (called Rank) of rows which are separated from a reference row by motion interfaces and generate a perturbation into the reference row, FINE™/Turbo provides several NLH methods:
Basic: The basic harmonic method is a rank-1 method, which considers only the perturbation from the adjacent relative rotating rows of the reference row. 
Clocking: The clocking harmonic method is a simplified rank-2 method, which considers the perturbation from the adjacent rotating rows of the reference row and also simulates the rotor/rotor and stator/stator interactions in a multi-row turbomachine.
Multi-rank: The multi-rank harmonic method is a generalized harmonic method, which considers not only the perturbation from the adjacent successive N rows of the reference row, but also the interaction of harmonics between the adjacent successive N rows. For the moment, the maximum rank is limited to 2. 
For more details of the harmonic method, please refer to the theory guide.
The limitations for all NLH simulations are:

The nonlinear harmonic method can only be used for turbomachinery applications.
The flow perpendicular to the inlet (INL), outlet (OUT), external boundary (EXT) and rotor/stator interface (ROT) has to be subsonic.
The number of frequencies per perturbation in a row is the same all over the multistage machine. 
When using thermodynamic tables as fluid, the following limitations are applied:

Not compatible with inlet distortion.
The NLH method requires thermodynamic tables from which the first and the second derivatives can be computed accurately. This requires to generate thermodynamic tables with bicubic interpolations, which ensures the continuity up to the second derivative.

When simulating Cooling injectors with NLH, the injected mass flow is assumed constant.
When using the boundary condition External Constant Wind with Incidence Relative to Axis Z, the external patches must be grouped. The total number of the patches/groups cannot be larger than 9.
The harmonic method is based on the rows/groups configuration that are separated by R/S interfaces. All the blocks belonging to one row must be grouped. For example, in the configuration of a contra-rotating open rotor with a pylon, the domains must be grouped as "pylon + far field", "row 1 + far field", "row 2 + far field", and the R/S interfaces must also be grouped. Otherwise, the harmonic method will not work.
When combining the 2-equation turbulence models with NLH, the following limitations are applied:

Not compatible with the spatial discretization upwind scheme.
Not compatible with rough wall.
Not compatible with isothermal wall boundary condition (Temperature imposed).
Not compatible with FSI, except the SST turbulence model.


About the mesh constraint for NLH simulations, refer to Harmonic method.
In the following sections, three harmonic methods and the best practice will be described in detail.
Troubleshooting in Rotor/Stator Interface
Sometimes, the user may find that there is a quite large discontinuity in the variable field (such as entropy) over the rotor-stator interface, even when the number of harmonics per perturbation is 4 or more. This situation often appears if there exists a strong wake or shock wave at one side of the rotor-stator interface.
Within the NLH method, the conservative variable is decomposed into a time-averaged value and a sum of periodic perturbations, which in turn are decomposed into N harmonics. In some special cases, the perturbation can not be accurately reconstructed by using the decomposed harmonics. The error is depending on the number of the harmonics that we used.
FIGURE 11 shows how a square wave signal is captured by using a Fourier series (harmonics) and what the influence of the number of harmonics used is. Please refer to http://en.wikipedia.org/wiki/Fourier_series for more information. As you can see, the square wave is reproduced better with an increasing number of harmonics. However, it is impossible to reproduce the vertical line in the signal. This can only be reached if the number of harmonics is infinite.


FIGURE 11 The first four Fourier series approximations for a square wave
As an example, FIGURE 12 shows the contours of the entropy at a constant r surface in a contra rotating propeller simulated by using the basic harmonic method. In this case, there is a strong peak in entropy at the upstream side of the rotor-stator interface due to the wake of the front blade. This is almost a Dirac signal. To capture such a Dirac with Fourier series (that is what non-linear harmonics computations do) is indeed very difficult. As you can see, the signal is captured better when increasing the number of harmonics. This is in agreement with the theory: increasing the number of harmonics will increase the accuracy, but with increasing computation costs.


FIGURE 12 The contours of the entropy at a constant r surface for a Contra-rotating propeller

Boundary Conditions in the FINE™/Turbo GUI
When selecting the Boundary Conditions page the "parameters area" appears as shown in FIGURE 1. Five tabs are available, depending on the boundary condition types defined in the mesh. There are currently five types of boundary conditions available in the FINE™/Turbo solver: inlet, outlet, periodic (connection with or without rotational or translational periodicity), solid walls and external (far-field). Each of those is described in the next sections.
Note that the connecting (matching (CON) and non-matching (NMB)) boundary conditions (without periodicity) do not appear in this menu because they do not require any input from the user. Only the "periodic" conditions (PER & PERNM) appear in the Periodictab page.
Note that the full non matching and periodic full non matching connections defined within IGG™ (refer to IGG™ User Manual for details on limitations) are appearing in the Solid tab page.
A common particularity of the five boundary conditions pages is their subdivision into two areas. The left area always contains a list of the different patches that are of the boundary condition type of the selected tab page. A patch can be identified either by the name of the block face to which it belongs and by its number, or by the numbers of the block and face and by its local index on the face (if no name is provided in IGG™). The right area is the area where the boundary condition parameters are specified for the selected patch(es). 


FIGURE 1 Boundary Conditions page
One or several patches may be selected in the left area by simply clicking on them. Clicking on a patch unselects the currently selected patch(es). It is possible to select several patches situated one after another in the list by clicking on the first one and holding the left mouse button while selecting the next. To select a group of patches that are not situated one after another in the list, the user should click on each of them while simultaneously holding the <Ctrl> key pressed.
Several patches can be grouped by selecting them and clicking on the Group button. A dialog box will appear asking for a group name. The name of the group will appear in red in the list of patches to indicate that this is a group of patches. Every change in the parameters when a group is selected applies to all patches in the group. The Ungroup button removes the group and its patches are displayed individually in the list.
The Ungroup button is active only when at least one group is selected.
Different groups cannot use the same group name. For example, an inlet group cannot use the same name as an outlet group.
Clicking with the left mouse button on the plus sign  +  left of a group name in the list will display the patches included in this group.
If some of the patches have been given names in IGG™, these names will appear in FINE™/Turbo. If the patches have been grouped in IGG™, by giving the same name to many patches, they will appear ungrouped in FINE™/Turbo (with block, face and patch number shown after the name) to avoid contradiction between grouping in IGG™ and FINE™/Turbo. Ungroup button will toggle the IGG™ name of the selected patch(es) with the default FINE™/Turbo name (block, face and patch number).
If the Use Grid Configuration option is activated when linking the mesh for the first time, a default grouping by row is proposed by FINE™/Turbo. For the solid boundaries, the rotation speed specified in IGG™ or AutoGrid™ is automatically transferred to FINE™/Turbo. This limits the user input to a strict minimum. This automatic grouping cannot be modified by the user.
If the graphics area with the mesh topology of the project is opened (Mesh/View On/Off menu), all the selected patches and/or groups will be highlighted. A click with the right mouse button over a selected patch will select all the patches and groups in the list that have the same parameters.
If the user selects several patches that have different parameters, a warning dialog box will appear. When clicking on OK all parameters will be set equal to the ones of the first patch. Selecting Cancel instead will cancel the selection.


FIGURE 2 Two patches will be grouped into a group called HUB.
The right area of all the notebook boundary condition pages is created generically using a resource file, where all the boundary condition parameters are described altogether with their default values.
Some boundary conditions are only available for an incompressible, compressible or condensable gases. FINE™/Turbo will automatically disable the boundary conditions that are not available, depending on the type of fluid selected in the Fluid Modelpage. Also, the type of boundary conditions are adjusted according to the selection for Cartesian or cylindrical boundary conditions.
The five pages associated to each of the five types of boundary conditions are described in detail in the following sections.

Best Practice for Imposing Boundary Conditions
The quality of the flow simulation depends primarily on the quality of the grid and the imposed boundary conditions. In this section the most adapted boundary conditions are proposed according to the type of studied flow. 
In case a calculation is diverging, it is strongly recommended to check by post processing of the solution (in CFView™), that the appropriate boundary conditions have been imposed.
Compressible Flows
For compressible flows it is recommended that the inlet boundary condition fixes the absolute total quantities (pressure, temperature) and the flow angles and that the outlet boundary condition fixes the static pressure (exit pressure). This exit pressure can be imposed as:

a constant value along the exit,
an average value at the exit,
the pressure at mid-span for radial equilibrium (only for an axial outlet).

The static pressure at the exit of the domain is rarely constant. It is thus advised to impose the pressure as an average value or as a initialization data for radial equilibrium.
Even if this value of pressure is known, for numerical reasons it is possible that the computed mass-flow differs from the expected one. It is thus necessary to modify the exit pressure repeatedly until obtaining the accurate mass-flow. This procedure can be numerically expensive especially if the calculations are carried out on a fine grid.
A solution to overcome this drawback is to impose the mass-flow at the outlet. This can be done in two ways:

Velocity Scaling: for a low subsonic outlet (Mach number lower than 0.4) this condition fixes the mass-flow at a given control surface by scaling the vectors on this surface. This is not as robust as to impose the exit pressure and is not recommended in case significant backflows are detected along the exit. If this is the case, the next option is better suited.
Pressure Adaptation: in this case, an automatic procedure introduces a variation of the imposed exit pressure at each iteration of the calculation. The pressure is then iteratively updated in order to reach at convergence the imposed mass-flow. This is not as robust as to impose the exit pressure, but is more robust than the velocity scaling option.

The pressure adaptation method is defined by the value of the MASPAO expert parameter  found in the Control Variables page  (see Theory Guide):If MASPAO = 1 the adaptation coefficient is computed using reference values (reference temperature, pressure and the characteristic length from the Flow Model page). If the reference values are far from the actual state at the outlet (e.g. for complex cases with large variations of flow quantities or with multiple outlets) slow converge rates can be observed.If MASPAO = 2 (default) the pressure adaptation is based on characteristic values directly related to the outlet. In that case, the local values of area averaged pressure and density, as well as exit surface area, are used in order to speedup convergence to the imposed mass flow.
Incompressible or Low Speed Flow
For incompressible or low speed flows it is recommended to impose the mass-flow and the static temperature at the inlet and a static pressure at the exit. This couple of inlet-outlet conditions has a stabilizing effect on calculations and is also well adapted to provide initial solutions for multi-stage calculations.

Special Parameters (for Turbomachinery)
In case of flow separation at the outlet of radial diffusers it is recommended to use the backflow treatment option. This option can be activated by activating Backflow Control in the FINE™/Turbo GUI on the Boundary Conditions page under the OUTLET tab page.



FIGURE 17 Example of case with strongly varying radius in the inlet (Picture from D. Japikse, N.C. Balines, Introduction to Turbomachinery, Concept ETI Inc. and Oxford University Press, 1994.)        
When end-walls in the inlet regions are strongly varying in radius (e.g. centripetal turbines as in FIGURE 17) or in case of highly tangential inlet flow angles it is advised to use the IMASFL expert parameter (in the list of expert parameters on the Control Variables page in Expert Mode). This option is adapted when the inlet boundary conditions fixes the absolute total quantities (pressure, temperature) and is only valid for non-preconditioned computations. When it is activated, the mass-flow is extrapolated instead of the velocity.
 Inlet patches have to be grouped in one group to use the extrapolation of mass flow boundary condition.

Convergence History in the FINE™/Turbo GUI
The Computation Steering/Convergence History or Task Manager/Convergence Historypage allows the user to define quantities to be followed during the convergence process of the FINE™/Turbo solver. This page is divided in 5 areas as shown in FIGURE 2:


FIGURE 2 The five areas of the Convergence History page

If the computation is running in batch, the user can view the steering by activating the button Auto update while running in batch (only available through the Computation Steering/Convergence History page).  
The available variables (Available Variables).
The parameters (Parameters type).
The selected variables (Selected Variables).
The graphics view (Convergence History).

When the FINE™/Turbo solver is invoked, a communication is automatically established with FINE™/Turbo allowing the user to monitor the selected quantities. Two representations of the quantities are currently available: the convergence curves displayed in the area 5 and the quantity value at the last iteration in the area 4. All these data are stored in files with extension ".steering" and ".steering.binary". These files are created and managed automatically by FINE™/Turbo
If the communication between the flow solver and FINE™/Turbo is interrupted (i.e.: network problem), parts of the convergence curves can be lost.
The FINE™/Turbo solver allows to read and write the steering files in batch mode. The name of the ".steering" file is given through the arguments of the solver ("-steering computation_name.steering"). The solver reads the "steering" file when reading the ".run" file. The solver will also read the ".steering.binary" file if the ".run" is a restart.
When running in batch mode, the ".steering.binary" file is updated only when the solver saves the solution.
When the steering is being written by the flow solver in batch mode and the user is checking the convergence history in GUI, the user must not start the flow solver again from the GUI. Otherwise the GUI may overwrite the steering data.
Steering Files Selection & Curves Export
Different modes exist for the selection of the current steering results stored in the steering files:

When a project is opened, the active computation steering file is automatically selected and appears in the Add or select computations window (a) appearing when clicking on Select Computations button. Each time a new computation is selected, the associated steering file is automatically loaded and becomes the active one.


FIGURE 3 Steering files selection area
All the steering files already loaded can be selected by <Ctrl>-left click and <Shift>-left click in the list of available computations.
The file can also be loaded manually using the Add Computation button (c). A file chooser prompts the user to select the file.
The Remove Computation button (d), allows the user to remove the selected computation from the memory (the file is not removed from the disk and remains available for selection).
Additionally, when a task is started, the steering file of the active computation is automatically loaded and becomes available in the list of computations (b).

The Export Curves To File... button enables the user to save all the curves plotted in the Graphics View in an ASCII file ".cvh".
Available Quantities Selection
The available quantities selected by default depend on the type of computation. For example, when launching a turbomachinery computation, the global residual, the inlet and outlet mass flow, the efficiency, the pressure ratio, the axial thrust and the Torque are computed during the convergence process. The Available Quantities list (b) allows the user to select and add (c) new quantities to the computed list, see FIGURE 4.
.


FIGURE 4 Available quantities selection area
All the quantities can be added before or during the computation.
When a quantity has been added, it appears in the selection list and becomes the selected quantity. If the flow solver is running, the value and the convergence curve of the new quantities is displayed after a few seconds. The convergence curve begins at the iteration corresponding to the moment when the new quantity has been added in the Selected Variables list.
When a quantity is added for selection it appears in the selection list with a number behind the name. This number is only added to avoid to have two times the same variable name in the list. This is especially necessary when, for example, the static pressure is monitored at two different points in the domain.
FINE™/Turbo allows the user to monitor the evolution of force (force X, Y, Z), torque (torque X, Y, Z) and aerodynamic power (defined by , where  is the velocity of the wall deformation) on more than one set of solid patches. For projects older than v12.1, the expert parameter SOLSTE must be set to 1. To add these quantities among the list of monitored variables, the patch/group of patches considered for the monitoring should be selected in the drop-down menu shown in the area (3) in FIGURE 2.

            
		To be operational, the addition of a new variable should be performed as follows:
		1. Selection of the quantity2. Selection of the patch/group of patches3. Click on button “Add for Selection”
The patch/group of patches on which a quantity has been monitored can be retrieved in the entry "GroupName" by clicking on the variable on the right-menu shown in the area (4) on FIGURE 2.
Only the patch/group of patches on which the option "compute force and torque" is activated may be selected.
The force and torque outputs are computed for one blade only. The periodicity of the blade is not used.
Monitoring aerodynamic power is restricted to MpCCI and modal computations.
New Quantity Parameters Definition
When a new quantity has been added, it becomes available for selection in the Selected Variables list (area 4 in FIGURE 2). The user can select the way the flow solver computes the quantity through the parameter type area (area 2 in FIGURE 2). Several types of parameters can be chosen through the parameter type list box ((a) in FIGURE 5). The available types depends on the the selected parameter.
The available types of parameters that can be defined to compute the selected quantities:

global: the computed variable is averaged over all the domain.
local 3d grid point: the user specifies the grid point indices (I,J,K) and the block index (block id) where the quantity will be computed.
time curve for 3d grid point: the user specifies the grid point indices (I,J,K) and the block index (block id) where the quantity will be reconstructed in time.
local 3d grid point harmonic: the user selects the real or imaginary part and specifies the grid point indices (I,J,K), the block index (block id) and the harmonic index (harmonic number) where the quantity will be computed.
rotor-stator data: the user specifies the ID of the rotor-stator where the quantity will be computed.
patch group data: the user specifies the name of the patch/group where the quantity will be computed.
Patch group data harmonic: the user specifies the name of the patch/group where the quantity will be reconstructed in time.



FIGURE 5 Parameter type definition

Care should be taken when using the steering of a parameter on a local 3d grid point. It should be carried out in the following way:

select the parameter (relative velocity u, static pressure...).
add it for selection. It becomes available for the selected variables.
set the block id and the I,J,K indices of the grid point on which the evolution of the selected parameter will be visualized.


All modifications (I,J,K indices...) can also be performed (and modified) during the computation.
The time reconstruction (Patch group data harmonic) of load and aerodynamic power in steering is only compatible with FSI-NLH computation.
Quantity Selection Area
When a quantity has been added, it becomes available for selection in the Selected Variables list. The list is divided in 3 columns as shown in FIGURE 6: the variable name (a) which can be changed using the button rename (d), the quantity value (b) which displays the last computed value and the units (c) of the variable. The button remove (e) is used to remove the first selected variable.


FIGURE 6 Selected variables area
When a quantity is not yet computed, the value indicated is undefined.
Selecting a quantity will show its history in the graphics view as described in the next paragraph. To select multiple quantities click on them (with the left mouse button) in the list while holding the <Ctrl> or <Shift> key. To select quantities that are next to each other in the list simply click on the first one and keep the mouse button pressed while moving to the last variable.
Definition of Global Residual
The residuals are computed by the FINE™/Turbo solver as the imbalance in the linearised system of discrete equation (the sum of the imbalance of the discrete equation (residual R(U)) in each cell):

.
The root mean square of the residuals is computed with the following formula:

,
and the maximum of the residuals in the same way:

,
with log the logarithm to the base ten.
On the Computation Steering/Convergence History or Task Manager/Convergence History page, the global root mean square of the residuals normalized by its value at the first iteration is shown. These values are stored in the files with extension ".steering" and ".steering.binary". By default, the global residual of the density is monitored. The quantity to be monitored can be changed by modifying the value of the expert parameter NRRES.
The residuals can either be exported per block or per group (see Control Variables).
 When the option "Residuals per group" is activated in Computation Steering>Convergence History, the residuals are redefined by considering  the rms and the maximum residuals values over all the blocks composing the group (i.e the row).
When working with harmonic method, a global residual called 'global residual harmonics' will be available in addition of the 'global residual'. The 'Global residual' is linked to the time averaged solution while the 'global residual harmonics' is linked to the time fluctuations.
Additionally the global residuals are shown in numerical values in the Task Manager window (3rd column). The RMS value listed in the Task Manager window is the global root mean square normalized by its value at the first iteration: RMSRES-(RMSRES)it=1. The maximum value (4th column) is the maximum residual at a certain iteration normalized by the RMS residual at the first iteration: MAXRES-(RMSRES)it=1.
The values of the global residuals depend on the used initial solution. If the initial solution is already quite close to the final solution, the obtained residual values are not as low as they would have been when the initial solution is far from the final solution.


FIGURE 7 Task Manager window
The Graphics View
The convergence history of the selected curves are displayed inside the graphics view. 
In the Computation Steering/Convergence History page, the color of the curves is different (up to 8 selected quantities). The automatic chosen curves colors are also used for the displayed value (a). Additionally, the relative error between the two first selected quantities is also indicated (b). This is especially important for checking the difference between the mass flow at inlet and outlet (FIGURE 8). The relative error is computed as follows: , where  and  are the first and second selected quantities, respectively.


FIGURE 8 Graphics view area in Computation Steering/Convergence History page
In the Task Manager/Convergence History page, the color of the curves is the same (but with different markers) if related to the same computation. The color is different for each curve if related to different computations (up to 9 selected quantities controlled by the user if necessary - File/Preferences menu, see Main Menu Bar).


FIGURE 9 Graphics view area in Task Manager/Convergence History page

In Cartesian Boundary Conditions
The user can define a translation or a rotation velocity vector. In the latter case, the coordinates of the rotation centre are requested. The thermal conditions are similar to those for cylindrical flows.

			
			
			For the acoustic impedance, the user can define the frequencies to be considered for the analysis with the expert parameter FHAR.  The considered frequencies should be transformed into angular frequencies, which means multiplying by 2ᴫ. For example, to set up the first analyzed frequency at 100 Hz, the user must enter 100 [Hz] *2*ᴫ [rad] ~ 628 [rad/s] for the first element of FHAR. A maximum of 20 frequencies can be defined. The acoustic impedance can be otherwise defined as for the cylindrical configuration, and it is possible to apply the same acoustic impedance on two patches or group of patches that do not belong to the same harmonic group.

The Binary Solution File '.cgns'
The FINE™/Turbo flow solver writes a ".cgns" file (binary) at the end of the simulation and also during intermediate savings, depending on the user input. It writes several bases, which are described hereafter according to their name. This "cgns" file contains information that is necessary to restart a simulation from the solution previously obtained, together with information read by CFView™. The first base, fluid_solution, is mandatory. The other bases are optional and not always present.
Each string written in the ".cgns" file is limited to 32 characters.

fluid_solution. This base contains all the information necessary to restart a simulation from the solution already saved. Only this base is written during intermediate savings and when the option Minimum output is selected in the Computation Steering/Control Variables page.
project3d. This base contains all the 3D fields that have been selected as output for CFView™ in the Outputs/Computed Variables page.
project3d_solid_data. This base contains all the solid data that have been selected as output for CFView™ in the Outputs/Computed Variables page under the tab Solid data.
Project2d_meridional. This base contains all the meridional averaging data that have been selected as output for CFView™ in the Outputs/Azimuthal Averaged Variables page.
tools_base. This base contains information for post processing and some other information for CFView™. This information is for internal use in the FINE™/Turbo chain only.




FIGURE 1 The structure of the .cgns file
Fluid_solution



FIGURE 2 The fluid_solution base
This base contains all the information necessary to restart a simulation from the solution already computed. It contains all the basic flow variables (density, velocity, pressure, temperature, turbulent quantities, harmonic variables, etc…) for each control volume of the computational domain and for the dummy cells (two rows of dummy cells are added on each side of the block in order to ensure a proper block connectivity). These variables are located at cell center, i.e. at the exact location where they are computed. It should be mentioned that the mesh is not included in this base.
The first input of the base is a zone called scalars including the reference pressure (this reference pressure is set to zero for non-preconditioned simulations).
Then the base includes a series of zones for each domain. The name of each zone is "domain#", # being the block index in the grid generator. The original block name can be found in the user defined data "blockName". The node "sol1" contains all the 3D tables with the cell centered final solution of the simulation. It should be noted that the gauge pressure is stored. The gauge pressure is based on the reference pressure already stored in the fluid_solution base. Furthermore, only the solution on the finest grid level of the computation is stored in this base.
In case of unsteady computations, the last input of the base is a zone called TimeIterValues including the value of the time.
Project3d



FIGURE 3 The project3d base
This base contains all the 3D fields that have been selected as output for CFView™ in the Outputs/Computed Variables page. It includes a series of zones for each domain. The name of the zone is similar to the one of the base fluid_solution. For each block, the 3D grid is stored together with the variables that have been selected in the interface. Each zone contains the (x,y,z) coordinates and all the 3D variables for each vertex of the computational domain. These variables are located at cell corners, i.e. they are derived from an interpolation of the variables at cell center. Furthermore, a node zoneGridConnectivity is also stored in order to be able to connect blocks together (mandatory for CFView™). The node RepetitionData contains the information related to the periodicity of the domain, as well as the number of repetition considered in the CFD simulation for that domain. The information related to the axis point and the axis direction of the domain are also written in this node. If a Non-Linear-Harmonic simulation is performed, a user defined data called HarmonicData is also created in order to store real information related to harmonic simulations (for instance frequencies and inter-blade phase angles of the harmonics).
Only the solution on the finest grid level of the computation is stored in this base. If an intermediate saving is done during full-multigrid procedure, the data is prolongated onto the finest grid level of the computation.
Project3d_solid_data



FIGURE 4 The project3d_solid_data base
This base contains all the solid data that have been selected as output for CFView™ in the Outputs/Computed Variables page under the tab Solid data. By default, the grid coordinates on the faces are not stored in this base (ICGP3D=0, see Expert Parameters for more details). In this case, the grid coordinates can be derived from the coordinates in the project3D base.
This base includes a series of zones for each solid face. The name of the zone is set according to the following procedure. The name is bI_sJ_pK, where letters b, s, p stand for block, surface, and patch, respectively. The indices I, J, and K are block, surface, patch numbers, respectively. In order to define the J index the following method is used:

Face Imin: J=1
Face Jmin: J=2
Face Kmin: J=3
Face Kmax: J=4
Face Jmax: J=5
Face Imax: J=6

Each zone contains all the solid data for each vertex of the solid patches. These variables are located at cell corners.
Only the solution on the finest grid level of the computation is stored in this base. If an intermediate saving is done during full-multigrid procedure, the data is prolongated onto the finest grid level of the computation.
Project2d_meridional



FIGURE 5 The project2d_meridional base
This base contains all the meridional averaging data that have been selected as output for CFView™ in the Outputs/Azimuthal Averaged Variables page.
The structure of this base is similar to the one of the project3D except that data are stored in a 2D structure. The number of zones in this base corresponds to the number of patches selected in the Outputs/Azimuthal Averaged Variables page in FINE™/Turbo. Each zone is named "domain#", # being the index of the patch in the list of selected patches.
Only the solution on the finest grid level of the computation is stored in this base. If an intermediate saving is done during full-multigrid procedure (coarse grid initialization), the data is prolongated onto the finest grid level of the computation.
The Size of the ".cgns" File
The size of the ".cgns" file can be estimated based on the used flow models and the number of the outputted variables. Assuming the size of the solid data and the meridional averaging data is small (compare with 3D field) and can be neglected, the size of the ".cgns" file per million points can be estimated as:

   MB/million points
where  is the number of the saved variables for turbulence models (1 for 0-equation and 1-equation models, 2 for 2-equation models, 4 for 4-equation model);  is the number of the outputted 3D fields selected in the Outputs / Computed Variables page.
In case of NLH simulations, the size of the ".cgns" file per million points can be estimated as:

   MB/million points
where  is the number of frequencies per perturbation;  is the number of perturbation per blade row.
The actual size of the ".cgns" file will be slightly bigger than the estimated value above due to the existing of the solid data and the meridional averaging data.

Add Fluid
To add a fluid to the database, click on the Add New Fluid... button in the Fluid Model page.  A wizard will appear allowing the user to define the fluid properties. The different steps to follow are explained in below paragraphs.


FIGURE 2 Fluid Wizard
When creating a new fluid, the properties are by default the same as the fluid that was selected before.
The wizard can be closed by clicking on the Close button. 
Fluid Name
On the first line of this wizard, the user should enter the name of the new fluid. By default, the name "new_fluid_1" is proposed.
Database
The user should select the database to which the new fluid will be added: the Numeca or User database. 
When selecting Add to NUMECA database, the new fluid will be saved in:

Installation_path/fine#/COMMON/euranus.flb (on Linux)
Installation_path\Fine#\bin\euranus.flb (on Windows)

When selecting Add to User database, the new fluid will be saved in:

$HOME/.numeca/Common/my_fluids2.flb (on Linux)
%HOMEPATH%\.numeca\Common\my_fluids2.flb (on Windows)

If a condensable fluid is defined, the condensable tables will be copied to the folder "/thermodynamic_tables", which is located in the same directory as the file "euranus.flb" or "my_fluids2.flb".

Information linked to the fluid creation will only be stored in the fluid database once the FINE™/Turbo interface is closed. As a consequence, this information will not be available to other users as long as this operation is not completed.
If the user selects Add to User database, other users will not be able to use the defined fluid.
Until FINE™/Turbo v12.2, the user database was saved in ../my_fluids.flb instead of ../my_fluids2.flb. If desired, the old user database can be imported in the project, see Import Fluid Database. If the user database /my_fluids2.flb does not exist yet, the old user database /my_fluids.flb will be uploaded by default.
Fluid Type
The fluid type can be chosen by selecting the appropriate checkboxes. Following types of fluid are available:

CompressiblePerfect gasReal gas
Incompressible
Condensable

The selected fluid type is shown in the Fluid Type text box. 
Once everything is set up correctly, click on Next>> to go to the second page of the wizard. On this page, the following properties of the fluid have to be defined:

Specific Heat Law,
Heat Conduction Law,
Viscosity Law,
Density Law (for incompressible fluid only).
Thermodynamic tables folder (for condensable fluid only).

Depending on the selected fluid type, the behavior of these properties can be defined by a constant value, a profile, a formula, a law or a table. Below paragraphs explain the properties of the available fluid types in more detail. More information about the profile or formula definition, can be found at the end of this page.
Definition of a Perfect Gas

For the definition of a perfect gas, the user has to specify:

The heat conductivity. The heat conductivity may be set to a constant value or can be defined by a polynomial in function of temperature, a profile in function of temperature or through a constant Prandtl number. The polynomial and profile can be specified by clicking on the  button.
The viscosity. The viscosity may be set to a constant value or can be defined by a polynomial in function of temperature, a profile in function of temperature or through the Sutherland law (see below figure). The polynomial and profile can be specified by clicking on the  button. By default, the user defines the dynamic viscosity. In case the kinematic viscosity is preferred, the user has to select the Kinematic Viscosity button or uncheck the Dynamic Viscosity button.
The specific heat at constant pressure and the specific heat ratio. For a perfect gas, only a constant cp and  (cp/cv) is allowed.



FIGURE 3 Sutherland Law Parameters


Definition of a Real Gas

A real gas is defined by laws for the dependence of  and/or  with the temperature and/or the gas constant r.  


FIGURE 4 New Fluid Definition - Real Gas
For the definition of a real gas, the user has to specify: 

The heat conductivity. The heat conductivity may be set to a constant value or can be defined by a polynomial in function of temperature, a profile in function of temperature or through a constant Prandtl number. The polynomial and profile can be specified by clicking on the  button.
The viscosity. The viscosity may be set to a constant value or can be defined by a polynomial in function of temperature, a profile in function of temperature or through the Sutherland law (see Sutherland Law Parameters).  The polynomial and profile can be specified by clicking on the  button. By default, the user defines the dynamic viscosity. In case the kinematic viscosity is preferred, the user has to select the Kinematic Viscosity button or uncheck the Dynamic Viscosity button.
The specific heat law. The specific heat law is defined by specifying two out of three available variables: cp,  and r. By default, when adding a new fluid, the recommended specific heat law is a user-defined  in function of the temperature and the gas constant r. The gas constant r is set to a constant value, while the specific heat at constant pressure cpand  are defined through a polynomial or a profile depending on the temperature (by clicking on the  button). In both cases, the user has to specify the temperature range over which  and/or  is characterized.



For the pre-defined fluids available in the NUMECA database, the value of  is defined as a function of temperature through a profile. These profiles have been computed for a constant pressure of 100,000Pa.
Compared to a perfect gas computation (cp and  constant), the real gas option results in a 20-25% increase of CPU time. Real gas calculations are usually robust enough to avoid a preliminary run with averaged physical properties. However, difficulties may arise during the convergence process (say the first 100-200 iterations) when either the allowed temperature range is too large or when the properties are expected to vary significantly in the allowed temperature range. At these occasions, it is often useful to make an equivalent perfect gas computation, with average properties, in order to remove any temperature dependency and ease the convergence process.


Definition of an Incompressible Fluid (liquid)

For the definition of a liquid, two models are available:

a 'pure' liquid with constant density,
a barotropic liquid for which the density varies with pressure.

Depending on the type of liquid the user has to specify:

The heat conductivity. The heat conductivity may be set to a constant value or can be defined by a polynomial in function of temperature, a profile in function of temperature or through a constant Prandtl number. The polynomial and profile can be specified by clicking on the  button.
The viscosity. The viscosity may be set to a constant value or can be defined by a polynomial in function of temperature or a profile in function of temperature. The polynomial and profile can be specified by clicking on the  button. By default, the user defines the dynamic viscosity. In case the kinematic viscosity is preferred, the user has to select the Kinematic Viscosity button.
The specific heat at constant pressure. For liquids, only a constant cp is allowed.
The density law. The density can be set as a constant following the Boussinesq law or can be pressure dependent through a profile or polynomial in function of pressure. In the first case, the density is constant and the Boussinesq coefficients are taken into account only if the button Gravity Forces (Flow Model page) is activated. These coefficients are used in the source terms of the momentum equation and the energy equation in order to model the gravitational effect (i.e. natural convection) although the density is assumed to be strictly constant. In case the density is pressure dependent, the polynomial and profile can be specified by clicking on the  button.

For liquids, the reference temperature and pressure must lie in the expected range of the static temperature and pressure of the flow field. The reference pressure and temperature are defined in the Flow Model page.


Definition of a Condensable Fluid

The aim of the condensable fluid module is to model the real thermodynamic properties of the fluid using the interpolation of the variables from dedicated tables.
The module can be used for a single-phase fluid for which the properties are too complex to be treated with a perfect or real gas model. It can also be used in order to treat thermodynamic conditions that are close to the saturation line. Note that the model can be used on the liquid or on the vapour side of the saturation curve. In case that the thermodynamic state lies inside the two-phase region, a homogeneous equilibrium two-phase mixture of vapour and liquid is considered. However, the hypothesis of an equilibrium mixture is not valid if the dryness (wetness) fraction exceeds 20%. The module cannot be used above these fractions, as it completely ignores evaporation-condensation phenomena.
The approach that has been adopted in the FINE™/Turbo solver, consists of using a series of thermodynamic tables. One table is required each time a thermodynamic variable must be deduced from two other ones. This implies the creation of many tables as an input, but presents the advantage that no iterative inversion of the tables is done in the solver. The use of a condensable fluid results in a ~20% increase in CPU time compared to a perfect gas..
By default, two sets of thermodynamic tables are provided in the FINE™/Turbo package: Refrigerant R134a and Water-Steam tables. The other thermodynamic tables can be generated by the user using TabGen or can provided by NUMECA, upon request. The necessary thermodynamic tables for a condensable fluid are listed below.
In order to define a condensable fluid, the user needs to select the folder where the thermodynamic tables are stored. Next, the range of the independent variables will be displayed and the user must specify:

The  specific heat. The specific heat can be set to a constant or defined by the thermodynamic tables.
The heat conductivity. The heat conductivity may be set to a constant value or can be defined by a polynomial in function of temperature, a profile in function of temperature, through a constant Prandtl number or by the thermodynamic tables. The polynomial and profile can be specified by clicking on the  button.
The viscosity. The viscosity may be set to a constant value or can be defined by a polynomial in function of temperature, a profile in function of temperature, through the Sutherland law (see Sutherland Law Parameters) or by the thermodynamic tables. The polynomial and profile can be specified by clicking on the  button. By default, the user defines the dynamic viscosity. In case the kinematic viscosity is preferred, the user has to select the Kinematic Viscosity button or uncheck the Dynamic Viscosity button. This option is not available in case the viscosity is deduced from the tables.



The condensable fluid option is not compatible with the use of  upwind schemes for space discretization.
If the thermodynamic tables are generated on a Windows system but the computation is performed on a Linux system, the thermodynamic tables will be converted to Linux format when the flow solver reads the tables. The converted tables are named as *_cvrt.atab and put in the computation directory. It is suggested to replace the tables in the fluid database by the converted tables.
According to the flow type, the needed tables are different. The files used by FINE™/Turbo are the .atab files that contain the tabulated information by storing the coefficients of the interpolation polynomials. All the tables that may be used during the computation, are listed below:

The 1D tables:

PSA.atab: contains the liquid and vapor saturation lines function of the saturation pressure: liquid and vapor densities, liquid and vapor enthalpies, ....



The 2D tables:

AER.atab: Quality function of energy and density
AHP.atab: Quality function of enthalpy and pressure
BER.atab: Heat capacity function of energy and density
CER.atab: Speed of sound function of energy and density
CHP.atab: Speed of sound function of enthalpy and pressure
DPT.atab: density function of pressure and temperature
EPT.atab: energy function of pressure and temperature
HSP.atab: enthalpy function of entropy and pressure
KER.atab: thermal conductivity function of energy and density
KHP.atab: thermal conductivity function of enthalpy and pressure
MER.atab: dynamic viscosity function of energy and density
MHP.atab: dynamic viscosity function of enthalpy and pressure
PER.atab: pressure function of energy and density
PHS.atab: pressure function of enthalpy and entropy
RHP.atab: density in function of enthalpy and pressure
RHS.atab: Pressure over density in function of enthalpy and entropy
SHP.atab: entropy function of enthalpy and pressure
TER.atab: temperature function of energy and density
THP.atab: temperature function of enthalpy and pressure


The user has to create some of above tables in case of following situations:

Necessary tables for computations without preconditioning: PER.atab, TER.atab
Necessary tables for computations with preconditioning: RHP.atab, THP.atab

                Necessary tables for computations with initial solution for turbomachinery and/or for inlet boundary conditions where total enthalpy and dryness fraction are imposed: SHP.atab, THP.atab, RHP.atab,  HSP.atab, EPT.atab, DPT.atab and PSA.atab
Necessary tables for total quantities (imposed at the inlet or as an output):  SHP.atab, THP.atab, RHP.atab, HSP.atab, EPT.atab, DPT.atab

The following tables are optional but we advise to use them:

Transport properties (viscosity and conductivity): MER.atab or MHP.atab or KER.atab or KHP.atab
Speed of sound tables: CER.atab or CHP.atab

The .ntb files are not needed to run a computation. They are generated by TabGen and contain all the tabulation for two independent quantities and all the dependent ones. The .ntb files can be deleted as well as the .btab (binary counterpart of .atab) files.


Formula Editor

When a law is defined by a formula, clicking on the button () right next to the pull-down menu will invoke a formula editor. 


FIGURE 5 The Formula Editor for polynomials in the fluid properties
The Formula Editor is used to define the polynomial which will characterize the behavior of a fluid property. The user has to specify the eight coefficients of the polynomial according to the displayed formula on top  of the formula editor. The polynomials take the following form in case of for example  cp and the density:






The coefficients A0, A1, A2, A3, A4, A5, A6, A7,B0, B1, B2, B3, B4, B5 and , B6and B7 are chosen by the user and set in the dialog box. 
Also the lower and upper limits of the temperature range, in which the polynomial function is defined, must be set. Press <Enter> after each entry to validate the input. Values outside of the specified temperature range, will be considered constant and equal to the minimum or maximum value (as shown in the graph in FIGURE 5).
If a fluid with "Read Only" permissions contains formulas, the formulas may be visualized with the Show Fluid Properties... button but they cannot be modified.


Profile Manager

When a law is defined by a profile, clicking on the button () next to the pull-down menu will start the Profile Manager.
The Profile Manager is used to interactively define and edit profiles for both fluid and boundary condition parameters. To input a profile, the user has to enter the corresponding coordinates in the two columns on the left. The graph is updated after each coordinate entry (and pressing the <Enter> key).
The button Import can be used to import a profile, which is already existing as a data file on the disk. The Export button is used to store the current data in the profile manager as a data file (for example to share profiles between different projects and users). The format of the profile files is explained in detail in File Formats.
If the mouse cursor is placed over a point in the graph window, the concerning point and the corresponding coordinates on the left will be highlighted in blue. This gives the user the possibility to verify the profile.
The button OK will store the profile values into the fluid definition.


FIGURE 6 Profile Manager for fluid parameters
If a fluid with "Read Only" permissions contains profiles, the profiles may be visualized with  the Show Fluid Properties... button but they cannot be modified.

Files Produced by the FINE™/Turbo GUI
This section describes the files produced and used by FINE™/Turbo (or used by the flow solver  launched from FINE™/Turbo). Please note that FINE™/Turbo acts as a file manager between different software systems. Therefore, it is important that the read, write and execute permissions are set properly for all the files and directories used by FINE™/Turbo.
Manual modification of these files is not supported since it may corrupt the file or provide incorrect results. Such a modification should only be done on explicit advice of our local support office.
The Project File '.iec'
This file contains all the information related to the project. It is used by FINE™/Turbo to save and recover all the user settings. This file is subdivided into several blocks. Each block contains data and/or other blocks. The beginning of the blocks is identified by the key word NI_BEGIN and by a name and the end of the block is identified by the key word NI_END and by the name of the block.
File Header
The file always has the following header containing the version number and the project type:
NUMECA_PROJECT_FILE   VERSION 8.2
PROJECT_TYPE STRUCTURED
After the header, 3 new lines are used to store the name of the files linked to the project:
GRID_FILE     /usr/_turnkey_tutorials/_rotor37/rotor37/_mesh/rotor37.igg
TRB_FILE      /usr/_turnkey_tutorials/_rotor37/rotor37/rotor37.trb
GEOMETRY_FILE /usr/_turnkey_tutorials/_rotor37/rotor37.geomTurbo
These are respectively the mesh, the template and the geometry files. The template and the geometry files are not used by FINE™/Turbo and are only there for backward compatibility reasons.
The Computation Block
The project file contains the settings of all the computations defined by the user. Each computation block is identified by the following keywords:
NI_BEGIN computation
...
NI_END computation
The computation block contains the following subblocks:

The  Solver Parameters Section block containing all the parameters of the flow solver.
The Initial Solution & Boundary Condition Section block containing the initial solution and the boundary conditions.
The Grid Parameters Sectionblock containing the topology of the mesh.
The Fluid Properties Sectionblock containing the fluid properties.

The Computation File '.run'
When the solver is started, FINE™/Turbo creates a new directory using the name of the active computation. A computational file (".run" extension) containing the settings of the active computation is saved into this new directory. This file is used as input by the flow solver and by the flow visualization system CFView™.
The menu File/Save Run Files enables to save the ".run" file without starting the flow solver.

Profile Management
When a law is defined by a profile clicking on the button  right next to the pull down menu will invoke a Profile Manager window.


FIGURE 17 Profile Manager for boundary conditions parameters
The Profile Manager is used to interactively define and edit profiles for both fluids and boundary conditions parameters. The user simply enters the corresponding coordinates in the two columns on the left. The graph is updated after each coordinate (after each pressing of the <Enter> key). The sorting of the data can be controlled by clicking on the Abscissa on top of the column.
The button Import may be used if the profile exists already as a file ".p" or ".dat" (profiles exported from CFView™) on the disk. The option Surface data allows the user to impose a 2D profile. The formats of the profile files are explained in File Formats where all file formats used by FINE™/Turbo and the flow solver are detailed. 
When importing a ".dat" file coming from CFView™, a dialog box pops up to select the interpolation type depending on the loaded format: 1D with 1 data column, 1D with 3 data columns or 2D with 3 data columns. 
For 1D profiles, 1D interpolations along x, y, z, r or theta are available.



If 1D with 1 data column, the two columns of the ".dat" file are read.







Interpolation Type
Abscissa
Ordinate




1D interpol. along x
Column #1
Column #2


1D interpol. along y
Column #1
Column #2


1D interpol. along z
Column #1
Column #2


1D interpol. along r
Column #1
Column #2


1D interpol. along theta
Column #1
Column #2




If 1D with 3 data columns, the columns of the ".dat" file to be read depend on the interpolation type selection.







Interpolation Type
Abscissa
Ordinate




1D cartesian interpol. along x
Column #1
Column #4


1D cartesian interpol. along y
Column #2
Column #4


1D cartesian interpol. along z
Column #3
Column #4


1D meridional average interpol. along z
Column #1
Column #4


1D meridional average interpol. along r
Column #2
Column #4



For 2D profiles, 2D interpolations along x-y, x-z, y-z, r-theta, r-z or theta-z are available. The columns of the ".dat" file to be read depend on the interpolation type selection.









Interpolation Type
Abscissa
Ordinate
Function value




2D interpol. along x and y
Column #1
Column #2
Column #4


2D interpol. along x and z
Column #2
Column #3
Column #4


2D interpol. along y and z
Column #2
Column #3
Column #4


2D interpol. along r and theta
sqrt((Column #1)2+(Column #2)2)
atan2(Column #2,Column #1)
Column #4


2D interpol. along r and z
sqrt((Column #1)2+(Column #2)2)
Column #3
Column #4


2D interpol. along theta and z
atan2(Column #2,Column #1)
sqrt((Column #1)2+(Column #2)2)
Column #4



For both 1D and 2D profiles, the ".dat" file may contain several sections (list of profiles). In that case, the profiles are concatenated and automatically sorted (ascending order for the first component).  
If the quantity to be imported is not a scalar (i.e. Vxyz vector), an error message is popped up: "The selected file contains a vector quantity description. Only single scalar quantities can be imported as profile."
The Export button is used to store the current data in the profile manager as a file (for example to share profiles between different projects and users). 
If the mouse cursor is placed over a point in the graph window, this point is highlighted and the corresponding coordinates on the left will be also highlighted, giving the user the possibility to verify the profile.
The button OK will store the profile values and return back to the main FINE™/Turbo window.
When imposing profiles, a zero extrapolation is applied for a point located outside the defined range of the profile, except for time-dependent boundary condition. E.g. if the density profile is given for a pressure between 10 bar and 100 bar, the density at 1 bar will be the one imposed at 10 bar.
The zero extrapolation does not apply for time-dependent profiles where a t=0 value is needed in order to get physical results with time-dependent boundary condition.

Expert Parameters
Other parameters appear in the Expert Mode of the Fluid-Particle Interaction page under the Parameters tab:



The maximum residence time (TMAX in corresponding ".run" file), which is the time limitation for particle residence in the flow. It may be used either to prevent particle stopping or to avoid an infinite loop, having for instance a particle captured in a separation bubble. After the time has expired, the particle disappears.
The governing equations for particles in a carrier flow consist of a set of non-linear ordinary equations. Two methods are provided to integrate this equations with respect to time (that can be selected in expert mode):

The Runge-Kutta scheme, in which the transfer to the next time level is fulfilled through a finite number of intermediate steps. A two-stage and a four-stage option (NRKS in corresponding ".run" file) are available. This scheme is limited to big particles.
The exponential scheme that lies on a semi-analytical method. This scheme is particularly suitable for small particles.

The Drag force is in general the only considered part of the interphase force. It corresponds to the force on a particle moving in a still fluid at constant velocity (or using the particle reference system, a fixed particle in a uniform laminar flow). At extremely low Reynolds numbers (Rep << 1 i.e. at low relative velocities), it is expressed through the Stokes formula. For higher Reynolds numbers, an optional standard curve fit may be chosen. The choice between the two types of forces can be made in expert mode.

Other parameters have a standard value, which may be modified only on rare occasions. They are accessible in the Expert Mode of the Computation Steering/Control Variables page:


CLASID (integer):	selection of class for CFView™ output
LMAX (integer):	the maximum number of segments along a trajectory may be used to avoid an infinite loop in the case of an oscillatory movement for instance.
DDIMAX (real):	tolerance factor to establish that a particle has left a cell (default=1.E-4).
I2DLAG (integer):	simplification for 2D problems (0 if 3D, 1 if 2D).
DIAMR (real):	diameter ratio under which the particle tracking process stops (default value: 0.1).
KOUTPT (integer):	enables to write the ASCII ".tr.out" file containing the output of the trajectories (default value: 0). Please contact our local support office to have more details on this file.

Cylindrical Boundary Condition
Area Defined Rotation Speed
The wall rotation velocity can be constant or area defined (see FIGURE 14). The area defined option allows to attribute a specific rotation velocity to a rectangular zone in the meridional plane independently of the grid structure.
When the area defined option is selected, a small picture defining the parameters is displayed (the z axis is the rotation axis, the r axis is the radial axis). The rotation velocity is set to  outside the domain and to  inside the domain. 
The specified range must be a valid range for the used geometry. For example, for an axial machine the limits for rotation of the hub can be defined by setting the lower and higher axial limit to appropriate values. In such a case it is important to set the radial limits such that they include the full solid (hub) patch.


FIGURE 14 Solid boundary conditions page in case of a cylindrical boundary condition
Thermal Condition
Five options are available for the thermal condition: 

Adiabatic;
Heat Flux Imposed, in W/m²: a positive heat flux indicates that the direction of the heat flux is from the solid wall to the fluid;
Temperature Imposed: isothermal boundary; 
The solid boundary conditions applied on the patches belonging to a matching or a full non-matching connection between a solid and a fluid blocks or two solid blocks are heat flux and temperature imposed. These boundary conditions must not be modified except for the rotation speed.

Heat Transfer Coefficient Imposed, in W/m².K: defined as  as follow:,	where  is the local heat flux,  the local temperature at the wall and  the reference temperature inputted by the user.
Rothalpy Preserving


The imposed heat flux, temperature or heat transfer coefficient can be constant on the patch or defined as a profile. Use the pull down menu to change Constant Value to for example fct(space). Click on the profile button to launch the Profile Manager.
For harmonic analysis with conjugate heat transfer, the variables Temperature (Real and Imaginary) and/or Temperature (Amplitude) need to be selected in the Computed Variables page from the Harmonics category of outputs in order to save results of temperature harmonics.
CHT connection
The specific boundary condition CHT connection is used for the fluid side of fluid/solid Rotor/Stator interfaces on steady state analyses. For this boundary condition, the user should define the wall rotation speed (only Constant Rotation Speed available). The thermal condition is computed by the Rotor/Stator connection. A message line "Fluid/Solid R-S INFO" is displayed to help the user to know the properties of the selected patch/group.


The patch/group name of the  fluid side  of fluid/solid Rotor/Stator interface is the same as that in the Rotating Machinery page under the Rotor-Stator tab.
Acoustic Impedance
The boundary condition Constant Rotation Speed with Acoustic Impedance allows the user to simulate acoustic liners. This boundary condition specifies a fluctuation of the normal velocity at the wall:



where Z is the impedance and defined as: 



The real part r is the resistance and the imaginary part χ is the reactance.
The acoustic impedance is assumed to be constant along the liner and the treatment is assumed to be impermeable, meaning that the normal component of the time-mean velocity remains zero.



		
		
			The resistance and the reactance defining the acoustic liner can be set up independently for each frequencies involved for the NLH computation, displayed on the bottom of the page. It is possible to configure acoustic impedance on surfaces (defined in fixed or rotating domains).

			The solver handles independently the adaption of the frequencies to be solved in the frame of the NLH computation, depending on the rotational speed (rotating or stationary) of the block on which the acoustic patch or group of patches are defined. Furthermore, it is possible to impose different impedances on different patches or group of patches.


			If a project involving acoustics settings, generated on version prior to 11.1, is opened in a later version,  the values of the resistance and reactance will be set for all frequencies to the initial value which have originally been implemented in the project. It is also not possible to reconstruct in time the harmonic solution obtained from basic NLH computations involving acoustic liner. The acoustic resistance and reactance should be defined in SI units (kg/m2.s).

The boundary condition Constant Rotation Speed with Acoustic Impedance applies the following limitations:

 only compatible with multi-rank NLH computations. 
The pressure on the liner can only be computed using zero order extrapolation.

The Acoustic Impedance can be imposed to Cartesian Boundary Condition as well.

Low Speed Flow (Preconditioning)
This option appears in the Flow Model page only if the fluid type is compressible. Preconditioning is automatically used for incompressible fluids.
In the low Mach number regime, time-marching algorithms designed for compressible flows show a pronounced lack of efficiency. When the magnitude of the flow velocity becomes small in comparison with the acoustic speeds, time marching compressible codes converge very slowly. 

Two low speed preconditioners, Hakimi and Merkle preconditioners, have been implemented in the FINE™/Turbo solver in order to provide fast convergence characteristics and accurate solutions as the Mach number approaches zero:

The Hakimi preconditioner is of sufficient generality and can treat any type of fluids and  flows. Efficient convergence rates and accurate solution can be obtained for Mach numbers from M=0.1 to M=10-6, Reynolds numbers from Re=106 to 10-6 and aspect ratios from 1 to 2000.
Compared with the Hakimi preconditioner, the Merkle preconditioner has the advantage that it is not only efficient at all Mach number but also at all Reynolds and Strouhal numbers. With the Merkle preconditioner, the user can perform a fast and accurate computation of supersonic flows with regions at very low speed. Moreover the Merkle preconditioner doesn't require any user inputs.

Best Practice for Computation Monitoring
Introduction
Several tools are available in the FINE™/Turbo package to follow the evolution of a calculation:

the Convergence History page available in FINE™/Turbo and in the Task Manager module, which allows to follow the evolution of a calculation easily and to globally compare the evolution of multiple computations. 
Another useful tool is Monitor to compare per equation and per block, the evolution of multiple computations.
CFView™ to enter even into more detail.

Each of them has its own specific features, but they are very complementary. This section describes how to use those tools to monitor a computation. For a detailed description on the use of CFView™ see the CFView™ User Manual.
When a computation has just been launched for the first time, and initialization steps have been properly passed, the solver writes a first solution file. In fact it is not yet a solution but only the result of the initialization. Still this first output is interesting to check if all boundaries conditions have been set correctly. Especially think to have a look at the rotating elements of the machine, the profiles of velocities at inlet and at outlet. This operation aims to detect a user mistake, which could cause a loss of time, like for example, a forgotten patch. To check this first output use CFView™. To check the rotating part of the machine, select the rotating walls (hub or shroud for rotating walls) using the menu item Geometry/Select Surfaces and select for the quantity the velocity. Using the Representation menu the velocity will be displayed on the selected patches and this will be the rotation speed everywhere.
Convergence History
The global residual on the Convergence History page allows to see quickly whether or not the computation is iterating properly. The residuals should go down first on the coarser grid levels of the Full Multigrid strategy as shown in FIGURE 12. See Numerical Scheme chapter for more details on Full Multigrid. When going to a finer grid level the global residual increases suddenly to decrease immediately after. When the computation reaches the finest grid, the curve of the global residual should normally decrease gradually. In general a fall of 3 orders with a stabilization of this curve is considered as a good convergence. But it is important to check if other global quantities like mass flow, efficiency, pressure ratio are also stabilized and to compare the differences between mass flow at inlet and outlet (in general a difference of less than 0.5% is acceptable).


FIGURE 12 Example of convergence history for global residuals
Additionally for a deeper analysis, FINE/Turbo has given the user ability to investigate the convergence history of the local flow field, which can be accessed by the following methods:

Add local 3d grid point in the Convergence History page (see Convergence History)
Add "ControlPoints" through the external file

In the second method, the characteristic quantities can be track from iteration to iteration by so called "ControlPoints". The location of these control points is specified in I,J,K coordinates through an external data file with extension ".ControlPoints" and the same base name as the other computation files. The user has to put this input file in the computation directory. 
The I,J,K coordinates should correspond to the finest grid level on which the computation will be run (Current grid level specified into the Numerical Model page). If for example a computation is run on 111 as finest grid level, then the I,J,K coordinates should be specified for the 111 grid level.
After the computation is started, the FINE™/Turbo solver will create a separate output file for every point defined in the ".ControlPoints" file. These output files have the extension ".P#.DAT" and can be found in the computation directory, where # stands for the serial number of the control point in the input file.
The format of the input and output files is given in the following parts.

Contents of the input file (.ControlPoints):
Line 1: Number of control points
Line 2: Block Nr. I-Location J-Location K-Location                 (control point 1)
Line 3: Block Nr. I-Location J-Location K-Location                 (control point 2)
......
Example
3
5  17  33  21
2  10  15  18
7  33  45  11
Every line has to be ended by a <return> carriage.
The maximum number of control points that users can define is limited to 180. 
Contents of the output file (.P#.DAT), for each line:

Iteration number (steady) or Time step (unsteady)
Density
Relative Cartesian Velocity (, , )
Pressure (without preconditioning) or Pressure - Reference pressure (with preconditioning), where Reference pressure is defined in the Flow Model page.
Nu~ (for Spalart-Allmaras model only)
k and ε  (for k-ε  model only)
Real and imaginary parts of Density, Absolute Cartesian Velocity and Pressure for each harmonic. (for NLH computations only)
Temperature (for perfect gas with preconditioning only)


For solid blocks, only the two first columns of the output file are relevant: the iteration number and the static temperature. 


Monitor
Monitor follows the same quantities as the Convergence History, but its main interest is to offer the possibility to follow the convergence block by block. Thus, one can localize problems and, if necessary, modify the mesh in the region associated to the block, or change a boundary condition.
Finally, coming back to the Task Manager, it is possible to get a deeper control, locally, by adding control points (local 3d grid point). These points allow to track in important parts of the domain, the speed, the pressure and turbulent quantities, which sometimes could be a requested information. In the case of steady computations, the values associated to these points should converge to a constant value.
One additional advice is to use CFView™ during the computation with intermediate and non-converged solutions. When having convergence problems for example CFView™ may be used to look for the zones were the residuals have too high values compared to other regions or an incorrect turbulence field. To know in which block(s) the residuals start to increase first in case of divergence problem, Monitor may already give a first indication. Combining the information from Monitor and CFView™ allows to find the cause of convergence problems in the computations.
Analysis of Residuals
In some cases it may occur that Monitor shows high RMS and maximum values of the residuals in a certain block while CFView™ shows high residuals in a different block. This difference between the two tools is caused by the different ways of representing the residuals. In CFView™ the absolute values of the residuals resulting from the flux balance are directly plotted for each cell. In CFView™ the residuals are not scaled with the cell volumes and no normalization with values at the first iteration is applied. This explains why some high maximum residuals in scaled mode can be invisible in CFView™ because they occur in small cells. Also the fact that the residuals are computed on the cell centers in the solver and shown in CFView™ on the cell corners may lead to some, minor, interpolation differences.

Properties of Solid for Turbulence
In addition, when turbulence models with extended wall function are used, the user has to specify the type of wall ("Smooth" or "Rough") and the following constants: the Von Karman constant κ and the Bo constant. If the wall type is rough, the equivalent roughness height k0 and the height of the zero displacement plane d0 are also required. A description of these constants is provided in the theory guide. 
Two methods considering the wall function for roughness is implemented. With the old method (default, IROUGH=0), the constant Bo has to be computed after obtaining the value of y+. And the value of Bo will also correct y+.  The user has to iterate this procedure and converge to the desired value of Bo. This is not straightforward and a new approach has been introduced in the flow solver in order to simplify the computations with roughness. To use the new method, the user has to set the expert parameter IROUGH to 1.

For rough walls, the following limitations are applied:

 the distance from the wall to the cell-centre of the first inner cell should be bigger than k0 + d0. 
 the first inner cell should be located within the fully turbulent layer.


The application field of the 'law of the wall' imposes restrictions on the grid. The user is strongly advised to check the conformity of this grid with these conditions.

How to start the FINE™/Turbo Interface
In order to run FINE™/Turbo, the following command should be executed:


On Linux platforms type: fine# -print <Enter>
where # is the number corresponding to the version to be used: 131


On Windows click on the FINE™/Turbo icon in Start/Programs/NUMECA software/fine#. Alternatively FINE™/Turbo can be launched from a dos shell by typing:
<NUMECA_INSTALLATION_DIRECTORY>\fine#\bin64\finex86_64.exe <Enter>
where NUMECA_INSTALLATION_DIRECTORY is the directory indicated  and # is the number corresponding to the version to be used.

Fluids Database File: 'euranus.flb'

This file contains all the data relative to the fluids created by the users in the page Configuration/Fluid Model. This file is overwritten each time a user quits FINE™/Turbo after modifying the fluids database (add, remove, or modify a fluid). All the users should have read and write permissions for this file. It is not recommended to modify this file manually.

Fluid Model 


Every FINE™/Turbo project selects a fluid and its properties, defined by:

Using the fluid defined in the project file of which the properties are shown on the fluid selection page, or
selecting a fluid from the fluid database included in the release that contains a set of pre-defined fluids, or
creating a new fluid.

In the next section, the interface is described in detail, including advises for use of the fluid definitions. The theoretical background for the different fluid models is described in the theory guide.




FIGURE 1 Fluid Selection page

Best Practice for Turbulence Modeling

Open Existing Project
To open an existing project the two following possibilities are available in the Project Selection window:

Click on the icon Open an Existing Project... (). A File Chooser will appear that allows to browse to the location of the existing project. Automatically the filter in the File Chooser is set to display only the files with extension ".iec", the default extension for a project file.
Select the project to open in the list of Recent Projects, which contains the five most recently used project files. If a project no longer exists it will be removed from the list when selected. To view the full path of the selected project click on Path... To open the selected project click on Open Selected Project.

The Task Manager Interface

Main Menu Bar

Template manager
A new button "Template manager ... " was added on the top of each of the three output pages in FINE (Computed variables, Surface averaged variables, and Azimuthal averaged variables). This button invoke a pop-up window:


This new windows is the same for each of the three pages and it lets the user to Load, Save and Remove stored output selections. Double click on a profile name also loads the selected profile. The button Cancel close the window and the page will return to the its state before launching the template manager. This gives the user the possibility to browse the existing profiles without loosing his current outputs selection. To create a new outputs profile the user should click on "Save". A new entry appears, asking for the name of the new profile:


When Enter is pressed, Fine checks if the entered name already exists:


When Enter is pressed, Fine checks if the entered name already exists:


The current outputs selection (the values of all check buttons in all tabs) in the current page is stored in this new profile.  
The button "Remove" deletes selected profile. 
The profiles are stored in text format in the file .numeca/fine_output.def and are independent from projects. Different users may exchange their profiles by means of this file.

Launch CFView™ in Batch
How to Launch CFView™ on Linux

Create a macro file ".py". For more details see the CFView™ for more detailed information on the format of a macro file and the commands that can be included in a macro file.
Launch the macro ".py" by typing:	 "cfview  -macro  <macro_path>/macro.py  -batch  -niversion  <version>"

The command line to start CFView™ contains its name, the full path of the macro ".py" file (<macro_path>) to launch and the CFView™ release that will be used (<version>). The "-batch" option avoids the display of the CFView™ graphical user interface.
When launched in batch, CFView™ does not open the graphical user interface but an access to the display of the machine on which the process is launched, is still required.
How to Launch CFView™ on Windows

Create a macro file ".py". For more details see the CFView™ for more detailed information on the format of a macro file and the commands that can be included in a macro file.
Launch the macro ".py" by typing:	 "<cfview_path>\cfview.exe  -macro <macro_path>\macro.py  -batch"

The command line to start CFView™ contains the full path name of the cfview.exe executable (<cfview_path>) and the full path of the macro ".py" file (<macrp_path>) to launch. The "-macro" & "-batch" options respectively permit to launch the macro and to avoid to display the CFView™ graphical user interface. The cfview.exe executable can be found in:	 "<NUMECA_install_dir>\Fine#\bin\"
When launched in batch, CFView™ does not open the graphical user interface but an access to the display of the machine on which the process is launched, is still required.
Command Line Arguments
The command cfview may be followed by a set of command line arguments. Those command line arguments allow to override some system defaults (used driver, display, double-buffering and update abort options) or to specify files to be loaded immediately (project, macro, defaults settings, macro module). The supported command line arguments are:
-help prints a summary of the command line arguments,
-version prints the CFView™ version number,
-date prints the CFView™ version date,
-defaults <file name> starts CFView™ with the default settings from the specified file,
-project <file name> starts CFView™ and opens immediately the specified project,
-macro <file name> starts CFView™ and execute the specified macro script,
-macromodule <file name> starts CFView™ and load the specified macro module,
-display <display name> starts CFView™ on the specified display device,
-doublebuffering on (off) activates (disables) double buffering,
-updateabort on (off) activates (disable) update aborting (see the CFView™ manual for more detail on this option),
-driver <driver name> starts CFView™ with the specified graphics accelerator,
-reversevideo on (off) starts CFView™ with black (white) background color (see the CFView™ manual for more detail on this option),
-facedisplacement <n> starts CFView™ with the specified face displacement (see the CFView™ manual for more detail on this option),
-loaddata all (none, ask) when opening a project the quantities fields are loaded in the computed memory (are not loaded, a specific dialog box is raised where the user choose the field variables to be loaded). The defaults is to load all field quantities. (see the CFView™ manual for a description of the data management facility and of the associated dialog box),
-nob2b on: starts CFView™ and allows to avoid the hub and shroud projections process when loading a turbomachinery solution file,
-batch on (off) starts CFView™ without graphical user interface. This mode can be used in combination with the -macro command line option in order to perform the execution of a macro script without user interaction,
-hoops_relinquish_memory off this option disables the hoops garbage collection feature that is activated when CFView™ is idle during a long period of time.

Graphical User Interface

Rotating Blocks


The Rotating Blocks tab gives access to the definition of the typical information for each block as shown in FIGURE 1. This tab is only accessible when the mesh is cylindrical (see Mesh/Properties... to see whether the mesh is cylindrical or Cartesian). 


FIGURE 1 Rotating Blocks on Rotating Machinery Page
When selecting the Rotating Blocks tab the page appears as shown in FIGURE 1. On the left a list of all blocks is displayed. If the mesh has been made with AutoGrid™, a default grouping per row is proposed. It is also possible to manually group the blocks that have the same properties:

Clicking on a block de-selects the currently selected block(s). It is possible to select several consecutive blocks in the list by clicking on the first one and holding the left mouse button while selecting the next. To select a group of blocks which are not situated next to each other, click on each of them while keeping the <Ctrl> key pressed.
Click on the Group button. A text box will appear just below the Group button. Place the cursor in the text box and type the name of the group and press <Enter>. The name of the group will appear on the list of blocks in red with a plus sign on the left of the name. To see the blocks that are included in a certain group double click on the name of the group or click on the  symbol in front of the name.
To remove a group of blocks select the group and click on the Ungroup button. The group will be removed and the blocks that were in this group will be listed again in the list as separate blocks.
The Reset Turbo Groups button allows to reset the default grouping proposed by AutoGrid™.

On the right of the list with blocks, the information for the selected block or group of blocks is given. If multiple blocks are selected the information is only displayed for the first selected block.   For each block the current and maximum number of nodes in the three grid directions is shown. Four items need to be defined by the user: the streamwise direction, the spanwise direction, the azimuthal direction and the rotational speed:

The streamwise, spanwise and azimuthal directions allow to determine the block orientation. Please note that if AutoGrid™ is used for the grid generation, the streamwise direction is automatically taken as being the k-direction, the spanwise direction as the j-direction and the azimuthal direction as the i-direction.
The block orientation has an impact when using the radial equilibrium outlet (spanwise direction used), when performing an azimuthal or surface averaging (respectively spanwise and streamwise direction used).


The FINE™/Turbo solver solves the equations in a relative frame of reference. This implies that the mesh blocks surrounding rotating blades rotate with the blades and should therefore be set as "rotating" in this page. The Rotational Speed of the block has to be given in Revolutions Per Minute (RPM). A positive value for the rotation speed indicates a rotation in positive θ-direction with θ positive according to a right handed coordinate system. In FIGURE 2 this is illustrated for the case where the z-axis is the axis of rotation which is automatically the case for a mesh created with AutoGrid™. 




FIGURE 2 Positive rotation speed

Although the governing equations for rotating systems are usually formulated in the relative system and solved for the relative velocity components, the formulation retained for ship propeller applications, ventilators or wind turbine are often expressed in the relative frame of reference for the absolute velocity components. The two formulations should lead to the same flow solution. However, experience shows that the solution can be different, especially in the far field region. For propeller problems, the formulation based on relative velocities has the disadvantage that the far field relative velocity can reach high values. This induces an excess of artificial dissipation leading to a non-physical rotational flow in the far field region, this dissipation being based on the computed variables. In FINE™/Turbo, the governing equations for rotating systems can be solved for the relative velocity components or for the absolute velocity components, which is controlled by setting the expert parameter IVELSY to 1 or 0.
This is also true for radial compressor with low shroud radius. In such a case, the rotation speed of the impeller is generally very high leading to very high relative velocity compared to the absolute velocity. With IVELSY=1 (default), the resolution of the relative velocity in the relative frame will introduce a preswirl of the flow which, in combination with a stator shroud, generates a lot of turbulence. IVELSY set to 0 prevents this phenomenon.

The rotation axis should be the z-axis in order to be compatible with the FINE™/Turbo solver.
Only one rotation speed different than 0 is allowed when performing an unsteady simulation using the Domain Scaling method or Phase lagged method.
When performing a harmonic simulation, the method is based on the rows/groups configuration that are separated by R/S interfaces. All the blocks belonging to one row must be grouped. For example, in the configuration of a contra-rotating open rotor with a pylon, the domains must be grouped as "pylon + far field", "row 1 + far field", "row 2 + far field", and the R/S interfaces must also be grouped. Otherwise, the harmonic method will not work.

Clocking harmonic method
Overview
The basic harmonic method deals with rotor/stator interaction of only adjacent rows. The approach couples and solves the time-averaged flow and the perturbations. In particular, the time-mean flow is modified by the deterministic stress that is a product of the unsteadiness. Thus, the time-mean solution in a row is influenced by the unsteadiness brought about by a rotating upstream row; by relative rotation this flow disturbs the flow in a downstream row again. The upstream row has an influence on the downstream row via the time-mean flow in the central row but it is indirect. No rotor/rotor and/or stator/stator effects are taken into account. Thus, the clocking effects cannot be modeled in the basic harmonic method.
The present clocking harmonic method allows the user to simulate the clocking effects between consecutive rotors or stators. The range of influence is 1.5 stage upstream or downstream: for a multistage machine row1/row2/row3/row4/row5 the following clocking interactions are modeled: row1-row3; row3-row5, row2-row4. The clocking between row5 and row1 is not modeled.
The limitations for the clocking harmonic simulations are:

The Number of frequencies per perturbation and Max number of perturbations per blade row can not be larger than 10. And the product of them can not be larger than 20.
the clocking simulations are restricted to the rows which are subject to the same rotation speed (clocking effects).
The clocking harmonic method does not work when the rotor-stator interface is connecting two rows that have the same rotation speed.

Interface and best practices


FIGURE 15 Clocking settings
The Clocking model can be switched on through the radio button Clocking when activating Harmonic in the Flow Model page. Two boxes appear:

Number of frequencies per perturbation: it represents the number of harmonics per periodic perturbation modeled in a row. Default value: 3. 
Max number of perturbations per blade row: the highest number of blade passing frequencies that a blade row is subjected to. Default value: 2. When Clocking is activated, the parameter Max number of perturbations per blade row includes the clocking perturbations. For example, for the row1/row2/row3 configuration, this parameter is equal to 2. However, for the row1/row2/row3/row4/row5 configuration, this parameter should be equal to 4.

When Harmonic is checked, the turbulence model is by default set to Spalart-Allmaras. The user may change to another turbulence model. The Euler flow and the Laminar flow can also be selected.
When the clocking model is switched on, a radio button switch appears in the expert parameters frame (visible only in Expert mode) to control the fixed or variable clocking.

Variable: From this simulation, the user can reconstruct the flow in time or in space. When reconstructing in time, the unsteady flow can be represented for all the different positions of the rows. For instance, one stator can be moved relatively to another stator and the unsteady flow can be reconstructed for each relative position. This simulation takes the effect of a rotor (respectively stator) onto the subsequent rotor (respectively stator) into account. When reconstructing in space, the time-mean flow can also be represented for all the different positions of one stator (or rotor) relatively to the subsequent stator (or rotor).
Fixed: From this simulation, the user can reconstruct the flow only in time. When reconstructing in time, the unsteady flow can be represented same as "Variable" but with the difference that the stator (or rotor) can be moved only in a multiple of the pitch. The effects from one stator onto the other stator are also taken into account but only for the position given in the input mesh. So it is like the standard harmonic but with the difference that the effects of stator1 onto stator2 are taken into account.


The other parameters for the clocking harmonic method in the FINE™/Turbo GUI can be found in the following menus:
Boundary conditions
For clocking harmonic computations, different boundary conditions can be specified for the NLH method. These boundary conditions are non-reflective at the far inlet and far outlet for the harmonic flow variables. They are based on a 1D non-reflective treatment that computes the flow variables on the boundary as a resulting combination of incoming and outgoing characteristics. The pseudo-steady flow at the far inlet and far outlet is assumed to be the time-averaged without the deterministic stress terms.
Under the tab INLET of the Boundary Conditions page, a dedicated boundary condition, Static Quantities Distributions for Harmonic Calculation, allows to perform NLH computations with a distortion at the inlet. For this condition, the FINE™/Turbo solver performs a spatial Fourier decomposition of the inlet distortion. The extracted spatial harmonics are transformed into time harmonics in the frame of the domain that is subject to the relative motion of the distortion. This inlet boundary condition can be considered as a simplified Rotor-Stator interface. But the computation only takes into account the effect of the fictitious upstream row (inlet distortion) on the downstream row(s). 
The inlet distortion must be specified by a profile. These profiles are the azimuthal distributions of the five flow variables (e, , , ,  and ). Each distribution is for a constant radius or a constant axial position. The imposed profile must range from 0 to 2π and must be periodic over the azimuthal length. Currently, only r-θ or θ-z profile is allowed. The profile should be given at stations of constant θ for increasing r or z. Also θ must be increasing going from one station to the next in the file. Please refer to the File Formats section for more details. The entry PERIODICITY is used to normalize the input profile in the θ direction.
Under the tab EXTERNAL of the Boundary Conditions page, the user can specify External Boundary Conditions for NLH computations:

When using the boundary condition External, the flow at the external boundaries must be axial ( and ) if the external boundaries are attached to the rotating domain.
If the external boundaries are attached to the rotating domain and the flow at the external boundaries is non-axial, the boundary condition External Constant Wind with Incidence Relative to Axis Z should be used. This boundary condition allows to simulate the flow resulting from a constant wind with incidence applied on the external boundaries. The incidence means that  and/or  are not equal to 0. In the cylindrical framework, the velocity components are:




So, the incidence can be considered as a distortion on the external boundaries with a periodicity of 1. The same treatment method as for inlet distortion is used to treat the incidence on the external boundaries in the flow solver. Note, the pseudo-steady solution in the NLH method represents the time-averaged solution over one blade passage. As a result, in the cylindrical framework, the incidence cannot be represented since it is not periodic over one blade passage. To check the effect of the incidence, the unsteady solution must be reconstructed.
The boundary condition External Constant Wind with Incidence Relative to Axis Z is exclusively for external boundaries attached to rotating domains.

		When an inlet distortion is defined, it should have a different rotational speed than the inlet group to which the distortion is applied.

		
Initial Solution
It is recommended to use a previous steady flow simulation as the initial solution. This can be done by using the option from file in the Initial Solution page, or by setting the Number of Steady Iterations in the Computation Steering / Control Variables page, as explained below.
Outputs
The Harmonics tab in the Outputs / Computed Variables page allows to activate specific outputs from the harmonic method and the reconstruction in time/space.


FIGURE 16 Harmonic outputs in case of clocking considered
Harmonic variables output
In the Harmonics tab of the Outputs/Computed Variables page, a first group is visible and corresponds to the harmonic variables: 

Static quantities: Temperature, Pressure, Density and Entropy
Total quantities: Relative Pressure, Absolute Pressure, Relative Temperature and Absolute Temperature.
Velocity components: , , 

If a box is checked, the Real & Imaginary parts and/or the norm (Amplitude) of the complex amplitude of the harmonics of the variable, can be stored in the output ".cgns" file. The number of harmonics is the maximum, over the whole flow field, of the total number of harmonics per group (blade row), which is equal to (NPERT)x(NBHAR), both set in the Flow Model page.
A second group proposes the selection of the deterministic stresses.












If a stress is selected, each of its contribution per harmonic will be stored in the output ".cgns" file.
Information about frequency output for harmonics can be found in the .std file for each group. Each group indicates a blade row.
Reconstruction in Time/Space
The clocking harmonic simulations can be reconstructed in time or in space by Harmo2Time, depending on the setting in the Flow Model page. Harmo2Time generates a run file named "_unst.run" presenting the same format as for the result of an unsteady flow simulation. For more information of Harmo2Time, see the CFView user manual.
Plot3D output by Harmo2Time
The Harmo2Time executable checks the .run file of the computation to process. If the plot3d output of the flow solver is switched on, the Harmo2Time executable will also produce unsteady plot3d output in addition to the .cgns output.
As for the FINE™/Turbo solver, there are different options to the plot3d output:

The user can choose between ASCII and binary (formatted) output.
The user can choose to compute the plot3d output to be in relative or absolute frame of reference.

The format of the plot3d output is the same as the FINE™/Turbo solver's. The plot3d output is limited to the grid file and the quantities (density ρ, momentum  and total energy ). 
The plot3d output is only valid with IVELSY=1.
The plot3d output is limited to perfect gas and real gas.
Control Variables
In the Computation Steering / Control Variables page, the user can impose a Number of Steady Iterations. In this case, a steady computation will be performed until the Number of Steady Iterations in the fine mesh. Then the NLH computation will be initialized using the steady solution and be launched.

The Meridional File '.me.cfv'

This ASCII file contains data required for the visualization of the meridional averaged output under CFView™. It is created whenever the user specifies variables in theOutputs/Azimuthal Averaged Variables page of the FINE™/Turbo interface.

Expert Parameters
COOLRT (real): in case some difficulties appear at the beginning of the simulation. The robustness can be improved by reducing the imposed cooling/bleed mass flow with the expert parameter COOLRT. The value of COOLRT (less than 1) corresponds to a constant factor applied to all imposed cooling/bleed mass flow during the computation. The user should make successive computations by progressively increasing this parameter (up to 1) in case of robustness problems.
MAXNBS (integer):	the maximum allowed number of injection sectors is controlled through the expert parameter MAXNBS (the default value is 50). If the input file contains a higher number of sectors the parameter should be modified.

Solid Wall Boundary Condition
The solid wall boundary condition page is customized essentially according to the type of calculation (inviscid or viscous).
For Euler cases (i.e. inviscid), no parameter is requested for the wall boundary conditions. For Navier-Stokes cases, the box at the top of the page allows to set both velocity and thermal conditions. The type of boundary conditions determines the way the velocity and thermal conditions are defined for the solid boundary.

Solver Menu




This menu gives access to the FINE™/Turbo solver, which is a powerful 3D code dedicated to Navier-Stokes or Euler computations. The FINE™/Turbo solver uses the computational parameters and boundary conditions set through the FINE™/Turbo GUI and can be fully controlled both from the FINE™/Turbo Solver Menu and from the Task Manager. 
In this section, the information is given on how to start, save, interrupt and restart the flow solver. All these actions may be simply performed by using the pull down menu appearing when the button Solver of the Menu bar is clicked.
Start Flow Solver

To start the flow solver, select the menu item Solver/Start....
It is not recommended to start the flow solver before setting the physical boundary conditions and the computational parameters. 
Using the Start item to run the flow solver on active computation implies that the result file produced by a previous calculations on that computation will be overwritten with the new result values. It also implies that the initial solution will be created from the values set in the Initial Solution page.
To restart a computation from an existing solution the solver should be also started using the Solver/Start... menu. On the Initial Solution page the initial solution has to be specified from an existing file (".run"). Initial Solution describes the several available ways to define an initial solution.


Save

To save an intermediate solution while the flow solver is running click on Solver/Save....


Stop Flow Solver

There are two different ways to stop the flow solver:

Solver/Save and Stop... interrupts the flow computation after the next iteration. This means that the flow solver stops the computation at the end of the next finest grid iteration and outputs the current state of the solution (solution files and CFView™ files) exactly as if the computation was finished. This operation may take from few seconds to few minutes depending on the number of grid points in the mesh. Indeed, if the finest grid is not yet reached, the flow solver continues the full multigrid stage and stops only after completion of the first iteration on the finest grid. 
Solver/Kill... allows to stop immediately the computation for the active project. In this case no output is created and the only solution left is the last one that was output during the run. This may become a dangerous choice if asked during the output of the solution. The output is then ruined and all the computation time is lost. To avoid this, it is better to use Solver/Save and Stop... or to kill the computation some iterations after the writing operations.



Continue

If a performance curve has been started and afterwards stopped or killed, the user may choose Continue from the Solver menu in order to continue computations from the first not finished subcomputation.

Fluid Properties
Fluid properties like Cp or Gamma or the viscosity can be inputted in the solver as constant but can also be inputted as variables in function of the temperature.
The format used is the following:

Line 1: Comment line.
Line 2: Contains two integers:

the first number is the type of interpolation: 11 for Temperature and 12 for Pressure (barotropic profiles only),
the second one defines the number of points on the profile curve.

The next lines list the data of each point: temperature and the fluid property.

Example 1:
T Mu
11 5
270 6e-5
275 3e-5
280 2e-5
290 1.5e-5
300 0.9e-5
It is recommended to cover the whole temperature range of the considered problem.
The format for the Cp and Gamma profiles is slightly different because the two profiles are specified in the same file (with extension ".heat_capacity"). It is as shown in the example below:
Example 2:
T Cp
11  4
295 1004.9
298 1005.3
301 1010.8
318 1011.0
11  3
296  1.31
298  1.34
303  1.36
The first set of points is for the Cp profile, the second is for the Gamma profile as functions of the temperature.

How To Use This Manual
Outline
This manual consists of the following distinct parts:

Getting Started and Graphical User Interface: introduction and description of the interface,
Computation definition starting from Fluid Model,
Task Manager,
Computation Steering & Monitoring,
File Formats: used file formats,
List of Expert Parameters: list of supported non-interfaced expert parameters,
Characteristics of Thermodynamic Tables: characteristics of steam tables.


At first time use of FINE™/Turbo it is recommended to read this first chapter carefully. The Graphical User Interface chapter gives a general overview of the FINE™/Turbo interface and the way to manage a project. For every computation the input parameters can be defined as described from chapter Fluid Model.  Task Manager gives an overview of how to run computations using the Task Manager or using a script. Computation Steering & Monitoring finally describes the available tools to monitor the progress on a computation.
From the Fluid Model chapter, the expert user finds a section describing advanced options that are available in expert user mode. Additionally the List of Expert Parameters provides a list with all supported expert parameters on the page Computation Steering/Control Variables in expert user mode. For each parameter a reference is given to the section in the manual where it is described.
The use of non-supported parameters is at own risk and will not guarantee correct results.
Conventions
Some conventions are used to ease information access throughout this guide:

Commands to type are in italics.
Keys to press are in italics and surrounded by <> (e.g.: press <Ctrl>).
Names of menu, sub-menu items and names of buttons in dialog boxes are in bold.
Numbered sentences are steps to follow to complete a task. Sentences that follow a step and are preceded with a dot (•) are substeps; they describe in detail how to accomplish the step.

A text in blue with a blue background indicates an important note.
Keyboard shortcuts are shown in blue italic.
A light bulb indicates a section with a description of expert parameters.

Graphical Area Management

Expert Parameters


The following expert parameters related to the NLH simulation are accessible on the Control Variables page by selecting the Expert Mode.
HARTCL (integer):	When using the Cooling/Bleed model with NLH, the time averaged variables in the cooling/bleed are computed by taking into account the deterministic stresses and the harmonic variables are computed by applying the non reflecting treatment. Adding the stresses implies that the harmonic values are already known but their computations with the non reflective treatment need the values of the time averaged variables. This is not a problem for the bleed as the time averaged values are extrapolated from the first inner cells. For the injectors, some assumptions are used for the computations of stresses. The main assumption is that the injected mass flow is constant with time. Moreover, the expert parameter HARTCL is used to impose the fluctuations of temperature or total temperature (according to the specified characteristics of the cooling).

0 (default): Harmonics of the temperature or total temperature are imposed to 0 in the injectors.
1: Harmonics of the temperature or total temperature are not imposed. Only the time averaged value is imposed.

IFABCW (integer):	On the wall, the velocity components, the pressure and the temperature in the dummy cell are computed by extrapolating the value on the wall and in the first inner cell. The corresponding density is computed in the dummy cell. The cooling will introduce high temperature gradient on the wall. The high temperature gradient may lead to unphysical temperature in the dummy cell and consequently unphysical density in the dummy cell. The expert parameter IFABCW allows to compute the density by extrapolating the density on the wall and in the first inner cell. The extrapolation is used not only for the time averaged values but also for the harmonic values.

0 (default): the density in the dummy cell is computed from the extrapolated pressure and temperature in the dummy cell.
1: the density in the dummy cell is computed by extrapolating the density on the wall and in the first inner cell.

IDECOU (integer):	Controls the inclusion of the deterministic stress terms when solving the time mean equations. The deterministic stress terms are intrinsic to the nonlinear harmonic method and are responsible for the improvement of the time mean flow compared to simple linearization methods. In some cases, the deterministic stress terms are so high that convergence problem may appear. To reach the convergence, the deterministic stress terms can be removed from the time mean equations. A result is thus obtained for the time mean flow with less accuracy because the nonlinear term is removed.

0 (default): the deterministic stress terms are considered when solving the time-averaged equations.
1: the deterministic stress terms will be removed when solving the time-averaged equations.

When setting IDECOU=1, there is still coupling between the time mean flow and the harmonic variables through Rotor/Stator interfaces. Thus, the NLH time mean flow solution with IDECOU=1 is still different from the steady state solution with non-reflecting boundary condition.
HAVMOD (integer):	In some harmonic simulations, one may notice a strong gradient of the harmonic of the pressure. To control such a gradient, the flow solver uses a harmonic pressure sensor. This sensor defines the second-difference artificial dissipation that is applied to time-mean equations and to harmonic equations.

0: no harmonic pressure switch.
1: using the following pressure sensor:where  is a constant controlled by the expert parameter HARAV2 (default value 0.01) and  is the pressure of the harmonic. The second term of the denominator is to keep the denominator different from zero and is chosen to be a percentage of the time-averaged static pressure.
2 (default): using the following pressure sensor:
3: using the following pressure sensor:
-1: using the following pressure sensor:The superscript R and I refer to the Real and Imaginary part of the harmonic, respectively. The number N is the number of harmonics. This pressure sensor should be activated in case of shock wave oscillations or low Mach number flows with strong unsteady motion. 

NDTHAR (integer):	Controls the number of time steps (default: 20) used for the integration in time of the entropy to get its time-averaged value. When the number of time steps is high, it may take a long time to write the output. For example for a case with a common period equals to 0.8 s and with a minimum period equal to 5e-05 s in the vibrating row, the number of time steps used for the calculation of the entropy is equal to NDTHAR*0.8/5E-05=320000 leading to a long time to write the solution file. In order to reduce this time, user can remove the entropy from the output or decrease NDTHAR.
TDECOU (integer):	Controls if considering the high order derivative when computing the thermodynamic variables by using thermodynamic tables: 

0 (default): High order derivative is considered for thermodynamic variables. 
1: High order derivative is not considered for thermodynamic variables.

When the expert parameter IDECOU=1, the expert parameter TDECOU will be set to 1 automatically, which means that high order derivative will not be considered for thermodynamic variables and the deterministic stress terms will not be considered when solving the time-averaged equations.
PPRINI (real):	Initializes the real and imaginary parts of the harmonic pressure. By default, the real and imaginary parts of the harmonic pressure are set to 100 Pa. This is probably too high for low speed flows and incompressible flows. Thus, it is suggested to set the value to (0,0) instead of (100,100) in case that convergence problem appears or the solution near the Rotor/Stator interfaces is not normal. 
IUNSMF(integer): allows to output unsteady ".mf" file at each time step by Harmo2time. The outputted ".mf" file has the same format with the one generated by the flow solver.

0 (default): does not output unsteady ".mf" file
1: output unsteady ".mf" file at each time step


The following limitations exist when using IUNSMF=1:

Axial thrust, torque and power are assumed constant, and have the same values as in the steady ".mf" file.
Specific heat and specific heat ratio for real gas and incompressible fluid are assumed constant, and have the same values as in the steady ".mf" file.
Mach number for real gas is calculated by using time-averaged speed of sound.
Cooling and bleed mass flow are assumed constant, and have the same values as in the steady ".mf" file.
IWRIT larger than 2 is not supported.
OUTTYP equal 1 is not supported.


ICROSH(integer): By default, the transport equations for the unsteady perturbations are obtained by retaining the first-order terms in the basic unsteady flow equations. Thus the influence of harmonic crossing is omitted. The harmonic crossing terms can be included by setting the expert parameter ICROSH to 1. Note, when using ICROSH=1, the CPU time will be much higher than ICROSH=0.

0 (default): does not include harmonic crossing terms.
1: include harmonic crossing terms.


The following limitations exist when using ICROSH=1:

Limited to perfect gas
Limited to 1 perturbation
Not compatible with preconditioning
Not compatible with IVELSY = 0
Not compatible with IDECOU = 1
Not compatible with FSI


VUNS2(real): 	coefficient controlling the unsteady preconditioning velocity of the Merkle preconditioning in order to be able to run harmonic method for low speed flow applications. By default, the value is set to 0. When convergence problem appears, the value can be changed to 1 or even more.
IDVTAY(integer): Controls the Taylor development for the state equation of perfect gas when calculating the density or temperature.

0: Without Taylor development
1 (default): with Taylor development

SIGHRS(real): 	For compressible low Mach number applications, when initializing the solution from a steady/harmonic computation, the value on the R/S interfaces may be not correct due to the non-reflecting R/S treatment, and thus leads to a rapid divergence of the solver. The expert parameter SIGHRS allows to under-relax the value on the R/S interfaces. By default, SIGHRS is set to 1. In case of divergence, the user may reduce the value, for example 0.001.

View Area

When the mesh is loaded with Mesh/View On/Off, a subpanel is shown in the list on the left: the View subpanel. By default the View subpanel is opened. It consists of three pages and controls the viewing operations on the geometry and the grid. The two first pages show the created geometry and/or block groups of the mesh and allow to create new groups. This possibility is only useful in the FINE™/Turbo GUI for visualization purposes (for example, to show only some blocks of the mesh to get a clearer picture in the case of a complex configuration).



FIGURE 14 View subpanel
The third page provides visualization commands on the grid. It consists of two rows: a row of buttons and a row of icons.
The row of buttons is used to determine the viewing scope, that is the grid scope on which the viewing commands provided by the icons of the second row will apply. There are five modes determining the scope, each one being represented by a button: Segment, Edge, Face, Block, Grid. Only one mode is active at a time and the current mode is highlighted in yellow. Simply click-left on a button to select the desired mode.


: in Segment mode, a viewing operation applies to the active segment only.

: in Edge mode, a viewing operation applies to the active edge only.

: in Face mode, a viewing operation applies to the active face only.

: in Block mode, a viewing operation applies to the active block only.

: in Grid mode, a viewing operation applies to all the blocks of the grid.

The icons of the second row and their related commands are listed in the following table:






Icon


Command









Toggles vertices.






Toggles fixed points.





Toggles segment grid points.





Toggles edges.





Toggles face grid.





Toggles shading.



The display of vertices should be avoided since it allows to modify interactively in the graphics area the location of the vertices and therefore alter the mesh. The graphics area is for display purposes only and any modification on the mesh in the graphics area will not be saved in the mesh files and therefore not used by the flow solver.

Mechanical
 
Fluid-Structure Interaction (FSI) is the interaction between the fluid mechanics and the solid mechanics. The geometric deformation is affected by the flow loads and reversely the flow pattern is affected by the geometric deformation.
 FSI computations are divided into 2 main categories.

The rigid body approach models the interactions involving the aerodynamic and inertial forces. It allows simulating the flow in a domain where the solid boundary can move. 
Aeroelasticity models the interactions involving the aerodynamic, elastic and inertial forces. Aeroelasticity is a major concern for turbomachinery designers to prevent possible failure due to instability or fatigue. The main dynamic aeroelastic phenomena in turbomachinery are the forced response, non-synchronous vibrations and flutter.



For the rigid body approach, the one-way coupling method is available into FINE™/Turbo which means that the structure motion is imposed. Three kinds of motion are available:

Oscillating Body: models the oscillation of a body along Z axis at a reference point.
Off-centered Rotor: models the motion of the rotor in plane XY and oscillation along Z axis.
Generalized Motion: models the displacement along the 3 axes and the rotation around the 3 axes.

For aeroelasticity computations, if one needs to know the structure stress, the FINE™/Turbo solver can be coupled to an external tool (MpCCI). The FINE™/Turbo solver computes the flow around the structure and transfers the computed quantities to the structural solver. The displacements are therefore computed and transferred back to the FINE™/Turbo solver, which deforms the mesh. For more information, see MpCCI Coupling section.
If one does not need to know the structure stress, FSI can be modeled into FINE™/Turbo using the modal approach. From the mode shapes and the eigen frequencies (computed with an external structure solver), the flow solver models the interaction between the structure and the fluid and computes the deformation of the structure by solving the modal equations. Two methods are available:

Forced Motion (1-way coupling): structure deformation is imposed and the flow field is computed from this deformation.
Coupling (2-way coupling): structure deformation is computed according to the fluid loads and reversely. The weak coupling approach does not ensure the equilibrium between the fluid and the structure at the end of each physical iteration. For the strong coupling approach, a subcycling loop is added based on the repetition of the physical time step calculation while the equilibrium between the fluid and the structure is not reached.

User defined PDF
The format of the user defined PDF is the following:

Line 1: Contains one string and one integer:

the string is "number_of_points",
the integer defines the number of points on the PDF.

The next lines list the data of each point: variable and its function.

Example 1:
number_of_points 100
0  0
0.010101010101010102  1.4613474490780709e-005
0.020202020202020204  0.00011601194732412229
0.030303030303030304  0.00038850903048303503
0.040404040404040407  0.00091370627391922316
0.050505050505050511  0.0017704751368160471
0.060606060606060608  0.0030349384765434905
......

Cavitation model

get_cavitation_model()
get the cavitation model flag (2:on; 0:off)
set_cavitation_model (flag) 
set the cavitation model flag (2:on; 0:off)
get_cavitation_coefficients()
get the coefficients PVAPS and AMIN
set_cavitation_coefficients (pvaps,amin)
set the coefficients PVAPS and AMIN
get_cavitation_vapor_parameters()
get the vapor parameters density RHOV, dynamic viscosity MUGAS, Prandtl number PRTLV and heat capacity CPVREF
set_cavitation_vapor_parameters (rhov, mugas, prtlv, cpvref)
set the vapor parameters density RHOV, dynamic viscosity MUGAS, Prandtl number PRTLV and heat capacity CPVREF
set_cavitation_vapor_density (rhov)
set the vapor parameter density RHOV
set_cavitation_vapor_dynamic_viscosity (mugas)
set the vapor parameter dynamic viscosity MUGAS
set_cavitation_vapor_prandtl_number (prtlv)
set the vapor parameters Prandtl number PRTLV
set_cavitation_vapor_heat_capacity (cpvref)
set the vapor parameters heat capacity CPVREF
get_cavitation_liquid_density ()
get the liquid parameter density RHOL
set_cavitation_liquid_density (rhol)
set the liquid parameter density RHOL
get_cavitation_liquid_dynamic_viscosity ()
get the liquid parameter dynamic viscosity MULIQ
set_cavitation_liquid_dynamic_viscosity (MULIQ)
set the liquid parameter dynamic viscosity MULIQ
get_cavitation_liquid_prandtl_number ()
get the liquid parameter Prandtl number PRREF
set_cavitation_liquid_prandtl_number (prref)
set the liquid parameter Prandtl number PRREF
get_cavitation_liquid_heat_capacity ()
get the liquid parameter heat capacity CPLREF
set_cavitation_liquid_heat_capacity (CPLREF)
set the liquid parameter heat capacity CPLREF

Blade
This class contains following methods to access the blade configuration:

get_name()
Return the name of the blade.
get_group_name()
Return the name of the group.
get_leading_edge()
Return the leading edge definition of the blade:
Number of blocks defining the leading edge.
imin, imax, jmin, jmax, kmin, kmax, block_name for each block.    
get_trailing_edge()
Return the trailing edge definition of the blade:
Number of blocks defining the trailing edge.
imin, imax, jmin, jmax, kmin, kmax, block_name for each block.    
get_pressure_side()
Return the pressure side definition of the blade:
Block index of the pressure side.
imin, imax, jmin, jmax, kmin, kmax   
get_suction_side()
Return the suction side definition of the blade:
Block index of the suction side.
imin, imax, jmin, jmax, kmin, kmax 
get_row()
Return the parent row (of type Row) of the blade.

Mesh Information
When the mesh is loaded also the Mesh Information area is shown containing the following information for the selected section of the mesh:


FIGURE 15 Mesh Information area

Active Block, Face, Edge and Segment indices.
Number of grid blocks, active block faces, active face edges, active edge segments.
Block:

Number of active block points.
Number of grid points.
Name of the block.
Number of points in each block direction.

Face: constant direction and the corresponding index.
Edge: constant direction according to the active face and the corresponding index.
Segment: number of points on the segment.

The AQSI File '.aqsi'
This ASCII temporary file is created and read by the code to ensure a smooth restart in the presence of quasi-steady rotor-stator interfaces.

Harmonic model

get_time_configuration()
Return the time configuration. The following constants are used
STEADY   = 0
UNSTEADY = 1
HARMONIC = 2
set_time_configuration(value)
Set the time configuration specified by the value
Example:
set_time_configuration(UNSTEADY)
This parameter is global: it applies to all blocks.
get_harmonic_configuration_type()
Return the used harmonic method. The following constants are used
BASIC     = 0
CLOCKING  = 1
MULTIRANK = 2
set_harmonic_configuration_type( value )
Select the harmonic method specified by the value.
Example:
set_harmonic_configuration_type(BASIC)
get_acoustic_configuration()
Return the acoustic activation flag (0:off / 1:on)
set_acoustic_configuration (value )
Set the acoustic activation flag (0:off / 1:on)

 The following commands are used  for the basic and clocking harmonic methods.

get_nb_harmonic_frequencies()
Return the number of  frequencies per perturbation.
set_nb_harmonic_frequencies(value )
Set the number of frequencies per perturbation.
get_nb_harmonic_perturbations_per_blade_row()
Return the maximum number of perturbations per blade row.
set_nb_harmonic_perturbations_per_blade_row(value )
Set the maximum number of perturbations per blade row.
get_clocking_type()
Return  the clocking type (0:variable / 1:fixed)
set_clocking_type(type )
Set the  clocking type (0:variable / 1:fixed)

 The following commands are used  for the multi-rank harmonic methods.

get_harmonic_maximum_rank()
Return the maximum number of the rank.
set_harmonic_maximum_rank(value )
Set the maximum number of the rank.
get_nb_harmonics_of_rank(Idrank)
Return the number of harmonics used in the rank specified by Idrank (0:rank-1 / 1:rank-2).
get_nb_harmonics_of_rank(NbHarmonics, Idrank )
Set the number of harmonics used in the rank specified by Idrank (0:rank-1 / 1:rank-2). Note, the maximum number of Nbharmonics is 40 for rank 1. The maximum number of NbHarmonics for rank 2 should be no more than the value for rank 1. 
get_clocking_type()
Return  the clocking type (0:variable / 1:fixed)
set_clocking_type(type )
Set the  clocking type (0:variable / 1:fixed)
get_harmo_multi_rank_interaction()
Return the status of the harmonic interaction (0:No interaction / 1:Interaction)
set_harmo_multi_rank_interaction(value)
Set the status of the harmonic interaction (0:No interaction / 1:Interaction)
get_harmo_max_order_interaction()
Return the max order in interaction.
get_harmo_max_order_interaction(value)
Set the max order in interaction.

Mass Flow Imposed
When imposing the mass flow at the outlet, the related patches must be grouped. This permits to have several groups of patches, each of the groups constituting an outlet through which the mass flow can be controlled.
Two different techniques are available to impose the mass flow:

Velocity Scaling: the pressure is extrapolated and the velocity vector is scaled to respect the mass flow. This technique is only valid for subsonic flows, and is not recommended in case of significant back flows along the exit boundary.
Pressure Adaptation: this boundary condition is identical to the 'Static Pressure Imposed' or 'Radial Equilibrium' boundary conditions, except from the fact that the exit pressure is automatically modified during the resolution process so that after convergence, the prescribed mass flow is obtained.

The pressure asked in addition to the imposed mass flow with both options is only used to create the initial solution and for the full-multigrid process, during which a uniform static pressure outlet condition is used.
When using the mass flow imposed outlet boundary condition and restarting a computation from a file, only one group of patches can be used in the initial solution page and the reset convergence history has to be deactivated
The outlet patches have to be grouped in one group to use this boundary condition.
The mass flow imposed in the GUI will be used for the whole outlet. For example, if the user has a rotational periodicity of 40, the mass flow for only one passage will be the mass flow specified in the GUI divided by 40.

Frozen Rotor
The basic idea at the origin of the frozen rotor technique consists of neglecting the rotor movement in the connecting algorithm.
The governing equations are solved for the rotor in a rotating frame of reference, including Coriolis and centrifugal forces; whereas, the equations for the stator are solved in a absolute reference frame. The two components are literally connected, and hence a rotor-stator approximation is not required, rather the continuity of velocity components and pressure is imposed. As a result, the final steady solution will be depending on the relative position of the rotor and the stator. Unsteady 'history effect' (such as shedding separated zones) are neglected.
It is usually well accepted that the frozen rotor approach is an appropriate solution for the treatment of rotor-volute interactions, where pitchwise variations of the flow cannot be neglected. However, it requires the meshing of the complete impeller (all passages). Another drawback is that the flow solution depends on the rotor position, relative to the stator.
Mesh Constraints
Exactly as for the domain scaling approach a constraint must be satisfied on the mesh periodicity. The pitchwise distance must be the same for both sides of the rotor/stator and coincident (no gap allowed between rotor and stator components in the pitchwise direction). For each different position of the rotor with respect to the stator a new mesh will have to be created in IGG™ and a new steady calculation has to be performed.

FINE™/Turbo Settings
There are three ways to run a frozen rotor calculation:

To mesh all blade rows completely and to use matching connections (CON) in IGG™ for the patches at the interface of the rotor and the stator. The blocks of the rotor should be made rotating, as well as the boundary conditions. A steady calculation can be run for this configuration. A non matching (NMB) connection can not be used in this case: even though the computation might run the result would not be correct. This was previously the only way to perform frozen rotor calculations in FINE™/Turbo. This approach is no longer used as the constraint on matching connections is too restrictive.
Only CON matching connections are allowed in this first method.
To create a mesh covering the same pitchwise distance on both sides of the interface and to impose Full Non Matching Frozen Rotor in the Rotating Machinery page under the Rotor-Stator tab. Furthermore the user has to specify for each of these patches the ID and the upstream/downstream location) at step 2. Therefore, the boundary condition type must be set to "ROT" in IGG™ for all grid patches belonging to a rotor/stator interface.
When starting an unsteady computation by imposing iterations as a steady initialization in the Control Variables page, the frozen rotor technique is used during the steady iterations.

Note that for example for an impeller-volute computation the complete impeller would need to be meshed in all three cases since the periodicity of the volute is 1.
Illustrative Example
Results obtained from frozen rotor calculations usually look similar to unsteady ones. A more detailed analysis shows that the approximation introduced in the connection algorithm induces a deviation of the wake when passing through the interface.
As an illustration the frozen rotor method is compared to the sliding mesh approach for the Aachen Turbine in FIGURE 7 and FIGURE 8.


FIGURE 7 Aachen Turbine: Frozen Rotor approach

Turbulent Navier-Stokes

Initial Solution from File
General Restart Procedure
To continue on the result of a previous computation the user must simply select the solution. Clicking on the Open Browser button will open a File Chooser window to select the ".run" (or ".cgns") file of a computation. 
To restart from a solution the computation definition file with extension ".run" is not sufficient. It is required that the solution file with extension ".cgns" is present, which contains all the saved and requested quantities.
An initial solution from file can be used only for computations that have the same topology: same blocks and same grid points distribution.


FIGURE 2 Restarting from a file
When activating the option Reset convergence history, the ".res" file, which contains all the residuals from the previous computation, will be erased. The new residuals will be calculated with respect to the first iteration of the new computation. If the from file solution is already very close to the exact solution, the normalized residuals will decrease slowly, because the starting state is already a good approximation of the solution.
By default, the option Reset convergence history is deactivated. In this case, the new residuals are appended to the ".res" file and are calculated with respect to the first iteration of the old computation. In order to keep the convergence history, the following limitation must be satisfied:

All the blocks in the Initial Solution page must be grouped in only one group. If several groups of blocks exist, the option Reset convergence history has to be activated manually by the user.

As the initial pressure and temperature fields are block dependent, discontinuities in these quantities can be present at block connections. The flow solver could have difficulties to converge in such a case. Therefore boundary conditions should be carefully checked in order to avoid any large discontinuities at block connections.
The flow solver can start from files resulting from calculations performed on different grid levels. Only the grid levels that are used in the multigrid cycle are considered here. For instance, a computation of a three-stage turbine on 0/0/0 with 3 grid levels can start from three solutions for each stage, each one on a different grid level (0/0/0, 1/1/1, and 2/2/2). Furthermore, the full multigrid cycle is automatically removed by the flow solver when at least one file is provided on the finest grid level.
Restart in Unsteady Computations
To allow a second order restart for unsteady computations, it is necessary to set in the Control Variables page Multiple Files in the Output Files. This parameter allows to have multiple output files: for each saved time step also the solution of the previous time step is saved.
To perform a second order restart for an unsteady computation, select from file in the Initial Solution page. Using the File Chooser select the solution file with extension ".cgns" at a certain time step "ti" ("_ti.cgns"). The FINE™/Turbo solver will automatically find the solution of the previous time step if present ("_ti-1.cgns"). If the FINE™/Turbo solver can not find the solution of the previous time step a message will appear in the Task Manager to indicate that a first order restart will be performed.
Note, in order to perform a second order restart for an unsteady computation, the option Reset convergence history MUST be deactivated. Otherwise only a first order restart will be applied automatically. Please refer to General Restart Procedure on how to deactivate the option Reset convergence history.
Note, in order to keep the convergence history in the new computation (different from the initial unsteady computation), the ".res", ".steering" and ".steering.binary" files need to be copied and renamed in the new computation directory.
Expert Parameters for an Initial Solution from File
There is no current limitation to start a k-ε , k-ω or v²-f computation from a Baldwin-Lomax solution. In this case, the turbulent quantities are estimated from the friction velocity if the expert parameter INIKE is set to 2 (default value) or from the turbulent viscosity field μt if INIKE = 1. In the latter case, the turbulent viscosity is initialized or read from file depending on the value of the expert parameter IMTFIL (default value IMTFIL = 0 to initialized μt or IMTFIL = 2 to read μt from file).

Laminar-Transition Model


Introduction
The boundary layer which develops on the surface of a solid body starts as a laminar layer but becomes turbulent over a relatively short distance known as the transition region. This Laminar-Turbulent transition is a complex and not yet fully understood phenomenon. Among the numerous parameters that affect the transition one can list: the free stream turbulence intensity, the pressure gradient, the Reynolds number, and the surface curvature. 
Furthermore, predicting the onset of turbulence is a critical component of many engineering flows. It can have a tremendous impact on the overall drag, heat transfer, and performances especially for low-Reynolds number applications. However, most of the turbulent models fail to predict the transition location. 

FINE™/Turbo provides two transition models:

Global correlation transition model: this model is based on the Abu-Ghannam and Shaw (AGS) model using experimental correlations. The intermittency is evaluated along the blade walls and used to trigger the turbulence. This approach can only be applied to a blade using AutoGrid5™ mesh.
Generalized transition model (Local correlation): this model is based on the experimental correlations that relate the turbulence intensity () in the free stream to the momentum thickness Reynolds number () at transition onset. Two additional transport equations, one for the intermittency and one for the transition momentum thickness Reynolds number, are used. The transition onset is defined by using only local information on all solid walls.


Note, the user cannot simply compare the global correlation transition model and the generalized transition model by the intermittency because the philosophy of both approaches is totally different.

for the global correlation transition model: intermittency is a solid surface property that is communicated to all 3D points that are close enough to this solid surface cell.
for the generalized transition model: intermittency is a 3D property that has no meaning on solid surface.


To compare both approaches, it is suggested to compare the friction coefficient along solid surfaces, or compare the eddy viscosity (or turbulent kinetic energy) at a certain distance from the solid surface. In this case, the same quantities (with the same meaning) from both calculations are compared.
The transition model can be activated in the Optional Models / Transition Model page. Then the Global correlation transition model and/or Generalized transition model (Local correlation) will be available depending on the mesh configuration and selected turbulence model. The two transition models will be described in detail in the following sections.
Global correlation transition model
Overview
The global correlation transition model in FINE™/Turbo is mainly devoted to turbomachinery applications using AutoGrid™ mesh. Global Correlation Transition Model describes the interface of this model. More information on the global correlation transition model can be seen in Global Correlation Transition Model in the theory guide.
However, the global correlation transition model is also available for the other cases, such as flat plate, wings and hydrofoils, etc. In the next section, a best practice will be given to describe how to model transition using the global correlation transition model on non-turbomachinery cases. 
How to model transition on non-turbomachinery cases
Use of the global correlation transition model is restricted to the pressure and suction sides of the turbomachinery blade using AutoGrid™ mesh. Modeling transition on non-turbomachinery cases can therefore only be performed by considering the object to be a pseudo "blade" and modifying the mesh files manually. The limitation on the mesh of non-turbomachinery cases is:

The mesh topology should be similar to a AutoGrid™ mesh topology (with at least a proper mesh in spanwise direction).
The transition is along a pseudo "blade", so the user has to add the "blade" definition in the mesh files manually.

Example: Mesh for modeling transition on a flat plate
Considering transition flow over a flat plate (FIGURE 3). The computational domain corresponds to an external flow with a constant velocity blowing towards the flat plate. 
Note that for the flat plate case the user has to consider the two faces of the plate since the transition model needs a pressure side and a suction side.


FIGURE 3 Computational domain for a flat plate
In order to be compatible with the global correlation transition model, a 3D mesh should be used for this case with a correct orientation: i perpendicular to the flat plate with i=1 on the flat plate and with j and k along the plate: k in streamwise direction and j perpendicular to main flow direction.
The .bcs file of the mesh should be modified in order to include the turbomachinery blade definition. At the end of the .bcs file the line "NUMBER_OF_BLADES 0" should be modified: the "0" should be change in a "1" as the flat plate will be considered as one blade (of zero thickness).
Next lines need to be added as shown here:


Generalized transition model
Overview
The generalized transition model (Local correlation) in FINE™/Turbo uses the model proposed by Menter and Langtry. This model is based on two transport equations for the intermittency (γ) and for the transition momentum thickness Reynolds Number (). Experimental correlations are used to relate the turbulence intensity () and the pressure gradient in the freestream to the momentum thickness Reynolds number () at transition onset. The innovation using two additional transport equations is that only local information is used to define the transition onset on all solid walls. This allows to remove all limitations that exist in the global correlation transition model.
The generalized transition model is applied with the SST/EARSM turbulence models. The intermittency is used to turn on the production term of the turbulent kinetic energy downstream of the transition point. The equation for the transition momentum thickness Reynolds Number is used to capture the  non local effects in the free stream (turbulence intensity and pressure gradient) and to diffuse them into the boundary layers. More information can be found in the theory guide.
The limitations using the generalized transition model are:

The generalized transition model is only applied to the SST/EARSM turbulence models.
The generalized transition model is not compatible with CPU Booster and the Harmonic method. For the detailed compatibility information, please refer to the Compatibility Matrix of FINE™/Turbo.
The generalized transition model is applied to the whole fluid domain.

In the following sections, the interface and best practices will be described.
Generalized transition model in the FINE™/Turbo GUI
When activating the button Transition Model in the Optional Models / Transition Model page and selecting the button Generalized Transition Model (Local Correlation), the layout of the page is shown, see FIGURE 4.
The generalized transition model can be accessed only when the SST turbulence model is selected.


FIGURE 4 Generalized Transition Model page in FINE™/Turbo
No parameters are needed to be specified by the user. The boundary conditions of the transition variables are automatically set. The model will be applied to all the fluid domain.
The intermittency (Intermittency) and transition momentum thickness Reynolds number (Local transition Reynolds θ) are available on the Outputs/Computed Variables page under the category Turbulence for post processing in CFView™. 
Expert Parameter
IGTLAW (integer):	 select the empirical correlations between the transition length () and the critical momentum thickness Reynolds number (). Many authors have proposed their different correlations when applying the generalized transition model based on the γ- equations. The correlation can be selected by the expert parameter IGTLAW, see the theory guide for the details.

1 (default for SST): model provided by Langtry (2006),
2: model provided by Malan et al. (2009) 
3: model provided by Sorensen (2009)
4: model provided by Kelterer et al. (2010)
5 (default for EARSM): new model, see theory guide for more details.

INEWF1 (integer):	 possibility to use the improved blending function in the SST model by setting INEWF1 to 1. More information can be found in the theory guide.
EUWDIS (integer):	 Control the computation of the wall distances from the EULER walls.

0 (default): not compute,
1: compute 

GTCA1I (real):	real constant for the generalized transition model .
GTCA2I (real):	real constant for the generalized transition model .
GTCE1I (real):	real constant for the generalized transition model .
GTCE2I (real):	real constant for the generalized transition model .
GTSIGI (real):	real constant for the generalized transition model .
GTCTHR (real):	real constant for the generalized transition model .
GTSIGR (real):	real constant for the generalized transition model .
CFLINT (real):	real constant (CFL) for the intermittency equation for which the residuals are not smoothed .
Guidelines and best practices 
Some aspects (grid, boundary conditions, ...) need to be noted when creating a project using the generalized transition model. Otherwise the generalized transition model may not be able to improve the simulation, even provide worse predictions (for example: with inaccurate inlet turbulence variables).
When should the transition model be used?
Two additional transport equations have to be solved on a sufficiently refined grid for the transition model. This requires an additional CPU cost (~ 20%). It is advised to estimate when this additional cost is useful. A first answer can be found in the relative percentage of the laminar flow on the device. It is well known that the transition is fast with the standard SST model (nearly fully turbulent), so that the transition prediction cannot improve the simulation of the high turbulent cases. The relative percentage of laminar flow on a device can be roughly estimated by using the following formula, which is based on the empirical correlation for transition onset proposed by Mayle (1991):



where  is the transition Reynolds number,  is the device Reynolds number, V is a representative velocity,  is the length of the device, ν is the kinematic viscosity, and Tu is the free stream turbulence intensity in percent.



The free stream Tu as well as the relative velocity V must be estimated around the blade where the transition occurs and not at the inlet of the meshed domain.
It is noted that the relative percentage of laminar flow on a device does not take into account the effect of the pressure gradient and cannot be directly used to get the transition onset location. Another important point that is missed is the effect of possible separation bubble depending on the blade design (or pressure gradient). Moreover, this estimation can provide value higher than 1 with low turbulence intensity. In this case, there is no doubt about the use of the transition model. 
In general, the effect of the transition model can be neglected when the estimated relative percentage of laminar flow is lower than 5%.
Grid requirement 
As the generalized transition model is based on local values in the boundary layer and solves a transport equation for the intermittency, this requires a suitable grid refinement along the walls.
The size of first cell must be sufficiently small to reach a  lower than one or in the order of one (as for all low-Reynolds turbulence models).
Moreover too large expansion ratios must be avoided for the clustering in the normal direction. It is advised to keep an expansion ratio lower than 1.2.
The number of points and the refinement location along the streamwise direction are also important for a good transition prediction. In general, transition predictions will require more points along the streamwise direction than fully turbulent predictions. For turbomachinery, depending on the blade shape, the minimum number of points from the leading edge to the trailing edge is in the range [60; 120]. A large number of point is requested mainly for separation induced transition with possible reattachment. The refinement will be concentrated around the leading edge for blade with a sharp leading edge (to capture the possible separation bubble and reattachment) or in high turbulence flow. 
How to specify the inlet turbulence variables?
The user should pay attention to the inlet turbulence variables. The predicted results are very sensitive to the values of the inlet turbulence variables because of the decay of turbulence from the inlet to the leading edge of the device. The inlet boundary conditions should be well defined, so that the turbulence intensity has decayed to the desired value at the leading edge of the blade. The ideal for the best estimation is to know the turbulence intensity profile downstream of the inlet. The FIGURE 5 shows the calibration along a flat plate for the test case T3A. 


FIGURE 5 Calibration of the turbulent intensity profiles (in %).
However these data are usually unknown. Sometimes the available turbulent data are only turbulent intensity in a plane upstream the blade or the user has a rough estimation at the leading edge. In such cases for which k (or Tu) is known at a distance x from the inlet plane, the following equation can be used to estimate the inlet values. This is the one-dimensional analytical solution of the turbulence equations (without diffusion and cross-diffusion terms) in a uniform flow with a constant velocity (V):

 or 
where  and  for the SST turbulence model.
The formula can be formulated in terms of the turbulence intensity (Tu) and the turbulent viscosity ratio () at inlet:



This equation provides mathematically an infinite number of possible couple of values at inlet (,). If the specific dissipation (ω) can also be estimated in the plane x, the equation system can be closed:

 or 
then,



In practice, the turbulent intensity Tu (or the corresponding turbulent kinetic energy k) will be set to a physical value depending on the case. If the domain is artificially extended, it can be increased up to a maximum value given by the previous equation. The inlet turbulent viscosity ratio () should be kept in a physical range [1; 1000]. The larger the inlet turbulent viscosity ratio, the smaller the turbulent decay rate. For internal flow, a typical value is  = 50 but it is depending on the upstream device. The resulting inlet turbulent dissipation rate (ε ) should be checked so that the turbulence dissipation length scale () is actually in the physical range [0.1%; 1%]*L where L is a characteristic length of the case.

Delete Fluid from List
When the user has the permission to delete a fluid, the button Delete Fluid... allows to remove the selected fluid from the list of available fluids.

Information linked to fluid removal is stored in the fluid database only when closing the FINE™/Turbo interface. As a consequence, this information will not be available to other users until this operation is completed. A message will however warn users that the fluid properties have been modified (up to removal in the present situation) by the owner.

Control the flux of Eddy viscosity
For the Spalart-Allmaras turbulence model, the flux at the Rotor/Stator is computed using the pitch averaged eddy viscosity. Such a procedure can leads to a build-up of turbulence for multistage machineries.  The eddy viscosity is not destroyed in the free stream. Very high level of eddy viscosity is often found in the last stages for multi-stage calculations. Such a high level of eddy viscosity can impact on the predicted efficiency of the machinery. 
Two methods can be used to reduce the eddy viscosity at a Rotor/Stator interface when using the Spalart-Allmaras model:

Control the flux of eddy viscosity at all Rotor/Stator interfaces by using the minimum eddy viscosity over the pitch (IMINRS set to unity)
Control the flux of eddy viscosity at all Rotor/Stator interfaces by multiplying the flux by a factor (FACTRS set lower than unity)

Because both the expert parameters are global, the limitation of the eddy viscosity at Rotor/Stator interfaces is activated for all Rotor/Stator interfaces of the project. Both methods cannot be combined. If the two parameters are changed only IMINRS will be activated.
The methods reducing the eddy viscosity are restricted to the following Rotor/Stator interfaces:

Conservative coupling
Local conservative coupling
Full non matching mixing plane
Non reflecting 1D
Full non matching (non Reflecting) for NLH calculations

Rigid Motion
Introduction
The predefined Rigid Motion model allows to simulate the flow in a domain where the solid boundary can move. The computation will be unsteady if the boundary is moving in time and steady if the movement is constant in the relative frame of reference. This functionality is compatible with all the existing fluid models and turbulence models.
For the mesh deformation, the user can select the Laplacian smoothing method and Elastic Analogy (in Expert Mode), see mesh deformation methods for more information.
The main solver limitations with respect to the rigid motion model are as follows:

Not compatible with spatial upwind scheme;
Not compatible with NLH.

Rigid Motion in the FINE™/Turbo GUI
The Rigid Motion model can be activated from the Optional Models / Fluid Structure page under the Mechanical tab. After activating the Mechanical Coupling, the Rigid Motion page will appear. It looks like The Rigid Motion page. 


FIGURE 7 The Rigid Motion page
Firstly, the user needs to select the type of motion. Depending on this choice, all the parameters describing the motion law can be set by clicking on the button .
Three kinds of motion are available:

Oscillating Body: oscillation of a solid body about Z axis at a reference point.


FIGURE 8 The parameters for Oscillating Body
To define the motion, the user has to input the location of the rotation center (x,y) and the parameters describing the oscillations angle:
The rotation axis is always Z for the oscillating body.

The angle α is defined as the rotation angle along the -Z-axis. A positive value of the angle leads to an increase of the flow incidence for an airfoil in X-wise flow.




the average angle α(0);
the amplitude of the oscillations A;
the frequency of the oscillations Frq.

Then the oscillating angle is computed by .


Off-centered Rotor: three kinds of basic motion for off-centered rotor can be simulated. These three basic motions can be combined to define more complex motions.


FIGURE 9 The parameters for Off-entered Rotor
The rotation axis is always Z for the off-centered rotor.

Motion of the rotor center around Z axis (in XY plane). To describe the motion, the user has to input the following parameters:

the location of the rotation center in XY plane x(c), y(c);
the amplitude of the oscillations along X axis A;
the amplitude of the oscillations along Y axis B;
the angle at t = 0 in XY plane α;
the frequency of oscillations in XY plane ω.

The location of the rotating axis of the rotor is obtained by:








Oscillation of the rotor center along Z axis. To describe the motion, the user has to input the following parameters:

the location of the oscillation center in Z axis z(c);
the amplitude of the oscillations along Z axis C;
the angle at t = 0 along Z axis β;
the frequency of oscillations along Z axis ω.

The location of the rotating axis of the rotor is obtained by:





Precession of the rotation axis around the absolute Z axis. Slanting the rotation axis allows more complex predefined motions. It is particularly interesting for precessions with a constant nutation angle. In this particular case, the rotation axis describes a cone. The Nutation Angle has to be input, which is defined in the plane OXZ at the initial time (t = 0). 



Generalized Motion: the motion is specified by an external file. The user has to input the location of the rotation center (x,y,z) in the original mesh domain.


FIGURE 10 The parameters for Generalized Motion
In the external file, the motion has to be specified with 7 data for each time step:
(Time, Δx, Δy, Δz, Δα, Δβ, Δγ)
where 

Time: the simulated time;
Δx: the displacement in meters along X axis;
Δy: the displacement in meters along Y axis;
Δz: the displacement in meters along Z axis;
Δα: the rotation angle in degrees around X axis;
Δβ: the rotation angle in degrees around Y axis;
Δγ: the rotation angle in degrees around Z axis.

All displacements and rotations must be specified in the absolute frame of reference.
Consequently, the file must contain N+1 lines with N the number of time steps of the unsteady computation. The first line in the file is used to initialize the deformed mesh. For a restart computation, the previous time steps must be kept in the file and the total number of lines is Nprevious+N+1. The external file must be located in the computation directory with the name "projectname_computationname.evol_pos".

All solid patches and groups in the mesh are listed on the middle of the page, see The Rigid Motion page. After choosing the type of motion, the user has to select the moving surfaces and mark them as "Moving". 
Adaptive Wall
The geometry simplifications imply sometimes that a moving wall is connected to a stationary wall. In reality, it is not possible. However, for computations, it is possible to consider an adaptive wall (fictitious wall) to fill the gap between the moving and stationary walls, as shown in Case with a simplified geometry where a moving wall is connected to a stationary wall. The boundary vertices belonging to the adaptive wall can move so that the adaptive wall can deform. The displacement normal to the wall is zero for these vertices.


FIGURE 11 Case with a simplified geometry where a moving wall is connected to a stationary wall
The limitations on the adaptive wall are:

the adaptive wall must be located between a moving wall and a stationary wall or a R-S interface;
the size of the adaptive wall must be large enough to take the imposed movements;
the subdivision of patches must keep the multigrid levels.
The adaptive wall is compatible only with the Laplacian smoothing. 

To define an adaptive wall, the user has to define the corresponding parts of the wall in IGG™ as separated solid patches. These separated solid patches must be grouped and named as "Adaptive_wall" in the Boundary Conditions / SOLID page.
The rigid motion module can also be used in simulations with rotor/stator interfaces. The rotor-stator interface can be considered only if the interface is located between two stationary solid walls so that this is not deformed. When the rotor-stator interface is directly connected to a moving surface, an "adaptive wall" can be considered between the stationary wall and the moving wall. 
The main limitations on the rigid motion module with rotor/stator interfaces are as follows:

no rotor-stator interface with deformation;
no rotor-stator interface without deformation but located between moving walls.

Monitoring
When the rigid motion is used, FINE™/Turbo allows the user to monitor the evolution of force (force X, Y, Z) and torque (torque X, Y, Z) on the solid patches. Detailed information is available in Available Quantities Selection.
Expert Parameters
The following expert parameters are related to the rigid motion module:
IMVCRF(integer):	The application of the mesh deformation is depending on the coordinate system. For example, for the off-centered motion, the displacement will be applied to the "Moving" walls specified by the user on the FINE™/Turbo GUI if the standard frame is used. Otherwise, the displacement will be used to the "stationary" walls if the relative frame attached to the solid body is used. The relative frame of reference can be defined by the expert parameter IMVCRF. 
0 (default): the standard frame of reference is used.
1: the relative frame of reference attached to the solid body is used. The center of the frame of reference may move, depending on the body movement.


FIGURE 12 Moving surfaces depending on the value set to IMVCRF
The mesh deformation is only applied to the type SOLID on boundaries. For example, in case of pitching motion of 2D airfoils, if the type EXTERNAL is used for the far field boundaries and IMVCRF=1, there will be no mesh deformation in the relative frame of reference even if the mesh deformation module is activated.

The Residual File '.res'
This file contains the residual values for all blocks for each iteration of a computation. It is continuously updated during the computation. It is used by Monitor to visualize the convergence history.
The format of this file is the following:

line 1:	Version line.
line 2:	Number of blocks or number of groups when the option Residuals per group is checked in the Computation Steering/Control Variables page.
line 3:	3D or 2D.
line 4:	NO-K-EPS or K-EPS or SPL-ALM.
line 5:	Number of chemistry species (not used, for backward compatibility only).
line 6:	Number of harmonics and their name.
line 7: Type of residuals: 0 if residuals per block or 1 if residuals per group (when the option Residuals per group is checked in the Computation Steering/Control Variables page).
line 8:	STEADY or UNSTEADY.

line 9:	TURBO (not used, for backward compatibility reasons only).
	 For iteration i=1 to itmax

Iteration number, Total iteration number (for unsteady computations only), Work unit, CPU time, Physical time (for unsteady computations only), Lift, Drag, Torque, Qmax, Tmax, Mass flow in and out.
For block j = 1 to n:
First the maximum and then the RMS residual is given for the density ρ, the 3 momentum components (ρvx, ρvy, ρvz), the energy e, the turbulent variables k, ε (for k-ε  model only) and ν (for S-A model only).
You might expect that after the first line for each iteration, you have one line for each block. But this is not the case. When looping over all the blocks, the values are written to the .res file in columns of 10. So all the values for one block cover more than one line.
Where:
Iteration number = the number of iterations. For unsteady computations it includes the number of iterations performed in stationary mode to initialize the unsteady computation.
Total iteration number = the total number of iterations including the dual-time step sub-iterations and the initial stationary iterations.
Work unit: for single grid computations, one work unit is equal to one iteration, while in multigrid, the work unit corresponds to the computing effort of the multigrid run to the single grid run. For 3D cases it is computed as follow: WU = 1 + n2(1/2)³ + n3(1/2)6 +... 
While for 2D: WU = 1 + n2(1/2)² + n3(1/2)4 +... 
where nx is the number of iteration done on the xth multigrid level 
The maximum and the RMS residual are defined.
Physical time = the physical time step.
Lift, Drag and Torque are scalar values corresponding respectively to the projection of the force vector along a lift direction (IDCLP), a drag direction (IDCDP) and a torque direction (IDCMP). These directions are controlled by the real expert parameters "IDCLP", "IDCDP", "IDCMP" in FINE™/Turbo (on the Computation Steering/Control Variables page in Expert Mode) .
For internal flows (expert parameter IINT=1):

Qmax = efficiency between inlet and outlet,
Tmax = total pressure ratio between inlet and outlet in case of compressible fluid, or total pressure difference between inlet and outlet in case of incompressible fluid.

For external flows (expert parameter IINT=0):

Qmax = maximum heat flux on surface = k*Grad T*n,
	Tmax = maximum static temperature.

Mass flow in/out = total mass flow for both inlet and outlet boundaries. When no inlet or outlet is present in the computation, the corresponding mass flow is set to zero.
Finally, the ".res" file is given with the CPU time included. For sequential computation, the CPU time is the total CPU time at each iteration which includes the CPU time of previous iterations. For parallel computations the wall clock time will be given instead of the CPU time.

Computation management

new_computation(computation_name)
Create a new computation, which name is computation_name. The new computation will be automatically selected. All its parameters take the same value as the computation previously selected.
get_nb_computations()
Return the number of computations.
get_computation_name( index )
Return the computation name, from its index.
get_computation_filename( index )
Return the computation name with full path, from its index.
get_active_computations()
Return the list of selected computation(s)
set_active_computations( indexList )
Set the list of selected computation(s)
Example: set_active_computations([0,2,3])
set_computation_name(index, name)
Modify the name of the computation specified by its index (0<= index <nb of computations).
save_selected_computations()
Save the selected computations.

Files Used as Data Profile
This section describes the files created by the user and used as input data for the boundary conditions and for the fluid model. Once these files are read by the interface, they are imported in the ".iec" file. The flow solver does not read these files, it retrieves the profiles from the computation definition file with extension ".run". Profiles may also be specified by entering the coordinates directly into the profile viewer.

The imported values will be interpreted in the current project units. These values would change (in the database) if the user changes the corresponding units. Therefore all values will be converted for the FINE™/Turbo solver in SI system units (in radians for the angles).
The values for 1D profiles should be given in increasing order of the abscissa. For example, when entering a profile of temperature as a function of R, FINE™/Turbo checks whether the two first points are in increasing order. If this is not the case, the profile will be inverted automatically in order to ensure compatibility with the flow solver. The next time the Profile Manager () is opened, the profile will be shown in increasing order, contrary to what was initially entered.
For 2D profiles there is no such constraint except for profiles as a function of r-θ. A profile as a function of r-θ must be structured. The profiles must be given at stations of constant θ for increasing r. Also θ must be increasing going from one station to the next in the file.
The minimum difference between two θ positions should be greater than 1e-4 radian.

Fluid-Particle Interaction


Particle-laden flows cover a large class of two-phase flows, such as droplets or solid particles in a gas or liquid flow, or bubbles in liquids. One phase is assumed to be continuous and occupies the majority of the flow. It is called the "carrier" phase. Another phase, whose volume fraction is relatively small (usually less than 10-2), exists as a number of separate elements or particles. It is called the "dispersed" phase.
In this section, an overview is given of the fluid particle interaction module. In Fluid-Particle Interaction in the FINE™/Turbo GUI,   the main functionalities of the module and the way to proceed in the FINE™/Turbo GUI are described.
The limitations for the fluid particle interaction module are:

The fluid particle interaction module can only be run in serial mode.
The influence of turbulence on particles trajectories can only be taken into account when using the k-ε  turbulence models and the v²-f turbulence model. It is not compatible with the SST/EARSM turbulence models. In case of using the Baldwin-Lomax model or the Spalart-Allmaras model, turbulence does not have a direct influence on the particles trajectories.

Lagrangian Approach
A Lagrangian approach is used here, whereby the trajectories of individual groups of particles are calculated as transported by the velocity field of the carrier phase, including the effect of drag and other forces. The calculations of the carrier flow and of the particles can be fully coupled, the fully coupling approach implying that the calculation of the particles trajectories is followed by a second flow calculation, taking into account the presence of the particles in the flow (the interphase forces are introduced as source terms in the flow calculation). The sequence consisting of a flow calculation and of the particle traces tracking can be repeated several times until no changes are observed in the results (usually 3 to 10 times).
In the present Lagrangian model, the motion of the particles is only influenced by their own inertia and by the flow, i.e. the local aerodynamic or hydrodynamic forces. Interactions between the particles are currently not considered. This implies the hypothesis of a dilute flow. On the contrary in a dense flow, particle motion is governed by their direct interaction, which implies more complex models, such as the Eulerian ones, in which both phases are modeled as continuous phases.
Particle-laden flows are found in many industrial applications such as cyclone separators, pneumatic transport of powder, droplet and coal combustion system, spray drying and cooling or sandblasting. In all cases, the flow consists of a continuous phase - also named carrier flow - and a dispersed phase in the form of solid particles, liquid droplets or gas bubbles. In general, the motions of the carrier flow and of the dispersed phase are interdependent.
In the lagrangian approach, the physical particle cloud is represented by a finite number of computational particles. The continuous phase (fluid) is treated as a continuum using a boundary-controlled method whereas the dispersed phase (particles) is treated as a number of separate particles. The particles are successively tracked as a single probe particle through the flow field using a Lagrangian formulation.
In the case of laminar flows, each particle will follow a unique deterministic trajectory. In the case of turbulent flows however, particles will have their own random path due to interactions with the fluctuating turbulent velocity field. This feature is taken into account in the FINE™/Turbo solver through a stochastic treatment. This approach consists of employing a sampling technique based on a Gaussian probability density function to introduce the random nature of the turbulent velocity field. The particle diffusion due to turbulence can therefore be modeled without introducing artificial diffusion properties of the cloud.
According to the distribution and contents of the particles, an averaging procedure provides phase coupling source terms to be added into the Eulerian carrier phase conservation equations. The two-way coupling can be achieved through global iterations.
Algorithm
The hypothesis of a dilute mixture permits to have a very simple sequential calculation of the trajectories of the different particles injected through the inlet sections.
The algorithm considers successively the different inlet patches. The user specifies the number of trajectories per cell. The origins can be located at a given point chosen by the user, or equally distributed throughout the cell.
The algorithm proceeds cell by cell, the time step being calculated so that several time steps are performed in each mesh cell. The procedure starts at a cell of an inlet boundary and stops when a boundary is reached.
Each time step consists of:

the calculation of the force on the particle.				
the integration to find the new velocity and position.							
the determination of the cell in which the particle is located.

Uncertainty Quantification
Introduction
Nowadays, the analysis and design methods in aeronautical industry, particularly the aerodynamic simulation tools relying on CFD and their multidisciplinary extensions are based on simulations with a unique set of input data and model variables. In spite of that, the actual operating conditions are a superposition of numerous operational and geometrical uncertainties, under which the industrial products operate, representing a major source of risk in the design decision process.
New methodologies are therefore required to incorporate the presence of uncertainties at the level of the simulation tools in order to improve the predictive reliability of the simulation process. This means that the simulation tools become non deterministic.

FINE™/Turbo provides a dedicated uncertainty quantification module for turbomachinery application, which is using the non-intrusive probabilistic collocation method (NIPCM) and is able to manage operational uncertainties. Furthermore, the non deterministic computation can be combined with the performance curve to perform a non deterministic performance curve computation.
The limitations for the uncertainty quantification module are:

To create a non deterministic performance curve computation, the user has to create a non deterministic computation first, then create a non deterministic performance curve computation.
The menu Solver / Continue is not compatible with non deterministic performance curve computations.

The next sections will describe the way to set-up and manage the non deterministic computation in detail.
Uncertainty Quantification in the FINE™/Turbo GUI
Create non deterministic computation
Before creating a non deterministic computation, the user has to create a deterministic computation (normal FINE™/Turbo computation). Then, the non deterministic computation will be created based on the deterministic computation.
The non deterministic module can be activated in the Optional Models / Non Deterministic Data page. Select the button Non Deterministic Data to activate the non deterministic module, then the user will be asked to select uncertainty for quantities in the Boundary Conditions page. Go to the Boundary Conditions page, a button uncertainty will appear at the right side of each boundary condition entry. Check the uncertainty button will select the corresponding boundary condition as uncertainty. 


FIGURE 56 Boundary Conditions page for non deterministic computation
After selecting the uncertainties in the Boundary Conditions page, switch back to the Optional Models / Non Deterministic Data page, the settings for the non deterministic computation appear, as shown in Settings for non deterministic computation. 


FIGURE 57 Settings for non deterministic computation
Before setting the uncertainty entries, the Cubature rule should be defined first. The cubature rule corresponds to a multi-dimensional version of a quadrature rule, which controls how the collocation points are calculated. The uncertainty propagation method used here being the Non-Intrusive Probabilistic Collocation Method (Loeven, 2010),  the collocation points are selected by means of the Golub-Welsch algorithm (introduced by Golub and Welsch in 1968) for quadrature of general probability density function (PDF) shapes. In order to combine several simultaneous uncertainties the quadrature must be brought to the multi-dimensional case. Several strategies are available in FINE™/Turbo via the cubature rule. 

Full tensorization:  computing the tensor product of the maximal quadrature of each uncertainty.


Sparse grid:  associating different tensor product based on different quadrature levels. The number of points per uncertainty as a function of the level can have a:Linear growth rate: The number of points is equal to '(2*level)+1'.Exponential growth rate:The number of points is equal to ''.

For more theory of the cubature rule, please see Uncertainty Quantification. In general, the sparse grid is more efficient than the full tensorization for high number of uncertainties. the following table gives an overview of  the number of collocation points in a given level and dimension, where all uncertainty entries have a Gauss distribution. From the table, if a given accuracy (for example 7 points per direction) is requested, the sparse exponential growth requires  the lowest number of points (red highlighted columns).


 In the frame List of uncertainty entries,  all the selected uncertainties are listed. Select one entry from the list, its parameters will be shown in the right side. The user must set the parameters for each uncertainty entry. 
The Level is used to control the accuracy of the uncertainty quantification.  The number of collocation points depends on the used level and the cubature rule:

For Full tensorization, the number of points for 1D quadrature is (Level+2). The total number of points is the product of the number of points for 1-D quadrature of each uncertainty.
For Sparse linear growth, the number of points for 1D quadrature is (2*Level+1).
For Sparse exponential growth, the number of points for 1D quadrature is ().

If the mean and variance are needed for any output quantity a level 1 produces sufficient accuracy. If the skewness and kurtosis (For example the output PDF reconstruction) are needed a level 2 is recommended.
Then the user should select the uncertainty type and set the corresponding parameters. Four uncertainty types are available:

Gauss: the Gaussian distribution is used to compute the collocation points.

In case that the uncertainty entry is a constant, two parameters need to be specified, one is the mean of the distribution (Average Value) and one is the Variance.
In case that the uncertainty entry is a profile, only one parameter, Variance, needs to be specified. For each point of the profile, the variance is common while the mean of the distribution (Average Value) is set to the value of the point.

Truncated Gauss: the truncated Gaussian distribution is used to compute the collocation points.

In case that the uncertainty entry is a constant, two parameters need to be specified, one is the mean of the distribution (Average Value) and one is the Variance.
In case that the uncertainty entry is a profile, only one parameter, Variance, needs to be specified. For each point of the profile, the variance is common while the mean of the distribution (Average Value) is set to the value of the point.

Beta: the Beta distribution is used to compute the collocation points. Three parameters need to be specified, the Minimum Value, the Maximum Value and the Most Likely Value.

In case that the uncertainty entry is a constant, three parameters need to be specified, the Minimum Value, the Maximum Value and the Most Likely Value.
In case that the uncertainty entry is a profile, only two parameters need to be specified, the Minimum Value and the Maximum Value. The Minimum Value and the Maximum Value must be defined relative to a Most Likely Value of 0. For each point of the profile, the Minimum Value, the Maximum Value and the Most Likely Value will be shifted based on the value of the point.

User defined: the user inputs a probability density function (PDF), which is used to compute the collocation points. The format of the probability density function file can be found in User defined PDF.

In case that the uncertainty entry is a constant, the imported PDF is directly used to compute the collocation points.
In case that the uncertainty entry is a profile, the imported PDF must be defined relative to a reference value of zero. Then, for each point of the profile, the PDF will be shifted based on the value of the point. The shifted PDF is used to compute the collocation points of the point of the profile.


The specified uncertainty probability density function will be plotted at the right side of the page. The user can export the probability density function into a file by using the button export PDF. For both the display and the export, the uncertainty probability density function is expressed in normalized form.
At the bottom of the page, a bar named as Calculate Collocation Points is used to calculate the collocation points and create the non deterministic computation. The total number of the computations will also be shown in the bar. After setting the parameters for all the uncertainty entries, click the bar Calculate Collocation Points to create the non deterministic computation. 
The non deterministic computation is organized as shown in Management of non deterministic computation. Here, the computation "Ps110k" is the deterministic computation, which is created before making the non deterministic computation. Five sub-computations are the non deterministic computation runs. 


FIGURE 58 Management of non deterministic computation
After creating the non deterministic computation, the user should not modify the sub-computations any more. Otherwise, the results of the non deterministic computation may be changed.
Launch non deterministic computation
The deterministic computation and the non deterministic computation can be launched individually. When selecting the deterministic computation and clicking on the button Start Flow Solver, a window will appear, see Launch non deterministic computation.


FIGURE 59 Launch non deterministic computation
Selecting Start Deterministic will launch the deterministic computation. Selecting Start Non Deterministic, FINE™/Turbo will automatically switch to TaskManager and create a new task with all the sub-computations (non deterministic computation runs). By default, each subtask will be run in serial mode. The user can select a subtask and change the run mode. The modification will be applied to all the subtasks.
Post processing


The results of the non deterministic computation can be found in the Post Processing / Non Deterministic Results page, as shown in Non deterministic computation results.
When selecting the deterministic computation, the .mf file of the deterministic computation will be shown at the lower part of the page. At the left frame of the upper part, all available quantities are listed. The user can choose the quantities and add them to the right frame. The option Selection Filter is used to select multiple quantities at once by using their common string or select all quantities by using the wildcard '*'. At the right frame, for all selected quantities, FINE™/Turbo will show their Value from the deterministic computation, their Mean Value, Variance, Skewness and Kurtosis from the non deterministic computation. In case that part of the computations are re-run, the button Recompute can be used to refresh the non deterministic results. When selecting a quantity from the list of selected quantities, an estimation of its probability density function (PDF) is shown in the right-bottom frame.  This PDF is reconstructed  by using the first four moments of the selected quantity. The user can export the probability density function into a file by using the button export PDF. In order to get a good PDF reconstruction, a minimum level of 2 is recommended.
When selecting a sub-computation (one of the non deterministic computation runs), the page will show only the mf file of the selected sub-computation.


FIGURE 60 Non deterministic computation results
Build non deterministic performance curve
It is possible to combine the non deterministic computation and the performance curve computation to build a non deterministic performance curve computation. To build a non deterministic performance curve computation, the user should create a non deterministic computation first, then create a non deterministic performance curve computation (Refer to Performance Curve section on how to create a performance curve computation). The management of the non deterministic performance curve computation is shown in the Management of non deterministic performance curve computation. The top level is the performance curve computation. The second level is the operating points of the performance curve (deterministic computation) together with their non deterministic computation runs (the third level).


FIGURE 61 Management of non deterministic performance curve computation
After creating the non deterministic performance curve computation, the user should not modify the sub-computations (the second level and the third level) any more.
When selecting the non deterministic performance curve computation (top level) and clicking on the button Start Flow Solver, a window will appear, see Launch non deterministic performance curve computation.


FIGURE 62 Launch non deterministic performance curve computation
The user has two possibilities:

Selecting Start Deterministic Perfo Curve will launch the deterministic performance curve computation (as the normal performance curve computation). FINE™/Turbo will automatically switch to TaskManager and create a new task with all the sub-computations at the second level. A Parallel settings window will appear. The user can set the number of process and other parallel settings. All the settings will be applied to all subtasks.
Selecting Start Non Deterministic Perfo Curve will launch the non deterministic performance curve computation. FINE™/Turbo will automatically switch to TaskManager and create a new task with all the sub-computations at the third level. A Parallel settings window will appear. The user can set the number of process and other parallel settings. All the settings will be applied to all subtasks.

After the non deterministic performance curve computation is finished, the results can be post-processed in the Post Processing / Performance Curve page, as shown in Non deterministic performance curve. The non deterministic performance curve is plotted by using the mean value of the non deterministic computation of each operating point. The bar represents the range [-,+], where σ is the standard deviation. The Display Factor is used to change the length of the bar.


FIGURE 63 Non deterministic performance curve

How to Launch the flow solver in Parallel using LSF on Linux

Create a script file "batch.lsf" with permission for execution. An example of a "batch.lsf" file for a parallel computation on Linux using OpenMPI flow solver:
#BSUB -L /bin/sh 
#BSUB -J comp1875
#BSUB -q priority -n 3
#BSUB -oo /tmp/ahmed/ahmed_computation_1/ahmed_computation_1.std -eo  /tmp/ahmed/ahmed_computation_1/ahmed_computation_1.std
 
NI_VERSIONS_DIR=/home/fine<version>
export NI_VERSIONS_DIR
NUMECA_SOFT_VERSION=<version>
export NUMECA_SOFT_VERSION
 
TMP_DIR=~/.numeca/tmp/
NUMECA_DIR=${NI_VERSIONS_DIR}/fine$NUMECA_SOFT_VERSION
export NUMECA_DIR
NUMECA_BIN=${NUMECA_DIR}/LINUX
export NUMECA_BIN
MPIR_HOME=${NUMECA_BIN}/_mpi/_ompi1.6/
export MPIR_HOME
OPAL_PREFIX=$MPIR_HOME
export OPAL_PREFIX
PATH=${MPIR_HOME}/bin:${PATH}
export PATH
LD_LIBRARY_PATH=$MPIR_HOME/lib64:$MPIR_HOME/lib:${NUMECA_BIN}/_lib_sx86_64:${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH
ompi_options=
 
BIN=${NUMECA_BIN}/euranus/euranusTurbox86_64_ompi
RUN_FILE=/tmp/ahmed/ahmed_computation_1/ahmed_computation_1.run
STEERING_FILE=/tmp/ahmed/ahmed_computation_1/ahmed_computation_1.steering
 
computation_file=`basename $RUN_FILE`
directory_name=`dirname $RUN_FILE`
MACHINE_FILE=`echo ${directory_name}/${computation_file}.machine_file`
rm -f $MACHINE_FILE
TOTAL_NUM_PROC=0
FLAG=""
HOST=""
nb_host=0
for TOKEN in $LSB_MCPU_HOSTS
do
  if [ "$FLAG" ==  "" ] ; then
    HOST="$TOKEN"
    FLAG="1"
    host_list[$nb_host]=$host
    nb_host=`expr$nb_host+1`
  else
    TOTAL_NUM_PROC='expr ${TOTAL_NUM_PROC} + ${TOKEN}'
    echo 'expr "$HOST" : '\([^\.]*\).*'`:$TOKEN >> $MACHINE_FILE
    FLAG=""
  fi
done
 
ompi_info
$OPAL_PREFIX/bin/mpirun --display-map --display-allocation ${ompi_options} -np      $TOTAL_NUM_PROC -hostfile $MACHINE_FILE ${BIN}  $RUN_FILE  -steering $STEERING_FILE -fullflex
 
where:
All lines beginning with #BSUB are LSF commands.
#BSUB -L /bin/sh requires Bourne shell to be used by LSF for job submission and hence, only the .profile file of the user is executed if exists on each computation host. There is nothing specific to Numeca software that must be written in the .profile file.
#BSUB -J comp1875 is the name of the job given to LSF. LSF has a limitation of 8 characters for the job name.
#BSUB -q priority -n 3 sets the queue on which the computation will run (here the queue name is priority) and the number of processors (here 3 processors).
#BSUB -oo /tmp/ahmed/ahmed_computation_1/ahmed_computation_1.std -eo                       /tmp/ahmed/ahmed_computation_1/ahmed_computation_1.std tells the LSF system that the standard and error output has to be redirected in the ".std" in the computation directory.
NI_VERSIONS_DIR=/home/fine<version>
export NI_VERSIONS_DIR
NUMECA_SOFT_VERSION=<version>
export NUMECA_SOFT_VERSION
specifies the installation directory (e.g. /home/fine131) and version (e.g. 131) of FINE™/Turbo.
MPIR_HOME=${NUMECA_BIN}/_mpi/_ompi1.6/
export MPIR_HOME
OPAL_PREFIX=$MPIR_HOME
export OPAL_PREFIX
PATH=${MPIR_HOME}/bin:${PATH}
export PATH
LD_LIBRARY_PATH=$MPIR_HOME/lib64:$MPIR_HOME/lib:${NUMECA_BIN}/_lib_sx86_64:${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH
are the environment variables indicating respectively the OpenMPI directory (FINE™/Turbo allows to use an external OpenMPI library, which may be a tuned, customized or hardware specific OpenMPI libraries.) and the library directories that are used in the command launching the flow solver.
ompi_options= specifies the OpenMPI options. If nothing is specified, OpenMPI will choose the most efficient parameters supported by the pointed library (OPAL_PREFIX). In general, all the MCA options can be imposed in the script.
Then the script uses the LSF environment LSB_MCPU_HOSTS to create a machine file, which will be used by the command launching the flow solver.
ompi_info provides detailed information about the OpenMPI installation. It can be useful for at least three common scenarios: 1) Checking local configuration and seeing how OpenMPI was installed. 2) Submitting bug reports / help requests to the OpenMPI community. 3) Seeing a list of installed OpenMPI plugins and querying what MCA parameters they support. Refer to http://www.open-mpi.org/doc/v1.6/man1/ompi_info.1.php for more details.
Independently of OpenMPI, the following commands can be used in the lsf script:
ldd -v $NUMECA_BIN/euranus/euranusTurbox86_64_ompi to check which runtime environment is loaded before launching the flow solver.
/lib64/libc.so.* or /lib/libc.so.* to get the version of the libc.
etc.
$OPAL_PREFIX/bin/mpirun --display-map --display-allocation ${ompi_options} -np $TOTAL_NUM_PROC -hostfile $MACHINE_FILE ${BIN}  $RUN_FILE  -steering     $STEERING_FILE -fullflex
is the command to launch the parallel computation. --display-map --display-allocation is the OpenMPI options that are used to display the process map before launching the job and the allocation being used by this job. ${BIN} is the single precision solver compiled with the OpenMPI library. $RUN_FILE -steering $STEERING_FILE are the arguments to the flow solver. The argument -fullflex is optional, which forces the flow solver to use the FFLEX-type license keys in priority (For more details, see Flexible Cores Type from License).
Create computational file (".run") by activating the corresponding computation and clicking on the File/Save Run Files menu in the interface.
To set the final parallel settings:

create a task in the Task Manager,
define the parallel settings of the FINE™/Turbo solver subtask (parallel computation),
Save the task through the Task Manager by clicking on Save button.

These operations are mandatory in order to have all the parallel settings correctly imposed in the computation file (".run"). They can also be performed in batch, with the finebatch command, see How to Launch finebatch on Linux.
Submit the LSF script to the queue by using the command line: "bsub < batch.lsf".

When saving the ".run" file of the computation (File/Save Run Files) and clicking the save button (Modules/Task Manager), a script ".lsf" is automatically created in the corresponding computation subfolder that enables the user to launch the same computation in batch and in parallel.

How to Launch the flow solver in Parallel using SGE on Linux

Create a script file "batch.sge" with permission for execution. An example of a "batch.sge" file for a parallel computation on Linux using OpenMPI flow solver:
#!/bin/sh
#$ -S /bin/sh
#$ -notify
#$ -pe mvapich 4
#$ -N ahmed
#$ -o /tmp/ahmed/ahmed_computation_1/ahmed_computation_1.std -j y 
 
NI_VERSIONS_DIR=/home/fine<version>
export NI_VERSIONS_DIR
NUMECA_SOFT_VERSION=<version>
export NUMECA_SOFT_VERSION
 
TMP_DIR=~/.numeca/tmp/
NUMECA_DIR=${NI_VERSIONS_DIR}/fine$NUMECA_SOFT_VERSION
export NUMECA_DIR
NUMECA_BIN=${NUMECA_DIR}/LINUX
export NUMECA_BIN
MPIR_HOME=${NUMECA_BIN}/_mpi/_ompi1.6/
export MPIR_HOME
OPAL_PREFIX=$MPIR_HOME
export OPAL_PREFIX
PATH=${MPIR_HOME}/bin:${PATH}
export PATH
LD_LIBRARY_PATH=$MPIR_HOME/lib64:$MPIR_HOME/lib:${NUMECA_BIN}/_lib_sx86_64:${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH
ompi_options=
 
BIN=${NUMECA_BIN}/euranus/euranusTurbox86_64_ompi
RUN_FILE=/tmp/ahmed/ahmed_computation_1/ahmed_computation_1.run
STEERING_FILE=/tmp/ahmed/ahmed_computation_1/ahmed_computation_1.steering
 
ompi_info
$MPIR_HOME/bin/mpirun --display-map --display-allocation ${ompi_options} -np            $NSLOTS -hostfile $TMPDIR/machines ${BIN}  $RUN_FILE -steering $STEERING_FILE -fullflex
 
where:
#$ -S /bin/sh requires Bourne shell to be used by SGE for job submission and hence, only the ".profile" file of the user is executed if exists on each computation host. There is nothing specific to NUMECA software that must be written in the ".profile" file.
#$ -notify gives a delay between the send of the SIGKILL signal and SIGUSR2 signal. The delay is defined in the SGE interface.
#$ -pe mvapich 4 requests 4 slots (processors) to the SGE system for executing the job using the mvapich parallel environment. This must correspond to NTASK +1 where NTASK is the number of computation processes (partitions) in the ".run" file, the "+1" being the host process that manages inputs/outputs.
#$ -N ahmed is the name of the job given to SGE and that will be seen when monitoring the job with the graphical monitoring utility qmon (Job Control button) or with the qstat SGE command. SGE has a limitation of 8 characters for the job name.
#$ -o /tmp/ahmed/ahmed_computation_1/ahmed_computation_1.std -j y tells SGE system that the standard output has to be redirected in the ".std" in the computation directory, the option "-j y" indicates that the standard error is redirected into the same file.
NI_VERSIONS_DIR=/home/fine<version>
export NI_VERSIONS_DIR
NUMECA_SOFT_VERSION=<version>
export NUMECA_SOFT_VERSION
specifies the installation directory (e.g. /home/fine131) and version (e.g. 131) of FINE™/Turbo.
MPIR_HOME=${NUMECA_BIN}/_mpi/_ompi1.6/
export MPIR_HOME
OPAL_PREFIX=$MPIR_HOME
export OPAL_PREFIX
PATH=${MPIR_HOME}/bin:${PATH}
export PATH
LD_LIBRARY_PATH=$MPIR_HOME/lib64:$MPIR_HOME/lib:${NUMECA_BIN}/_lib_sx86_64:${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH
are the environment variables indicating respectively the OpenMPI directory (FINE™/Turbo allows to use an external OpenMPI library, which may be a tuned, customized or hardware specific OpenMPI libraries.) and the library directories that are used in the command launching the flow solver.
ompi_options= specifies the OpenMPI options. If nothing is specified, OpenMPI will choose the most efficient parameters supported by the pointed library (OPAL_PREFIX). In general, all the MCA options can be imposed in the script. 
ompi_info provides detailed information about the OpenMPI installation. It can be useful for at least three common scenarios: 1) Checking local configuration and seeing how OpenMPI was installed. 2) Submitting bug reports / help requests to the OpenMPI community. 3) Seeing a list of installed OpenMPI plugins and querying what MCA parameters they support. Refer to http://www.open-mpi.org/doc/v1.6/man1/ompi_info.1.php for more details.
Independently of OpenMPI, the following commands can be used in the sge script:
ldd -v $NUMECA_BIN/euranus/euranusTurbox86_64_ompi to check which runtime environment is loaded before launching the flow solver.
/lib64/libc.so.* or /lib/libc.so.* to get the version of the libc.
etc.
$MPIR_HOME/bin/mpirun --display-map --display-allocation ${ompi_options} -np  $NSLOTS -hostfile $TMPDIR/machines ${BIN}  $RUN_FILE -steering $STEERING_FILE -fullflex
is the command to launch the parallel computation. --display-map --display-allocation is the OpenMPI options that are used to display the process map before launching the job and the allocation being used by this job. $NSLOTS is the number of slots (processors) that have been allocated by SGE for the job. $TMPDIR is generated by SGE for providing the machines file used by the mpirun script. ${BIN} is the single precision solver compiled with the OpenMPI library. $RUN_FILE -steering $STEERING_FILE are the arguments to the flow solver. The argument -fullflex is optional, which forces the flow solver to use the FFLEX-type license keys in priority (For more details, see Flexible Cores Type from License).
For sequential runs, the line "#$ -pe mvapich 4" must be removed and the final command must be: ${BIN} $RUN_FILE -steering $STEERING_FILE -seq
Some options should be avoided in the script, such as "-sync yes" that prevents the TaskManager from detecting that a computation has finished.
Set permission for execution "batch.sge" by using the command: "chmod 755 batch.sge"
Create input files ".run" to launch the computation. The parallel settings of the computational file (".run") are managed by the Task Manager. Therefore before launching the parallel computation script, the following steps must be performed through the FINE™/Turbo interface:
Create computational file (".run") by activating the corresponding computation and clicking on the Project/Save Run Files menu in the interface.
To set the final parallel settings:

create a task in the Task Manager,
define the parallel settings of the FINE™/Turbo solver subtask (parallel computation),
Save the task through the Task Manager by clicking on Save button.

These operations are mandatory in order to have all the parallel settings correctly imposed in the computation file (".run"). They can also be performed in batch, with the finebatch command, see How to Launch finebatch on Linux.
Launch the script "batch.sge" by typing the script file name: "./batch.sge".

When saving the ".run" file of the computation (File/Save Run Files) and clicking the save button (Modules/Task Manager), a script ".sge" is automatically created in the corresponding computation subfolder that enables the user to launch the same computation in batch and in parallel.

Files Produced by the FINE™/Turbo solver 
This section describes the files produced and used by the FINE™/Turbo solver. The flow solver uses most of the files described above and produces the following files:

Harmonic Method
The harmonic method provides unsteady flow results with considerably less constraints than the domain scaling and phase-lagged methods. More information on Harmonic method.
Mesh Constraints
Like the phase-lagged approach, it is necessary to set the grid patches of a rotor/stator interface to the boundary condition type "ROT".
No specific azimuthal position of the blade channels is requested by the harmonic method, but it is recommended to have an overlapping region in the circumferential direction between the rotor and the stator channel. This is only for post-processing purposes. Visualization of the flow across the interface is much clearer. 
The NLH method is not compatible with cascade configuration mesh (with translational periodicity).
Mesh resolution in the tangential direction
The harmonic method is based on the spatial Fourier decomposition of the time-averaged flow and the harmonics in the tangential direction.
It is suggested to guarantee at least 30 grid nodes in the azimuthal direction to represent in space the first harmonic (or fundamental) of a periodic disturbance at the inlet/outlet of a row. Then, the number of nodes in the tangential direction of the row channel should be at least 30 times the number of blades of the adjacent blade row generating this harmonic divided by the number of the blades of the row. The narrower the adjacent blade row channels, the more refined the channel should be.
It is assumed that the amplitude of the subharmonics decreases very quickly. The constraint can thus be relaxed for the other harmonics. In general, at least 30 grid notes for the first harmonic and 15 for the other harmonics are suggested.
For example, for a stator/rotor/stator configuration, where the number of blades in the rotor and stators are Nbrotor, Nbstator 1 and Nbstator 2 and NH is the number of harmonics:
Number of Points in Azimuthal Direction in stator 1:
30 x    if(NH=1)
15 x  x NH   if(NH>1)
Number of Points in Azimuthal Direction in rotor:
max(30 x , 30 x )   if(NH=1)
max(15 x  x NH, 15 x  x NH)   if(NH>1)
Number of Points in Azimuthal Direction in stator 2:
30 x    if(NH=1)
15 x  x NH   if(NH>1)

FINE™/Turbo Settings

The harmonic method is a hybrid method. Unsteady flow results are obtained by the solving of pseudo-steady transport equations like in steady flow simulation. These pseudo-steady transport equations are solved for the time-averaged flow and for the harmonics of the periodic unsteady disturbances about the time-averaged flow. The Time Configuration in the Flow Model page should be set to Harmonic.
Under the Rotor-Stator tab of the Rotating Machinery page, the type of rotor/stator treatment is automatically selected. The full non-matching technique is used like in a mixing-plane simulation. However, the mixing-plane method is used only for the time-averaged Spalart-Allmaras eddy-viscosity. In particular, it includes a part of the deterministic stress that appears because of the time-averaging of the advective fluxes of the eddy-viscosity transport equation. All the other flow variables are treated by a connection algorithm based on the spatial Fourier decomposition of the time-averaged flow and the harmonics. The user has to specify for each of the patches the ID and the upstream/downstream location as described  at step 2 in the FINE™/Turbo Settings of the Mixing Plane Approach.
The initialization should be performed using a solution in steady state. The user can perform a separate computation (initial solution) for which the Time Configuration is set to Steady. For this computation, it is suggested to model the rotor/stator interface using the Non Reflecting 1D treatment. The result of this computation is used as the initial solution for the harmonic run. See Initial Solution for more information on how to start a computation from an initial solution file. The user can also impose an appropriate Number of Steady Iterations  in the  Computation steering /  Control Variables  page. In this case, a steady computation will be performed until the Number of Steady Iterations in the fine mesh. Then the NLH computation will be initialized using the steady solution and be launched.

Illustrative Example
Results obtained from harmonic calculations using three harmonics.


FIGURE 10 Aachen Turbine: entropy at 50% spanwise

Initial Solution for Turbomachinery
The initial solution for turbomachinery is dedicated to the cylindrical rotating machinery. This type of initial solution respects the inlet and outlet boundary conditions and assumes a constant rothalpy along axisymmetric stream surfaces. Also, the velocity field is automatically aligned with the blade passage.
The initial solution for turbomachinery can be applied for meshes generated in AutoGrid5™. If a mesh combines an AutoGrid5™ mesh and an IGG™ mesh, the initial solution for turbomachinery can be applied only for the AutoGrid5™ mesh part.
The limitations using initial solution for turbomachinery are:

Only available for internal flow.
Supersonic inlet boundary condition at the main channel entrance is not allowed.
Cartesian inlet boundary condition at the main channel entrance is not allowed.
2D profiles at the main channel entrance and exit are not supported.
For a combined AutoGrid5™/IGG™ mesh, it is possible to use the initial solution for turbomachinery on the AutoGrid5™ part. However, when the IGG™ mesh connects to the original inlet and/or outlet of the AutoGrid5™ mesh (for example, an impeller/volute configuration), the initial solution for turbomachinery will be possible only if the connection between the meshes is a Rotor/Stator interface. 

Methodology
The initial solution for turbomachinery is computed on the 2D meridional view divided into different parts named "meridional sectors". The control sections of the meridional mesh in AutoGrid5™ that correspond to the main entrance, main outlet and rotor-stator interfaces define these meridional sectors as shown in FIGURE 3. Note that the main entrance/exit could be a rotor/stator interface when the main channel of the first/last row defined in AutoGrid5™ is connected to a 3D effect meshed with IGG™. In a combined AutoGrid5™/IGG™ mesh, the FINE™/Turbo interface and solver will detect the AutoGrid5™ mesh part depending on the 2D meridional mesh.


FIGURE 3 Additional data necessary for computing the initial solution
The conservation of mass and rothalpy is applied on the streamlines of each meridional sector. Then the initial solution computed in the meridional view is interpolated in the 3D mesh.
Such initial solution 'for turbomachinery' can also be used for the blocks defining technological effects. For example, the axisymmetric elements such as seal leakages that are not included in the general meridional view can be treated easily. If the cell centre is not located in the meridional view, the pressure will be the pressure in the closest cell of the meridional mesh (idem for the temperature). The components of the velocity will be set to zero. This special treatment can be applied as well to the blocks included in 3D effects located in the main passage (cooling holes, …). Selecting the page techno effects uses this initial solution.
Modifying the AutoGrid5™ mesh in IGG™ afterward, can lead to a mismanagement of the blocks grouping. If some blocks are added, they are not included in the turbomachinery group, which is detected automatically by the interface. If some blocks are removed or renamed, the initial solution 'for turbomachinery' will be stopped.
If the combined AutoGrid5™/IGG™ mesh results from a merging of existing meshes in IGG™, the AutoGrid5™ mesh must be the first opened mesh to keep the 2D meridional mesh on which the  initial solution for turbomachinery is applied.
Interface for turbomachinery


FIGURE 4 Example of Turbomachinery-oriented initial solution
The turbomachinery-oriented page displays three major frames: one for the channel main entrance, one for the Rotor/Stator interfaces and one for the channel main exit. On the left of each frame, a tree shows by default the AutoGrid5™ grouping. If no patch name has been given in IGG™, the default name will be a concatenation of the name of the block, the index of the face and the index of the patch. These patches/groups cannot be modified in the Initial Solution page. If these patches/groups need to be edited, the user must go back to the Boundary Conditions or Rotating Machinery pages. 
The Channel main entrance frame lists all the existing inlet patches/groups that belong to the first row. The user has to specify the main entrance of the channel. Then, an input dialog box is provided to select the type of static pressure specification: constant distribution or radial equilibrium. One or two input boxes are provided in order to define the static pressure value to be used and, if radial equilibrium is chosen, the radius (in meters [m]) on which this radial equilibrium will be based. If the inlet of the first row is a rotor/stator interface, the ID number of the rotor/stator interface is displayed. For this case, the user has to set all the estimated inlet boundary conditions (static pressure, static temperature and velocity).
The Internal R/S connections frame lists all the existing rotor/stator interfaces between rows in the main channel. The name of the internal R/S connections is based on the ID number given in the Rotor-Stator tab of the Rotating Machinery page. For each connection, the user must select it and set the corresponding parameters, depending on the selected type of static pressure specification. The specified values will be shown in the Internal R/S connections frame.
The Channel main exit frame lists all the existing outlet patches/groups that belong to the last row. The user has to specify the main exit of the channel. Nothing needs to be set for the exit if this is an actual outlet. If the outlet of the last row is a rotor/stator interface, the ID number of the rotor/stator interface is displayed. For this case, the user has to set the corresponding parameters at the rotor/stator interface, depending on the selected type of static pressure specification. For a bypass configuration, the fourth frame Channel main up exit appears, allowing the user to specify the second exit of the bypass configuration.
When clicking  at the right side of the title Channel main entrance and Channel main exit, an information dialog box will appear, which remind the user to specify the corresponding boundary conditions at channel main entrance/exit. If the channel main entrance/exit contains a few patches and they are not grouped, the user can select one of the patches and set the corresponding parameters. The specified parameters will automatically be applied to the whole main entrance/exit.
Turbulent Quantities: in case a 1- or 2-equations turbulence model is selected,  the initial value of the turbulence must be imposed. The user can choose between several sets of turbulent quantities. Given a 1-equation turbulence model, following turbulent quantities are available:

Turbulent Viscosity

Turbulent Viscosity Ratio

Turbulent Intensity and Length Scale

Turbulent Intensity and Hydraulic Diameter

Modified Turbulent Viscosity


and given a 2-equations turbulence model:

k and ε

Turbulent Intensity and Viscosity Ratio

Turbulent Intensity and Length Scale

Turbulent Intensity and Hydraulic Diameter

From Friction Velocity


The Modified Turbulent Viscosity is equal to the turbulent working variable described in Spalart-Allmaras Model.
The From Friction Velocity option does not require the user’s input and generates the initial turbulence automatically based on the initial flow field.
If the Turbulence Intensity is selected, a reference speed will appear on the screen which is equal to the entered characteristic velocity  in the Flow Model page. This velocity is part of  the formula to convert the turbulence intensity to the used quantity in the transport equation(s) of the turbulence model.
An inlet patch must be defined for the first row for which a for turbomachinery initial solution has been chosen. If there is no inlet patch for the first row, a warning message is displayed in the FINE™/Turbo interface asking the user either to check the orientation of the rotor/stator connections or to change the type of initial solution.
The channel main exit frame does not appear in special configurations where the main channel exit is connected to the main channel entrance by a Rotor/Stator interface (for example, a torque converter). In this case, all boundary conditions are specified at the channel main entrance.
Expert Parameters
The initial solution for turbomachinery is used by default for AutoGrid5™ meshes. For backward compatibility reasons, the initial solution for turbomachinery can also be used for AutoGrid4™ meshes. This is controlled by the expert parameter INITRB. By default, the value is set to 2 to use the method for meshes created with AutoGrid5™. If FINE™/Turbo detects that a mesh created with AutoGrid4™ is loaded, the value is automatically set to 0 in order to use the old methodology. In this case, the old interface appears, shown in FIGURE 5.


FIGURE 5 Interface for AutoGrid4™ meshes
When using a mesh created by AutoGrid4™, the axisymmetric stream surfaces are defined by the grid surfaces and the initial solution is applied to each block. For this, the grid topology, orientation (I,J,K) and the type of down- and upstream boundary conditions are taken into account.

Best Practice on Time Accurate Computations
To perform time accurate computations, general advice is provided in this section. For advice on how to perform a time accurate turbomachinery calculation including rotor/stator interactions.
General Project Set-up for Time Accurate Computations

Create a new project,
Select the fluid to use in the Fluid Model page,
Select Unsteady time configuration in the Flow Model page and set all the other parameters on this page in the same way as for a steady computations as detailed in Flow model.
On the Rotating Machinery page set all the parameters (Phase Lagged option) in the same way as for a steady computation.
Set the steady or unsteady boundary conditions. For more detail on time dependent boundary conditions and phase lagged approach, see Time Dependent Boundary condition.
Concerning the initial solution for unsteady computations there are three possibilities:

to start from a steady solution,
to start from an unsteady solution,
to use constant values, initial solution for turbomachinery or throughflow as an initial guess with or without steady state initialisation.


For more detail on these initialisation procedures, see Initialisation procedure section.

All outputs available in steady mode are also available in unsteady mode (see Output).
On the Control Variables page set:

the physical time step or number of angular position  and the number of time steps or periods,
the amount of output files,
amount of iterations in steady state initialisation.


Time Dependent Boundary Conditions
Unsteadiness can be generated by means of time varying inlet/outlet boundary conditions. Two different situations can be encountered:

The time variation is imposed as an amplitude factor of the space variation,
The time variation is imposed by rotating the inlet and/or outlet boundary condition. The absolute rotation speed of the boundary condition(s) is imposed in the Boundary Conditions page.

Depending on the periodicity of the boundary condition the phase lagged approach needs to be used:

The circumferential distribution of the imposed inlet/outlet conditions has the same period as the blade row. The calculation of such time-dependent flow does not require to activate the Phase Lagged approach.
The period of the time varying inlet/outlet boundary condition is different from the blade passing period. The calculation of such time-dependent flow requires to activate the Phase Lagged approach at the top of the Rotating Machinery page.

A circumferential profile must be entered in the FINE™/Turbo interface for the full range [0,2π] and NPERBC = 1 or for part of the range [0,2π/N] covering one or multiple periods of the signal and NPERBC = N. The profile should be based on θ, z-θ or r-θ. The profile is rotating at the speed, specified in the Boundary Conditions page (Rotational Speed Unsteady).
It is important that the inlet/outlet unsteady boundary condition circumferential profile is imposed on a range covering the initial blade passage location and the blade passage location after one period of the signal (see FIGURE 4).
Initialisation Procedure
Start From Steady Solution
In most cases, it is first required to perform a preliminary steady state computation. The objective might be to ensure that the problem naturally depicts the unsteady behavior and/or to get an adequate guess solution before going towards time accurate calculations depicting periodic behaviors. The steady state initialisation may be done in a separate computation, performed in steady mode using the time-marching approach based on a local time stepping, which is proposed by default. The time accurate calculation is then started using this solution as an initial solution. To set up the time accurate calculation in this case follow the steps 1 to 8. In step 6 select in the Initial Solution page from file and select the solution of the steady computation. In step 8  it is also possible to select additional steady state initialisation in the Control Variables page.
Start From Time Accurate Solution
It is possible to start from a previously performed time accurate solution. For general information about starting from an initial solution.
In order to allow to do a second order accurate restart it is necessary that Multiple Filesoption is selected in the Control Variablespage in the Output Filesparameters. When the option is activated in unsteady calculations the ".cfv" and ".cgns" files are saved at the requested time steps and only a part of the ".cgns" file is saved for the previous time step. When requesting a restart of an unsteady computation the FINE™/Turbo solver will automatically find this second solution file to use. If this file is not found, a first order scheme is used for the first time step.
Steady State Initialisation in Unsteady Computation
The steady state initialisation is automatically performed before starting the time accurate computation (that means within the same computation). To perform a steady state initialisation in an unsteady computation, the number of iterations has to be entered in Steady Initialisation parameters on the Control Variables page.
Physical Time Step
The physical time step should be entered on the Control Variables page. The time step to choose depends on the expected frequency of the flow phenomena to capture. In general it is recommended to compute at least 10 to 20 time steps per period. 
When working with the Domain Scaling method, using a Number Of Angular Positions of 10 points per blade passage is giving a coarse but reasonable result. To have a more accurate (but more CPU consuming) result choose 20 to 30 points per passage.
When working with the Phase Lagged method, the Number Of Angular Positions is the number of time iterations per 2π.
The following examples show the settings of Number Of Angular Positions and Number Of Time Steps when using an unsteady inlet boundary condition.
Example 1: single blade row calculation involving phase-lagged boundary conditions
When working with a N1 blades turbomachine and a periodic signal at inlet presenting a periodicity of N2 and plotted on [0,2π/N2] range. 

Number Of Angular Positions  = i x N1 where i is an integer imposed so that (i x N1) is around 30.
Number Of Time Steps = j x (Number Of Angular Positions) where j is the number of full revolutions. Usually j is set to 20.
NPERBC = period of the signal (N2)

(Number Of Angular Positions)x(NPERBC) corresponds to the number of time steps per full revolution (2π)
Example 2: complete row calculation involving sliding boundary conditions
When working with a N1 blades turbomachine and a periodic signal at inlet presenting a period of N2 and plotted on [0,2π] range. 

Number Of Angular Positions  = i x N1 x N2 where i is an integer so that (i x N1) and (i x N2) are around 30.
Number Of Time Steps = j x (Number Of Angular Positions) where j is the number of full revolutions. Usually j is set to 20.
NPERBC = 1

(Number Of Angular Positions)x(NPERBC) corresponds to the number of time steps per full revolution (2π)
Amount of Output
By default only one set of output files is created, which is periodically overwritten. Activate Multiple Files in the Control Variables page to create a set of output files for each time step that an output will occur (this depends on the Save solution Every entry available in the Control Variables page).
".cgns" files will be generated. The files are automatically renamed accordingly to the time step computed using the suffix "_t#." that is thus determining the #th physical time step. The corresponding ".cfv" files can be read in CFView™ only if in addition of the Multiple Files the Intermediate option has been selected in the Output For Visualization option. Note that the ".run" and ".cgns" files (without "_t#." suffix) are linked to the initial state of calculation. 
Time Averaged Solution
For domain scaling simulations, the user can get a time averaged solution by activating the option Include Time Averaged Solution in Output on the interface. But for phase lagged simulations, this is not the case. A tool plg2harmo is provided in the FINE™/Turbo package. Using  plg2harmo, the user can compute a time averaged solution from the solutions obtained by the phase lagged simulation or the domain scaling simulation.
The tool plg2harmo can only be launched from the shell. 
On Linux:
plg2harmo<version> project-path/project-name.run
On Windows:
Installation path\bin64\plg2harmox86_64.exe project-path/project-name.run    (for 64bits OS)
Then two new files "project-name_ft0.run" and "project-name_ft0.cgns" will be generated. The two files include the time averaged solution. The user can load these files into CFView™ for post-processing.
The tool plg2harmo can only be used to turbo configuration. All the time steps corresponding to 1 periodicity must be present in the computation folder. For phase-lagged computations, the periodicity should be the larger one.
The treatment of solid data is not allowed.
The calculation of time-averaged velocities for a computation with an inlet or outlet distortion set as boundary condition is not allowed.

Gravity Forces
When gravity should be taken into account the box Gravity Forces should be checked. If gravity is activated, three input dialog boxes appear to define the Gravity Vector. The default gravity vector is defined as: (gx, gy, gz)=(0,-9.81,0) [m/s²], representing the gravity on Earth where the y-axis is oriented normal to the ground.


When the gravity is taken into account in the Navier-Stokes equations, the source terms  and  are respectively introduced in the momentum and energy conservation equations where ρ is the density,  the gravity vector and  the velocity vector.
If the fluid is a liquid, the density is constant and there is no influence of the pressure or temperature on the flow by interaction with the gravity. To simulate these interactions, one can use the Boussinesq approximation in the gravity source terms. With this approximation, the density is developed in the first order of the MacLaurin series. It becomes:
 
with α the compressibility and β the dilatation coefficients specified in the fluid properties.
This variation of the density is only applied to the gravity source term (Boussinesq approximation). Otherwise, the density is kept constant in the conservation equations. The value of  is the characteristic density specified in the Configuration/Flow Model page.  and  are the reference values in the Configuration/Flow Model page. 
When the gravity is taken into account, a reference pressure must be specified at a reference altitude to add the hydrostatic pressure in the initial pressure field. The reference pressure is the reference value in the Configuration/Flow Model page. The reference altitude is specified in the expert parameter IREFPT in meter [m].

Main Characteristics for Water (Steam)
Water (steam) tables come in the form of 13 tables, described as follows:
DHS:	interpolates density as a function of entropy and static or total enthalpy
DPT:	interpolates density as a function of static pressure and temperature 
EPT:	interpolates internal energy as a function of pressure and static temperature 
HSP:	interpolates static or total enthalpy as a function of entropy and static or total pressure
KER:	interpolates thermal conductivity as a function of internal energy and density
MER:	interpolates dynamic viscosity as a function of internal energy and density
PER:	interpolates static pressure as a function of internal energy and density 
PHS:	interpolates static or total pressure as a function of entropy and static or total   enthalpy
PSA:	defines the saturation line
RHP:	interpolates density as a function of total enthalpy/total pressure or relative enthalpy/relative pressure
SHP:	interpolates entropy as a function of total enthalpy/total pressure or relative enthalpy/relative pressure
TER:	interpolates static temperature as a function of internal energy and density 
THP:	interpolates static temperature as a function of total enthalpy/total pressure or relative enthalpy/relative pressure
The Water (Steam) tables are generated by using the equation of state FEQ (the IAPWS Formulation 1995). The range of admissible variations for the thermodynamic variables is:

Pressure  [Pa, Pa],
temperature  [273.16K, 1350K].

TABLE 1 Main characteristics of water (steam) thermodynamic tables








Tables


Grid


Interpolation


Size [Mb]






DHS


300 x 300


bi-cubic 


30.5




DPT



300 x 300


bi-cubic


30.5




EPT



300 x 300


bi-cubic 


30.5




HSP



300 x 300


bi-cubic


30.5




KER



300 x 300


bi-cubic


30.5




MER


300 x 300


bi-cubic 


30.5




RER


300 x 300


bi-cubic 


30.5




PHS


300 x 300


bi-cubic


30.5




PSA


200 


cubic


0.1




RHP


300 x 300


bi-cubic


30.5




SHP



300 x 300


bi-cubic


30.5




TER



300 x 300


bi-cubic 


30.5




THP


300 x 300


bi-cubic


30.5




TABLE 1 lists the discretization size of the grid, the interpolation algorithm and the size of the table.

Defining Initial & Boundary Conditions
Turbulence is commonly modeled by emulating molecular diffusion with a so-called "eddy-viscosity" (μT). A standard method for determining μT is based on turbulent-eddy length and time scales that are modeled through turbulence kinetic energy (k) and dissipation (e.g. ε) equations. It is important to note that the level of turbulence quantities (i.e. turbulence intensity, μT, k, ε ) specified at the inlet boundary can have a strong effect on the flow-field prediction for quantities like the total pressure, velocity profiles, flow angles, total temperature etc. Since the measurement of turbulence is rarely conducted in a design and test environment, the designer faces the problem of setting these quantities without knowing the correct values.
Spalart-Allmaras Model
When the Spalart-Allmaras model is selected, , the user has the possibility to define the turbulence by different sets of turbulent quantities. Following options are available:

Turbulent Viscosity

Turbulent Viscosity Ratio

Turbulent Intensity and Length Scale

Turbulent Intensity and Hydraulic Diameter

Modified Turbulent Viscosity (Only available for the initial solution)

The Modified Turbulent Viscosity is equal to the turbulent working variable described in Spalart-Allmaras Model.
The level of turbulence is extremely sensitive to the type of application. Therefore, if the indication of the actual level of turbulence in the studied or similar configuration is available, the user should use it. If no information is available on the order of magnitude of any available turbulent quantity, estimations can be made based on the following assumptions that:


For internal flows (e.g. turbomachinery): = 10 to 100 (high turbulence).
For external flows (e.g. vehicle aerodynamics): .

k-ε, k-ω, EARSM and v²-f Models
When the k-ε , k-ω and v²-f models are selected, the initial turbulence and the turbulence at the boundaries have to be specified. The user has the possibility to define the turbulence by different turbulent quantities. Following options are available:

k and ε

Turbulent Intensity and Viscosity Ratio

Turbulent Intensity and Length Scale

Turbulent Intensity and Hydraulic Diameter

From Friction Velocity (Only available for the initial solution)

The From Friction Velocity option does not require the user’s input and generates the initial turbulence automatically based on the initial flow field. This option is used by default (with INIKE=2) when the full multigrid initialization starts with the Baldwin-Lomax model (KEGRID-1<=number of grid levels) to take advantage of the already computed flow field on coarser grid levels.
If no information is available on the turbulence properties of the flow, estimations of some turbulent quantities can be made based on the following formulations.

The turbulence intensity Tu can be estimated:

For internal flows, the value of Tu is between 1% and 10% according to the expected turbulence intensity. A value of 5% is used by default.
For external flows, the value should be reduced to 1%.

If desired, the value of k can be derived from the turbulent intensity with following formula





The turbulent viscosity ratio can be estimated:

For internal flows (such as turbomachinery flow), typical values are  = 10 to 100 (high turbulence). The default value is 10.
For external flows (in aerodynamics computations), typical value is  = 1

If desired, the value of ε can be derived from the turbulent viscosity ratio with following formula



Using the turbulent length scale is another option. The default value of the turbulent length scale is set to 0.0001m. It is directly related to epsilon by the following formula



Increasing the turbulent length scale implies a lower dissipation rate and consequently a higher turbulence in the flow.
If the wall shear stress is known, the user can use the wall functions defined for the fully turbulent flow to determine k:



Or to determine ϵ:




The values of the inlet boundary conditions can be used to set the initial turbulent fields. However, with 2-equations turbulence models, to reduce the possibility of oscillations in skin friction due to non-physical relaminarization during convergence, it is recommended to set  for the initial solution:

A lower value for epsilon  ( = 0.1 ) in case k and ε is selected as the turbulent quantity
A higher turbulent viscosity ratio if this is lower than 1 in case Turbulent Intensity and Viscosity Ratio is selected as the turbulent quantity
A  higher value for  the turbulent length scale in case Turbulent Intensity and Length Scale or Turbulent Intensity and Hydraulic Diameter is selected as the turbulent quantity

Either of the above methods can be applied for setting the boundary conditions in turbomachinery applications. If the inlet turbulence is unknown to the user, it is suggested to select the Turbulent Intensity and Viscosity Ratio option and to keep the proposed default values (which should be adapted for external cases). However, if the given values lead to the damping of the turbulence shortly after the inlet section, it is advised to increase the turbulent viscosity ratio (set to 50 or more if it is not sufficient).

Turbulence Models

When selecting Turbulent Navier-Stokes equations, turbulence is taken into account depending on the chosen turbulence model. In FINE™/Turbo, several turbulence models are available:

Algebraic model (0-equation): 

Baldwin-Lomax

1-equation model: 

Spalart-Allmaras
Spalart-Allmaras (Extended Wall Function)
SARC, 
SARC (Extended Wall Function), 

2-equation models:

k-ε  (Extended wall function)
k-ε  (Standard wall function), 
k-ε  (Low Re Yang-Shih)
k-ε  (Low Re Chien)
k-ε  (Low Re Launder-Sharma)
Shear Stress Transport (SST) 
SST (Extended wall function)
EARSM
EARSM (Extended wall function)
k-ω (Wilcox)

4-equation model: 

v²-f (code friendly)


For the Baldwin-Lomax model, algebraic formula is used to compute the turbulent data and consequently no additional input is needed. For all the 1/2/4 equation(s) models, additional equation(s) are solved and consequently suitable initial and boundary conditions must be defined in the interface.
The DES (Detached Eddy Simulations) model has been implemented in FINE™/Turbo. For more information, please contact your local support office.
Please refer to the theory guide for the details of the turbulence models. 
It is not recommended to use a previously computed solution with different turbulence model. For k-ε models, the Chien and the Launder-Sharma models belong to the same family (zero value of ε  at the wall) while the standard and Yang-Shih model belong to a second family (non zero value of ε  at the wall). Launching a restart from a previously computed solution is only allowed as long as the user sticks to the same family.

Boundary conditions

get_nb_bc_groups(BCType)
Return the number of group of patches (BCGroup) for the specified boundary type. A BCGroup can be a single patch, or a group of patches.
BCType can be: 

"INLET"
"OUTLET"
"SOLID"
"EXTERNAL"
"ROTOR-STATOR"

get_bc_group( value )
Return the BCGroup from value.
value can be:

a B.C. type and a group index. Example: get_bc_group("INLET",0)
a B.C. type and a group name. Example: get_bc_group("INLET","row1_inlet_1")
a BCPatch (see description below)

The BCGroup is stored in an object of type "BoundaryConditionGroup".
create_BC_group(name, value )
Create a new BCGroup.
name: name of the group
value: list of the patches to be grouped. it can be either the list of patches (list of BCPatch objects)  to be grouped, or a pattern to get the patches with matching name (example: "*inlet" will group all patches which name ends by "inlet").
ungroup_BC_patches(bc_type,group_name)
Remove all patches from the group specified from its name and B.C. type bc_type. 
get_nb_bc_patches(BCtype )
Return the number of patch (BCPatch object), of specified BCtype.
get_bc_patch_by_index(BCType, index)
Return BCPatch object from patch index
get_bc_patch(blockID, faceID, patchID)
Return BCPatch object from (blockID,faceID,patchID) indices (starting from 0).
get_bc_patch_by_name(BCType, name)
Return BCPatch object from patch name
The BCPatch is stored in an object of type "BoundaryConditionPatch".

Expert Parameters
In this section, the expert parameters which can be used in the definition of the fluid type can be found. This is only a summary to know directly the expert parameters related to the definition of a fluid.
All expert parameters related to fluid definition are available in Expert Mode in the Control Variables page. For these expert parameters the default values only have to be changed in case the user has specific wishes concerning the fluid modeling.
PRT (real):	Allows to define the turbulent Prandtl number (default value = 1.0).
CLIPCG (integer):	The thermodynamic tables are generated in a given range of thermodynamic variables. When the thermodynamic variables are not in the given range, the expert parameter CLIPCG can be used to control the computing method of the dependent thermodynamic variable.
0: the dependent thermodynamic variable is extrapolated from the interior field.
1 (default): a clipping value will be used for the dependent thermodynamic variable.

Edit Fluid
When the user has the write permission for a fluid, the properties of the selected fluid can be modified by clicking on Edit Fluid.... A wizard will appear allowing to modify the name, the type and the laws defining the selected fluid. 

Information linked to fluid edition is stored in the fluid database only when closing the FINE™/Turbo interface. As a consequence, this information will not be available to other users until this operation is completed. A message will however warn users that the fluid properties have been modified by the owner.

References

Saxer, A. P. and Giles, M. B., 1993, "Quasi-Three-Dimensional Nonreflecting Boundary Conditions for Euler Equations Calculations", AIAA Journal of Propulsion and Power, Vol. 9, No. 2.
Giles, M. B., 1991, “UNSFLO: A numerical method for the calculation of unsteady flow in turbomachinery”. GTL Report No.205.

References

Adamczyk, J. J., 1985, "Model Equations for Simulating Flows in Multistage-Turbomachinery", ASME Paper 85-GT-226.
Chen, T., Vasanthakumar, P., and He, L., 2001, "Analysis of Unsteady Blade Row Interaction Using Nonlinear Harmonic Approach", AIAA Journal of Propulsion and Power, Vol. 17, No.3.
Hirsch Ch., Ghorbaniasl Gh., Ramboer J., 2003, " Fan noise simulation in the time domain: Validation test cases", the second international symposium on Fan Noise, Senlis (France).
Erdos J.I., Alzner E. & McNally W., 1977, "Numerical Solution of Periodic Transonic Flow Through a Fan Stage", AIAA Journal, Vol. 15, No. 11, pp. 1559-1568
Fatsis, A., Pierret, S., Van den Braembussche, R., 1995, " 3D unsteady flow and forces in centrifugal impellers with circumferential distortion of the outlet static pressure ", ASME, 95-GT-33.
Ffowcs Williams J.E. and Hawkings D.L., 1969, "Sound generation by turbulence and surfaces in arbitrary motion", Philosophical transactions of Royal Society, London, (A), Vol. 264, pp. 321-342.
Gerolymos, G. A., Michon, G. J., and Neubauer, J., 2002, "Analysis and Application of Chorochronic Periodicity in Turbomachinery Rotor/Stator Interaction Computations", AIAA Journal of Propulsion and Power, Vol. 18, No. 6.
Giles, M.B., 1988, "Non-reflecting boundary conditions for the Euler equations", Technical Report TR-88-1, MIT Computational Fluid Dynamics Laboratory.
Giles M.B., 1990, "Stator/Rotor Interaction in a Transonic Turbine", Journal of Propulsion and power, Vol. 6, No. 5,  pp. 621-627
He L., 1997, "Computational Study of Rotating-Stall Inception in Axial Compressors", Journal of Propulsion and Power, Vol. 13, No. 1, pp. 31-38
He, L. and Ning, W., 1998, "Efficient Approach for Analysis of Unsteady Viscous Flows in Turbomachines", AIAA Journal, Vol. 36, No. 11.
He L., Chen T., Wells R.G., Li Y.S. and Ning W., 2002, "Analysis of Rotor-Rotor and Stator-Stator Interferences in Multi-Stage Turbomachines", ASME paper GT-2002-30355.
Lemeur A., 1992, "Calculs 3D stationnaire et instationnaire dans un étage de turbine transonique", AGARD Report CP-510
Li, H.D. and He, L., 2003, "Blade Count and Clocking Effects on Three-Bladerow Interaction in a Transonic Turbine", Journal of Turbomachinery, Vol. 125, No. 4, pp 632-640.
Lighthill M.J., 1952, "On sound generated aerodynamically. Part 1. General theory", proceeding of the Royal Society (a), Vol. 211, pp. 564-587.
Paniagua G., Persico G., Billiard, N., and Dénos, R., 2007, "Modulation of the rotor-stator interaction due to clocking", ETC 2007 proceedings, pp 1229-1243.
Rai M.M., 1989, "Three-Dimensional Navier-Stokes Simulations of Turbine Rotor-Stator Interaction; Part I - Methodology and Part II - Results", Journal of Propulsion and power, Vol. 5, No. 3, pp. 305-319
Saxer, A. P. and Giles, M. B., 1993, "Quasi-Three-Dimensional Nonreflecting Boundary Conditions for Euler Equations Calculations", AIAA Journal of Propulsion and Power, Vol. 9, No. 2.
Van Leer B., 1985, "Upwind-Difference Methods for Aerodynamic Flows Governed by the Euler Equation", Lectures in Applied Mathematics, Vol. 23, Part 2, AMS, Providence, pp. 327-336
Vilmin S., Lorrain E., Hirsch C., Swoboda M., 2006, "Unsteady Flow Modeling Across The Rotor/Stator Interface Using The Nonlinear Harmonic Method", ASME Paper GT-2006-90210.
Vilmin S., Lorrain E., Hirsch C., Swoboda M. 2009. "Application of a Nonlinear Harmonic Method to the Simulation of Clocking Effects", ASME Paper GT2009-59475.
Vilmin S., Lorrain E., Tartinville B., Capron A., Hirsch C., 2013. "The nonlinear harmonic method: from single stage to multi-row effects", International journal of computational fluid dynamics, Vol. 27: pp. 88-99.
Vilmin S., Lorrain E., Debrabandere F., Tartinville B., Capron A., Hirsch C., 2013. "The nonlinear harmonic method applied to the combined effects of multi-row unsteady flows", ASME Paper GT2013-94847.

Cylindrical Inlet Boundary Conditions

Time Averaging of Navier-Stokes Equations
In principle, the Navier-Stokes equations describe both laminar and turbulent flows. However, turbulence is a nonlinear process with a wide range of spatial and temporal scales. The direct simulation of complex turbulent flows in most engineering applications is not possible and will not be for the foreseeable future. 
In the context of scale modeling, the most direct approach is offered by the partitioning of the flow field into a mean and fluctuating part. This process will produce the Reynolds Averaged Navier-Stokes (RANS) equations.
The Reynolds averaged equations are derived by averaging the viscous conservation laws over a time interval T, large enough with respect to the time scales of the turbulent fluctuations, but small enough with respect to all other time-dependent effects. Time averaging is performed as follows.
 The quantity A in the Navier-Stokes equations is time averaged related to the instantaneous value through: 



where




 is the time averaged value and  is the fluctuating part. Furthermore, we have:



The corresponding density weighted average is defined through:



with



and



Density and pressure are time averaged, whereas energy, velocity components and temperature are density weighted time averaged.
The averaged form of the Navier-Stokes equations is the same as the general Navier-Stokes equations, with:



where the density averaged total energy is given by:



k is the turbulent kinetic energy and is defined by:

Conjugate Heat Transfer
Introduction
The conjugate heat transfer model allows the simulation of the thermal coupling between a fluid flow and the surrounding solid bodies. It assumes that some of the blocks of the multiblock mesh are "solid", whereas the other ones are "fluid". The connections between the solid and fluid blocks become "thermal connections" along which the fluid-solid coupling is performed.
Simulation of Conduction

It has been shown in the previous chapters that the FINE™/Turbo solver is based on a cell centered finite volume approach, associated with a centred or upwind space discretization scheme together with an explicit Runge-Kutta time integration method. The same type of approach can be used to simulate the conduction in solid bodies. The only term remaining in the finite volume equilibrium results from the heat conduction. The discretised form of the remaining part of the energy equation applied to the control volumes can be written as:



where  is the volume of the control volume,  is the normal vector to the faces of the control volume and ,  and  are respectively the conductivity, density and specific heat of the solid body.
This equation is applied to calculate the change of temperature  at a given time step resulting from the equilibrium of the conduction fluxes through the faces of the control volume.
One can notice that the absence of any advective contribution in the equilibrium permits to avoid the use of artificial dissipation (case of a centered scheme). It also imposes to adopt a pure diffusive approach for the calculation of the time step. For a 2D problem the time step is calculated according to:



One can notice that once the 2 above equations are put together the heat capacity  is eliminated from the equation, and is hence not required as input data.
Exactly as for the flow solver the adopted time integration approach is a 4- or 5-steps Runge-Kutta scheme whose efficiency is largely enhanced by the use of an implicit residual technique and of a multigrid strategy.
This finite volume approach can be used for both steady and unsteady conduction problems. Its efficiency has been compared for steady state applications to the classical Gauss-Seidel and PSOR schemes often employed for the resolution of pure elliptic equations. The results have shown that the use of a time marching approach together with multigrid is much more efficient.
Thermal Coupling Between Solid & Fluid Blocks
The fluid-solid interfaces constitute a new type of boundary condition, referred to as "thermal connections", along which, the heat-flux and temperature are imposed to be equal.
The calculation is performed simultaneously on the fluid and solid blocks. The thermal coupling is applied each time the boundary conditions are applied. Note that no particular procedure is required in order to initiate the calculation. The full multigrid strategy is very efficient in order to rapidly establish an overall temperature distribution in the domain.
On both solid and fluid sides, the thermal boundary condition imposes a temperature profile. This profile is iteratively recalculated in order to ensure equality of the heat-fluxes calculated on both sides:



where  and  are the heat transfer coefficients and  and  are the first inner cell temperatures on fluid and solid side respectively. The heat transfer coefficients in the solid side are calculated in a simple way, assuming a sufficient orthogonality of the mesh:



where  is the local conductivity and  is the distance between the inner cell center (where the temperature of  and  is taken) and the wall.
In the fluid side, the conduction heat flux can be used only when the viscous sublayer is discretized. If the first cell is not in the viscous sublayer, a convective heat flux must be considered. The thermal connection between fluid and solid body is adapted to the high Reynolds turbulence model with wall functions by using the following generalized formula for the heat transfer coefficient:



with:


 in the viscous sublayer (<13.2);
  in the turbulent layer.

Full Non-matching Thermal Connections
The Full Non-matching algorithm already used for the fluid-fluid connections can be used in the Conjugate Heat Transfer (CHT) module. It is based on the same coupling procedure, including the calculation of the interface temperature and heat-flux. In case the patches are not fully connected, as for instance in FIGURE 1, the remaining patch is assumed to be adiabatic.
The thermal coupling equation is applied successively to all elements resulting from the FNMB decomposition algorithm. This procedure gives as a result a separate value of the interface temperature and of the heat-flux for all elements.
The interface temperature on the left and right patch cells is then calculated as a weighted averaging of the temperatures of the elements concerned by the cell. If the cell is not fully connected an additional contribution is added, the non connected part of the cell being assumed to be adiabatic:
  with 
In the generic case of FIGURE 1:

the cell 1 is not connected and the above equation is applied with  = 1,
the cell 2 is partially connected and 0 <  < 1,
the cell 3 is fully connected and  = 0.

The heat-flux density is calculated as the summation of the contribution of the elements:



Note that the heat-flux density is saved instead of the heat-flux so that the thermal connection boundary condition is compatible with the boundary condition imposing the heat-flux density. In the routine imposing the heat-flux into the residual the heat-flux density is re-multiplied by the cell surface.
It should be mentioned that hybrid connections are allowed, this means that each side of the interface can be composed of fluid and solid patches.


FIGURE 1 Generic example of FNMB/CHT connection
Conjugate Heat Transfer and Nonlinear Harmonic Method
The extension of the Conjugate Heat Transfer analysis to the Nonlinear Harmonic Method requires two main steps:

Solution of temperature harmonics in the solid domain, similar to the solution of the time-mean temperature;
Establishment of harmonic thermal connections between the solid and the fluid domains, again similar to the time-mean thermal connection.

Harmonic equation of temperature in the solid domain
The formulation starts with the time-mean heat conduction equation in finite volume form in the solid domain, as outlined previously. Since the time step  is directly proportional to  , the value of  is not required in practice. The harmonic equation has a similar form with the addition of the harmonic source term:



where  is the harmonic amplitude of temperature (a complex number),  is the imaginary unit, and  is the harmonic frequency. In this implementation, the source term, , is treated implicitly for numerical stability. The implicit treatment of the source term leads to a system of two equations and two unknowns (i.e., the real part and the imaginary part of the harmonic amplitude of temperature). Defining the right-hand side of the equation above as ,  the system of equations can be written as:



The solution of system above gives:



Note that unlike for the time-mean equation, the value of  is required in the harmonic equations. Also, note that when solid properties such as  and  are a function of temperature, they are evaluated using the time-mean temperature. This is consistent with the fluid property evaluation in the current nonlinear harmonic implementation.
Harmonic connection between solid and fluid domains
Thermal connections between solid and fluid domains require the continuity of temperature as well as heat flux at the connections. Time-mean wall temperature is calculated as:



Wall temperature, , is updated at each time step and applied as boundary condition for each side. For harmonics of temperature, the same relation can be used by only replacing the time-mean temperatures with the harmonic amplitudes of temperature:



It is important to note that the relation for thermal connection assumes a linear variation of temperature between the wall and the first inner cell. Therefore, for an accurate connection calculation, the first inner cell should be close enough to the wall for the linear assumption to hold. For a harmonic thermal connection, it is recommended to keep this distance at 10% of the thermal wave diffusion length, ,defined as:

Temperature
Similarly, for isothermal walls, the following laws are considered in the code:



in the viscous sublayer
where Pr is the laminar Prandtl number and: 



in the turbulent layer, where 

.
The heat flux at the wall is defined as:



A complete description of the available thermal boundary conditions at walls is provided in the Solid Wall Boundary Conditions section.
The "law of the wall" distributions of velocity, temperature and other variables are assumed to prevail across the boundary layer. They are imposed at the node of a single grid cell for which the user is advised to check that 20<y+<100. As a result, if the first cell node from the wall is placed too close, calculation is conducted in the viscous sublayer and the law is no longer valid. Similarly, if the first node is placed too far away, then a discrepancy may exist between the profiles and their assumed shape.

SARC Model
The SARC model results from modifications brought to the Spalart-Allmaras (S-A) model, which have been introduced by Spalart and Shur (1997) and Shur et al. (2000), in order to take into account rotation and curvature effects.
The only difference of the SARC model with the original Spalart-Allmaras model is that the production term in the Spalart-Allmaras eddy viscosity transport equation is multiplied by the following function:



where cr1, cr2, and cr3 are model constants.
The variables  and  are derived from the strain rate and the vorticity tensors:

,   
where the strain rate and the vorticity tensors are defined as






and the remaining variables derived from those two tensors:

 and  and D²=0.5(S²+)
In general, the modification will improve cases where rotation and curvature effects are important. In the current implementation, the temporal derivative (unsteady term) of the strain tensor is disregarded.

Numerical Schemes


This chapter describes the basic solution theory in the FINE™/Turbo solver:

k-ω Turbulence Models
Wilcox k-ω Model
The k-ω turbulence model is a widely tested two-equation eddy viscosity model with integration to wall. This model was originated at about the same time and was developed in parallel with the k-ϵ model as an alternative to define the eddy viscosity function. In the k-ω turbulence model two additional transport equations for the turbulent kinetic energy, k, and the specific dissipation rate, ω, are solved. 
The Wilcox k-ω model has been proven to be superior in numerical stability to the k-ϵ model primarily in the viscous sublayer near the wall. This model does not require explicit wall-damping functions as the k-ϵ model and other two-equation models due to the large values of ω in the wall regions. The numerical wall boundary conditions require the specification of the distance from the wall to the first point off the wall. In the logarithmic region, the model gives good agreement with experimental results for mild adverse pressure gradient flows.
In this model, the turbulent kinematic viscosity is defined as a function of the turbulent kinetic energy, k, and the specific dissipation rate of the turbulent frequency, ω, as follows:



The two transport model equations for the k and ω scalar turbulence scales are defined below.






where  is the production rate of turbulence. The model constants are defined as:

, , , , 
Shear-Stress Transport (SST)  Model
The worst shortcoming of the Wilcox k-ω turbulent model is that its results are extremely sensitive to the small free stream value of ω in free-shear layer and adverse-pressure-gradient boundary layer flows. In order to solve this problem, a blended model has been proposed by Menter (1994) that allows to use Wilcox k-ω model near solid walls and the standard k-ϵ model, in a k-ω formulation, near boundary layer edges and in free-shear layers, as called BSL k-ω model. The BSL k-ω model uses the definition of the turbulence viscosity derived from the original k-ω model. 
In order to blend the k-ω and the k-ϵ model, the latter is transformed into a k-ω formulation. The differences between this formulation and the original k-ω model are that an additional cross-diffusion term appears in the ω-equation and that the modeling constants are different. The original k-ω model is then multiplied by a function  and the transformed k-ϵ model by the function  and the corresponding equations of each model are added together. The function  is designed to be a value of one in the half inner part of the boundary layer (where the model behaves like the original model) and decreases to vanish far from the wall.
The Shear-Stress Transport model (SST) is identical to the BSL k-ω model except that the values of the model constants and the definition of the turbulence viscosity. The SST model modifies the turbulence viscosity function to improve the prediction of separated flows and to avoid invariably overestimated Reynolds stresses with the k-ω and k-ϵ models in adverse pressure gradients. This modification is done on the basis of a Townsend-Lighthill design for the specification of turbulent eddy viscosity. Two-equation models generally under-predict the retardation and separation of the boundary layer due to adverse pressure gradients. This is a serious deficiency, leading to an underestimation of the effects of viscous-inviscid interaction which generally results in too optimistic performance estimates for aerodynamic bodies. The reason of this deficiency is that two-equation models do not account for the important effects of transport of the turbulent stresses. The Johnson-King model (1985) has demonstrated that significantly improved results can be obtained with algebraic models by modeling the transport of the shear stress as being proportional to that of the turbulent kinetic energy. A similar effect is achieved in the present model by a modification in the formulation of the eddy viscosity using a blending function  in boundary layer flows.
The turbulent kinematic viscosity is defined as the following function of the turbulent kinetic energy, k, and specific dissipation rate of turbulent frequency, ω:



where 



In turbulent boundary layers, the maximum value of the eddy viscosity is limited by forcing the turbulent shear stress to be bounded by the turbulent kinetic energy times . The auxiliary function, , is defined as a function of wall distance d as:



The two transport equations of the model are defined below with a blend function  for the model coefficients of the original ω and ϵ model equations.






where  is the production rate of turbulence. The last term on the right hand side of the equation above is a cross diffusion term that only active outside of the boundary layer.
The constant . The variables γ, β, ,  denoted with the generic symbol ϕ are defined by blending the coefficients of the original k-ω model, denoted as , with those of the transformed k-ϵ model, denoted as :



with the coefficients of the original models defined as:

Inner model constants , , , 
Outer model constants , , , 

The auxiliary blending function , designed to blend the model coefficients of the original k-ω model in boundary layer zones with the transformed k-ϵ model in free-shear layer and free-stream zones, is defined as:



with

Default Mixing Plane Approach
Geometrical and Topological Constraints
The rotor-stator interfaces are defined by stripes. A stripe is the element along which the required averaging in tangential direction is carried out. It is composed of a number of boundary patches which must cover the same range in the spanwise direction. The upstream and the downstream sides are distinguished. Each boundary condition must belong either to the upstream or to the downstream side. These two sides communicate through the exchange of pitch-averaged variables. The meshes do not need to match in the spanwise direction, but the azimuthal mesh lines on the boundaries must be circular arcs.
Communication Process
On both sides, the flow state is extrapolated from the inner cells onto the interface. It is then interpolated onto meshes that share the same spanwise grid point distribution on both sides. The pitchwise averaging is carried out on those meshes and the mixing process, depending on the boundary condition type, is applied. This mixing process combines the variable on one side of the interface with the pitchwise averaged variables of the other side. Once the mixing process is completed, the flow state is interpolated back onto the initial mesh interface and the dummy cells are set to impose the calculated variables on the interface.
The extrapolation of the flow state from the inner cells onto the interface can be done using different techniques. These are the same as those used by the outlet boundary conditions.
Before the mixing process, the averaged variables can be underrelaxed to stabilize the calculation. The relaxation factor is user input (RQSTDY), the default value being 1, which means that no under-relaxation is performed in the default configuration of the solver. The possibility is given to the user to update the rotor-stator boundary conditions every NQSTDY iterations. If the parameter NQSTDY is set to zero (default), the update is done at every Runge-Kutta step.
Different Available Boundary Conditions

The rotor/stator interface included in the FINE™/Turbo solver exchange the mass, momentum, and energy fluxes instead of the classical primitive variables. The advantage of a flux-based approach is that a more strict global conservation through the interface is ensured. Two kinds of boundary conditions are currently available and are described in this paragraph:

The local conservative coupling (with flux decoding),
The conservative coupling by pitchwise rows (no flux decoding).

Local Conservative Coupling (With Flux Decoding)
On each mesh point of both sides of the interface, a test is done to detect whether the interface can be considered as a sub- or supersonic in- or outlet. Then a transfer of the fluxes and pressure from the other side is performed depending on the result of the test.

If the side is considered as a supersonic inlet, all the averaged fluxes from the other side are taken with the averaged pressure.
If the side is considered as a subsonic inlet, the averaged fluxes are taken from the other side. The local pressure is kept.
If the side is considered as a subsonic outlet, only the pressure is transferred from the other side. The local fluxes are kept.
If the side is considered as a supersonic outlet, nothing is taken from the other side.

Once the transfer is completed, a decoding of the fluxes with pressure is carried out on each side with the formulas which depend on the type of fluid.
Compressible flows
For compressible flows, the density, velocity vector and pressure are derived from , respectively the flux of mass, the flux of momentum plus the pressure force and the flux of energy. The other variables such as k or ε are also derived from their fluxes. They are referred to, in the following as X an QX. The fluxes are constructed from the primitive variables using:



where ρ is the density,  the absolute velocity vector, T the temperature, Cp the heat capacity and  the surface vector of the cell face. After application of the mixing process the primitive variables are calculated from the fluxes using:



            where γ is the specific heat ratio.
Incompressible flows
For incompressible flows, the velocity vector and pressure are derived from , respectively the flux of mass and the flux of momentum plus the pressure force (See Eq. 7-1). The other variables like k or ε are also derived from their fluxes. They are referred to, in the following, as X and QX. As far as the energy equation is concerned, the temperature is also derived from its flux like the other X variables.



Conservative Coupling by Pitchwise Rows (No Flux Decoding)
The local conservative coupling approach presents two weaknesses:

The decoding of the fluxes might in some case lead to a blow up of the process, especially at transonic flow conditions, because of the presence of a square root in the primitive variable equations, whose positivity is not always guaranteed.
The local approach may lead to opposite decisions on the flow direction for the corresponding mesh points of both sides of the interface, which as a consequence decreases the accuracy on the global conservation.

Therefore a new boundary conditions has been developed, in which the decision on the direction of the flow is taken only once per pitchwise row, and which avoids the fluxes decoding. This new boundary condition has shown to be more robust in most cases and guarantees a strict global conservation. The only type of application for which a local approach would better suit is the impeller-volute interaction.

Total Enthalpy & Dryness Fraction Imposed (Subsonic - Condensable Gas)
In cases where the inlet thermodynamic state is located on the saturation curve or inside the biphasic zone, traditional boundary conditions based on total temperature and total pressure are not sufficient, as pressure and temperature become interdependent. An additional information is required.

This boundary condition proposed under the FINE™/Turbo GUI is based on the absolute total enthalpy and the dryness fraction. The velocity direction is also specified, either by means of two flow angles (from axial direction) or of velocity direction vectors.
The implementation of the boundary condition is based on extrapolation of the static pressure, which permits to evaluate the saturated liquid and gas values of the density and enthalpy. The dryness fraction permits to deduce the values of the local static enthalpy and density. The other boundary conditions are then used to calculate the velocity vector.

Averaged Mach Number
This boundary condition is an adaptation of the 'Pressure Imposed' boundary condition. The exit pressure is updated according to the specified averaged Mach number. Because the relation between the averaged Mach number and the pressure is too complex, an automatic procedure is included that introduces a variation of the imposed exit pressure at each iteration of the calculation. The pressure is iteratively updated in order to reach at convergence the imposed averaged Mach number. The successive pressure modifications are calculated according to:

   if 

   if 
where  and  are the pressure at the iteration n+1 and n, respectively.  is the averaged Much number at the iteration n. RELAXP is an expert parameters defined in the Control Variables page. The expert parameter RELAXP introduces an under-relaxation of the successive modifications of the exit pressure. FACT is a factor that is dependent on the fluid model.

Mass flow, Direction of Absolute Velocity Vector and Static Temperature Imposed (Subsonic)
This boundary condition permits to impose the value of the mass flow through a specified control surface. The control surface is defined by grouping several patches into the same group. In addition to the mass flow, the direction of the velocity vector and the static temperature are imposed.
Two variants are available:

the direction of the absolute velocity vector is imposed in the Cartesian coordinate system (vx/|v|,vy/|v|,vz/|v|).
Velocity normal to inlet.

Two possibilities exist for the treatment of the static temperature:

it can be imposed at a given fixed value,
a relation can be imposed between the inlet static temperature and the averaged temperature along a specified outlet. In this case the user specifies the patch name (or group name) of the connected outlet and the difference of temperature between the inlet and outlet temperatures. The difference of temperature is specified instead of the static temperature. If the specified value is zero, the temperature at the inlet will be equal to the average outlet temperature, whereas if the specified values is for instance 20, the temperature will be equal to the outlet temperature + 20.

Isothermal Walls
The isothermal wall boundary condition is very similar to the adiabatic Navier-Stokes wall. The only difference is in the determination of the wall temperature, which is fixed to the specified temperature in the current boundary condition. Again two versions are available, depending on whether all the terms in the normal momentum equation are taken into account when determining the wall pressure.
For the cylindrical isothermal walls the angular velocity of the wall has to be specified. For all versions the wall temperature is specified.
The pressure is determined as in the adiabatic condition and the density follows from pressure and temperature through the appropriate relation, depending on the type of gas.

Outlet Boundary Conditions for Subsonic Flow

Imposing the Complete Flow Conditions (Supersonic)
The flow at inlet is completely specified, by giving the static pressure, static temperature and the three absolute Cartesian velocity components. This boundary condition is only available for a compressible fluid.

References
Abu-Ghannam B.J., Shaw R., 1980, "Natural Transition of Boundary Layers- The Effects of Turbulence, Pressure Gradient and Flow History", Journal of Mechanical Engineering Science, Vol. 22, No. 5, pp 213-228.
Ashford G.A., and Powell K.G., 1996, "An unstructured grid generation and adaptative solution technique for high-Reynolds number compressible flow", VKI (Von Karman Institute) Lecture Series 1996-06.
Baldwin B., Lomax H., 1978, "Thin Layer Approximation and Algebraic Model for Separated Turbulent Flows", AIAA-78-257.
Chien K.Y., 1982, "Predictions of Channel and Boundary-Layer Flows with a Low-Reynolds-Number Turbulence Model", AIAA J., Vol. 20, No. 1.
Durbin P.A., 1991,  "Near-wall turbulence closure modeling without damping function", Theor. Comput. Fluid Dynamics, Vol. 3, No. 1, pp 1-13.
Durbin P.A., 1995, "Separated flow computations with the k-e-v2 model". AIAA J., Vol. 33, No. 4, pp 659-664.
Hellsten A., 2005, "New advanced k- turbulence model for high-lift aerodynamics", AIAA J., vol. 43, No. 9, pp 1857-1869.
Jameson A., Schmidt W., Turkel E., 1981, "Numerical Solutions of the Euler Equations by Finite Volume Methods using Runge-Kutta Time-Stepping Schemes", AIAA-81-1259.
Jameson A., 1995, "Positive schemes and shocks modeling for compressible flows", International Journal for Numerical Methods in Fluids, Vol 20, pp 773-776.
Johonson J. and King L., 1985, "A mathematically simple turbulence closure model for attached and separated turbulent boundary layers", AIAA Journal, vol.23, pp.1684-1692.
Kalitzin G., Medic G., Iaccarion G., Durbin P., 2005, "Near-Wall Behavior of RANS Turbulence Models and Implications for Wall Functions", Journal of Computational Physics, Vol.204, pp265-291.

Kelterer M.E., Pecnik R., Sanz W., 2010, "Computation of laminar-turbulent transition in turbomachinery using the Correlation-Based γ-Re transition model", ASME Turbo Expo 2010, Glasgow, UK.
Lantry R.B., Menter F.R., Likki S.R., Suzen Y.B., Huang P.G., Volker S., 2004, "A Correlation-Based Transition Model Using Local Variables, Part II – Test cases and industrial applications", GT2004-53454, ASME Turbo Expo 2004, Vienna, Austria .
Langtry R.B, 2006, "A Correlation-Based Transition Model using Local Variables for Unstructured Parallelized CFD codes", PhD thesis, Stuttgart University.
Launder B.E. and Sharma B.I., 1974, "Application of the Energy-Dissipation Model of turbulence to the Calculation of Flow Near a Spinning Disc", Letters in Heat and Mass Transfer, Vol. 1, pp. 131-138.
Launder B.E. and Spalding D.B., 1974, "The numerical computation of turbulent flow", Comput. Methods App. Mech. Eng., vol. 3, pp. 269-289.
Lien F.S. and Kalitzin G., 2001, "Computations of transonic flow with the v2-f turbulence model", International Journal of Heat and Fluid Flow 22, 53-61.
Mayle R.E., 1991, "The role of Laminar-Turbulent transition in Gas Turbines Engines", ASME Journal of Turbomachinery, Vol 113, pp 509-537.
McKeon B.J., Li J., Jiang W., Morrison J.F., and Smits A.J., 2004, "Further observations on the mean velocity distribution in fully developed pipe flow", J. Fluid Mech., Vol.501:135-147.
Mehdizadeh O., et al, 2012, "Applications of EARSM turbulence models to internal flows", Proceedings of ASME Turbo Expo 2012, GT2012-68886, Copenhagen, Denmark.
Menter F., 1992, "Influence of freestream values on k-ω turbulence model predictions", AIAA J., Vol. 30, No. 6, pp1657-1659.
Menter F., 1993, "Zonal two-equation k-ω turbulence model for aerodynamic flows", in AIAA 24th Fluid Dynamics Conference, AIAA paper 93-2906, (Orlando, FL).
Menter F., 1992, "Performences of popular turbulence models for attached and separated adverse pressure gradient flows", AIAA Journal, vol.30, pp.2066-2072.
Menter F., 1994, "Two-equation eddy viscosity turbulence models for engineering applications", AIAA Journal, vol.32, pp.1299-1310.
Menter F., Lantry R.B., Likki S.R., Suzen Y.B., Huang P.G., Volker S., 2004, "A Correlation-Based Transition Model Using Local Variables, Part I – Model Formulation", GT2004-53452, ASME Turbo Expo 2004, Vienna, Austria.
Menter F., et al, 2009, "Explicit algebraic Reynolds stress models for anisotropic wall-bounded flows", in EUCASS – 3rd European Conference for Aero-Space Sciences, July 6-9th, Versailles.
Menter F., Lantry R.B., 2010, "Effect of System Rotation on Turbulence with Applications to Turbomachinery: Transition modeling for turbomachinery flows", Von Karman Institute for Fluid Dynamics, Lecture Series 2010-08. 
Nichols R.H., 1990, "A Two-Equation Model for Compressible Flows", AIAA paper 90-0494.
Piquet F., 1999, "Turbulent flow: Models and Physics", Berlin, Heilderberg, New York: Springer-Verlag.
Sarkar S., Erlebacher G., Hussaini M.Y., Kreiss H.O., 1991, "The analysis and modeling of dilatational terms in compressible turbulence", J Fluid Mech, Vol.227, pp.473-493.
Shur M. L., Strelets M. K., Travin A. K., Spalart P. R., 2000, "Turbulence Modeling in Rotating and Curved Channels:  Assessing the Spalart-Shur Correction", AIAA Journal, Vol 38:784-792. 
Spalart P.R. and Allmaras S. R., 1992, "A one equation turbulence model for aerodynamic flows", AIAA 92-0439.
Spalart P.R. and Shur M. L., 1997, "On the sensitisation of turbulence models to rotation and curvature", Aerospace Science and Technology, No 5:297-302.
Suzen Y.B., Xiong G., Huang P.G., 2000, "Predictions of Transitional Flows in Low Pressure Turbines Using an Intermittency Transport Equation", AIAA-2000-2654, AIAA Fluids 2000 Conference. 
Vandromme D., 1991, "Turbulence Modeling for Compressible Flows and Implementation in Navier-Stokes Solvers", VKI Lecture Series 1991-02.
Wilcox D., 1988, "Reassessment of the scale-determining equation for advanced turbulence models", AIAA Journal, vol.26, pp.1299-1310.
Wilcox D., 1993, "Turbulence model for CFD", tech. rep., DCW Industries, Inc., 5354 Palm Drive, La Canada, Calif.
Yang Z. and Shih T.H., 1993, "A k-e model for turbulence and transitional boundary layer", Near-Wall Turbulent Flows, R.M.C. So., C.G. Speziale and B.E. Launder(Editors), Elsevier-Science Publishers B. V., pp. 165-175.
Zhang H.S., So R.M.C., Speziale C.G., Lai Y.G., 1991, "A Near-Wall Model for Compressible Turbulent Flow", ICASE Report 91-82.

Linear Eddy Viscosity Turbulence Models

k-ε Turbulence Models
General Formulation

In the k-ϵ turbulence model two additional transport equations for the turbulent kinetic energy, k, and the turbulent dissipation rate, ϵ, are solved. In the FINE™/Turbo solver, 4 linear models are currently used. 
In the following, the trace of the tensor X will be written {X}
These two additional equations can be put in the following general form:






where  is the mean strain tensor and  the turbulent Reynolds stress tensor.
The variable  is the modified dissipation rate 



and the turbulent viscosity  is given by the following relation



Linear Models
In the linear models, the turbulent Reynolds stress tensor is related to the mean strain tensor in a linear way.
The implemented linear models are:

Chien, low Reynolds number k-ε model (Chien, 1982).
Extended wall functions (Hakimi, 1997) = Standard high Reynolds (Launder & Spalding, 1974) if the expert parameter INEWKE is set to 0.
Launder-Sharma, low Reynolds number k-ε model (Launder & Sharma, 1974).
Yang-Shih, low Reynolds number k-ε model (Yang & Shih, 1993).

The constants or functions Cμ, Cε1, Cε2, σk, σε, fμ,f1, f2, D, E and T are model dependent and are defined in the TABLE 1  where 



and
 
TABLE 1 Coefficients of the k-ε models








k-ε Model
Chien
Standard high-Re
Launder & Sharma
Yang & Shih




Cμ
0.09
0.09
0.09
0.09


Cε1
1.35
1.44
1.44
1.44


Cε2
1.80
1.92
1.92
1.92


σk
1.0
1.0
1.0
1.0


σε
1.3
1.3
1.3
1.3


fμ



1.0








x
 
 
 
Rey



A


 


 


 

1.5 10-4



a

 
 
 
1



B

 
 
 
5 10-7



b

 
 
 
3



C

 
 
 
10-10



c

 
 
 
5



d

 
 
 
0.5



f1

1.0
1.0
1.0
1.0



f2




1.0



1.0



T

κ/ϵ
κ/ϵ









D




0.



0.



E




0.









kw

0.

/DNS
0.
0.



εw

0.

/DNS
0.






The constants Cμ, Cε1, Cε2, σk, σε can however be changed by the user (respectively the expert parameters CMU, CE1, CE2, SIGK, SIGE) in the Computation Steering/Control variables page. The turbulent Prandtl number, needed to calculate the turbulent conductivity, is also an expert parameter (PRT).

Two variants of the high Reynolds k-ε with wall functions exist:

If the expert parameter INEWKE=10 (default), the wall functions are derived from DNS (Direct Numerical Simulation) curve fitting. The k-ε model is in that case derived from the Yang-Shih model. This new model, named extended wall functions, allows to obtain accurate results on fine mesh contrary to the standard high Reynolds k-ε model.
if the expert parameter INEWKE=0, standard wall functions are applied and the y+ value of the near wall cell should be greater than 20.

Preconditioning
In the low subsonic Mach number regime, time-marching algorithms designed for compressible flows show a pronounced lack of efficiency. When the magnitude of the flow velocity becomes small in comparison with the acoustic speeds, time marching compressible codes converge very slowly. 
The problems faced by compressible codes at low Mach number are:

High disparity between the convective eigenvalues u and the acoustic eigenvalues u+c, u-c leading to a much too restrictive time step for the convective waves causing thus poor convergence characteristics.
Round off errors mostly due to the use of absolute pressure in the momentum equations.
Impossibility to treat strictly incompressible flows.

Therefore the development of a low speed preconditioner was motivated in order to provide fast convergence characteristics and accurate solutions as the Mach number approaches zero. Over the past years and up to now, many attempts have been made to solve nearly incompressible flow problems within available compressible codes and with minor programming efforts. The corrective action brought to the discretization of the conservation equations is called preconditioning and is derived from the artificial compressibility method introduced for incompressible flows by Chorin, (1967).
For steady state applications solved by time marching algorithms the time derivatives of the unknowns arising in the flow equations are of no physical meaning and can thus be modified without altering the final steady state solution. The idea of preconditioning precisely uses this property and consists of multiplying the time derivatives of the dependent variables with a matrix called preconditioning matrix. The main property of this matrix is to remove the stiffness of the eigenvalues. In addition, reduced flow variables such as the dynamic pressure and the dynamic enthalpy are introduced, reducing drastically the round off errors at low Mach numbers. The acoustic wave speed c is replaced by a pseudo-wave speed c' of the same order of magnitude as the fluid speed. To be efficient the selected preconditioning matrix should be valid for inviscid computations as well as for viscous computations with heat transfer.

Variant models
Many authors have proposed their correlations for the transition length () and the critical momentum thickness Reynolds Number () in order to apply the generalized transition model based on the γ- equations. Some of them are compared by Kelterer (2010) and described hereafter. Each of them can be activated by the expert parameter IGTLAW.
Malan et al. (2009) (IGTLAW=2):






Sorensen (2009) (IGTLAW =3):






with
 
Kelterer et al. (2010) (IGTLAW =4):






When combining the EARSM model with the generalized transition model, a new relation is used (IGTLAW =5).

Discretization and Solution Theory

Time Configuration
Unsteady flow phenomena may arise intrinsically as for example in separated flows, wake flows or may be caused by an external time dependent driving force as for example an oscillating structure. In any case an efficient time-accurate solver has to be employed to obtain time dependent solutions within a reasonable computational time.
At present, the most effective approach is called the dual time stepping approach proposed by Jameson, (1991): it consists in adding to the time dependent Navier-Stokes equations pseudo-time derivative terms. At each physical time step, a steady state problem is solved in a pseudo time and all available acceleration techniques such as multigrid, local time stepping and implicit residual smoothing can be applied. This approach has been used for compressible flow simulations by several authors, Arnone, (1995), Melson et al., (1993), Pierce et al., (1997), Eliasson et al., (1995) and has proved to be an important improvement over the classical global time stepping approach.

Calorically Perfect Gas
Equation of State
The perfect gas law is used as constitutive equation:



with r the gas constant for the perfect gas under consideration:



with R the universal gas constant and M the molecular weight of the perfect gas.
γ is the specific heat ratio,  the specific heat at constant pressure, and  the specific heat at constant volume with:



When the gas temperature is so low that the vibrational and electronic modes are frozen, the internal energy of the gas will be proportional to the temperature. The specific heats as well as γ are then constant. The gas is called "calorically perfect". This is the usual assumption of moderate speed aerodynamics.
The relation between r and  is given by



The values of γ and  are user input. The static pressure is obtained from the conservative variables through the following relation:



Transport Properties
The Laminar Viscosity
The laminar kinematic viscosity can be 

constant,
given in terms of a polynomial function of the temperature,
given by a profile for a certain temperature range,
varying according to Sutherland's law.

The dynamic viscosity is then computed within the code by multiplying the kinematic viscosity by the reference density.
The Sutherland law is given by:
For 



For 



The viscosity  is the dynamic viscosity specified in the Fluid Model page or which is obtained from the kinematic viscosity and the density both specified in the Fluid Model page.  and  are the reference temperature and the Sutherland temperature respectively, also specified in the Fluid Model page.
The Heat Conductivity
The laminar heat conductivity can be 

constant,
given in terms of a polynomial function of the temperature,
given by a profile for a certain temperature range,
specified through the Prandtl number.

In case the Prandtl number Pr is specified, the laminar thermal conductivity is obtained as:



The turbulent viscosity is calculated iteratively using one of the turbulence models discussed in Turbulence Models chapter. The turbulent conductivity is obtained from the turbulent viscosity and a turbulent Prandtl number whose value can be controlled through the expert parameter PRT (default: 1.0):

Trajectories Calculation - Integration Method
The calculation of the trajectories is based on the Newton law:



where  is the acceleration vector of the particle of velocity  and  is the sum of the friction force between the fluid and the particle and the eventual inertia and gravity forces:



The gravity force is defined by the user on the Flow Model page:



It is assumed that the mesh blocks for which a rotation of the reference system is introduced in the carrier flow equations (when rotation of the reference system is activated under the Parameters thumbnail of the Fluid-Particle Interaction page) are also considered as rotating ones for the particles calculation. The inertia force due to the rotation of the reference system contains the two terms related to the inertia and Coriolis effects:




is the drag force between the flow and the particles, calculated according to the Stokes law:



where D is the diameter of the particles,  is the velocity of the fluid and Fs depends on the viscosity of the fluid and on the Reynolds number  based on D:



	where:

 (simple Stokes law for )
or

 (standard curve approximation).
Up to now, no model is incorporated in which the mass and the volume of the particle would change (for instance by combustion or evaporation).

Turbulence Models


This chapter provides details of the different turbulence models, laminar-transition model and the wall functions available in FINE™/Turbo:

Linear Eddy Viscosity Turbulence models:

Algebraic model: 
Baldwin-Lomax


1-equation model: 
Spalart-Allmaras
Spalart-Allmaras (Extended Wall Function)
SARC


2-equation models:
k-ε (Standard wall function)
k-ε (Extended wall function)
k-ε (Low Re Chien)
k-ε (Low Re Yang-Shih)
k-ε (Low Re Launder-Sharma)
k-ω (Wilcox)
Shear Stress Transport (SST)
SST (Extended wall function)


4-equation model: 
v²-f (code friendly)



Nonlinear Eddy Viscosity Turbulence models:

2-equation models:
EARSM
EARSM (Extended wall function)



Detached Eddy Simulations (DES)
Laminar-Transition Model
Modeling Flow near the Wall

Mass Flow Imposed (Subsonic)
This boundary condition permits to impose the value of the mass flow through a specified control surface. The control surface is defined by grouping several patches into the same group. In addition to the mass flow the direction of the velocity vector and the static temperature are imposed.
Three variants are available:

the swirl can be imposed, as well as the direction of the velocity vector in the meridional plane (vr/vm,vθ,vz/vm).
the direction of the absolute velocity vector can be imposed (vr /|v|, vθ/|v|, vz/|v|).
velocity normal to inlet.

Two possibilities exist for the treatment of the static temperature:

it can be imposed at a given fixed value,
a relation can be imposed between the inlet static temperature and the averaged temperature along a specified outlet. In this case the user specifies the patch name (or group name) of the connected outlet and the difference of temperature between the inlet and outlet temperatures. The difference of temperature is specified instead of the static temperature. If the specified value is zero, the temperature at the inlet will be equal to the average outlet temperature, whereas if the specified values is for instance 20, the temperature will be equal to the outlet temperature + 20.

Global Correlation Transition Model

The boundary layer which develops on the surface of a solid body starts as a laminar layer but becomes turbulent over a relatively short distance known as the transition region. Four models are available in FINE™/Turbo to take into account the transition onset:

Fully turbulent
Fully laminar
Forced transition
Abu-Ghannam and Shaw Model

The transition models can be used only with the Spalart-Allmaras, Yang-Shih k-epsilon, Wilcox k-omega and SST  turbulence models.

Total Quantities Imposed (Subsonic)
Several variants are available based on the specification of flow angles or velocity components.
Absolute flow angles from axial direction
The user specifies two flow angles (of the absolute flow) at the boundary, α and γ, which are defined by the magnitude of the velocity and the flow angles and given in radians.
The absolute total pressure and the absolute total temperature on the inlet boundary are also specified and imposed.
Three variants are available depending on the value that is extrapolated.

The module of the absolute velocity vector is extrapolated from the interior field. Using subscript 0 for the boundary, and subscript 1 for the first internal cell:



where v represents the absolute velocity.
the axial velocity component is extrapolated:



Note that it is assumed that the angular velocity vector is in the z-direction, 



which makes this direction the axial one. Also note that, as a result of the angular velocity the absolute and relative axial velocity component are equal.
the mass flow is extrapolated, assuming that the meridional component of the velocity is the one contributing to the mass flow. 



with 


This boundary condition is specially dedicated to radial turbomachinery for which a problem of mass flow conservation can arise. 
Relative flow angles from axial direction
For a stator calculation it may be convenient to impose the velocity angles of the relative flow at the exit of the upstream rotor. In case of rotors the user may also prefer to impose relative boundary conditions. This procedure is only available in case total conditions and flow angles are imposed. In addition to that the extrapolation of vz must be selected. Note also that both flow angles and total conditions are then treated in the relative mode. 
The adopted approach consists of imposing boundary conditions, which are still defined in the absolute frame of reference, but which vary from one iteration to the another in order to respect the imposed relative value. This technique provides a robust algorithm with an under-relaxation of the evolution of absolute conditions and a special treatment of the hub and shroud boundary layers. Since the hub and shroud walls are usually not rotating, the relative flow angle tends to 90 degrees in the boundary layer, which complicates the boundary condition treatment if the relative conditions are imposed. The above approach (switch to the absolute frame of reference) allows computing the absolute flow angles distribution through an extrapolation in the boundary layers. The under-relaxation factor as well as the percentage of the distance from the hub and the shroud where the angle is extrapolated are specified in the expert parameter ANGREL.
The relation between the relative (β) and absolute (α) angles is the following:



where ω is the speed of rotation of the upstream rotor specified in the expert parameter OMGINL and r the radial position.
The update of the flow angle is followed by the update of the absolute total conditions according to:



The initial values of the absolute flow angle and total conditions are set to the value of the relative ones, except for the initial solution for turbomachinery. In the initial solution for turbomachinery, the flow angle and the absolute total conditions are used to compute the initial absolute flow angle and total conditions from the specified relative values.
 Velocity direction
The user first specifies a direction (given under the form of a vector) that corresponds to the direction of the absolute velocity vector. Note that this vector does not have to be a unitary vector. The r,θ,z components of the direction vector are given. E.g. if the user enters the direction (0,1,1) the user imposes that the θ- and z-components of the absolute velocity vector at inlet are equal and that the radial velocity is zero.
The absolute total pressure and the absolute total temperature on the inlet boundary are also specified. These values will be imposed. 
The module of the absolute velocity vector is obtained by extrapolation from the interior field, cf. Eq. 4-4. 
The velocity vector on the boundary is found by scaling the velocity vector specified in the boundary condition file such that the correct module is obtained.
The mass flow can be extrapolated. This boundary condition is specially dedicated to radial turbomachinery for which problem of mass flow conservation can arise. It is not interfaced but it can be used by setting the expert parameter IMASFL to 1.
 Tangential velocity and meridional angle
Imposing the tangential velocity at the inlet is useful for turbomachinery configurations with high absolute tangential velocities. 
The user specifies the direction of the radial and axial velocity, together with the magnitude of the tangential velocity in [m/s]. The absolute total pressure and the absolute total temperature on the inlet boundary are also specified. The application of the boundary condition can be described as follows:

The meridional velocity is extrapolated from the interior of the computational domain
The velocity magnitude is deduced from the input of the tangential velocity
The static pressure and temperature are computed from the imposed total values
The radial and axial velocities are imposed in the appropriate direction
The velocity components in the Cartesian frame of reference are deduced

 Flow angle and total conditions in upstream rotational frame
This type of boundary condition is especially useful when a computation is done on only part of a machine. As an example, a 2.5 stage computation including relative conditions can mimic the behavior of a full 3.5 stage machine. In such a case, relative conditions can be set as extracted from the full machine computation at the exit of the first machine. 
The user specifies the direction of the radial and axial velocity, together with the flow angle in [rad]. The relative total pressure and the relative total temperature on the inlet boundary are also specified. To compute the relative frame of reference, the users needs to input the upstream rotational speed. The application of the boundary condition can be described as follows:

The meridional velocity is extrapolated from the interior of the computational domain
The relative and absolute tangential velocities are computed using the upstream rotational speed
The relative velocity magnitude is deduced
The static pressure and temperature are deduced from the relative pressure and temperature
The radial and axial velocities are imposed in the appropriate direction
The velocity components in the Cartesian frame of reference are deduced

Velocity normal to inlet (V extrapolated)
The absolute total pressure and the absolute total temperature on the inlet boundary are specified. The orientation of the velocity will be set to be normal to the inlet surface. The magnitude of the absolute velocity is extrapolated from the interior field.



where  represents the absolute velocity at the inlet,   is the velocity norm inside the domain and  is the normal unit vector pointing outside of the domain.
In case that the relative velocity is used, to be normal to inlet, the relative velocity  will be used instead of the absolute velocity  in Eq. 4-11.

Choice of the Physical Time Step
For a general case the user specifies the amplitude of the physical time step. This time step is constant through the whole calculation.

In the case of turbomachinery applications the user defines the time step in another manner, by imposing the Number Of Angular Positions that the unsteady algorithm should solve within one period. The time to accomplish one full rotation being equal to 2π /ω (ω the rotation speed of the domain as defined in the Rotating Machinery page), the time step is computed using the relations:

,
where Nperiods is the number of periodicities and NOFROT is the Number of Angular Positions. In case of phase lagged option:

			.

Detached Eddy Simulations
With steady RANS unable to meet the increasing demand for very detailed analysis of three-dimensional flows and the continuing advance in computing development on one side, the fact that, on the other side, for the foreseeable future, DNS and LES remain far too expensive for today's engineering applications, methods hybridizing LES and RANS such as Detached Eddy Simulation, originally proposed by Spalart et al (1997), have appeared.
The model was proposed by Shur et al. (2000), based on Spalart-Allmaras model (1994).
Turbulent length scale dw (distance to the wall) is replaced by DES length scale lDES.



where 



Δ is a measure of the width of the filter related to the calculation.  is a calibration constant. Recommended value for  is 0.65. This model is often called DES97.

Rotor/Stator Interaction
The relative motion between successive blade rows together with boundary layers, wakes, shocks and tip leakage jets are the major sources of unsteadiness that may affect a turbomachinery flow locally or as it travels through the next rows. All these interactions are strongly coupled, increasing in magnitude as the gap between successive blade rows is decreased, and affecting consequently the performance of the machine.
Solving for such flows requires an unsteady and viscous flow solver with the capability to manage enormous data storage. One way to optimize the computer memory requirement is to resolve the steady flow field on a truncated computational domain. This requires a pitchwise averaging process to be performed at the so-called rotor/stator interfaces. This particular boundary condition is available under the FINE™/Turbo environment as the mixing plane approach. The rotor-stator interaction is done by exchanging circumferentially averaged flow quantities. Physically, this means that the blade wake or separation occurring in the blade passage are mixed circumferentially before entering the downstream component. As a result, the velocity components and pressure is uniform in the circumferential direction at the rotor/stator interface. This physical approximation tends to become more acceptable as rotational speed is increased. This mixing plane technique is by far the most used rotor/stator modeling in industry approach. See Default Mixing Plane Approach, Full Non-matching Technique for Mixing Planes and Non Reflecting Boundary Conditions for more detail on the mixing plane approach.
The Frozen Rotor approach is another steady method considering the rotor/stator interface. The method is a simplified full non-matching domain scaling approach. It is neglecting the rotor movement in the connecting algorithm. See Frozen Rotor section for more detail on the Full Non Matching Frozen Rotor approach.
The second step allowing for a higher level of accuracy consists of considering an unsteady rotor/stator interaction. Various techniques allowing to treat configurations with an arbitrary number of blades in the rotor and the stator have been proposed by many authors (Giles, 1990, Lemeur, 1992, Erdos et al, 1977, He, 1997), each of them having their own advantages and disadvantages, each of them affecting differently the memory requirement, solution time and the most important parameter, the accuracy of the computed flow solution. But none of these techniques allows to resolve on a truncated computational domain all time frequencies present in the turbomachinery configuration, except if the pitch distance is the same in the successive rotors and stators. In fact, each of them are affecting the computed time frequencies and Fourier modes that are propagating the flow information inside the gap region.
The Domain Scaling Method is another type of unsteady rotor/stator interface treatment (Rai, 1989), that has been selected and implemented in the FINE™/Turbo solver. This technique is based on the constraint that the pitch distance must be identical on both sides of the interface. If the numbers of blades in the rotor and the stator are different, this implies either to increase the number of passages modelled or to scale the geometry. The Domain Scaling Method presents the advantage that it allows to resolve all time frequencies with an error that is proportional to the scaling coefficient. The accuracy of the computed unsteady flow solution may then be improved at the expense of more data storage and larger solution time if more blade passages are considered.
The Phase Lagged Method is the second type of unsteady rotor/stator interface treatment that has been selected and implemented in the FINE™/Turbo solver. This technique removes the Domain Scaling constraint that the pitch distance must be identical on both sides of the interface. The Phase Lagged Method presents the advantage that it allows to resolve all time frequencies with an error that is proportional to the scaling coefficient. The accuracy of the computed unsteady flow solution may then be improved at the expense of more data storage and larger solution time if more blade passages are considered.
Finally, the Nonlinear Harmonic Method is the last type of unsteady rotor/stator interface treatment that has been selected and implemented in the FINE™/Turbo solver. This technique does not have the constraint that the pitch distance must be identical on both sides of the interface. It provides an approximate unsteady solution at affordable calculation costs. The user can control the accuracy of the unsteady solution through the order of the Fourier series.
The following sections will introduce the steady rotor/stator interface treatments. The domain scaling method and the phase lagged method will be described in Unsteady Turbomachinery Calculations. The nonlinear harmonic method will be described in the Harmonic Method section.

Formulation in Rotating Frame for the Relative Velocity

In many applications, such as turbomachinery problems, it is necessary to describe the flow behavior in the relative system and solve the governing equations for the relative velocity components.
The Reynolds averaged Navier-Stokes equations for the relative velocities in the rotating frame of reference become:



where  is the  component of the relative velocity . The source term vector  contains contributions of Coriolis and centrifugal forces and is given by:



with ω is the angular velocity of the relative frame of reference. 
The stress and the heat flux components are given by:



and
 
The static pressure and the total energy are defined as:

Theory
The unsteady Reynolds Averaged Navier-Stokes equations are considered, formulated in Cartesian coordinates (x,y,z) in a rotating frame for the conservative flow variable  where  is the relative velocity.
The conservative variable is decomposed into a time-averaged value and a sum of periodic perturbations, which in turn can be decomposed into N harmonics:






The first harmonic being the fundamental associated with the blade passing frequency (BPF) of a blade row for instance. The harmonic amplitudes  and are complex conjugates.
A time-mean flow equation is obtained by time-averaging the unsteady equations. This is like Reynolds averaging, except that the unsteady perturbations are periodic fluctuations, assumed to be preponderant over the turbulent fluctuations. The resulting time-mean flow equations are in a conservative form and can be formulated following a finite-volume method as



where i is the cell number and Ωi its volume. Fc and Fv are respectively the discretized convective and viscous fluxes, and ST is the source term that includes the Coriolis and centrifugal terms.
The nonlinearity makes the deterministic stress terms appear in the time-averaged equation in the same way as Reynolds stress terms appear in the Reynolds averaged equations. They provide new contributions Detc and Detv to the advective and viscous fluxes following:



where Dx = (τxx, τxy, τxz), Dy = (τyx, τyy, τyz), Dz = (τzx, τzy, τzz) are the strain terms and .
The deterministic stress contribution is of the form:
 
and



To compute the stress terms and perform the model closure, a transport equation for the unsteady perturbations is obtained by retaining the first-order terms in the basic unsteady flow equations. Considering the first N harmonic components of the periodic fluctuation U', a transport equation is obtained for each complex amplitudeof the fluctuation. By casting the 1st order linearized equation into the frequency domain, this harmonic perturbation equation is made space dependent only like the time-averaged flow equation. It can be made pseudo time dependent and, being in a conservative form, formulated following the finite-volume method:









where 

. 
Besides the linearized terms of the Coriolis and centrifugal forces, the harmonic source term includes the complex term that was induced by the casting in the frequency domain:



Viscous Stresses & Turbulence Model
In the time-averaged and harmonic flow equations, the laminar viscosity is computed from the averaged flow variables only.
The turbulence can be modelled by the eddy-viscosity models. The eddy viscosity is assumed undisturbed by the unsteady fluctuations. Therefore, the total viscous terms are in a linear form:









 and



Closure of the Model
The deterministic stress is directly computed from the harmonic values. The stress generated by two fluctuations f' and g' reads

Pressure Imposed
Static Pressure Imposed
The static pressure at the outlet boundary is specified. The remaining dependent variables on the outlet boundary are obtained from the interior field through extrapolation.
The default extrapolation is a zero order extrapolation of the static temperature and the absolute velocity. 
Several options are available:

order of extrapolation: zero or first order (in expert user mode),
backflow treatment: active or not.

The purpose of the treatment of backflow is to control the total temperature distribution along the exit boundary. In case the flow partially re-enters the domain through the exit boundary, the total temperature of the entering flow is controlled so that the entering and outgoing flow globally have the same total temperature.
Averaged Static Pressure Imposed
In some cases, an uniform pressure can not be imposed on the whole outlet area. This boundary condition allows imposing an averaged static pressure. The remaining dependent variables on the outlet boundary are obtained from the interior field through extrapolation. 
The pressure profile is obtained by extrapolation from the interior field and it is translated to ensure that the computed averaged pressure on the outlet area is the target averaged pressure specified by the user. This translated profile is then the imposed pressure profile.
The options described in the previous paragraph are still available.
Static Pressure Imposed with Radial Equilibrium
The static pressure in the outlet section is assumed to be uniform in the tangential direction and to vary in radial direction according to:



The user specifies the static pressure at a specific radius, followed by that radius and the radial direction. The radial direction is specified by using the block orientation (I-direction, J-direction or K-direction).
The pressure distribution in the outlet section is then found by integrating the previous equation with pitchwise averaged values of Vθ and r.
The other variables are extrapolated following the system of options exposed above. The treatment of backflow is not implemented for this boundary condition.

Thermal Heat Flux model
The new thermal heat flux transferred from the inclusions to the fluid is represented by the following relation:



where Kexch [W m-2 K-1] is the heat transfer coefficient (expert parameter HPORME); Sexch [m-1] is the volumetric surface (expert parameter SPORME) selected to model heat transfer (i.e., the ratio of the exchange surface to the domain volume); T is the local temperature and Tskin is the skin temperature of the inclusions (expert parameter TPORME).

Spatial Discretization
The discretization in space is based on a cell centered control volume approach. The general Navier Stokes equation is discretised as:



where 

, 
are respectively the inviscid and viscous fluxes.
Viscous Fluxes
The viscous fluxes are determined in a purely central way. As they contain gradients, gradients must be evaluated on the cell faces. This is done by applying Gauss' theorem:



Two options exist:

IFACE = 0, the gradients are first calculated in cell corners. This is done by applying Guass' theorem using as control volume, the volume that has the cell centres that surround the cell corner of interest as corner points, as depicted in FIGURE 1 (a) below for two dimensions. The cell face gradient is then obtained by averaging the gradients in the 4 corners of the cell face. Arithmetic averaging (input variable IWAVVI=0) or a more accurate weighted averaging may be chosen (IWAVVI=1).
IFACE = 1 (Default), gradients are calculated directly on cell faces. FIGURE 1 (b) and (c) illustrate the control volumes used to find the gradient on respectively the cell face i+1/2 and j+1/2.

The option IFACE=1 is more robust and therefore preferred (default), although it is more expensive as the total number of cell faces is approximately 3 times the number of cell corners.


FIGURE 1 : Different control volumes used to calculate gradients in cell corners or cell faces.
Inviscid Fluxes
The inviscid fluxes are upwind based numerical fluxes, and therefore noted with a * superscript.
The inviscid numerical flux is expressed as, Hirsch (1990):



The first term in the right-hand-side of this equation corresponds to a purely central evaluation of the flux. The term  represents a numerical dissipation term, that may be an artificial dissipation, used in combination with central schemes, or the dissipation associated with upwind schemes.
In the equation above an arithmetic averaging technique is used. Alternatively, instead of averaging the fluxes in this equation, a flux can be used, based on the averaged unknowns, i.e.



Theoretically, the formulation from Hirsch is to be preferred, but, in combination with the central scheme, the latest formulation (default) is sometimes more robust, especially for high speed flows.

Both central schemes and upwind schemes are available within the FINE™/Turbo solver.
Central Scheme
In the former case, a Jameson type dissipation is used with 2nd and 4th order derivatives of the conservative variables, Jameson (1981):



The scalar coefficients ε are given by:



The coefficients  are user input, respectively VIS2,VIS4 in the non-interfaced parameters.
The cell centered values of  in the Jameson type equation are obtained by arithmetic averaging of the cell face values of the scalar coefficients ε. The variables  are sensors to activate the second-difference dissipation in regions of strong gradients, such as shocks, and to deactivate it elsewhere. They are based on pressure and temperature variations (depending on the value for the expert parameter IARTV2) and are defined as:



for all equations except the k and ε equations. For liquids, only a pressure switch is used. For the k and ε equations,  is based on the pressure, on the turbulent kinetic energy and on the dissipation rate:




 in the scalar coefficients ε equations is a measure of the inviscid fluxes and is commonly chosen as the spectral radius multiplied with the cell face area:



On high aspect ratio meshes, the resulting dissipation in the streamwise direction may become very low. Increasing it may improve the robustness and the convergence rate. According to Martinelli (1987), the spectral radii in the other directions are also accounted for. Instead of the previous equation one uses:



The spectral radii in the other directions are defined similarly, e.g. for the j-direction:



The cell face normal  is obtained by averaging the normals on the 4 cell faces in the j-direction, belonging to the 2 cells that share the i+1/2 cell face.
The parameter σ  is user input (EXPMAR). The default value is 0.5, i.e. Eq. 5-9 is used. In the current version of the FINE™/Turbo solver, the Martinelli approach is not yet implemented for the turbulence equations.
Note that if the k-ϵ turbulence model is chosen, the resulting equations for k and ϵ can be solved with the central scheme (IUPWTE=0). Separate coefficients  for the artificial dissipation can be chosen, respectively VIS2KE and VIS4KE in the non-interfaced expert parameters. Both the 2nd and 4th order dissipation are damped by multiplying them with the following exponential function:



The constant  corresponds to the input variable CDIDTE. The above expression means that the damping is applied in the region where y+<CDIDTE, the default is CDIDTE=100;  is the cell volume and  the cell face area.
Upwind Schemes
In the upwind case, the dissipation term is: 



where  represents the variation of the characteristic variables which is related to the conservative variables U or the primitive variables  through



The matrices R and  contain respectively the right and left eigenvectors of the Jacobian matrix.  in the dissipation term represents a diagonal matrix with  the element in row and column l. 
They are to be evaluated on the cell faces, and therefore require the knowledge of the primitive variables on the cell face. These can be obtained either by arithmetic averaging of the primitive variables in the cell centres left and right of the cell face (input variable IROEAV=0) or by a Roe-type of averaging (IROEAV=1). In the latter case the following formulas are used:



Theoretically the Roe averages have to be used. However, in practice, arithmetic averages can be used in most applications without any repercussion on accuracy or convergence. Arithmetic averaging has the advantage that it is computationally less expensive.
Different upwind schemes result, depending on the expression for α. In the FINE™/Turbo solver a TVD version of the Flux Difference Splitting scheme (FDS TVD), Roe (1981), and Symmetric TVD (STVD), Yee (1987), are available. 
For both schemes α can be expressed as:



where  represents the eigenvalues of the Jacobian matrix and  is a limiter function, ensuring monotonicity. 
Both the FDS TVD and STVD scheme do not have a built-in entropy criterion, which would guarantee that the 2nd law of thermodynamics is satisfied. These schemes therefore may allow unphysical solutions, such as expansion shocks. 
In order to avoid unphysical solutions an entropy fix is used. The eigenvalue  in α is replaced by :




This equation limits the minimum value of  to . In subsonic and transonic cases a small constant value (<1.) for the entropy fix   suffices (choose the input variable ENTRFX < 1.). For flow simulations in high speed regime, it is advised to scale the entropy fix with the spectral radius, by choosing the input variable ENTRFX > 1, e.g. ENTRFX=1.05 or 1.1. The scaling factor is then ENTRFX-1., i.e.:



The latter choice also increases the robustness, at the expense of a slightly increased dissipation.
Two values for ENTRFX are to be specified. The first one applies to the linear field (the characteristic variables that propagate with speed ), the second value to the nonlinear field (the characteristic variables that propagate with speed ).
For first-order upwind schemes, the limiter vanishes and both FDS TVD and STVD reduce to the same first-order accurate upwind scheme.
For second-order upwind schemes, the limiter is activated.
The limiter  acts on ratios  of variations of the characteristic variables, defined as:



For the FDS TVD scheme, Q is function of only one of the ratios, according to the sign of the eigenvalue:



The following limiters are available:

Min Mod limiter    





Van Albada limiter 





Van Leer limiter 





Super Bee limiter




which represent respectively the Min Mod limiter (LIMITE=1), the Van Albada limiter (LIMITE=2), the Van Leer limiter (LIMITE=3) and the Super Bee limiter (LIMITE=4). The function minmod chooses the value with the minimum module.
In the STVD scheme, the check on the eigenvalue sign is avoided by choosing  as a function of the two ratios  and 



Since the 'classical' limiters such as Van Leer, Van Albada, Min Mod, Super Bee are defined as a function of one ratio, this equation would exclude these limiters in a STVD context. 
A new family of non-separable limiters, containing also smooth limiters, is proposed within the FINE™/Turbo solver, Lacor et al. (1993).
The classical limiter functions are applied to a so-called effective ratio , which is an average of  and :



The same functions  as given in the limiters above can be chosen, where the ratio r is replaced by the effective ratio  (the same limiters as for the FDS scheme are used).
The following possible choices for the effective ratio are proposed:



It can be shown that these new limiters guarantee monotonicity provided that:



which is easily achieved by switching the limiter off for negative .
The effective ratios are given in order of increasing magnitude. It can be shown that the lower , the more diffusive the resulting limiter is. The choice of effective ratio is governed by the input parameter IRATIO. IRATIO=1 corresponds to the smallest value in the list of effective ratios, IRATIO=2 to the 2nd smallest value, and so forth, with IRATIO=6 corresponding to the maximum value.
For both the FDS and the STVD scheme, different limiters can be applied to the linear field (the characteristic variables that propagate with speed ) and to the nonlinear field (the characteristic variables that propagate with speed ). In addition, for the STVD scheme, a different specific ratio can be chosen for both fields.
To this end, the input variables LIMITE (corresponding to the type of limiter selected in the Numerical Model page) and IRATIO are vectors of length two. The first component determines the choice of limiter, respectively the effective ratio for the linear field, the second component for the nonlinear field.
In general, robustness is increased by applying a more diffusive limiter. By applying this limiter only to the nonlinear field, and a compressive one to the linear field, a good compromise between robustness and accuracy can be obtained.
The upwind dissipation can also be reformulated to let the limiter act on ratios of variations of the primitive variables. 
Combining Eq. 5-9 to Eq. 5-11 the limiter function can be moved outside the diagonal matrix and put in front of the primitive variable variation:



The limiter function is the same as before and acts on ratios  where the characteristic variable variations are replaced by primitive variable variations.
The previous equation can be simplified to



The Jacobian matrix in this equation is the Jacobian with respect to the primitive variables :

Wall with Imposed Heat Flux
The wall with imposed heat flux boundary condition is very similar to the adiabatic Navier-Stokes wall. The only difference is in the determination of the wall temperature. For this condition the temperature is determined from the imposed heat flux (W/m²).
The pressure is determined as in the adiabatic condition and the density follows from pressure and temperature through the appropriate relation, depending on the type of gas.

Outlet Boundary Conditions for Supersonic Flow
This condition is to be used in case of supersonic outflow and is only valid for compressible fluids.
The dependent variables at the outlet are extrapolated from the interior through first-order extrapolation.
If no preconditioning is used, there is some checking on negative or small pressures: if the static pressure is less than 1E-15 after extrapolation, it is put to 1E-15.

Density Based Time Accurate Solver and Preconditioning
Application of the dual time stepping approach along with low speed preconditioning to variable and constant density flows is presented in Hakimi, (1997). For unsteady flow simulations the preconditioned Reynolds-Averaged Navier-Stokes equations are expressed as:



where t is the physical time and τ is pseudo time, U is the solution vector of the conservative variables, Q is the solution vector of chosen dependent variables, Γ is the preconditioning matrix, Ω is the volume,  are the conservative fluxes and  are the source terms. For all fluids we have:



The time discretization of the derivative of the conservative variables with respect to the physical time t is made to meet the desired accuracy in time. The equation is then treated as a modified steady state problem in the pseudo time τ:



with



The residual RTA being the preconditioned residual. The new residual contains terms that depend only on the solution of previous time steps, all other terms depend on the current solution vector Q. When steady state is reached at each physical time step, the left hand side tends to zero and the time accurate solution is obtained
The Time Stepping
When integrating residual RTA in the pseudo time τ, we treat the term  implicitly. This is obtained by developing the solution vector U in a Taylor expansion:



Putting this relation into the modified steady state problem in the pseudo time τ we obtain the following updating procedure:



where I is the identity matrix. The updating procedure has been modified and includes now the time steps ratios, leading to a stabilizing effect.
Initial Solution at Each Physical Time Step
The initial solution on the next time level is the latest available solution:



Since the dependent variables are Q, these variables have to be computed at the beginning of each physical time step from the conservative variables U.

Fluid Models


In this chapter, details are provided about the different fluid types available in FINE™/Turbo:

Outputs


This chapter is dedicated to output variables calculated by FINE™/Turbo:

Coupling



Modal Coupling
For the modal coupling approach in FINE™/Turbo, a structure code is used to compute the modal shapes and the eigen frequencies. The flow solver use these inputs to compute the deformation of the structure by solving the modal equation for the number of modes specified by the user. 
Solid mechanics is governed by the following equation:



Where:
[M] is the mass matrix;
[C] is the damping matrix;
[K] is the stiffness matrix;

 is the displacement of the structure;

 is the external load.
For FSI computation, the external load is applied by the flow. The fluid flow is also influenced by the deformation of the structure. The FSI resolution solves both the fluid flow and structure deformation by taking into account their interaction.
Considering the undamped structure without load, one can write:



This equation has not trivial solution only if:



This is an eigenvalue problem. Its resolution gives the eigenvalues  . The eigenvalues lead to natural frequencies  of the structure and natural mode shapes :






Mode shapes constitute a basis of deformation modes. The global deformation of the structure can be written as a composition of these modes:

 
where  is the generalized displacement.
Using the equation above in the modal equation, assuming a Rayleigh damping, a stiffness frequency-independent and choosing a proper scale factor for the mode shape, we can get a set of independent equation for each mode k:



where  is the damping coefficient for each mode shape.
For the coupled simulation, the mode equation is solved by the flow solver at each physical time step. After reconstruction with the equation of global deformation, it gives the new shape of the structure around which the flow is computed. In case of combining with the harmonic method,  the mode equation is solved in the frequency domain every ITCPL iterations.
For the forced motion simulation, the generalized displacement  for each mode shape is specified by the user. The new shape of the structure is directly computed by the equation of global deformation. In case of combining with the harmonic method, the generalized displacement  is computed by:






where

 is the time mean value specified in the interface,

 with  the real part and  the imaginary part specified in the interface,

 is the conjugate of the complex number .
In the trigonometrical form, the generalized displacement  can be written as:



From the definition of the generalized displacement, the physical deformation is retrieved with a time-averaged term and the harmonic fluctuations:






In case of real mode shapes, the harmonic fluctuations can be simplified as  .
Weak Coupling
The weak coupling is based on a staggered algorithm (see FIGURE 1.1). The algorithm is called staggered because fluid and structure equations are not resolved at the same time but successively.
The fluid load computed at time   is sent to the structure equation (1). From  and the structure position at time  , the new structure position at time   is computed (2). The new structure position  is then sent to the fluid solver (3). The fluid load at time   is computed from this new structure position (4). 
Therefore, the structure equation (2) is resolved before the fluid resolution (4) for one physical iteration between time  and time .


FIGURE 3 Staggered algorithm
Strong Coupling
The strong coupling is based on an iterative algorithm. The algorithm is called iterative because a subcycling loop is added to the weak coupling algorithm (see FIGURE 1.2).
After the computation of the fluid load at time  , the structure position is recomputed from the new value of the fluid load (5). Iteratively, the fluid load is recomputed from this new structure position. This subcycle loops until the fluid load or the structure deformation does not vary anymore within a certain convergence criterion.


FIGURE 4 Iterative algorithm
The convergence criterion for the subcycle loop is defined as:



with , the number of subcycles.

Non Reflecting Inlet and Outlet Boundary Conditions
Concept

Currently, several different boundary condition types are available for inlet and outlet patches in FINE™/Turbo. The appropriate choice usually depends on the available data, the fluid model, the flow regime (subsonic/supersonic), the presence of perturbations caused by a disturbing body, the physical phenomena to be captured in the domain, among others. The complexity is often increased when the inlet and outlet patches are located close to the blade rows. In such configurations, spurious, non-physical reflections of waves can occur at the boundaries. These waves come from the hyperbolic nature of the Navier and Stokes (NS) equations and are identified as an entropy wave, two vorticity waves and two acoustic waves for the linearized Euler equations with a compressible ideal gas.
Similar to the non reflecting treatment adopted at rotor-stator interfaces for steady states computations, inlet and outlet non reflecting boundaries aim to remove or decrease the reflection of the waves going out the domain so that, ideally, these patches become transparent to the numerical evolution of the flow and the results independent on the distance to the blade row.
For turbomachinery applications,  the flow is three-dimensional and not uniform. However, the spanwise variations are usually smaller than pitchwise variations and consequently a quasi-3D approach can be used by applying the 2D non reflecting boundary conditions at different spanwise locations. The quasi-3D approach for non reflecting boundaries [Saxer and Giles, 1993] can be sufficient for steady computations of many cases. This method is already implemented for the non reflecting rotor-stator interfaces and extended successfully to real gases and fluids with thermodynamic tables. It constitutes the base of the formulation (more details here) for inlet and outlet non reflecting boundary conditions in the FINE™/Turbo solver.
Inlets
 Theoretically,  the entropy and the stagnation enthalpy should be uniform at the inlet, but this is not respected because second order effects are neglected in the linear theory. Giles (1991) proposes to combine the non reflecting treatment with the specification of an uniform entropy and stagnation enthalpy as boundary conditions. 
Starting from the equations presented for the non reflecting treatment at the rotor-stator interfaces (2D non reflecting with LOCCOR = 3), two additional constraints are considered at the inlet for the pitchwise average changes of the incoming characteristic variables: they concern the flow direction that is specified at the inlet. By this way, the boundary conditions that can be transformed to the specification of entropy, stagnation enthalpy and flow direction can be respected in combination with the non reflecting treatment.
Note that working with such an equivalent boundary condition excludes the inlets with specified static quantities because the entropy and the stagnation enthalpy cannot be determined from these quantities.
For subsonic inlets, the specification of pitchwise averaged values for entropy and stagnation enthalpy as well as for the flow direction are imposed by driving the following residuals to zero (Giles, 1991):



The pitchwise average changes in the incoming characteristic variables which are required to drive these residuals to zero, are obtained by solving the following equations



The jacobian matrix is obtained as the product of two other matrices:









Finally, the average changes in the characteristic variables are calculated by inverting the jacobian matrix:






With






The next step is to calculate the local changes in the characteristic variables at each point on the inflow boundary due to the pitchwise variation in the characteristic variables along the boundary. For the second and third characteristics, the local changes are the difference between the correct steady state 2D non reflecting conditions and the current values.






Where  stands for the grid indices in the pitchwise direction. When   is equal to zero,   is related to the local variations of the outgoing characteristic. The value of  is directly computed from its definition:



Depending on the properties of the coefficient  shown below, a Fourier transform can be required.
If ,



A Fourier transform of the fifth characteristic is performed along the  cells in the pitchwise direction. Theoretically, the number of modes can increase up to the number of points. Usually the range of  is from  to  :



Then  and the inverse transform gives the local value:



If ,



As  is real and independent of the mode, a direct relation is obtained:



For the first and fourth characteristics, the local changes are obtained from the condition that the local entropy and stagnation enthalpy should match the average values. These local constraints are imposed in order to get more uniform values for the entropy and the stagnation enthalpy at the inlet (Giles, 1991). Similarly to the process performed to the average changes, this is equivalent to drive the following residuals to zero:






From the formulation obtained with the jacobian matrix previously, the following relations are obtained:






Finally the imposed changes of the characteristic  at each point  are under relaxed by a factor  with old values coming from the previous iteration.



In the case of supersonic inlet, all characteristics are entering on the boundary and the flow field at the boundary is independent of the downstream flow field. So the correct boundary conditions can be set directly.
Outlets
Only the case of a subsonic outlet is treated by the solver since no boundary condition can be imposed with an axially supersonic outlet. Indeed all characteristic are going out on such a boundary.
In the case of subsonic outlet, four characteristics are leaving and one characteristic is entering the computational domain. One boundary condition can be imposed and this is usually an average static pressure that can vary in the spanwise direction. So the average change of the incoming characteristic at each spanwise location is set to drive the following residual to zero:



By applying an approach similar to one for inlets, the following average change is obtained:



The local change is given by the difference between the correct steady state 2D non reflecting condition and the current value. 



Similarly to the inlet boundary condition, a Fourier transform can be required depending on the properties of the coefficient .
If ,



A Fourier transform of the second and fourth characteristics is performed along the  cells in the pitchwise direction. Theoretically, the number of modes can increase up to the number of points. Usually the range of  is from  to  :



Then the Fourier transform of the fifth characteristic is computed and the inverse transform gives the local value:



If ,



As  is real and independent of the mode, a direct relation is obtained:



Finally the imposed change of the fifth characteristic  at each point  are under relaxed by a factor  with old values coming from the previous iteration.

Computed Variables

The flow solution is stored in the ".cgns" file and will be used for the 3D CFView™ output. CFView™ requires a cell-vertex representation of the flow solution, i.e. the flow variables need to be provided at the mesh nodes. Since the FINE™/Turbo solver considers the flow variables at cell centres, an interpolation process is performed by the flow solver in order to compute the flow variables at the mesh nodes.
The required interpolation of the flow solution is done by arithmetic averaging. If u represents one of the primitive variables  and  the interpolated value,

,
where the summation is over the eight surrounding original locations of the respective variable. The basic flow variables are calculated at the mesh nodes using the above procedure. Derived quantities  are computed from this consistent representation of solution and geometry. By contrast, if a quantity involves the surface normals, these are first calculated on the cell faces of the original mesh and then averaged to the required location. Other exceptions are quantities involving gradients or which are provided by the code:

The Cartesian components of  are computed in the cell corners,





If a cylindrical component is requested, transformation to cylindrical coordinates is done at the cell corners, as is the calculation of . Only then are the requested component, the vector or its magnitude interpolated to the desired mesh.
Some of the variables used in the turbulence models are provided by the code in the cell corners and treated in the same way as the coordinates (wall distance, , ).

If a k-ε, k-ω or v²-f turbulence model is selected, k and ε are additional variables treated in the same way as the primitive variables. The residuals are also provided by the code in the cell centres and therefore treated in the same way as the primitive variables, with the difference that they are only defined in the interior and thus copied to the dummy cells as described above.
The above described arithmetic averaging process used to construct the CFView™ solution is first order accurate, which has an important consequence if the user wants to extract quantitative global quantities:
In case of high flow gradients the calculation within CFView™ of the average (surface integral) of a given quantity throughout an I, J or K=constant surface of the mesh or a cutting plane will be performed with an error with respect to the flow solution calculated by the flow solver.

Total Pressure & Dryness Fraction Imposed (Subsonic - Condensable Gas)
In cases where the inlet thermodynamic state is located on the saturation curve or inside the biphasic zone, traditional boundary conditions based on total temperature and total pressure are not sufficient, as pressure and temperature become interdependent. An additional information is required.

This boundary condition proposed under the FINE™/Turbo GUI is based on the absolute total pressure and the dryness fraction. The velocity direction is also specified, either by means of two flow angles (from axial direction) or of velocity direction vectors.
The implementation of the boundary condition is based on extrapolation of the static pressure. From the static pressure and the imposed dryness fraction, the density, the static enthalpy and the entropy can be computed on the saturation line from the table PSA. The total pressure permits to deduce the value of the total enthalpy. Then, the velocity vector can be computed by using the total enthalpy, the static enthalpy and the imposed velocity direction.

Azimuthal Averaged Variables
Exact azimuthal averaging for general configurations requires a mechanism that is independent of the computational grid. First a meridional mesh must be defined to support the azimuthal averaged solution. Secondly, the latter must be extracted from the 3D computational mesh. The 2D mesh is provided by the meridional projection of any suitable contiguous set of sub-surfaces contained in the volumetric mesh. The domains and indices defining these sub-surfaces are provided in the input file. Choosing sub-surfaces of the actual 3D mesh ensures that the resolution of the meridional mesh is commensurate with the accuracy of the numerical solution.
Starting from each point  of the meridional mesh, the solution defined by the primitive variables  is weighted averaged along a circular arc passing through that point,



where  denotes the azimuthal-average of the generic variable u,  is the quantity weight (named as "weight" in CFView™), and w is the weight function:






is the meridional velocity. Either mass or area averaging can be requested. The same type of averaging will be used for all the primitive variables.
The integrals in the previous equation are approximated by trapezoidal sums. Practically, the  -constant line along which the integration proceeds may be composed of k fragments of  data points, , so that it is evaluated as:



with



and



All requested variables are derived, if possible, from the azimuthal averaged primitive variables. Those variables that can not be computed from the azimuthal averaged primitive variables are computed first. The fact that they are computed by the same routines that are used for generating 3D CFView™ output ensures consistency. The suction and pressure side of the blades can be superimposed on the azimuthal averaged view.
For meshes that do not lie on surfaces of revolution the accuracy of the averaged solution is decreased close to curved boundaries (see FIGURE 1). Although all boundary grid points lie on the same surface of revolution, the straight line segments forming the cell edges do not. The -constant ray associated with point 1 will therefore miss some cell faces or pick values from the inside instead of boundary values. In the worst case it will not encounter any cell faces at all. Strong curvature and cells with high aspect ratio increase the inaccuracy.
This problem has been addressed in two ways. First, meridional grid points encountering fewer than two cell faces are set to zero (a message printed to the screen indicates for how many points this was necessary). Secondly, the possibility is provided to shrink the meridional mesh by a small amount to avoid the outermost regions of the volumetric mesh as shown in FIGURE 2. Independent shrink factors k can be specified in the streamwise and spanwise directions using the expert parameter MERMAR. FIGURE 2 illustrates the global effect. Each mesh line is shrank individually by uniformly contracting towards its centre. The grid points thereby slide along the segments of the original line (dashed line in FIGURE 2).


FIGURE 1 Azimuthal averaging along circular arcs at curved boundary (light lines = meridional mesh supporting the azimuthal-averaged solution, heavy lines = an arbitrary cell face of the computational mesh), situation (a) before shrinking and (b) after shrinking.


FIGURE 2 Shrinking of the meridional mesh, schematic illustration of (a) the global effect and (b) the modification applied to each mesh line (dashed line and circles = original line, solid line and squares = shrank line, C = centre point of the original line)

Outlet Boundary Conditions

Standard Time Accurate Solver (Non-preconditioned Formulation)
For unsteady flow simulations the Reynolds-Averaged Navier-Stokes equations are expressed as:



where t is the physical time and τ is pseudo time, U is the solution vector of the conservative variables, Ω is the volume,  are the conservative fluxes and  are the source terms. The time discretization of the derivative of the conservative variables with respect to the physical time t is made to meet the desired accuracy in time. Two formulations are available:
First order upwind in time:



This first order scheme is used only for the first time step of the unsteady computation except for a restart when the two previous solutions are available.
Second order upwind in time:



All other terms in the Reynolds-Averaged Navier Stokes equations are computed at time n+1. The equation is then treated as a modified steady state problem in the pseudo time τ:



Denoting by R the residual corresponding to the steady state problem, the new residual used for time accurate computations RTA is given by:



For the second order upwind scheme we have β1=1.5, β0=-2, β-1=0.5 while for the first order scheme we have β1=1, β0=-1, β-1=0. The new residual contains terms that depend only on the solution of previous time steps, all other terms depend on the current solution vector U.
When steady state is reached at each physical time step, the left hand side of the new residual for time accurate computation RTA tends to zero and the time accurate solution is obtained.
The Time Stepping
When integrating the previous equation in the pseudo time τ, it is recommended, Arnone et al. (1995), Pierce and Alonso (1997), to treat the term  implicitly. This is obtained by developing the solution vector U in a Taylor expansion:



Putting this equation into the new residual used for time accurate computations RTA, a modified pseudo time step is introduced:



The pseudo time step is modified by an additional term containing the physical time step. This term becomes dominant if the physical time step is significantly smaller than the pseudo time step. This situation does not often happen since the physical time step is taken as large as possible. However, in the far field where mesh dimensions are increased the pseudo time step might reach high values and the contribution of the physical time step will have a stabilizing effect there.
The physical time step Δt is limited by the level of desired accuracy. For periodic flows the time step is usually taken a fraction lying between 1/20-1/40 of the expected period.
Initial Solution at Each Physical Time Step
The simplest way to obtain an initial solution on the next time level is to choose the latest available solution:




 being the cell volume evaluated at the next time step. The volume evaluation at each physical time step is only performed for moving meshes.
In Jameson (1991) it is suggested to take as initial solution an extrapolated solution from the previous time steps. This is obtained by a Taylor expansion:



This expression leads to the following initial solution:



In practice however, using this expression does not show any convergence enhancement for the next time step compared to the convergence obtained with the simplest way  which is therefore implemented.

In the particular case of turbomachinery applications a discretization in time of the blade passing period is performed by the unsteady algorithm, and once one full period has been accomplished by the algorithm, the solution may be initialised using the solution obtained at the same position at the previous rotation. This requires the storage of all the intermediate solutions and the experience has shown that it did not bring significant convergence improvements. The approach has however been implemented in the FINE™/Turbo solver, and can be activated by setting the expert parameter PREROT to 1.

Static Quantities Imposed (Subsonic)
The complete absolute velocity vector followed by the static temperature on the boundary are specified. Several possibilities exist:

the magnitude of the velocity and the flow angles α and γ are specified:



the magnitude of the velocity and other flow angles δ and ε are specified:



with  the meridional velocity (). This option has been designed to allow radial inlet with zero axial velocities,
the cylindrical velocity components are specified.

The static pressure is extrapolated from the interior. Using subscript 0 for the boundary, and subscript 1 for the first internal cell one has:



which allows to calculate all the primitive variables on the boundary.
These conditions can also be used for incompressible flows.

Spalart-Allmaras Model
The Spalart-Allmaras turbulence model is a one equation turbulence model which can be considered as a bridge between the algebraic model of Baldwin-Lomax and the two equation models. The Spalart-Allmaras model has become quite popular in the last years because of its robustness and its ability to treat complex flows. The main advantage of the Spalart-Allmaras model when compared to the one of Baldwin-Lomax is that the turbulent eddy viscosity field is always continuous. Its advantage over the k-ε model is mainly its robustness and the lower additional CPU and memory usage.
The principle of this turbulence model is based on the resolution of an additional transport equation for the eddy viscosity. The equation contains an advective, a diffusive and a source term and is implemented in a non conservative manner. The implementation is based on the papers of Spalart and Allmaras (1992) with the improvements described in Ashford and Powell (1996) in order to avoid negative values for the production term (). 
The turbulent viscosity is given by



where  is the turbulent working variable and  a function defined by



with χ is the ratio between the working variable  and the molecular viscosity ν,



The turbulent working variable obeys the transport equation 
 
where  is the velocity vector, ST the source term and σ,  constants.
The source term, includes a production term,  and a destruction term, :



where






The production term P is constructed with the following functions:

;






where d is the distance to the closest wall and S the magnitude of vorticity.
In the destruction term D, the function  is 



with



 
The constants arising in the model are

Implicit residual smoothing
Implicit residual smoothing can be used in combination with Runge-Kutta to speed up the convergence to steady state. 
One stage in the explicit Runge-Kutta scheme might be written:



The residual R may then be smoothed first, before applying the update of previous equation. The smoothing may be obtained by applying a central type operator leading to a smoothed residual :



with the operator 



and similar for the operators in the directions j and k. 
 ϵ is a smoothing parameter on which the stability criterion is:



where  are the CFL numbers of the smoothed and unsmoothed Runge-Kutta scheme respectively. The result of the residual smoothing is thus that one can run at higher CFL numbers: choose  > 1 and by an adapted choice of ε, according to the equation above, the scheme remains stable. Though theoretically this equation guarantees stability for any value of , in practice this is not the case. A good practical value is  =2. The parameter  is user input (RSMPAR).
Different types of residual smoothing, corresponding to different definitions of ε are available. Each one corresponds to a different value of the input parameter IRSMCH.
For IRSMCH = 1 the definition of the previous equation is used, with the restriction that ε should be positive.
For higher values of IRSMCH, the definition of ε also takes the mesh aspect ratio into account.
For IRSMCH = 2 one uses, after Radespiel & Rossow:



with the spectral radius (scaled with the cell face area), e.g.:



A similar definition as the previous equation holds for ε in the directions j and k.
For IRSMCH = 3, after Zhu, one has:



IRSMCH = 4 is after Swanson & Turkel for viscous flows. First Zhu is applied. Denoting the obtained value as ε*, the final value is:

.
Finally, for IRSMCH = 5, one has, after Martinelli & Vatsa:

.

Boundary Conditions


This chapter describes all the theories related to the boundary conditions available in the FINE™/Turbo solver:

v²-f Model
Though they produces relatively good results for a number of flow aspects, the Low-Reynolds k-ε turbulence models use damping functions that correct the improper asymptotic behavior of the eddy-viscosity formulation close to solid walls. Insofar as the objective of this damping effect is to represent the kinematic blocking by the wall, Durbin (1991) suggests to use the turbulent stress normal to streamlines instead of the turbulent kinetic energy in the definition of the turbulent viscosity. Therefore, he introduces a new v²-f turbulence model that does not require any damping function: v² represents the turbulent stress normal to streamlines and f is a redistribution function.
The present code-friendly variant of v²-f turbulence model derived from the one described in Lien and Kalitzin (2001). It is based on the high-Reynolds k-ε model with two additional equations for the turbulent stress normal to streamlines and the redistribution function:












The eddy viscosity is computed as 



where the turbulent time (T) and length (L) scales are defined by:






The terms that include the strain-rate magnitude (S) are linked to the realizability constraint introduce by Durbin (1995) in order to overcome a too high production close to stagnation points. The turbulent time and length scales are also bounded by the Kolgomorov scales.
The parameter used in this model and available through expert parameter in the Control Variables page under Expert Mode are: Cμ = 0.22, σk = 1, σε= 1.3, Cε1 = , Cε2 = 1.9, C1 = 1.4, C2 = 0.3, CL = 0.23, Cη = 70.

Navier-Stokes Equations

Turbulence
Standard Wall function for k-ε model
The values of k and ε in the first inner cell are imposed based on the value of the wall friction velocity uτ:






where Cμ = 0.09 and κ is the Von Karman constant (default value 0.41).
Extended Wall Function for k-ε model
For the extended wall functions model, the wall functions for k and ε are fitted with polynomials to the DNS data.
Extended Wall Function for Spalart-Allmaras model
The turbulent working variable  in the first inner cell is imposed based on the value of the wall friction velocity uτ:



with 






and κ is the Von Karman constant (default value 0.41).
This relation can be rewritten as:



and holds true in the viscous layer and in the log layer.
Extended Wall Function for SST model
The value of k in the first inner cell is obtained from the tabulated values already used for the k-ε model. ω in the first inner cell can be imposed based on the value of the wall friction velocity uτ,



in the sublayer



in the log layer
where β1=0.075, Cμ=0.09 and κ is the Von Karman constant (default value 0.41).
In the intermediate region, ω+ is approximated with the form of interpolation between the viscous and log layer value:



with

Merkle Preconditioning
The motivation for changing from the Hakimi to the Merkle preconditioner is to obtain a solution scheme with an increased robustness. A further motivation is to get a solution scheme that is not only efficient at all Mach numbers but also for all Reynolds and Strouhal numbers. The intention of the change of the preconditioning concept is also to obtain a scheme, which is intuitive, conceptually simple yet effective and general.
To derive the Merkle preconditioning scheme, the Navier-Stokes equations for compressible in Cartesian coordinates are used as a basis.



with 

	.
The set of independent solution variables is changed from the vector of conservative variables U to the vector of viscous, primitive variables  by splitting up the unsteady term according to:



The Jacobian  is thereby given as:



The subscripts p and T represent the isothermal derivative with respect to the pressure and the isobaric derivative with respect to the temperature, respectively. 
To ensure efficiency for all Mach numbers the Jacobian is replaced by the preconditioning matrix:



The matrix  differs only from the Jacobian  by the fact that the physical quantities , ,  and  are replaced by the scaled quantities  and , respectively. 

The parameters  and  are used to control the scaling of the dynamics for both inviscid and viscous dominated flows. The parameters  and  are set to their physical values, as these parameters only have a minor effect on the dynamics of the Navier-Stokes equations. In the incompressible limit the energy equation in the unscaled Navier-Stokes equations is decoupled from the continuity and momentum equations. This property should be kept for the preconditioned flow equations, wherefore the preconditioning parameter  should be scaled proportional to its physical counterpart. In the FINE™/Turbo solver, this parameter is set to its physical counterpart. Therefore, only the parameter  remains in order to control the preconditioning. This parameter can be written:



where vp is the particle velocity.
The local preconditioning velocity plays a crucial role as it should be as low as possible but not smaller than the local velocity, and should not be greater than the speed of sound in supersonic regions. Furthermore, it plays a crucial role in the robustness of the preconditioning method. In the flow solver the particle velocity vp is defined as:

 for compressible fluids

	for incompressible fluids
where:



c is the speed of sound used only for compressible cases;  is accessible through the Flow Model page and are referred to as characteristic velocity.







 is the turbulent viscosity only used for turbulent cases.




 is the unsteady preconditioning velocity only used for harmonic computations. Where the index k refers to the harmonics, σ is the harmonic inter-blade phase angle, ω is the harmonic blade passing frequency, N is the blade periodicity, R is a reference radius and ϕ is the coefficient controlled by the expert parameter VUNS2.
For two equations turbulence models two new limiters are included:

Modification of the turbulence models
The Spalart-Allmaras turbulence model
The intermittency is used to multiply the turbulence production term in the Spalart-Allmaras turbulence model in the Source term equation. This gives:	



where  is the production term. Free-stream wakes (with only a weak production term) will not be affected by the intermittency. A laminar boundary layer will be preserved upstream of the transition location and turbulence could freely develop thereafter.
The Yang-Shih k-ε turbulence model
In the original Yang-Shih k-ε turbulence model, three terms (the turbulent kinetic energy production term, the turbulent kinetic dissipation term and the dissipation rate production term) need to be modified. Three modifications have been implemented. This is controlled by the expert parameter KETRAN:
When KETRAN is equal to 1:






When KETRAN is equal to 2:






When KETRAN is equal to 3:






The Wilcox k-ω turbulence model
In the original Wilcox k-ω turbulence model, three terms (the turbulent kinetic energy production term, the turbulent kinetic dissipation term and the specific dissipation rate production term) need to be modified. Three modifications have been implemented. This is controlled by the expert parameter KETRAN:
When KETRAN is equal to 1:






When KETRAN is equal to 2:






When KETRAN is equal to 3:






The SST turbulence model
In the original SST turbulence model, three terms (the turbulent kinetic energy production term, the turbulent kinetic dissipation term and the specific dissipation rate production term) need to be modified. Three modifications have been implemented. This is controlled by the expert parameter KETRAN:
When KETRAN is equal to 1:






When KETRAN is equal to 2:






When KETRAN is equal to 3:

Intermittency Distribution
Spalart-Allmaras model
The intermittency function is defined on each point of the blade surface and at each iteration. It is extended to the computational domain by a simple orthogonal extension (i.e., each point of the computational domain has the same intermittency than the closest point on the blade surface).
Either using the Forced Transition option or the Abu-Ghannam and Shaw (AGS) Model, the stream-wise evolution of intermittency should be defined. It could be either a binary field or a smoother field. In the current implementation those two options are available. It is controlled by the expert parameter INTERI. With its default value (INTERI = 0) the intermittency is 0 before transition and 1 after the transition onset. If INTERI = 1, intermittency is defined following the relation of Dhawan and Narasimha [1958]:






where st is the position of the transition onset and s is the current position on the arc from leading edge to trailing edge. λ is the characteristic extent of the transition region and is determined from the correlation:



Close to the trailing edge the intermittency is set to 1. This is necessary in order to allow a turbulent wake to be generated downstream of the blade. This special treatment is controlled by the expert parameter FTURBT that is set to 0.95 by default (i.e., only the last 5% of a blade side will have an intermittency of 1). In order to get a tri-dimensional distribution of the intermittency, the intermittency of a cell is the one of the closest cell on a solid surface (hub, shroud, and tip gap are fully turbulent and have an intermittency equal to unity).
Yang-Shih k-ε, Wilcox k-ω and SST models
The intermittency function is defined on each point of the blade surface and at each iteration. Then it is extended to the computational domain. This is done by comparing the distance to blade with the momentum thickness θ computed by Thwaites relation and multiplied by expert parameter BLFACT (default value is 5). If the distance to blade is smaller than (BLFACT*θ) the intermittency of the current cell will be set to the intermittency of the closest point on the blade. Otherwise the intermittency will be set to unity. Near the leading edge the distance on which the intermittency is applied is computed in the same way but the θ value is taken at the position corresponding to the expert parameter FTRAST to avoid insignificant distance.
The definition of the stream-wise evolution of intermittency is the same as that used by the Spalart-Allmaras turbulence model.

General Navier-Stokes Equations
The general Navier-Stokes equations written in a Cartesian frame can be expressed as:

,
where Ω is the volume and S is the surface, U is the vector of the conservative variables:




 and  are respectively the inviscid and viscous flux vectors:

     and      
where the total energy and the heat flux components are defined by:






κ is the laminar thermal conductivity.

 contains the source terms:



with ,  and  are the component of external forces .  is the work performed by those external forces: 



Other source terms are possible, like gravity, depending on the selected functionalities.
To close the Navier-Stokes equations, it is necessary to specify the constitutive laws and the definition of the shear stress tensor in function of the other flow variables. Here only Newtonian fluids are considered for which the shear stress tensor is given by:



where μ is the dynamic molecular viscosity.
More information about the constitutive laws and properties of the fluids can be referred to  Fluid Models.

Domain Scaling Method
The Domain Scaling Method considers in the computational domain respectively K1 and K2 blade passages with the following condition to be satisfied:
 .
where the indices 1 & 2 refer to the upstream and downstream sides of the interface, and P1 & P2 are the pitches of the two connected blade rows.
If the numbers of blades in respectively the rotor and the stator are not equal, the user should make the choice between:

modeling a higher number of blade passages (or even the entire machine if a common multiple can not be found). If for instance the numbers of blades are 16 & 24, the numbers of passages to model are respectively 3 & 2. This permits to avoid the introduction of an error due to the geometry scaling, at the cost of an increased memory requirement.
scaling the geometry. The easiest way to proceed in order to obtain the required scaling is to generate a mesh with a blade number different from the real one. The ratio between the modified and the real blade numbers should be as close as possible to 1.0.

In some cases the most appropriate treatment may be a combination of the 2 above approaches. If for instance the numbers of blades are 18 & 24, one could scale the stator by changing the number of blades from 18 to 16, and then choose to model 2 & 3 passages. The scaling factor is then 1.125, instead of 1.33 in case only one blade passage is modelled.
The major advantage of having the same pitch distance on both sides of the interface is that it permits to avoid considering any time periodicity in the boundary condition treatment. The boundary conditions to be imposed along the periodic boundaries inside the gap region are given by 

,
where  is the pitch distance on both sides of the interface. The "+" sign is to be used when imposing boundary conditions on the lower periodic segment (minimum azimuthal coordinates) and the "-" sign is to be used for the higher periodic segment (maximum azimuthal coordinates). Along the rotor/stator interface, the boundary condition is defined as

,
where the parameter m is selected such that the point  is part of the computational domain of row 3-i to allow for the interpolation across the interface. Since only the spatial periodicity is accounted for in the connecting boundary condition, the periodic surfaces become simple non-matching rotating boundaries, while the interface is a non-matching connecting boundary. The solution procedure is then as follows, for each physical time t:

Rotate the grid in function of the physical time step and of the rotation speed of each row.
Resolve the flow field at the given physical time t. The boundary conditions to be imposed along the periodic segments and the boundary condition to be imposed along the interface boundary are defined below
Save the flow solution for future post-processing.

This method does not impose any time periodicity in the boundary condition treatment and thus, allows to capture all time frequencies of the various unsteady interactions, but occurring on a modified geometry due to the grid scaling. The effect of the grid scaling on the accuracy of the computed flow solution is of great importance when comparing computational results with the experimental data, as another one-stage configuration has been truly resolved. These effects may be summarized as:

a shift in the spectrum of time frequencies for the blade row that has not been scaled. 
the modification in both blade rows of the Fourier modes that are propagating the flow information. 

The unsteady governing flow equations are resolved in the relative system of each row. Thus, no grid rotation needs to be performed at each physical time step and only the interpolation data structure needs to be modified in function of the relative position of each component. For example, a downstream rotor will see an upstream stator moving in the opposite direction of its own rotation velocity, while the upstream stator will see the rotor moving in the direction of the rotor rotation velocity.
Finally, the previous implementation lets the rotor do the full rotation. The problem in this method is that the rotor and the stator are in front of each other for a little fraction of time. During this time, no time shift is necessary at the R/S interface which acts then as a pure connection. The modification proposed aims at increasing the time during which the R/S interface acts as a connection. To perform this, only the periods during which the rotor and the stator are in front of each other, are repeated. But, since the length of the periods are different in the 2 blades rows, the solution has to be stored and reset in the row with the smallest period. 
Example: if row 1 has the highest number of blades and therefore is submitted to the larger period, this last period T1 is repeated over and over, while a fractional number of periods will be simulated in row 2. The solution is thus stored at the end of the last completed period in row 2, to be reused at the beginning of each T1. This method increases a lot the speed of exchange between the two blade rows. It increases also the robustness of the computation.
Full Non-matching Approach
The FNMB approach is used for the domain scaling method. The implementation is practically identical to the one that is adopted in the steady state frozen rotor approach. The FNMB connecting algorithm is used in order to exchange the flow variables and fluxes between the left and right image. The difference in the case of unsteady calculations is that the boundary condition patches linked to the rotor side need to be positioned according to the current time step.
This implementation is organised in nearly the same way as the mixing plane approach, except from the fact that the mixing plane technique applied between the two image must be replaced by an additional full non-matching connection. The global organisation is the following:

Extrapolate the inner flow solution to boundary condition patches (on both sides),
Interpolate the flow solution from initial patches to the image (on both sides),
Full non-matching connection between the two images (with appropriate rotation of the rotor-linked image),
Transfer of the calculated fluxes to the initial boundary condition patches.

Hakimi Preconditioning
The preconditioning methodology developed (Hakimi, 1997) is of sufficient generality and can treat any type of fluids including perfect gases and incompressible Newtonian and non Newtonian fluids. On the numerical level, the solution procedure including space discretization, time integration and boundary conditions have been adapted to the new transient behavior of the conservation equations. 
The low speed preconditioner has been validated for inviscid flows, viscous flows, turbulent flows and unsteady flows. Efficient convergence rates and accurate solution have been obtained for Mach numbers from M=0.1 to M=10-6, Reynolds numbers from Re=106 to 10-6 and aspect ratios from 1 to 2000.
General Form of the Preconditioning Matrix
The Preconditioned Reynolds-Averaged Navier-Stokes equations including turbulence and species transport equations written in a Cartesian frame of reference and integrated over a control volume Ω are expressed as:



with 



The variable  is the gauge pressure and the variables  is the total gauge energy.
For a perfect gas with constant ,  is given by: 



For an incompressible fluid with constant ,  is given by:



The extension of the preconditioning matrix to the turbulence transport equations is then given in its general form both for compressible and incompressible fluids by:



* 	the term -1 should be added in compressible cases only.
We notice from this matrix that the preconditioning matrix does not apply to the transport equations of k and ε. This choice is the simplest and did not cause any particular instability for turbulent test cases run so far.
Eigenvalues of the System
The eigenvalues of the preconditioned system defined by the Preconditioned Reynolds-Averaged Navier-Stokes equations are determined from the Euler part and can be obtained easily if the equations are written in terms of the primitive variables (p,u,v,w,p or e ).
Their expression is given in 3D for compressible fluids by:



The two parameters α and β are chosen so that the stiffness of the eigenvalues is minimized at low speed.
The corresponding eigenvalues for incompressible fluids are: 



Compared to preconditioned system of compressible fluids, the first three eigenvalues are unchanged and the eigenvalues of the acoustic waves can be obtained by setting in this equation the speed of sound to infinity. We note in particular that the acoustic eigenvalues are always of opposite sign showing that the flow remains subsonic with respect to the pseudo-sonic speed. As for the compressible preconditioner the two parameters α and β are chosen so that the stiffness of the eigenvalues is minimised at low speed.
Note that if a k-ε model is considered, the corresponding eigenvalues will be:



Choice of the Parameters α, β and the Reference Velocity
The user control variables are .

are accessible through the Flow Model page and are referred to as reference pressure and reference temperature.
The parameter α is accessible as expert parameter in the Control Variables page under Expert Mode as ALPHAP. According to several computations accomplished with the central scheme, good convergence rates were obtained for values of α lying in the range [-1,1]. So far the best value is found to be α=-1. This optimal value is not surprising since it increases the spectral radius and therefore adds an additional amount of artificial dissipation.
The preconditioning parameter β is imposed by the user in the Numerical Model page through a coefficient β* and a characteristic velocity  such that




 is representative of the maximum velocity in the flow field. For example, in external flows, Uref could be taken as the free stream velocity whereas in internal flows it could be taken as the maximum inlet velocity. Note, for the user's convenience, the constant Uref is always equal to the reference velocity specified in the Flow Model page, which means that one of them (Uref/reference velocity in the Flow Model page) is changed, the other one will be changed automatically. 
The default value of β* is 3. Based on our experience with the presented low speed preconditioner the parameter β* can be taken of order unity for inviscid flow computations. For viscous computations associated with Reynolds numbers greater than about Re=1000, a constant value β* of order unity is also adequate. If convergence difficulties are encountered at the very beginning of a computation, it is recommended to increase the value of the parameter β*. Remember however that a too large value of β* will introduce excessive artificial dissipation into the solution.
For lower Reynolds number the parameter β* has to vary in order to preserve numerical stability and a good convergence rate. The parameter β* should increase as the Reynolds number decreases and may vary over several orders of magnitude (see FIGURE 5).
If the local velocity scaling option is activated in the Numerical Model page, another definition of β is used:



where  is the local velocity.


FIGURE 5 Typical variation of the preconditioning parameter  with Reynolds number
For high Reynolds flows it is suggested to choose β among the following values:

β=3
β=30
β=300

Too small or too big values of β may lead to divergence or to a too dissipative solution (if β is too high)

Time Discretization: Multistage Runge-Kutta
An explicit q-stage Runge-Kutta scheme for the equation



can be written:



Where  is the value of U at the time step t and  at the time step . The coefficients  determine the stability area and the order of accuracy of the Runge-Kutta scheme. They can be chosen in such a way that they suit the problem to be solved. 
For inviscid calculations the local (i.e. for each cell) inviscid time step is calculated as:




 is the user specified CFL number (variable CFL on theNumerical Model page). The vectors S are cell normals at the cell centre (obtained by averaging the normals on the cell faces) in respectively i,j and k-direction. The module corresponds to the cell face area.
For viscous calculations one also calculates a local viscous time step in each cell. 
If a viscous CFL number  (expert parameter CFLVIS by default set at -1) is specified by the user in the Control Variables page, i.e. the input variable CFLVIS > 0, the following formula is used for the viscous time step:



with μ the local laminar viscosity (laminar simulation) or the sum of local laminar and turbulent viscosity (turbulent simulation).
The actual local time step is then the minimum of both time steps:



If the input variable CFLVIS < 0 (Default) the viscous CFL number, , is replaced by the inviscid CFL number,  in the local inviscid time step. The actual local time step is then obtained by weighting the inviscid and viscous time step according to a harmonic mean formula:



If local time stepping is used, i.e. each cell in the computation domain has its own time step given by the local inviscid time step equation, for inviscid calculations and Eq. 5-36 or Eq. 5-37 (depending on CFLVIS) for viscous calculations.
If global time stepping is used, i.e. in all cells the same time step is used, which is, for stability reasons, the minimum of the local time steps. This option is only to be used for unsteady simulations when the dual time stepping approach (default) is not selected. For steady simulations, it is recommended always to choose local stepping, as it will increase the convergence rate.

In practice, 4 or 5 stage Runge-Kutta schemes are mostly used. In the FINE™/Turbo solver the following coefficients are default for 4 and 5 stage schemes:
For central schemes



For first-order upwind schemes:



For second-order upwind schemes:



The user has the possibility to provide the Runge-Kutta coefficients through the expert parameter IRKCO. The first element of IRKCO corresponds to the first coefficient, the 2nd element to the second, and so forth. A maximum of 10 coefficients (i.e. a 10-stage scheme) is foreseen. If all elements of IRKCO are zero the default values are used.
In Jameson (1985) the dissipative terms are calculated only once or a few times in a q-stage Runge-Kutta scheme. This approach reduces the computational cost substantially.
The disadvantage is that the dissipative terms need to be stored separately. For the laminar Navier-Stokes equations with 5 equations, 5 extra arrays are required to store the dissipative residuals from the artificial dissipation.
The residual  is split into a convective and a dissipative part:



The artificial (central or upwind) dissipation terms, are accounted for either in the convective part (parameter IBOTH = 0) or in the dissipative part (parameter IBOTH = 1).
The expression for F in Eq. 5-33 at any stage m is then



where m is the current stage and r is the latest stage at which the dissipative residuals have been evaluated.
The recalculation of the dissipative residuals is governed by the (vector) variable ISWV. For a m-stage Runge-Kutta scheme the m first elements of this vector are used, the first element corresponding to the 1st stage, the 2nd element to the 2nd stage and so on. If the element of ISWV is 0 it means that the dissipative residual should not be calculated at the corresponding stage, and the latest available dissipative residuals will be used; if it is 1, D will be calculated.
Note that for consistency reasons, the first value of ISWV should always be one. 
For upwind schemes, in order to run at high CFL numbers, it is advised to recalculate the upwind dissipation at every stage. The best strategy is to chose IBOTH = 0 (upwind dissipation put in convective residuals, and hence calculated at each stage). ISWV monitors then only the recalculation of the physical dissipation (i.e. Navier-Stokes terms) and a calculation on the first stage only is usually enough (ISWV = 1 0...0).
Central schemes are usually less sensitive to the recalculation of the artificial dissipation, so that IBOTH = 1 can be used. The recalculation of artificial dissipation is then also governed by ISWV. However only one calculation (ISWV = 1 0...0) may not be enough; a better choice is for instance recalculation once every 2 stages, e.g. ISWV = 1 0 1 0 1 for 5-stage Runge-Kutta.
For IBOTH = 2 (Default), the same strategy as for IBOTH = 1 is used but in addition the physical viscous terms are evaluated only once per iteration.
For non-equilibrium real gas calculations (ITYGAS = 4 in corresponding ".run" file) the input variable ISWS governs the recalculation of the source terms of the species equations. Apart from the source terms, ISWS also governs the recalculation of the diagonal terms of the Jacobians of the source terms (which are used in the point implicit procedure).
From Eq. 5-33 it can be seen that, after the update in the last stage, the residual is normally not re-calculated any more. Strictly spoken however, within a multigrid approach, one should use in the calculation of the forcing function for the coarser level, the residual corresponding to the latest solution. For single grid computations, re-calculation is never done.
Within multigrid, the Runge-Kutta operator can be applied more than once on each grid level, to ensure a better smoothing. The parameter Number of sweeps on successive grid levels gives the number of times the Runge-Kutta operator has to be applied to each grid level during the fine-to-coarse - respectively the coarse-to-fine - part of the multigrid cycle. They can take different values on each grid level.
Within the explicit Runge-Kutta approach, the source terms of the two-equation turbulence models and of the chemistry equations (non-equilibrium real gas) are treated in a point implicit way.
For the k-ε equations the Jacobian of the negative part of the source term is diagonalized by assuming that the turbulent viscosity is approximately constant. This leads to the following relations between  and :



For instance, for the Chien model, this results in the following diagonal terms of the Jacobian, including the compressibility corrections of Sarkar and of Nichols:






Note that in the equations above the damping function  is not taken into account.

Inlet Boundary Conditions

Physical Models

This chapter describes the following physical models:

Total Quantities Imposed (Subsonic)
Mach Number extrapolated
The user first specifies a direction (given under the form of a vector) that corresponds to the direction of the absolute velocity vector. Note that this vector does not have to be a unitary vector. The x,y,z components of the direction vector are given. E.g., entering the direction (0,1,1) imposes that the y- and z-component of the absolute velocity vector at inlet should be equal. In other words, the flow comes in at an angle of 45 degrees between z- and y-direction, whereas the angle between z- and x-direction is 0 degrees.
The absolute total pressure and the absolute total temperature on the inlet boundary are also specified. 
The absolute Mach number is extrapolated from the interior field (only available for compressible fluid):



Magnitude of Absolute Velocity extrapolated
The user first specifies a direction (given under the form of a vector) that corresponds to the direction of the absolute velocity vector. Note that this vector does not have to be a unitary vector. The x,y,z components of the direction vector are given. E.g., entering the direction (0,1,1) imposes that the y- and z-component of the absolute velocity vector at inlet should be equal. In other words, the flow comes in at an angle of 45 degrees between z- and y-direction, whereas the angle between z- and x-direction is 0 degrees.
The absolute total pressure and the absolute total temperature on the inlet boundary are also specified. The absolute velocity vector is obtained by extrapolation from the interior field, cf. Eq. 4-4. 
Velocity normal to inlet (V extrapolated)
The absolute total pressure and the absolute total temperature on the inlet boundary are specified. The orientation of the velocity will be set to be normal to the inlet surface. The magnitude of the absolute velocity is extrapolated from the interior field.



where  represents the absolute velocity at the inlet,  is the velocity norm inside the domain and  is the normal unit vector pointing outside of the domain.

Cavitation Model
Cavitation is a dynamic process of formation of bubbles inside the liquid, their growth and subsequent collapse. It appears where the pressure of the liquid falls below its vapour pressure. Such cavitation often occurs in pumps, propellers and impellers etc.
The development of the cavitation phenomena is related to the cavitation number σ, defined as:



where Pt,inlet is the absolute total pressure at the inlet of the domain;
Pvap,s is the vapour pressure;
ρ is the density of the liquid phase;

Vref is the reference velocity (see the Flow Model page of the FINE™/Turbo GUI).
Cavitation develops with decreasing cavitation number, which can be achieved by increasing the vapour pressure or decreasing the absolute inlet total pressure from an arbitrary non cavitating state to the desired cavitating state (defined through σ).
To model the physics of cavitation, the approach used by FINE™/Turbo makes use of single fluid approach, characterized with a density ρ that is allowed to vary within the computational domain.
The Cavitation Model with the Barotropic Law
When the cavitation model with the barotropic law is used, the evolution of density and static pressure are linked through a barotropic law, enabling macro simulation of the cavitation phenomena with minimum user inputs.
The barotropic law  is used to evaluate the local density as a function of local static pressure ps in the cell. According to local value of density and corresponding vapour pressure, the computational cell can be considered as filled fully with liquid (), vapor (), or a mixture of both. In the latter case, an equivalent density is considered. The corresponding local fluid velocity is unique, still based on the single fluid approach.


FIGURE 5 Sinusoidal barotropic state law
In the biphasic region, the density is written as:



where  is the vapor pressure,  is the minimum speed of sound and  is the local static pressure.
The parameter AMIN, which represents the slope of the barotropic law, is defined as follows:



Then, the sinusoidal barotropic law is written as:



The dynamic viscosity of the mixture is computed as follows:



where  and  are the dynamic viscosity of the vapor and liquid, respectively. The void ratio α is defined as:

Passive Tracers
The Passive Tracer model allows the user to introduce, into the computations, species that are passive with regards to the carrier fluid. This means that the carrier fluid ignores the tracer and is only defined by its own properties.
The species conservation equation is written as 



where cs is the species concentration.  is the diffusion coefficient. 
The diffusion coefficient Ds is calculated from a specific Schmidt number Sc:



For turbulent computations a turbulent Schmidt number Sc,t is added leading to:

Generalized Transition Model
The generalized transition model is the model proposed by Menter and Langtry (2004). This model is based on two transport equations for the intermittency (γ) and for the transition momentum thickness Reynolds Number (). The model does not attempt to model physics of the transition process. Experimental correlations are used to relate the turbulence intensity () and the pressure gradient in the freestream to the momentum thickness Reynolds number () at transition onset. The innovation using two additional transport equations is that only local information is used to define the transition onset on all solid walls. This allows to remove all limitations that exist in the global correlation transition model.
The generalized transition model is applied with the SST/EARSM turbulence models. The intermittency is used to turn on the production term of the turbulent kinetic energy downstream of the transition point. The equation for the transition momentum thickness Reynolds Number is used to capture the non local effects in the freestream (turbulence intensity and pressure gradient) and to diffuse them into the boundary layers.

Mesh Deformation and Solver Adaptations
Mesh deformation
Laplacian Smoothing
The present model assumes that the mesh deformation caused by a moving solid wall boundary is small enough so that the mesh topology is not modified and the deformed mesh can be smoothed inside the modelled domain without generating negative cells. 
The assumption of the small displacements on the moving solid boundary allows keeping the same mesh topology and generating the new mesh with a "simple" elliptic smoothing of these displacements inside the meshed domain. The smoothing is applied in each block with the suitable boundary conditions:

Dirichlet type on vertices with a fixed displacement
Neumann type on faces where a displacement is allowed on the face

The connections between blocks are treated by exchanging the displacements not only on the common boundary face but also on the first inner face.
The movement of the moving solid boundary is imposed at each time step. The displacement () 
		of the vertices on such a surface is computed from the reference position 
			() in the initial mesh:



The displacement of each vertex is computed by solving the following equation:



with the suitable boundary condition:

Dirichlet on the solid patches 
Neumann on the patches other than connections 

The original elliptic smoothing of the displacement field has a modified form with the use of a local diffusivity factor ω (activated by IMVWEI=1). 



This diffusivity factor allows restricting the smoothing of the small volume cells in order to preserve the quality of the mesh. It is based on the element volume Ω in the nondeformed reference mesh.
The smoothing can be applied to the displacement field in cartesian coordinates (IMVCYL=0) or in cylindrical coordinates (IMVCYL=1). The best choice is depending on the geometry of the case. Note that the cylindrical mode is more expensive in term of CPU time.
Radial Basis Function
The interpolation function d describing the displacement in the whole domain is approximated by a sum of radial basis function:



where  are the coordinates of the boundary nodes for which the value of the displacement is known, p is a polynomial,  is the number of boundary nodes and ϕ is a given radial basis function with respect to the Euclidian distance . In the current implementation, a linear polynomial is used:



The values for the coefficients  and the coefficients  are obtained by solving the following linear system:



where  is the known values of the displacement at the boundary, α contains the coefficients , β contains the coefficients ,  is a  matrix containing the evaluation of the radial basis function:



and  is a  matrix with row j given by:




In FINE™/Turbo, the following Radial basis functions are considered:

Function with compact support (Wendland C², MOVRBF=1):





where r is the support radius (expert parameter MOVRAD).

Function with global support (thin plate spline, MOVRBF=2):




Elastic Analogy
In  continuum mechanics  and Euler formulation, Newton's second law is expressed as:



where


 is a fixed positioning vector and t the simulation time.

 refers to the long range forces field (also named as body forces).

 refers to the volume masses field.

 refers to the accelerations field.

Assuming that no long range forces are present in targeted application, the displacement field of the mesh is dominated by the equilibrium equation of elasticity:



Dealing with small deformations,  stress tensor    with the strain tensor can be linearly related. Given a completely isotropic behavior, the Hooke law can then be written:



The coefficients    and    refer to the Lame constants and both coefficients are related to the elastic properties characterizing our material:



where

E refers to the material Young Modulus
ν refers to the material Poisson Modulus

Finally, within the  assumption of small deformations, the strain tensor   with the observed displacement vector  have a linear relation:



Then a finite volume discretization is defined as:



Using the divergence theorem and assuming a surface S for the control volume and its normal vector , the equation above can be rewritten in the form:



With predefined E and ν, then Lame coefficients are available, thus the direct relation between elastic properties of fictitious material and the displacement of the domain can be obtained. Dirichlet boundary conditions are applied to the whole set of domain limits.
In order to adapt the elasticity of fictitious material to the geometrical particularities of the mesh, a heterogeneous distribution of E can be considered. This behavior is driven by parameter IELAED. The maximum value of Eis set by RELAEV while the considered Poisson Ratio is taken as constant and introduced by RELAPV.





































Transfinite Interpolation
 Given a mesh segment going from point A to B, the arc-length of an interior point  is defined as:



where corresponds to the first dimension of our nodes reference position vector . Total arc-length of the segment is written as:



Then, new edge interior points coordinates  can be computed by performing a linear interpolation:



The same methodology is repeated in all directions. The 1D interpolation can be easily extrapolated to a 2D version for block surface interpolation or to 3D for block interior nodes recomputation. 
Since an input of topology displacement is required for TFI method, RBF is adopted for providing this initialization. The RBF applied for this purpose is a light version, since only the nodes placed at block/patch corners are taken into account in this phase. This combination of mesh deformation approaches is implemented as RBF+TFI method.

RBF+TFI+ELA is an extension of RBF+TFI. In this method, resulting mesh of the whole RBF+TFI process as an initial solution for ELA solver.

Inverse Distance Weighting Interpolation
The Inverse Distance Weighting (IDW)  is implemented with different  interpolation methods. The displacement in an interior mesh point at  can be calculated with:



where  is the number of boundary nodes,  is the known boundary point displacement and  is the weight function.
Improved weight function
The standard IDW algorithm is improved by modifying the weight function into:



in which  is the length of the deformation zone,  is the Euclidean distance between the interior point and the boundary point,  is defined by IDWAMV for moving boundary nodes and  IDWAFX for fixed boundary nodes. 
Interpolation of displacement due to rotation
The orthogonality of the mesh is improved by considering the rotation of the boundary nodes on the moving solid patches. The rotation of each moving boundary node is determined by considering the original position and the displacement of the neighboring points on the same patch or edge. It is calculated and expressed as a hyper-complex number: a quaternion. 



in which ,  and  are complex units with the properties: 
Quaternions can represent a rotation  around an axis  in 3D:



Once the rotation of the points on the moving surfaces is determined, the total displacement vector  of the boundary node is split into a part due to the rotation (quaternion ) and a part due to translation (vector ) of the boundary. Since , this split is done according to:



where ,  and  are the quaternions represent of the vectors. 
The translation quaternion is thus given by 
The displacement field is then interpolated to the interior nodes with the improved weight function. 
Interpolation of dual quaternion
Dual quaternions are an extension of quaternions, in which each of the four numbers is replaced by a dual number. The dual quaternion can be written as the sum of two normal quaternions:



where  is the dual unit,  and  are the real and the dual quaternion respectively.
The rotation and the translation of a boundary point can be represented by a single dual quaternion. This dual quaternion  is constructed from the rotation  and the translation quaternion in the following way:



where  is the dual part of the dual quaternion. 
The new weight function for LERP of dual quaternions is:



where  is the length of the deformation zone,  the Euclidean distance between a point and the boundary point and  (>-1) is defined by IDWAMV for moving boundary nodes and IDWAFX for fixed boundary nodes.
Coarsening
Coarsening can be applied to improve the efficiency of the mesh deformation.  This can be done in several ways below:

interior coarseningFor every interior point a loop over all considered boundary nodes is needed to interpolate the displacement. The idea of interior coarsening is that for some interior nodes, only  the deformation of surrounding mesh nodes will be considered instead of the information from all the boundary nodes.The process of interior coarsening is illustrated in Figure 1.1. In this figure, a small 2D block with only interior nodes is considered. The green nodes are interpolated using the information from all considered boundary nodes (Note that the boundary nodes are not shown in the figure). The orange nodes are treated after all green nodes are considered. Every orange node is surrounded by four green nodes. The displacement of the orange node is done in a sub-domain, colored in blue. This sub-domain consists of four moving boundary nodes and one interior point. A 3D mesh is treated in the same way except that six surrounding interior nodes will be considered.FIGURE 2 Interior coarseningIn order to apply the interior coarsening, the rotation of the surrounding interior nodes has to be known. The interpolation method using dual quaternions is the only method that gives information about the rotation of the interpolated interior nodes. So, interior coarsening is only possible for IDWRBF=3 and IDWROT=1.


boundary coarseningThe number of boundary nodes considered is reduced. A greedy algorithm is used to select the boundary nodes. It recreates the given deformed boundary by performing IDW interpolation of the boundary itself by starting from an initial set (the corners of the domain). Two stopping criteria are implemented for the greedy algorithm.criterion 1: based on the aerodynamic reference length ,criterion 4: based on the aerodynamic reference length  and the local boundary cell height.Both criteria are based on the maximum error ,where  is the interpolated displacement vector of boundary node  b with known displacement .Criterion 1 is based on the relative maximum error: where  is the maximum error,  the aerodynamic reference length and .Criterion 4 is based on the relative maximum error and the local boundary cell height. The criterion for the boundary cell height, h is: where .To combine both the criteria, an equivalent reference length is defined. The final stopping criterion is then defined as:where .
boundary coarsening with interior coarseningThe combination of the two methods above.

Solver Adaptations
The flow solver needs several adaptations to solve the flow equations with mesh deformation. Firstly the equations are changed with modified convective terms. Moreover new source terms are added when the relative frame of reference is moving in the absolute frame. The boundary conditions have to be adapted as well as the outputs.
Convective terms
In order to take into account the deformation of the cell in the finite volume method, the convective term of a variable U on a cell face is now



where  is the flow velocity and  is the mesh velocity on the face.
It has been demonstrated that the implementation of this term has to respect the Geometric Conservation Law (GCL) and it has to be consistent with the used temporal numerical scheme. The GCL formulates the space conservation. The change in volume for each volume during a given time step must be equal to the volume swept by the cell boundary during the same time step:



On the other hand, the use of the second order backward difference scheme gives the following equation in a uniform velocity field:



or



Applying the GCL in the equation above, we obtain the right implementation of the convective term when the second order backward difference scheme is used. It can be written as follows:



Source terms
Considering a general case where the centre of the relative reference axis can move, if  defines the velocity of the centre of the reference axis,  the relative velocity and  the rotating speed of the relative frame of reference, the absolute velocity  is defined by the following equation:



The inertial and convective terms in the momentum equations can be written as follows:

In the absolute frame of reference





In the relative frame of reference




with  is the projection of  in the relative frame of reference.

In the relative frame of reference in terms of relative velocity




In the previous equation, an additional term appears with the usual Coriolis and centrifugal forces. It is due to the acceleration of the centre of the relative reference frame. This can be written in the following form:



Another additional term appears in the equation of energy conservation (for the relative total energy in the relative reference frame). It is the work of this additional force:



When the velocity of the centre of the relative reference frame is null, these additional terms disappear.
Boundary conditions
Two types of adaptations are needed. The first one is linked to the moving wall in the reference frame. The second one is linked to the movement of the centre of the relative reference frame.
For the moving wall, the adiabatic N-S walls have been adapted so that the convective flux is null through the moving wall in the relative frame of reference and the acceleration of the actual moving wall is taken into account in the pressure gradient. As the right computation of flux on a moving face implies the integration on two time steps inorder to respect the GCL, this treatment does not ensure that the imposed absolute velocity is strictly respected on the boundary. 
The movement of the centre of the relative reference frame implies the adaptation of many inlet boundary conditions where the absolute velocity is specified.
Outputs
With the presence of different frames of reference, the outputs have to be adapted an saved in one frame that is usually the absolute reference frame. They are given on the deformed mesh in the relative reference frame only if there is not rotor-stator interface.

Fluid-Structure

Euler Walls 
For Euler walls the velocity has to be tangential to the wall.

To obtain the velocity vector on the wall, the velocity vector is first extrapolated from the interior with zero or first order extrapolation according to the selected option in the FINE™/Turbo interface:



with subscripts w,1,2 denoting respectively the wall, the first and the second inner cell.
The tangential part of the extrapolated velocity vector is:



with  the normal to the wall. The velocity vector on the wall is finally found by a scaling process such that its module equals:



The wall density and pressure are obtained through extrapolation from the interior with zero order:



or first order:



Alternatively the pressure can be solved from the normal momentum equation:



which is written in a local curvilinear system as:



where ξ, η, ζ represent the coordinates in the i, j and k directions, and where it is assumed that the j-direction is directed away from the wall (not necessarily perpendicular to the wall).  are the surface vectors of the corresponding cell faces.
The previous equation is then solved for , whereas zero-order extrapolation is used for the density.
Adiabatic Walls with Acoustic Impedance
The acoustic impedance specifies a fluctuation of the normal velocity at the wall, following:



The impedance is of the form:



where the real part is resistance and the imaginary the reactance.
The acoustic impedance is assumed to be constant along the liner and the treatment is assumed to be impermeable, meaning that the normal component of the time-mean velocity remains zero.

Euler and Navier-Stokes Equations


The flow solver integrated into the FINE™/Turbo user environment is a finite volume solver for 2D and 3D flows in complex geometries, using the latest numerical developments in CFD. A structured mesh is required and complex geometries can be easily handled through a flexible multiblock meshing procedure.
This chapter describes the basic governing equations solved in the FINE™/Turbo solver:

Cooling/Bleed
The Cooling/Bleed model allows both the simulation of cooling flows injected through solid walls into the flow or bleed flows where mass flow leaves the main flow through solid wall.
The adopted technique makes use of additional sources of mass, momentum and energy located at given points or along given lines of the solid walls and does not require the meshing of the cooling flow injection channels. The major hypothesis of the model is that the injection/bleed surface is smaller than the local cell surface.
If COOLFL=0, the model consists in the addition of local source terms to all the flow equations (mass, momentum, energy and k-ε equations when a 2-equations turbulence model is used). These terms are added as fluxes through the solid boundary cells where a cooling hole has been placed by the user. Fluxes are computed as:

Mass:		





Momentum	





Energy	





k,ε-equations:		




where ρ is the density, wn is the velocity component normal to the solid wall and S is the cooling hole surface. The increased static pressure is computed as:



and the total energy E* is:



The density required to calculate the velocity components is obtained from the computed pressure field along the walls and from the imposed static or total temperature.
Note that for the momentum equations only the velocity term is added as a source term. The pressure term already exists even in the absence of holes.
If COOLFL=2, the cooling injection/bleed are treated as additional inlet or outlet boundary condition.
Finally, the turbulent kinetic energy and dissipation can either be directly imposed by the user or be calculated from the turbulent intensity. In that case, the turbulent kinetic energy is obtained as:



where w is the velocity magnitude and Tu is the turbulent intensity. The turbulent dissipation is obtained from the relation:



where D is the diameter of the hole and Cμ = 0.09.
It should be noted that the velocity remains equal to zero at the walls even in the cooling flow region. Thus the boundary condition on the velocity is left unchanged and the effect of the cooling flow will be observed in the surrounding cells. However, the temperature field will be affected on the wall itself.

Transport equation for the transition momentum thickness Reynolds Number
The transport equation for the transition momentum thickness Reynolds Number () is:



with



where t is a time scale and  is the blending function used to turn off the source term in the boundary layer (0 in the freestream and 1 in the boundary layer). They are defined as follows:







, , 

, 
The  function ensures that the blending function is not active in the wake regions.
The constant for the  equation are: , .
The boundary condition on the walls is the zero normal flux:



The inlet boundary condition is calculated from the empirical correlation based on the inlet turbulence intensity:

References
Arnone, A., Liou, M. and Povinelli, L., 1995, "Integration of Navier-Stokes Equations using dual time stepping and multigrid method", AIAA-Journal, Vol. 33, No. 6, pp. 985-990.
Chorin, A. J., 1967, "A numerical method for solving incompressible viscous flow problems", J. of Comput. Phys., Vol 2, pp. 12-26.
Eliasson, P., and Nordstrom, J., 1995, "The development of an unsteady solver for moving meshes ", FFA/TN 1995-39.
Hakimi N., 1997, "Preconditioning methods for time dependent Navier-Stokes equations", PhD Thesis, Dept of Fluid Mechanics, Vrije Universiteit Brussel.
Hirsch Ch., 1990, "Numerical Computation of Internal and External Flows. Volume 2", John Wiley & Sons.
Jameson, A., 1991, "Time dependent calculations using multigrid, with applications to unsteady flows past airfoils and wings", AIAA-Paper 91-1596.
Melson, N.D., Sanetrik, M.D., Atkins, H.L., 1993, "Time accurate Navier-Stokes calculations with multigrid acceleration", AIAA paper, pp. 1041-1042.
Pierce, N.A., Alonso, J.J., 1997,"A preconditioned implicit multigrid algorithm for parallel computation of unsteady aeroelastic compressible flows:, AIAA-Paper 97-0444.

Treatment of Turbulence in the RANS Equations
The Reynolds-averaged Navier-Stokes equations lead to the introduction of the Reynolds stress tensor and turbulent heat diffusion term. Since these quantities are unknown, the application of the Navier-Stokes equations to the computation of turbulent flows requires the introduction of some modelizations of these unknown relations, based on theoretical considerations coupled to unavoidable empirical information.
For the linear eddy viscosity turbulence models, a first-order closure model, based on Boussinesq's assumption, is used for the Reynolds stress:



where  is the turbulent eddy viscosity.
For the turbulent heat diffusion term, a gradient approximation is used:



where  is the turbulent thermal conductivity and is connected to the turbulent eddy-viscosity  through a turbulent Prandtl number :



Finally, the resulting system of governing equations with the assumptions above is the same as general Navier-Stokes equations, with:



where the Reynolds stress and the heat flux components are given by:



and 




 and  need to be solved by the turbulence models. More information about the turbulence models can be referred to Turbulence Models.
In contrast to the laminar case, both the static pressure and the total energy contain contributions from the turbulent kinetic energy k and are defined as:

Static Quantities Imposed with Extrapolation of the Static Pressure (Subsonic)
The complete absolute velocity vector followed by the static temperature on the boundary are specified. For turbulent models with additional equations, the corresponding quantities are specified also. 
The static pressure is extrapolated from the interior, which allows to calculate all the primitive variables on the boundary.
These conditions can also be used for incompressible flows.

Multi-rank harmonic method
The basic harmonic method deals with rotor/stator interaction of only adjacent rows. The clocking harmonic method allows to simulate the clocking effects between consecutive rotors or stators but the consecutive rotors or stators must have the same rotation speed. For a contra-rotating open rotors (CROR) case, if the pylon of the CROR mounted on the fuselage is taken into account, then the reproduction of its unsteady effects on the flow in the rotor that is not adjacent to the pylon cannot be performed by the basic/clocking harmonic methods. Besides the pylon-CROR limitation, it has appeared that in certain applications the amplitude of the perturbation associated with a BPF is not only created by that BPF but also by the interaction of two harmonics of BPFs that contributes to that BPF. Also, other applications, such as stator/rotor/stator, may show amplitudes of time harmonics induced by the rotor in the aft stator which are significantly higher than the amplitudes predicted by the basic/clocking harmonic methods. This difference may come from the interaction of the time harmonics with the clocking effects induced by the front stator. 
There is therefore a need to consider a general case where there is no limitation on the rotation speeds and the need to take into account the interactions between the effects produced by two rows, whatever their nature is, space-varying or time-varying. Vilmin et al. (2013) present a generalized multi-rank method for this purpose. Usually, at the rotor/stator interface is applied the coupling of two boundaries, arbitrarily named left and right. Each boundary is the inlet or the outlet of a row adjacent to the interface that can be displaced relatively to the row on the opposite side of the interface. This displacement can be either periodic in time and space – associated with a rotation speed – or can be periodic in space only as a change of azimuthal position. Thus, the name rotor/stator is restrictive, because the stator/stator interface can be taken into account for adjacent stators. By definition, any row which is separated from a reference row by a periodic motion interface generates a rank-1 periodic disturbance into that row of reference; and a row which is separated by two periodic motion interfaces creates a rank-2 disturbance into the reference.


FIGURE 6 Rank-2 disturbance
Contributions to the quantity in a reference row by surrounding rows that are positioned or relatively moving in a periodic manner, such as a stator relatively to a stator or a row rotating relatively to another row. The adjacent row gives a time-varying or space-varying contribution, which is named a rank-1 disturbance, and the adjacent of the adjacent produces a rank-2 disturbance via the adjacent of the reference.
FIGURE 7 and FIGURE 8 show a general case of the rank-2 harmonic method where two rows have the same rotation speed (one harmonic per perturbation), whether there are adjacent or not: there appear harmonics with interblade phase angles that are given by the difference of number of blades between these two rows. Some of these harmonics have a null frequency, because of the null relative rotation between the two rows. These are space harmonics that are associated with the time-mean flow, and a particular case is that of the clocking configuration, discussed above. The others have the non-null frequency of a time harmonic and are associated with that time harmonic, which can be called a base time harmonic. Thus, because the mean solution (in the sense of passage-averaged) must keep the periodicity of the row, and because the base time harmonics must keep their interblade phase angle in the same row (and in particular their amplitude keep the periodicity of the row), there are additional space harmonics associated with the time-mean and also additional time harmonics associated with the time harmonics. The number of additional harmonics is  per base harmonic for  harmonics per perturbation.


FIGURE 7 Rank-2 harmonic method (r1 and r3 have the same rotation speed)
This is the same case as in FIGURE 5, but the 2-rank NLH treatment solves additional harmonics in the end-rows. They are of a time nature and are associated with the base time harmonic H3 in this example of one harmonic per perturbation.


FIGURE 8 Rank-2 harmonic method (r2 and r3 have the same rotation speed)
Case where r2 and r3 have the same rotation speed, like a rotor/stator/stator configuration. New time harmonics and space harmonics are respectively associated with the base time harmonics and the mean flow in these two rows.
The relation between the harmonics at the left (L) and right (R) sides of the periodic motion interface is given by a Fourier reconstruction in space, along the azimuthal angle θ, of the complex amplitudes of the harmonics. This is analogous to the formulation by Giles (1988), and can be shown to be equivalent to the chorochronic formulation by Gerolymos et al. (2002). It reads (Vilmin et al., 2013)



where N is the number of harmonics to decompose the disturbances from the left row into the right row; j is a list of time indices, and f is a list of time indices which is a function of k and j;  corresponds to a spatial frequency along the azimuth, named the azimuthal number or spatial mode, common to  and .
The relation between a harmonic and another harmonic gives to this harmonic a spatial mode at the side of the row interface where the connection is made. At the side of a row interface, a harmonic has as many modes as it has connections with other harmonics and their conjugates ( k < 0 ) on the opposite side of the row interface.

In FSI-NLH computations, the frequencies of harmonics are defined as follows in case of interactions between vibrations and passing blades. Considering two turbo-machinery rows  and characterized by:

their rotation speed  and ;
their number of blades  and ;

A blade vibration in is characterized by its frequency  and a nodal diameter . As a result, the blade vibration in the second row induces different perturbations in both rows connected at rotor/stator interface. The definition of frequencies in each row is given by:



in  and 



in  where , are harmonic indices and  indicates the difference in rotation speeds.

Distributions of the flow variables for the nonlinear harmonic method
This boundary condition, which can be used in combination with the nonlinear harmonic method, allows the user to impose a distribution profile of the five flow variables: pressure, density and the r, θ and z components of the velocity.
The imposed profiles must be periodic over the azimuthal length and specified for a constant radius or axial position. The extracted spatial harmonics are transformed into time harmonics in the frame of the domain that is subject to the relative motion of the distortion.

In the domain subject to the distortion, there can be some other time harmonics that are not generated by the distortion itself, but by a downstream turbomachinery component. For these harmonics, the non reflective inlet treatment is applied.
If a periodic circumferential profile is entered covering the full range [0,2π], the PERIODICITY should be set to 1. If the profile is covering the range [0,2π/N], the PERIODICTY has to be set to N. The profile is automatically rotating at the speed specified in RPM.

Full Coupling Carrier & Particle Flows
In case of a full coupling between the carrier and particles flows, the particles traces calculation is followed by a coupled carrier flow calculation including the effect of the presence of the particles. This is achieved by the introduction of source terms in the momentum equations, these source terms being calculated according to the interphase force vector:

Real Gas
Equation of State
For real gases or more precisely thermally perfect gases, cp and γ depend on the temperature T. The corresponding values can be entered either through a polynomial approximation or through a profile.
The thermally perfect gas model is based on two equations:

the perfect gas relation, still valid:





the enthalpy equation:




where T0 is a reference temperature. In practice T0 is set equal to the minimum temperature of the temperature range specified in the Fluid Model page.
These two equations lead to:



In the case of a real gas with varying specific heats one can notice that it is not possible to respect the 2 above equations with a constant value of r, unless the difference (cp-cv) does not vary with temperature.

Two solutions are proposed in the FINE™/Turbo solver in order to model real gases:

Constant r model. The user specifies the gas constant r (R). Then cp(T) or γ(T) is provided and respectively γ is calculated as 



or cp is calculated as 





Perfect gas with compressibility factor. It is used when the user specifies cp(T) and γ(T) to define the specific heat law. The equation of state is modified to include a compressibility factor Z:






where T0 corresponds to the new TMIN when from the two ranges, [TMING,TMAXG] for γ(T) and [TMINC,TMAXC] for cp(T), the smaller range is taken: TMIN=MIN(TMING,TMINC) and TMAX=MAX(TMAXG,TMAXC). Then the range is expanded by (TMAX-TMIN)/2 on the lower and upper side. This results in respectively a lowered TMIN and a higher TMAX, and a two times wider range. cp(T) and γ(T) are constant (zero order extrapolation) outside their respective ranges.

In such case, in the compressibility factor, the variable "ZrT" computed from user data (cp(T) and γ(T)) is directly used in the equation of state to define the pressure from the density.
Transport Properties
The theory of the real gas transport properties is the same as that of the perfect gas. The details can be seen in Transport Properties section.

Global Performance Output
The surface integrals are approximated by rectangular sums: for any vector quantity  and scalar quantity q,



The index B indicates a boundary cell face centre value, obtained by averaging the coordinates  of the four corners:



and the solution  in the first inner (index 1) and first outer cell (index 0):

.
All variables, except flow angles, are first computed locally from this consistent representation of solution and geometry and then summed, multiplied by the appropriate weight factor  or . Averages are calculated for the following variables:
 . 
Static pressure is area averaged, all other variables are mass averaged. Explicitly, q representing any of the enumerated scalars (other than p) and  its average:

.
The mass flow  is obtained from the approximation by rectangular sums with , the area  with .

Coupling with the SST turbulence model
When combining the generalized transition model with the SST turbulence model, the two additional transport equations for the turbulent kinetic energy and for the specific dissipation write as:






where the production term and the destruction term in the turbulent kinetic equation are modified as follows:






Moreover the original blending function  (responsible for switching between k-ω and k-ε models) is modified to ensure that it is equal to 1 not only in turbulent boundary layers but also in the laminar and transitional boundary layers:



with 



and
 .
This new blending function can be used in the original SST model by setting the expert parameter INEWF1 to 1.

Porous Media Model
The Darcy law
The pressure drop in the porous medium is given by the following relation:



where the coefficient  is defined as  with μ the viscosity and κ the intrinsic permeability.
The intrinsic permeability is given by the Carman-Kozeny relation:



where ε is the porosity (expert parameter EPORME) defined as the volume fraction of the voids from the solid matrix, d is the mean particle diameter given by the following formula:



where the specific surface area A (expert parameter APORME) is the surface area of pores per unit volume of the solid matrix.
The Ergun law
The Darcy law is valid in the viscous regime, while the Ergun law can be seen as its extension in the inertial (convective) regime by adding the second source term.
The pressure drop in the porous medium in the Ergun law is given by the following relation:



where the coefficient  is defined as  with μ the viscosity and κ the intrinsic permeability. The intrinsic permeability is given by the Carman-Kozeny relation. The coefficient  is defined as . CE is the Ergun coefficient defined by:



The constant C (expert parameter KPORME) proves the dependence of the inertial regime on the roughness of the pore's surface and takes the following value:
C = 1.8     For smooth walls;
= 4        For rough walls
The Integral Law 
An alternative way often used in industry to define a porous medium is to give the relation between the pressure drop and the mass flow through the porous medium of thickness L. Considering the mass flow uniform over the entire porous medium, the pressure drop in the porous medium can be given by the following relation:



where L [m] is the length of the porous media along the flow direction, expert parameter LPORME.

 [bar] is a pressure drop coefficient assumed to be constant over the porous media, expert parameter KPORME.
n is a user defined exponent (default 2.0), expert parameter NPORME.
Apassage [m²] is defining the effective section area through which the fluid flows;
ATotal [m²] is defining the sum of Apassage and the solid section area of the porous media. The ratio ATotal/Apassage is given by the expert parameter APORME.

Rothalpy Preserving Walls
Preliminary design tools often use methods based on rothalpy conservation. However, a rather standard way to investigate and even to design compressor blades using tri-dimensional CFD calculations is to consider all solid walls as adiabatic. Both approaches could be found contradictory and could be a reason for significant discrepancies between preliminary and final designs. Changes in rothalpy of a fluid particle can be caused by:

Unsteady pressure fluctuations in the rotating frame;
Angular acceleration of the rotating frame;
Work done by the net viscous forces per unit volume on the relative flow;
Work done by body forces on the relative flow;
Entropy changes due to viscous dissipation and heat transfer.

Therefore, for classical steady viscous flow calculations with adiabatic boundary conditions, rothalpy is conserved as far as the power losses due to wall friction can be negligible. However, for the static shroud of a rotating blade such an assumption is not valid. Power losses caused by wall friction are rather important and lead to significant changes in rothalpy. This is particularly true for turbomachines with an important outlet flow angle (such as for centrifugal compressors). 
The conservation of rothalpy for a steady viscous flow can be expressed as:
 



 
The first term of the right hand side represents the work due to viscous term, whereas the second one is the heat flux. In order to conserve rothalpy, both terms should be balanced. The rothalpy preserving solid boundary condition  ensures a zero gradient of rothaly normal to a solid wall. 
For harmonic simulations, the thermal boundary condition for harmonics behaves as for an adiabatic configuration. For unsteady RANS computations, the boundary condition is applied as an instantaneous balance between the heat flux and the work caused by viscous terms following exactly the equation above.
The rothalpy preserving type of boundary condition is recommended along the non-rotating shroud of a centrifugal rotating row if an overshoot of total temperature is detected close to the casing. 
The limitations of this feature are:
        •	Not compatible with cavitation and thermal effects.•	Only for rotating configurations.•	No option to have pressure “From Normal Momentum equation” but only from “Extrapolation”.

Condensable Fluid
Introduction
The aim of the condensable fluid module is modeling the real thermodynamic properties of the fluid by means of interpolation of the variables from dedicated tables. 
The module can be used for a single-phase fluid whose properties are too complex to be treated with a perfect or real gas model. It can also be used in order to treat thermodynamic conditions that are close to the saturation line. Note that the model can be used on the liquid or on the vapour side of the saturation curve. In case the thermodynamic state lies inside the two-phase region a homogeneous equilibrium two-phase mixture of vapour and liquid is considered. The hypothesis of an equilibrium mixture is however not valid if the dryness (wetness) fraction exceeds 20%. The module can not be used above these fractions, as it completely ignores evaporation-condensation phenomena. 
For a real fluid the equation of state may be a complicated and usually implicit expression, generating unacceptable computational overhead if the corresponding equations are explicitly introduced in the solver. Similarly when an equilibrium mixture of vapour and droplets (wet steam for instance) is considered as a single fluid, the calculation from the saturation properties of thermodynamic variables must be done iteratively.

The approach that has been adopted in the FINE™/Turbo solver consists of using a series of thermodynamic tables, one table being required each time a thermodynamic variable must be deduced from two other ones. This implies the creation of many tables as input, but presents the advantage that no iterative inversion of the tables is done in the solver, with as a consequence a very small additional CPU time. This additional time corresponds to the one that is needed by the bilinear (or bicubic) interpolation procedures through the tables. In order to optimize the efficiency of these interpolations, the input tables are always built on basis of a Cartesian mesh in the plane of the input variables (V1,V2) (N1 and N2 values for the variables V1 and V2 respectively).
Thermodynamic Tables
Tables are generated based on TabGen, which are based on various sets of well-known equations as described below:

Vander Waals equation.
Benedict Webb Rubin equation
Starling modified Benedict Webb Rubin equation (usually used for hydrocarbons),
32 terms modified Benedict-Webb-Rubin equation
Equation of state derived from the Helmoltz free energy equation (as for water tables that are based on the release 1997 IAPWS)

Single tables are generally used, which means that the tables cover both single-phase and two-phase regions. A bilinear interpolation approach is well adapted to these tables, providing an adequate smoothing of the saturation region. Bicubic interpolation techniques have also been implemented and tested. They provide a higher accuracy for a given number of data points but tend to create spurious oscillations in the saturation region. These oscillations can be weakened by using more points.  
Five categories of tables are used by the solver:
1. Basic tables: p(e,ρ) and T(e,ρ) or ρ(h,p) and T(h,p)
For non-preconditioned equations, the numerical scheme is based on a formulation of the equations on basis of the energy and the density. The basic tables are used in order to update the pressure and the temperature after each update of the formulation variables. For preconditioned equations, the basic variables are enthalpy and pressure, they are used in order to update the density and temperature.
2. Entropy tables: p(h,s), ρ(h,s), s(h,p), h(s,p)
The entropy tables are used at the inlet/outlet boundary conditions, and are required in order to calculate the total (static) thermodynamic conditions from the static (total) ones. 
3. The (p,T) tables: e(p,T) and ρr(p,T)
These tables are required in order to allow the use of the inlet boundary conditions based on total pressure and temperature. They are also required by the turbomachinery initial solution procedure.
4. The viscosity and conductivity tables: μ(e,ρ) and κ(e,ρ)
The viscosity and conductivity can also be interpolated from tables. If these tables are not present the other laws available within the user interface can be used.
5. The saturation table
This table contains the liquid and vapour values of all thermodynamic variables along the saturation line. It is only required if the user activates the dryness fraction output and/or if the inlet boundary condition based on total enthalpy and dryness fraction is selected.
Integration of Thermodynamic Tables in the Solver
Provided that all the input tables are present, the full functionality of the basic solver is accessible. All boundary conditions are available, as well as the initial solution procedures. The numerical schemes are not different, making use of the same acceleration techniques (multigrid, local time stepping, residual smoothing) providing robust and fast convergence to steady state.
The evaluation of the advective, viscous and artificial dissipation fluxes involves the pressure in the momentum and energy equations and the temperature in the energy equation. For a perfect gas both are easily deduced from the equation of state, the conversion being so rapid that only the pressure and the density are stored and the other variables recalculated from these whenever they are needed. In the condensable fluid module the density, the pressure, the temperature and the energy are stored in order to limit the number of interpolations. Only one interpolation is made in order to deduce the new values of pressure and temperature after the update of the density and the energy. 
The speed of sound is also required. It enters the numerical solution process through the spectral radius in the time step and in the residual smoothing and artificial dissipation coefficients. It can either be interpolated from a table or computed from the partial derivatives of the p(e,ρ) table:



The Baldwin-Lomax, Spalart-Allmaras and  turbulence models can be used. The turbulent conductivity calculation is based on the usual relation:



The specific heat at constant pressure can either be constant (the value being provided in the user interface) or deduced from the specific table.

Treatment of Backflow at Outlet (Radial Diffuser)

The option for the treatment of backflow can be used by activating the corresponding option in the FINE™/Turbo interface. This option has been initially implemented in order to ensure a proper treatment of radial diffusers outlets in case of flow separations.
The treatment is based on the hypothesis that the absolute total temperature should be constant throughout the outlet section. If the flow is re-entering the numerical domain through a part of the outlet section, a hybrid boundary condition is applied in that region:

the static pressure is imposed,
the velocity vector is extrapolated,
the absolute total temperature is imposed at a value equal to the averaged total temperature along the outlet (the averaging is performed throughout the region where the flow leaves the domain.

This treatment permits to avoid the introduction of an uncontrolled total temperature level in the regions where the flow re-enters the domain, and in this way to better respect the physics of the flow.

Turbulent Inlet Boundary Conditions
For a turbulent calculation with a turbulence model solving additional equation(s) for turbulent variable(s), the turbulent inlet boundary conditions must be specified. It is important to note that the level of turbulence quantities (i.e. turbulence intensity, µt, k, ε,...) specified at the inlet boundary can have a strong effect on the flow-field prediction for quantities like the total pressure, velocity profiles, flow angles, total temperature etc.
The  turbulent quantities specified at the inlet are global and only constant values are allowed (with the exception of  for S-A and k and  for the others). All mathematical formulas that transform the specified turbulent quantities to the turbulent variables, consider a uniform flow at the inlet equal to the averaged inlet velocity. If the user wants to use a spatial profile for the turbulent quantities, he has to select  for S-A or k and  for the others.
Spalart-Allmaras Model

When a Spalart-Allmaras model is selected, the turbulence at the boundaries can be specified by different sets of turbulent quantities:

Turbulent Viscosity:  (m²/s)
Turbulent Viscosity Ratio:  (-), related to the turbulent viscosity by 



with  (m²/s) the laminar viscosity
Turbulent Intensity and Length Scale:  (%) and  (m), related to the turbulent viscosity by



with (m/s) the averaged velocity at boundary 
Turbulent Intensity and Hydraulic Diameter:  (%) and  (m), related to the turbulent viscosity by



with (m/s) the averaged velocity at the boundary

If no information is available on the turbulence properties of the flow, please refer to the User Manual to get an estimated value.


k-ε Models

When a k-ε model is selected, the turbulence at the boundaries can be specified by different sets of turbulent quantities:

k and epsilon:  (m²/s²) and  (m²/s3)
Turbulent Intensity and Viscosity Ratio:  (%) and   (-), related  to  and  by 

 



with (m/s) the averaged velocity at the boundary
Turbulent Intensity and Length Scale:  (%) and  (m), related to  and  by 

 



with (m/s) the averaged velocity at the boundary
Turbulent Intensity and Hydraulic Diameter:  (%) and  (m), related  to  and  by

 



with (m/s) the averaged velocity at the boundary

If no information is available on the turbulence properties of the flow, please refer to the User Manual to get an estimated value.


k-ω Models

When a k-ω model is selected, the same turbulent quantities as for the k-ε models are available. The value for ω is determined according to:



with   and  in the formulas presented for the k-ε models.
The only exceptions are the EARSM turbulence models for which the relation between the viscosity ratio  and  is determined by



where the coefficients A1 and N depend on the EARSM model, see Nonlinear Eddy Viscosity Turbulence Models.


v²-f Model

When the v²-f model is selected, the turbulence at the boundaries can be specified by different sets of turbulent quantities:

k and epsilon:  (m²/s²) and  (m²/s)
Turbulent Intensity and Viscosity Ratio:  (%) and   (-), related to  and  by 






with (m/s) the averaged velocity at the boundary
Turbulent Intensity and Length Scale:  (%) and  (m), related to  and  by 






with (m/s) the averaged velocity at the boundary
Turbulent Intensity and Hydraulic Diameter:  (%) and  (m), related to  and  by 






with (m/s) the averaged velocity at the boundary

The value of v² is deduced assuming isotropic turbulence: 



If no information is available on the turbulence properties of the flow, please refer to the User Manual to get an estimated value.

Phase Lagged Periodicity Boundary Conditions
If the inlet and/or outlet boundary conditions present a pitchwise variation with a period different from the blade passing period, a time periodicity has to be introduced along the periodic boundary conditions upstream and downstream of the blade passage, leading to the so-called "phase-lagged" boundary conditions (Fatsis, Pierret and Van den Braembussche, 1995).


FIGURE 2 Illustration of a typical pump with periodicity conditions
Let us consider that the computational domain is the one defined by ABCDHGFE as shown in FIGURE 2, where the solid blade walls correspond to the segments BC and FG. Under the context of phase-lagged boundary conditions, the scalar variables (density, pressure, turbulent viscosity,...)on AB, EF and CD, GH are not equal and the velocity vectors are not related by a simple rotation operator, since the flow is not periodic. n is the time steps in current blade period and is defined as:



Boundary conditions for segments EF and GH
Since, in the absolute frame of reference, the actual positions of segments EF and GH correspond respectively to the positions of segments AB and CD n time steps earlier, the variables at time t on segments EF, GH are obtained from those on segments AB, CD at time t- n Δt:



Therefore, the flow variables of segments AB and CD need to be stored for the n preceding time steps.
Boundary conditions for segments AB and CD
In the absolute frame of reference, the actual positions of segments AB and CD correspond respectively to the positions of segments EF and GH, (NOFROT-n) time steps earlier. The variables at time t on segments AB, CD are obtained from those on segments EF, GH using:



Therefore, the flow variables of segments EF and GH need to be stored for the (NOFROT-n) preceding time steps.
Since at the beginning of the computation no solution is available at the previous time steps, standard periodic boundary conditions are applied at the first iteration and then frozen during n time steps for segments EF, GH and (NOFROT-n) time steps for segments AB and CD. Although this procedure is the simplest, it might contribute to slow down the convergence to a periodic state.

Aeroacoustics
The Lighthill acoustic analogy has been the dominant theory of aeroacoustics since 1950s. In 1969, Ffowcs Williams and Hawkings generalized the Lighthill acoustic analogy and included the effects of general surfaces in arbitrary motion. The Ffowcs Williams -Hawkings (FW -H) equation is the appropriate tool for predicting the noise generated by the complex motion of solid bodies.
Consider a closed and non-deformable body surface S which is described by the equation  where  and t are the observer position and observer time. The surface S moves with velocity  in the fluid. The function f is defined such that f < 0 in the volume interior to the surface, and f > 0 in the volume exterior to the surface. Let  denotes the unit vector that is normal to the surface and directed outward into the fluid. The final form of the FW -H equation can be written as:



where  denotes the wave operator and c is the speed of sound in the undisturbed medium. The term Tij is the Lighthill's stress tensor.
The mass source term Q represents surface sources:
where ρ0 is the fluid density in quiescent medium. ρ and  are the flow density and the flow velocity on the surface, respectively.
The force term  can be either the components of a volume force or a surface force, such as surface tension or pressure and momentum fluxes on a moving surface:
where p is the surface pressure and τ is the shear stress tensor on the surface.
In the right hand side of the FW -H equation, the three source terms are referred to as "thickness", "loading" and "quadrupole" respectively. The thickness and loading source terms are surface distribution of sources, as indicated by the Dirac delta function δ(f). The quadrupole source, on the other hand, is a volume distribution of sources, as indicated by the Heaviside function H(f). The first term is related to displacement of fluid by the solid body and proportional to the momentum injection at the body surface, while the loading term is related to the force applied by the solid body on the fluid. The third term accounts for all the flow non-linearity in the domain exterior to the control surface and can be neglected for subsonic propellers.
The FW-H equation is an exact rearrangement of the continuity and momentum equations generalized to an unbounded fluid. Farassat has derived a solution of the FW -H equation, which is called Formulation 1A. The solution of the wave equation, which is a convolution of the source terms with the Green function, is given by,



where the expressions of the thickness and loading noise are reported below,



where  is the Mach number of a source point on the surface projected on the radiation direction and  denotes the radial unit vector. The dots on ,  and  denotes the rate of variation with respect to the retarded time.

Full Non-matching Technique for Mixing Planes
Concept
The full non matching mixing plane module removes the geometrical constraints imposed by the default mixing plane module. 
The full non matching mixing plane module uses the concept of image. An image of the real mesh patches is built on both sides of the interface, the left and right images respecting the above constraints and being in addition matching in the spanwise direction. The only remaining constraints are the following:

The rotor/stator patches belonging to a given interface should lie on the same common axisymmetric surface.
The hub and the shroud lines are assumed to be located on a circular arc, and each extremity of the hub and shroud lines should coincide with one corner of one of the patches. The periodic boundaries between the adjacient blades must be defined by continuous lines with edges connected by their corners. For a 360-degree mesh, a similar continuous spanwise line (defined by interconnected edges) must be used in the connection algorithm.
All patches constituting a rotor/stator interface should form a filled closed surface with no gap.
the rotor/stator patches should be fully included in the rotor/stator interface: contrary to the full non matching algorithm, which includes an automatic detection of the connection zone, and in which the patches can then be partially connected, the rotor/stator module assumes that the patches are fully connected.

One image mesh is constructed on both sides of the interface. It respects the following constraints:

The image is a "concatenation" of all the patches constituting the left or right side of the interface.
The pitchwise mesh lines lie on circular arcs.
The left and right images have the same spanwise distribution of the nodes.
The mesh density of the image is similar to the one of the initial patch.

The creation of the image mesh is illustrated by FIGURE 1, showing the creation of the image of a butterfly configuration. With the previous version of the mixing plane module such a configuration would have required the creation of an intermediate block with one face connected to the butterfly and the opposite face respecting the constraints of rotor/stator patches.


FIGURE 1 Creation of the image mesh
Implementation of Mixing Plane Approach with Full Non Matching Technique
The communication algorithm between rotors and stators is organised in several steps:

Extrapolation of the flow solution from the inner cells to the boundary: the cylindrical velocity components are extrapolated.
Sending of the flow solution from the initial mesh to the image (on both sides): an interpolation tree is built between the image and the initial mesh, by applying the full non matching connecting algorithm. 
Application of the mixing plane algorithm between the left and right images, with construction of flux variables to be imposed on the left and right side.
Sending of the fluxes from the image to the initial meshes: this is again performed with the aid of the full non matching algorithm, which allows for an exactly conservative distribution of the calculated fluxes throughout the cells. The transformation of the flux variables to the primitive ones is not required, as the fluxes are directly added to the residuals of the finite volume scheme, without the use of the dummy cells.

The mixing plane algorithm implementation is similar to the one of the previous module. Only the conservative coupling by pitchwise rows has been implemented. The algorithm is organised under the following steps:

Calculation of the flux variables on both sides















For all spanwise positions perform a pitchwise averaging of the flux and of the primitive variables.
For all spanwise positions determine the upstream and downstream side according to the flow direction, and build the mixing plane fluxes.

The local fluxes on the upstream side are taken from the upstream, with a contribution of the averaged downstream static pressure.:















On the downstream side the local fluxes are taken as the averaged fluxes on the upstream side with a contribution of the local static pressure:

Coupling with the EARSM turbulence model
When combining the generalized transition model with the EARSM turbulence model, the transport equation for the turbulent kinetic energy is modified as:



where the production term and the destruction term in the turbulent kinetic equation are modified as follows:






When combining the generalized transition model with the EARSM turbulence model, the following modifications are introduced in the transport equation of the generalized transition model:






The transition length () and the critical momentum thickness Reynolds Number () are computed by IGTLAW=5. 
When combining the generalized transition model with the Menter's EARSM turbulence model, the expert IMINUT is used to control the approach computing the turbulent thermal conductivity in the energy equation. If settings to 0, the turbulent thermal conductivity is computed by:



If setting to 1, the turbulent thermal conductivity is computed by:



When combining the generalized transition model with the Menter's EARSM turbulence model, it is suggested to use IMINUT = 1 and PRCLIP=10.

Unsteady Inlet and Outlet Boundary Conditions
In turbomachinery the relative motion between stator and rotor blades induces an unsteadiness, due to the fact that for instance in a turbine stage the flow conditions that a rotor sees at the inlet are time dependent, whereas these conditions would be fixed for a fixed reference system.
If one of the imposed variables along the inlet or the outlet is not uniformly distributed in the tangential direction in the fixed space, the inlet/outlet section sees a boundary condition that changes in time. In this case, the space distribution of the imposed quantity being defined by qo (1D or 2D), each cell face centre coordinate is rotated by an angle  at each time step, before performing a new space interpolation.
The activation of this procedure along the inlet and/or the outlet is obtained by activating Rotating Boundary Conditionin the Boundary Conditionspage and specifying the rotational speed in Rotational Speed Unsteady respectively under the INLET and OUTLET thumbnails.
The use of a Rotating Boundary Condition imposes a limitation for the specified profiles at the inlet and outlet. Only θ profiles (f(θ), f(r-θ) or f(θ-z)) are allowed and the 2D space profile f(r-θ) must be structured (profile f(r) with the same number of points for different  θ)

Total Quantities Imposed (Supersonic)
Velocity components imposed
The user can specify absolute total pressure, absolute total temperature, absolute Mach number and two flow angles α, β defined as:	



with the angles given in radians. 
Velocity normal to inlet
The user can specify absolute total pressure, absolute total temperature, absolute Mach number. The orientation of the velocity will be set to be normal to the inlet surface.

Unsteady Turbomachinery Calculations
The relative motion between successive blade rows together with boundary layers, wakes, shocks and tip leakage jets are the major sources of unsteadiness that may affect a turbomachinery flow locally or as it travels through the next rows. All these interactions are strongly coupled, increasing in magnitude as the gap between successive blade rows is decreased, and affecting consequently the performance of the machine. 
Five types of unsteady simulations are available within the FINE™/Turbo solver:

single blade row calculation, periodic boundary conditions: the unsteadiness is created by a time varying inlet or outlet conditions. The circumferential distribution of the imposed inlet/outlet conditions has the same periodicity as the blade row, which permits to avoid the introduction of any time periodicity in the periodic boundary conditions. The activation of this unsteady mode requires to activate Rotating Boundary Conditionin the Boundary Conditionspage and specifying the rotational speed in Rotational Speed Unsteady respectively under the INLET and OUTLET thumbnails.
single blade row calculation, phase-lagged periodic boundary conditions: contrary to the previous case, the period of the varying inlet or outlet boundary conditions is different from the blade passing period, and phase-lagged periodic boundary conditions have to be used. To activate this mode, on the Rotating Machinery page, the Phase Lagged capability has to be activated on the top of the page.
multi-stage calculations with unsteady rotor/stator interactions: the domain scaling approach and the phase lagged approach.

The phase lagged method is only allowed for one stage computations (stator-rotor). For multi-stage computations, such as a 1-1/2 stage computation (stator-rotor-stator), it is only possible if the number of both stators is the same.

single blade row or multi-stage calculations with the nonlinear harmonic method.

Empirical correlation for the transition onset momentum thickness Reynolds Number
The empirical correlation for the transition onset momentum thickness Reynolds Number proposed by Langtry is implemented. This attempts to combine the favorable aspects of already existing correlations (Suzen et al. for Tu<0.3, Abu-Ghannam and Shaw for 0.3<Tu<3, Mayle for Tu>3). Note that, the first published version (Menter, 2004) has been improved for low freestream turbulence intensity (Tu<1) when the natural transition occurs (Langtry, 2006 and Menter, 2010). 
This correlation is based on the following parameters:



and 
Where  is the acceleration along the streamwise direction and .
Note that the correlations are defined with respect to the wall boundary layer and all velocities are therefore relative to the wall in the two equations above. 
The empirical correlation is defined as follows:



with

Theory Guide

Welcome to the FINE™/Turbo Theory Guide that describes in more detail the theoretical background of the physical and numerical models available in FINE™/Turbo:

Porous Media Model

The flow field in the porous media can be solved in FINE™/Turbo. It is done by adding the additional source terms. Considering the general Navier-Stokes equations:



The source terms  can be represented by:



Where  is the pressure drop in the porous media,  is the thermal effects due to the heat exchanges between the medium and the fluid.
Each porous medium defines a separate block in FINE™/Turbo. Hence each porous block is characterized by its set of parameters. Three models are currently implemented, namely the Darcy law, the Ergun law and an Integral law.
It is possible to impose a flow direction in any of the porous blocks. This option is useful when the user would like to simulate the presence of fins without meshing them.

Euler Equations
The general Euler equations written in a Cartesian frame can be expressed as:



where Ω is the volume and S is the surface. U is the vector of the conservative variables:




 is the inviscid flux vectors:



where the total energy is defined by:




 contains the source terms:



with ,  and  are the component of external forces .  the work performed by those external forces: 



 Other source terms are possible, like gravity, depending on the selected functionalities.

Nonlinear Eddy Viscosity Turbulence Models
EARSM Model
Explicit Algebraic RSM (EARSM) can be considered as a subset of nonlinear constitutive relations in which a part of the higher-order description of physical processes on the RSM-level is transferred into the two-equation modeling level. As a result, EARSM is much less demanding than RSM from the computational standpoint and, at the same time, is capable of reproducing some important features of turbulence (e.g. its anisotropy in the normal stresses), which are beyond the capabilities of linear eddy viscosity turbulence models.

In FINE™/Turbo, two EARSM models are applied.
Model proposed by Menter
The fisrt EARSM model implemented is the simplified baseline explicit algebraic Reynolds stress model proposed by Menter et al. (2009).
In the EARSM model, the Reynolds-stress tensor is expressed using an effective eddy-viscosity formulation including a corrective extra-anisotropy tensor :



where the effective turbulence eddy viscosity is defined as:



and the extra anisotropy tensor terms are defined as:



All the terms and coefficient of the effective turbulence eddy viscosity and the extra anisotropy tensor terms are defined in the following equations as:

























































The turbulence time scale, , is



The k and ω equations write:






where the production term is



The clipping coefficient can be controlled by the expert parameter PRCLIP when the expert parameter IMINUT is larger than 0.
The turbulent kinematic viscosity is:



The variable 



 and the constant . The variables β, ,  denoted with the generic symbol ϕ are defined as:



with the coefficients:

Inner model constants , , 
Outer model constants , , 

The auxiliary blending function , designed to blend the model coefficients of the original k-ω model in boundary layer zones with the transformed k-ϵ model in free-shear layer and free-stream zones, is defined as:



with 



Model proposed by Hellsten
Another EARSM model implemented is the model proposed by Hellsten (2005), which is based on the modified BSL k-ω model.
In the EARSM model, the Reynolds-stress tensor is expressed using an effective eddy-viscosity formulation including a corrective extra-anisotropy tensor :



where the effective turbulence eddy viscosity is defined as:



and the extra anisotropy tensor terms are defined as:



with:












In the terms ,  and  are the mean strain tensor and the mean rotation tensor normalized by the turbulent timescale, respectively.






The  coefficients are defined as:















where




































The turbulence time scale, , is



where 



The k and ω equations write:






where the production term is



The variablesγ, β, , ,  denoted with the generic symbol ϕ are defined as:



with the coefficients:

Inner model constants , , , , 
Outer model constants , , , , 

The auxiliary blending function , designed to blend the model coefficients of the original k-ω model in boundary layer zones with the transformed k-ϵ model in free-shear layer and free-stream zones, is defined as:

Navier-Stokes Walls

References
Chang, K. C., Wang, M. R., Wu, W. J., Liu, Y. C., 1993, "Theoretical and Experimental Study on Two-Phase Structure of Planar Mixing Layer", AIAA Journal, Vol. 31, No 1, pp 68-74.
de Boer A., van der Schoot M.S., Bijl H., 2007, "Mesh Deformation Based on Radial Basis Function Interpolation", Computers and Structures, Vol.85:784-795.
Livne O.E., Wright G.B., 2006, "Fast Multilevel Evaluation of Smooth Radial Basis Function Expansions", Electronic Transactions on Numerical Analysis, Vol.23:263-287.

Unsteady Inlet and Outlet Boundary Conditions
For a steady state flow problem, to any quantity imposed at the inlet or outlet section, a space distribution on the surface is corresponding. This space distribution can be uniform, one dimensional (x,y,z,r,θ,z) or two dimensional (xy,xz,yz,rθ,rz,θz). These distributions are written in a file and the code performs a linear interpolation to obtain the desired quantity on the cell face centre of the section.

For an unsteady flow problem, the inlet and outlet imposed quantities may vary in time. Two possibilities are available within the FINE™/Turbo solver:
user specified time function
For a fixed reference system with time dependent boundary conditions, the boundary condition for a quantity q is given by:



where q0 is a space distribution (uniform, 1D or 2D) and f(t) is a scaling function read from a file: (tn, f(tn)).
rotation of the reference system
The settings of a Rotating Boundary Condition can be seen in the Harmonic Method section.

Dedicated Turbomachinery Models

This chapter describes the theory dedicated to turbomachinery applications:

Multigrid Strategy

The FINE™/Turbo solver uses multigrid for efficiency and fast convergence. The input variable given by the user (Numerical Model page: Number of grid level(s)) denotes the number of grid levels to be used. The coarser grids are automatically created within the FINE™/Turbo solver by dropping nodes in each direction. If in a certain direction, the grid can not be coarsened anymore (because of an odd number of cells) before reaching the desired number of grid levels, the FINE™/Turbo solver will create the missing grids by coarsening only in the remaining directions.


FIGURE 2 Scheme of the multigrid strategy
The multigrid method is based on the Full Approximation Storage (FAS) approach. V (input parameter MGRSTR = 1), W (MGRSTR = 2) and F-cycle (MGRSTR = 3) can be chosen by the user, or if preferred their sawtooth variant (MGRSTR = 4, 5 or 6 for respectively V,W,F sawtooth). In the sawtooth variant no smoothing (i.e. Runge-Kutta solver or implicit solver) will be applied in the coarse-to-fine part of the cycle. As a result, the solution is only prolonged when passing from coarse to fine.


FIGURE 3 Scheme of the multigrid method
Consider a set of meshes denoted with an index l = 1,...,L with L being the finest level. The Navier-Stokes problem on the finest level can be written as:



where NL(UL) is the spatial discretization of the Navier-Stokes operator on the finest mesh L. The problem is then approximated on coarser levels l as:



with Fl the forcing function, defined recursively as:



where  and  represent restriction operators of respectively the unknowns and the residuals. If the input variable IRESTR=0, they are defined as:






where Rl+1 is defined as:



and ω represents the cell volume. The summation in  and  is over the 8 fine cells contained within a coarse cell.
If IRESTR=1 a more complicated quadratic restriction is used both for the residuals and the unknowns.
After temporal discretization, the problem approximated on a coarse level becomes:



Ul(0) is the current solution on mesh l, around which the equations have been linearized (in an implicit method) and which has to be smoothed. One has:



ΔUl is an update of Ul(0) and is to be calculated. 
S is the smoother. It is the operator that corresponds to the chosen time integration method.
In the FINE™/Turbo solver, an explicit multi-stage Runge-Kutta time-marching scheme has been implemented, see below.
The linear problem can be solved for ΔUl. The updated solution Ul will be smoothed (provided S is a good smoother) and can be restricted to the next coarser level, according to the equation of Ul(0) with l replaced by l-1. 
Note that the number of smoothing sweeps (i.e. the number of times the Runge-Kutta operator is applied) can be chosen by the user for each grid level (Numerical Model page in Expert Mode: Scheme definition  and Number of sweep on successive grid levels). 
Once the solution on the coarsest mesh is smoothed, the coarse-to-fine sweep of the multigrid cycle is initiated. The current solutions on finer grids are updated with the solution on the next coarser level:



The operator  is a prolongation operator, which may be of zero- (i.e. piecewise constant, input parameter IPROLO = 0) or first-order (IPROLO = 1).
In the basic V,W,F cycle (MGRSTR = 1,2,3 respectively) the new solution on the finer mesh is smoothed before proceeding to the next finer level, by solving  and , with Ul(0)=Ul. The number of sweeps of the smoothing operator is user input (Numerical Model page in Expert Mode: Scheme definition  and Number of sweep on successive grid levels).
In the sawtooth type cycles (MGRSTR = 4, 5 or 6) the system of equations is not solved in the coarse-to-fine part of the multigrid cycle. 
The user also has the possibility to smooth the corrections after prolongation (2nd term in the right-hand-side of the solution on finer grids) before adding them to the current finer grid solution, by applying the residual smoothing operator to the corrections. This is governed by the input parameter SMCOR which has the same definition as RSMPAR, see below, and allows to calculate the smoothing parameter, according to the chosen type of residual smoothing (parameter IRSMCH), see below.
In the FINE™/Turbo solver, the computing cost of a multigrid cycle is significantly reduced by using simplifying assumptions on coarser (i. e. all levels but the finest) grids (input parameter MGSIMP). If MGSIMP = 1, a first-order accurate upwind scheme is used on coarser levels (if Upwind spatial discretization scheme is selected in the Numerical Model page in Expert Mode), else a more diffusive central scheme is used on coarser levels (if Central spatial discretization scheme is selected in the Numerical Model page in Expert Mode). If MGSIMP = 2 in addition to the changes for MGSIMP = 1 also viscous terms as well as source terms (of turbulence and chemistry) are omitted on coarser levels.

Modeling Flow near the Wall
The wall functions are used to mimic the presence of the walls by reflecting the effect of the steep, non-linear variations of the flow properties through the turbulent boundary layer. They define the shear stress and the heat flux on the cell faces lying on solid boundaries as well as the values of the turbulent variables in the vicinity of the wall. 
For the models that do not use wall functions, the profile of the boundary layer is directly inferred from the input values at the wall. Consequently, particular attention must be paid to the grid refinement in this region in order to capture the viscous sublayer. A typical value is given by  at the first node from the wall.

Static Quantities Imposed (Supersonic)
Velocity components imposed
The flow at inlet is completely specified, by giving the static pressure, static temperature and the three absolute cylindrical velocity components. 
Velocity normal to inlet
The user can specify the static pressure, the static temperature and the magnitude of the velocity. The orientation of the velocity will be set to be normal to the inlet surface.

Turbulent wall Boundary Conditions
For a turbulent calculation with the turbulence model (except the Baldwin-Lomax model), the turbulent wall boundary conditions need to be treated. For more information modeling the flow near the wall.
Spalart-Allmaras Model
When the Spalart-Allmaras model is selected, the turbulent working variable  in the solid wall.
k-ε Models
When the k-ε models are selected, the values of k and ε are imposed at the solid wall for the Chien and Launder & Sharma, while for the Standard models, it is imposed in the first inner cell. 
k-ω Models
When the k-ω models are selected, the boundary condition on solid wall is the following one:






It should be noted that the boundary value for ω in the Wilcox model is ten time smaller than the result from the previous equation.
v²-f Model
When the v²-f model is selected, The boundary condition on solid wall boundaries are:

Cartesian Inlet Boundary Conditions

Interaction with Turbulence
While moving through a turbulent flow (and when Turbulence is activated under the Parameters thumbnail of the Fluid-Particle Interaction page), each particle faces a sequence of random turbulent eddies that result in a lack of accuracy in particle velocity and position. This process is taken into account using a stochastic treatment. The k-ε turbulence model is assumed for the carrier flow simulation.
The instantaneous fluid velocity is represented as the sum of the local mean velocity (available from the computed carrier flow field) and a random fluctuation:



The fluctuation  is randomly sampled from the normal Gaussian distribution with the probability-density-function f:

and 
The individual components of the velocity fluctuation are assumed to be non-correlated. The mean square deviation is evaluated from the turbulent kinetic energy:



It is accepted that this sample velocity fluctuation remains unchanged within the turbulent eddy during its life time. The eddy life time Te and size Le are calculated according to:

and 
Where  is an empirical coefficient with a default value of 0.28 (Coefficient for eddy life time).
The eddy life time Te and size Le are bounded by the Kolgomoroff scales:

and 
The calculated fluctuation gives the instantaneous flow velocity, which is used while tracking the particle. As soon as the life time has expired or the particle has left the eddy, a new fluctuation is chosen as described before, assuming no correlation with the previous sample.

Incompressible Fluid
Liquid
Equation of State
The density is user input:



This implies a decoupling of the mass and momentum conservation equations from the energy conservation equation, since no term in the mass and momentum equations depends on the temperature.
Transport Properties
The theory of the liquid transport properties is the same as that of the perfect gas. The details can be seen in Transport Properties section.
Barotropic Liquid
Equation of State
The density is a user defined function of the pressure:



The corresponding values can be entered either through a polynomial approximation or through a profile.
The particularity of the barotropic liquid formulation is that although the density is not constant, a decoupling of the energy equation is still adopted, exactly as in the full incompressible formulation. 
Modification of the treatment of the energy equation
A modification of the treatment of the energy is required in order to account for the density variations. The temperature equation for any type of fluid can be written as:



where εv is the viscous dissipation term and V is the specific volume (inverse of density). Since for a barotropic fluid there is a unique relation between the pressure and the density the first term on the right hand side of the above equation vanishes and the temperature for a barotropic fluid becomes:



In addition, since from classical thermodynamics it is known that



the specific heat at constant volume depends only on the temperature . Note that for an incompressible fluid the specific heats at constant pressure and at constant volume are equal ().
The modification of the formulation of the energy for a barotropic fluid can be derived from the above relations. For a barotropic fluid:



The barotropic relation can be integrated from a reference state to finally obtain:



Compared to an incompressible formulation the energy depends on both pressure and temperature.
Transport Properties
The theory of the barotropic liquid transport properties is the same as that of the perfect gas. The details can be seen in Transport Properties section.

Transport equation for intermittency
The intermittency is used to trigger the transition locally. It is set to one in the freestream and must be set to zero in the laminar boundary layer. Its production/destruction is driven by the transition criteria. 
The intermittency equation is formulated as follows:



with



where S is the magnitude strain rate,  is an empirical correlation that controls the length of the transition region and  is a function to trigger the intermittency production and thus the transition onset. The function  depends on the vorticity Reynolds Number (), the critical momentum thickness Reynolds Number () and the viscosity ratio () as described below:


















If the vorticity Reynolds Number becomes much larger than the critical momentum thickness Reynolds Number, the transition onset is triggered. This critical Reynolds Number gives the location where the intermittency first starts to increase in the boundary layer. It is related to the transition Reynolds Number  by an empirical correlation as well as  in the production term. 
Menter (2010) provided recently these correlations based on the ERCOFTAC T3 series of flat plate experiments and the Schubauer and Klebanof test cases: 



This value is forced to be equal to its maximum value of 40 in the viscous sublayer:



with 



and
 



The destruction term in the intermittency equation is defined as follows:



Where Ω is the vorticity magnitude strain rate and  is a function decreasing with the turbulence to disable the destruction source term outside of a laminar boundary layer or in the viscous sublayer. It is defined as follows:



The constant values in the intermittency equation are:















The definition of γ has been improved for the separation induced transition because the model predicted a turbulent reattachment location too far downstream in comparison with the experimental data. The local intermittency is allowed to exceed 1 whenever the laminar boundary layer separates and this implies a larger production of k that causes earlier reattachment. The modification for separation-induced transition is given by Langtry (2006) and Menter (2010):



with 




 is the blending function defined, = 2.
Finally,



The boundary condition on the walls is the zero normal flux:



The inlet boundary condition is:



This inlet value is necessary in order to preserve the freestream turbulence decay rate in the original turbulence model.

Clocking harmonic method
The basic harmonic method can reproduce rotor/stator interaction with a good accuracy and also at considerably reduced CPU times. The approach couples and solves the time-averaged flow and the perturbations. In particular, the time-mean flow is modified by the deterministic stress which is a product of the unsteadiness. Thus the time-mean solution in a row is influenced by the unsteadiness brought about by a rotating upstream row and by relative rotation again disturbs the flow in a downstream row. The upstream row has an influence on the downstream row via the time-mean flow in the central row but it is only indirect. No rotor/rotor and/or stator/stator effects were taken into account. Thus, the clocking effects cannot be modelled. He and Chen (2002) presented an attractive method to solve this complication. The goal is to reproduce the spatial distortions in the third row that originate from the co-rotating first row.

The clocking harmonic method is a simplified rank-2 method, which considers the perturbation from the adjacent rotating rows of the reference row and also simulates the rotor/rotor and stator/stator interactions in a multi-row turbomachine. FIGURE 5 shows a schematic view of the clocking harmonic method (one harmonic per perturbation). The time harmonics still model the unsteady perturbation provoked by the relatively rotating adjacent row, while additional space harmonics model the steady effects in a stator (respectively rotor) coming from the consecutive stator (respectively rotor). The space harmonics, or clocking harmonics, are calculated at the rotor/stator boundary of a blade row from the time harmonics of the adjacent blade row at the opposite side of the rotor/stator.


FIGURE 5 Clocking harmonic method
Connections between the time harmonics and space harmonics at the rotor/stator interfaces. This is the case where the end-rows r1 and r3 rotate at the same speed, hence the appearance of space harmonics Hks in these two rows, shown in black, like the mean flow. The space harmonics are calculated from the time harmonics of the opposite side of the rotor/stator interface. The connections between the time harmonics of the baseline NLH are preserved.
For a general case row1/row2/row3 with the blade number N1/N2/N3, the effects of the clocking of row1 into row3 modify the time-averaged solution in row3. There is a direct contribution from a time-harmonic at the exit of row2, this harmonic being induced by the rotation of row1 relatively to row2. The spatial amplitude of this harmonic in the tangential direction over the periodicity N1 is obtained by a spatial Fourier decomposition. It will be referred as  and named clocking harmonic. 
Also, the time-mean flow in row 3 cannot be considered N3-periodic if the clocking effects from row1 are taken into account. This would imply a modification of the periodic treatment in the time-mean solver and also modifications of the treatment of the rotor/stator interface at row3/row2. 
A straightforward average solution can be calculated over the blade pitch of row3:



where  is the time-mean flow over a channel.
This is referred as the passage-averaged flow in row3. However, this averaged flow can also be obtained by sticking to the same blade pitch and virtually rotating the time-mean solution along the azimuth over  .
The spatial phase shift of the time-averaged solution in row3 due to row1 is defined as the constant



The time-mean flow in the channels of row3 can be computed as



where  is the time-mean value resulting from the rotor/stator connection algorithm.  are the space harmonics in row3 associated with the spatial phase shift in row3 due to the imaginary rotation of rowK relatively to row3. They are solved in the blade channel like time-harmonics, with a frequency set to zero.

Solid Wall Boundary Conditions

Adiabatic Walls
The velocity vector on the wall vanishes. If the cylindrical boundary condition is used, the angular velocity of the wall (in the absolute frame of reference) has to be specified. 
The velocity relative to the wall should be zero, leading to:



with subscripts s, w referring to respectively the system and the wall.
A relation for the pressure is obtained by projection of the momentum equation onto the wall normal direction . Written in the absolute frame of reference:



The normal pressure gradient can be written as a function of pressure derivatives along the coordinate lines:

,
where ξ, η, ζ represent the coordinates in the i, j and k directions, and where it is assumed that the j-direction is directed away from the wall (not necessarily perpendicular to the wall).  are the surface vectors of the corresponding cell faces.
Combining the relation for the pressure and the normal pressure gradient and considering that the velocity vanishes on the wall, yields:



		COR 1	COR2	COR3
Two implementations of the adiabatic Navier-Stokes wall are available.
In the simplest one, only the terms COR1 and COR2 of the equation above are taken into account in the evaluation of the pressure derivative. This corresponds to assume that the normal pressure gradient equals zero. Taking into account that the velocity, appearing in the term COR2, is the velocity on the wall, this term can be simplified to:



Note that COR2 vanishes for a stator wall.
In the more complicated implementation the complete normal momentum equation is considered in the evaluation of the pressure derivative, i.e. the term COR3 is also accounted for. Applying Gauss' theorem this term can be rewritten as:



Once  is determined, the pressure on the wall is obtained as (assuming the direction points inside the interior field, and with indices w,1 representing the wall and the first inner cell):



The temperature on the wall is obtained by expressing that the normal temperature gradient vanishes, or in terms of the derivatives along the coordinate lines, cf. normal pressure gradient:



The wall temperature is then found using a similar equation as the pressure on the wall.
The density follows from pressure and temperature through the appropriate relation, depending on the type of gas.

Integration Time Step - Relaxation Time
The calculation of the trajectories is obtained by integrating the Newton law in time, using either a 2- or 4-steps Runge-Kutta or an exponential scheme. At each time step the force vector is re-calculated to obtain a new value for the velocity vector, whereas the velocity vector is used to calculate the new position of the particle. This sequence is repeated until a boundary is reached. In order to have an appropriate integration method to calculate the trajectories, the integration time step must be properly chosen.
The time step used by the algorithm is the minimum between the time required to traverse the mesh cell (which depends on the particle velocity and on the cell size) and the relaxation time, which is the time required by the particle to lose its initial slip velocity:



For a stationary reference system (no inertia force) and in the case of no gravity, the relaxation time is the time required by the particle to reach the flow velocity , whereas in the presence of an inertia and/or a gravity force, the velocity reached by the particle after the relaxation time is not , but .
In some cases (for instance with very small particles) the relaxation time is very small, which leads to a large number of time steps per mesh cell, and hence to a larger CPU time for the particle tracking algorithm. A faster convergence may then be reached by using the so-called exponential scheme for the time integration step.

Basic Harmonic Method
The rotor/stator interface is treated in order to respect the matching of the solution between the upstream and downstream sides. The goal is to lead to the continuity of the unsteady flow across the interface. Since the harmonic method uses a limited number of harmonics, this continuity cannot be rigorously reproduced but the treatment is such that the observed discontinuity in the numerical results decreases with a higher number of harmonics.
The basic harmonic method is a rank-1 method, which considers only the perturbation from the adjacent relative rotating rows of the reference row.  FIGURE 4 shows a schematic view of the basic harmonic method (one harmonic per perturbation). The time harmonics in a relatively rotating frame (or so-called row) are connected by the rotor/stator interface to the harmonics of the opposite row, including the time mean. Each time harmonic is given two spatial frequencies in space (called spatial modes), each one being respectively that of a Fourier series in space of the connected time harmonic at the opposite side and of its conjugate. A connection with the time-mean gives one mode.


FIGURE 4 Basic harmonic method
Connections at the row interfaces between the time harmonics of the relatively rotating rows. The time harmonics model the perturbation originating from the relatively rotating adjacent row. The harmonics include the time mean, which is the time harmonic of order 0. The time mean is represented by a black colour and the number 0. The other harmonics are obtained for one harmonic per perturbation. Thus, for the general case, there are two harmonics in the central row and only one in the end-rows. Each harmonic has a number of modes at the side of a rotor/stator interface (numbers shown in the small square boxes).
The rotor/stator interface analysis is based on the Fourier decomposition of the unsteady flow in space (azimuthal) and in time along the interface. The primitive flow variables can be represented by a first decomposition formulated along the downstream side, and also a second decomposition formulated along the upstream side, because of the relative motion of the blade rows. A necessary condition of the equality of the two definitions is obtained that, together with the phase-lag periodicity condition, is equivalent to the chorochronic conditions demonstrated by Gerolymos et al (2002). This yields a relation between the time harmonics of the unsteady flow on both sides of the interface. This matching condition is applied to the discrete number of time harmonics considered by the harmonic method. Since the time harmonics are periodic in space over the blade row, a spatial Fourier decomposition of these time harmonics is also written. This, together with the matching condition leads to a reconstruction of the harmonic and the time-averaged flow variables at the rotor/stator interface. The continuity of the unsteady flow across the rotor/stator interface is exactly satisfied for an infinite number of time harmonics. The implemented harmonic method should approach this continuity, the discontinuity error due to the finite number of harmonics being reduced if the number of harmonics is higher.
Incoming and outgoing characteristics are calculated from these reconstructed harmonic and time-mean values. These local characteristic values are injected in a local non-reflective boundary treatment. This is different from the treatment where the time-averaged flow is treated via a non-reflecting flux-averaged algorithm (Saxer and Giles, 1993, and Chen et al, 2001, using the harmonic method).

Baldwin-Lomax Model
The Baldwin-Lomax algebraic turbulence model, Baldwin & Lomax (1978), is a two layer model where the turbulent viscosity in the inner layer is determined by using the Prandtl mixing length model, and the turbulent viscosity in the outer layer is determined from the mean flow and a length scale. The strain-rate parameter in the Prandtl mixing length model is taken to be the magnitude of the vorticity.
The influence on the mean flow equations through the turbulent kinetic energy is neglected.
The turbulent viscosity is given by



where n is the normal distance to the wall, and nc is the smallest value of n at which the inner and outer viscosity is equal.
The inner viscosity is



where




 
and



where  is the subscript for wall quantities,  is the Kronecker symbol and  is the friction velocity  at a distance   from the wall.
The outer viscosity is



where  is the smaller of



The term  is the value of n corresponding to the maximum value of , , where



and



The constants used are hard coded and equal to: 


















The turbulent Prandtl number, needed to calculate the turbulent conductivity, is accessible through the expert parameter PRT (see The Heat Conductivity section).

Far-field Boundary Conditions
External
Far-field boundary condition uses Riemann invariants that are defined as:



where  are the Riemann variables associated with the direction  and c is the local speed of sound.
For subsonic inflow,  corresponds to a positive, incoming characteristic. In that case,  is obtained from the free stream values:



where  is the free stream velocity,  the free stream speed of sound.

, on the other hand, corresponds to an outgoing characteristic and has to be estimated from inside the computational domain by an appropriate extrapolation:



where subscript i refers to values from the interior. 
If the flow exits, the non-normal velocity components and the entropy are extrapolated from the inner domain. If the flow enters,  their value comes from the boundary conditions imposed. Other variables are computed using the normal and non-normal components, entropy and speed of sound.
The normal velocity and the local speed of sound can now be obtained on the boundary by adding and subtracting both Riemann variables  and :



The entropy on the wall is set to the free stream entropy. All the flow variables can then be obtained.
Corresponding formulas hold for a subsonic outflow with the difference that  and the wall entropy are obtained from interior values.
For supersonic flows, both Riemann variables and the entropy are obtained from free stream values for inflow, interior values for outflow.
For computations with preconditioning, the same principle is used with modified invariants defined as:



where



The free stream variables of static pressure, static temperature and the three velocity components are specified by the user in the boundary condition file.
Turbulent External Boundary Conditions
For a turbulent calculation with a 1- or 2-equation turbulence model, the free stream values of the turbulence on the external boundaries must be specified by the user. The turbulence values on the external boundary are set to their free stream values (inflow) or extrapolated from the interior (outflow).
Spalart-Allmaras Model

When a Spalart-Allmaras model is selected, the turbulence at the boundaries can be specified by different sets of turbulent quantities:

Turbulent Viscosity:  (m²/s)
Turbulent Viscosity Ratio:  (-), related to the turbulent viscosity by 



with  (m²/s) the laminar viscosity
Turbulent Intensity and Length Scale:  (%) and  (m), related to the turbulent viscosity by



with (m/s) the averaged velocity at boundary 
Turbulent Intensity and Hydraulic Diameter:  (%) and  (m), related to the turbulent viscosity by



with (m/s) the averaged velocity at the boundary

If no information is available on the turbulence properties of the flow, please refer to the User Manual to get an estimated value.


k-ε Models

When a k-ε model is selected, the turbulence at the boundaries can be specified by different sets of turbulent quantities:

k and epsilon:  (m²/s²) and  (m²/s3)
Turbulent Intensity and Viscosity Ratio:  (%) and   (-), related  to  and  by 

 



with (m/s) the averaged velocity at the boundary
Turbulent Intensity and Length Scale:  (%) and  (m), related to  and  by 

 



with (m/s) the averaged velocity at the boundary
Turbulent Intensity and Hydraulic Diameter:  (%) and  (m), related  to  and  by

 



with (m/s) the averaged velocity at the boundary

If no information is available on the turbulence properties of the flow, please refer to the User Manual to get an estimated value.


k-ω Models

When a k-ω model is selected, the same turbulent quantities as for the k-ε models are available. The value for ω is determined according to:



with   and  in the formulas presented for the k-ε models.
The only exceptions are the EARSM turbulence models for which the relation between the viscosity ratio  and  is determined by



where the coefficients A1 and N depend on the EARSM model, see Nonlinear Eddy Viscosity Turbulence Models.


v²-f Model

When the v²-f model is selected, the turbulence at the boundaries can be specified by different sets of turbulent quantities:

k and epsilon:  (m²/s²) and  (m²/s)
Turbulent Intensity and Viscosity Ratio:  (%) and   (-), related to  and  by 






with (m/s) the averaged velocity at the boundary
Turbulent Intensity and Length Scale:  (%) and  (m), related to  and  by 






with (m/s) the averaged velocity at the boundary
Turbulent Intensity and Hydraulic Diameter:  (%) and  (m), related to  and  by 






with (m/s) the averaged velocity at the boundary

The value of v² is deduced assuming isotropic turbulence: 



If no information is available on the turbulence properties of the flow, please refer to the User Manual to get an estimated value.

Wall with Imposed Heat Transfer Coefficient
The wall with imposed heat transfer coefficient boundary condition is very similar to the adiabatic Navier-Stokes wall. The only difference is in the determination of the wall temperature . For this condition the temperature is determined from the imposed heat transfer coefficient h (W/K/m²):



where  is the fluid heat conductivity,  is the distance between the first inner cell centre and the wall,  is the temperature in the first inner cell centre,  is the reference temperature imposed by the user in the Boundary Conditions / SOLID page.
The pressure is determined as in the adiabatic condition and the density follows from pressure and temperature through the appropriate relation, depending on the type of gas.

Adiabatic Walls with Acoustic Impedance
The acoustic impedance specifies a fluctuation of the normal velocity at the wall, following:



The impedance is of the form:



where the real part is resistance and the imaginary the reactance.
The acoustic impedance is assumed to be constant along the liner and the treatment is assumed to be impermeable, meaning that the normal component of the time-mean velocity remains zero.

Nomenclature








acceleration vector


c

speed of sound; progress variable


cp

specific heat at constant pressure


cv

specific heat at constant volume


e

internal energy per unit mass


E

total energy per unit mass



e
external force vector





vector (column matrix) of inviscid flux



I

vector (column matrix) of inviscid flux



v

vector (column matrix) of viscous flux


g

	gravity acceleration


h

enthalpy per unit mass


H

total enthalpy


I

rothalpy per unit mass


k

	turbulent kinetic energy


m

mass flow rate


M

molecular weight; Mach number


p

pressure


P

pitch


Pr	

Prandtl number


Prt

	turbulent Prandtl number


q


	heat flux



Q

	flux of variables; limiter


r

gas constant per unit mass


r, θ, z

	cylindrical coordinates


R

	universal gas constant


Re

	Reynolds number


s

	entropy per unit mass


S

	surface


ST

	vector (column matrix) of source term





surface vector


t

	time


T

	temperature


T+

	dimensionless temperature


Tu

	turbulence intensity


U

	vector (column matrix) of conservative variables



(u,v,w)
velocity vector with component u, v, w


V

	specific volume; vector (column matrix) of primitive variables





relative velocity vector


x,y,z

x, y, z	cartesian coordinates


y+
	dimensionless normal distance from the wall


Y

mass fraction of the species





specific heat ratio





turbulent dissipation rate; emissivity





coefficient of thermal conductivity; absorption coefficient





coefficient of dynamic viscosity



t

coefficient of turbulent viscosity





density





stress tensor





kinematic viscosity



t

turbulent kinematic viscosity





scalar dissipation rate





angular velocity; specific dissipation rate; weighting function, chemical source term, scattering albedo





volume

Mass Flow Imposed
Velocity Scaling 
This condition fixes the mass flow at a given control surface by scaling the velocity vectors on this surface. The other variables are extrapolated following the system of options exposed above.
The scaling of the velocity vector is not totally free. The value of the scaling factor is constrained between VELSCA and 1/VELSCA, where VELSCA is an expert parameter available in the Control Variables page in the Expert Mode.
Given that the pressure is also extrapolated with this condition, it is imperative that the inlet boundary condition fixes the pressure through the total pressure.
Fixing the mass flow is not as robust as to impose the pressure and this is particularly sensitive with full-multigrid. A pressure is thus requested as input and is imposed during the full-multigrid process. Consequently, the mass flow computed at outlet is not exactly the target mass flow during the computation on the coarse grids.
This option is not recommended in case significant backflow is detected along the exit. The next option (exit pressure adaptation) is then better suited.
Pressure Adaptation
This boundary condition is an adaptation of the 'Static Pressure Imposed' and 'Radial Equilibrium' boundary conditions.
An automatic procedure is included to introduce a variation of the imposed exit pressure at each iteration of the calculation. The pressure is iteratively updated in order to reach the imposed mass flow at convergence. The successive pressure modifications methodology is determined by the expert parameter MASPAO in the Control Variables page.

MASPAO = 1: the pressure adaptation at the outlet is based on the reference pressure and temperature values, as well as on the specified characteristic length. The modification in the outlet static pressure differs for each type of fluid:For a calorically or thermally perfect fluid:For a condensable fluid:where and  are respectively the characteristic length and reference temperature specified in the Flow Model page. RGAS and RELAXP are expert parameters found in the Control Variables page defining the  specific gas constant  and the under-relaxation factor for the successive modifications of the exit pressure, respectively. The default value of RELAXP is 1. For condensable fluids, the speed of sound, , is calculated as function of the reference pressure, , and of the reference temperature.
MASPAO = 2 (default): the pressure adaptation is based on characteristic values  directly related to the outlet boundary according to:If :Else:where  and  are the area averaged values of flow velocity and density at the outlet, respectively, and  is the exit surface area.

The value of the exit pressure provided by the user is the initial one. In case the radial equilibrium is used, the initial value of the exit pressure is imposed at midspan.
Contrary to the previous option fixing the mass flow through velocity scaling, it is only after convergence of the procedure that the mass flow reaches the imposed value.

Total Pressure & Total Enthalpy Imposed (Subsonic - Condensable Gas)
In cases where the inlet thermodynamic state is located on the saturation curve or inside the biphasic zone, traditional boundary conditions based on total temperature and total pressure are not sufficient, as pressure and temperature become interdependent. An additional information is required.

This boundary condition proposed under the FINE™/Turbo GUI is based on the absolute total pressure and absolute total enthalpy. The velocity direction is also specified, either by means of two flow angles (from axial direction) or of velocity direction vectors. Two variants are available depending on the value that is extrapolated.

The static pressure is extrapolated from the first inner cell. The implementation can be described as follows:

The static pressure is extrapolated from the first inner cell. 
The entropy is obtained by using the specified total pressure and total enthalpy.
The static enthalpy is computed from the entropy and the extrapolated static pressure.
The magnitude of velocity is obtained by using the total enthalpy and the static enthalpy.
The density is computed from the static enthalpy and the extrapolated static pressure.



The velocity components are extrapolated from the first inner cell. The implementation can be described as follows:

The velocity components are extrapolated from the first inner cell.
The static enthalpy is computed by using the total enthalpy and the extrapolated velocity. 
The entropy is obtained by using the specified total pressure and total enthalpy.
The static pressure is obtained by using the computed entropy and the static enthalpy.
The corresponding density is computed from the static enthalpy and the static pressure.

Frozen Rotor
The frozen rotor technique consists of a simple connecting boundary condition, ignoring the rotation of the rotor. The implementation is identical to the one adopted in the full non-matching Domain Scaling Method, except from the fact that no rotation of the rotor-linked image is performed, allowing the creation of a steady-state solution.

Characteristic Imposed
This boundary condition has been implemented to increase the robustness in the frame of a design process. It is not always suitable to impose the pressure at the exit because it can drive the machine to stall when the changes in geometry affect its characteristic line. 
The proposed solution is to impose a relation between the mass flow and the pressure at the outlet. It is no longer needed to choose between imposing pressure when working around the chocking part and imposing mass flow when working close to the stall limit.
The user has to impose a line defined through 3 parameters: a target outlet mass flow (), a target outlet pressure () and the pressure at zero mass flow (). 
The implementation follows three principles:

The relation between mass flow and pressure is imposed from a function of the type:
 
with 




A linearisation of the relation is applied to obtain:
 
where the δ are the variations of the mass flow and averaged exit pressure and where F and its derivatives are computed from the old values of p and .

The local outgoing characteristic variables are extrapolated.
 the relation between  and  is imposed as follows:



with Δp is constant over the whole outlet and with the subscripts 0 and 1 corresponding respectively to the value in the first outer cell and in the first inner cell.

Combining these three principles and expressing  and p in function of Δp at the outlet, the previous equation can be written as a polynomial of second order in Δp. The suitable root is chosen so that the imposed pressure always respects the relation defined between the mass flow and the pressure during the computation.

Laminar-Transition Model

Formulation in Rotating Frame for the Absolute Velocity

Although the governing equations for rotating systems are usually formulated in the relative system and solved for the relative velocity components, the formulation retained for ship propeller applications, ventilators or wind turbine are often expressed in the relative frame of reference for the absolute velocity components. This formulation is different from the one generally used to solve internal turbomachinery problems, where the equations are solved for the relative velocity. The two formulations should lead to the same flow solution. However, experience shows that the solution can be different, especially in the far field region. For propeller problems, the formulation based on relative velocities has the disadvantage that the far field relative velocity can reach high values. This induces an excess of artificial dissipation leading to a non-physical rotational flow in the far field region, this dissipation being based on the computed variables.
The Reynolds averaged Navier-Stokes equations for the absolute velocities in the rotating frame of reference become:



where the velocity  is the xi component of the relative velocity  and the velocity  is the xi component of the absolute velocity . This formulation involves thus both the absolute and the relative velocity components.
The source term vector  is given by:



with ω is the angular velocity of the relative frame of reference. Other source terms are possible, like gravity, depending on the chosen functionalities.
The stress and the heat flux components are given by:



and
 
The static pressure and the total energy are defined as:

Fluid-Particle Interaction
A Lagrangian approach is used here. In a Lagrangian approach the particle cloud is modelled by a finite number of computational particles, representing a group of real physical particles with similar properties. The particles are tracked separately, each as a single probe particle, through the flow field.

Uncertainty Quantification
Polynomial chaos methods (PCM) represent one class of non-deterministic methods which gained wide acceptance in the CFD community for propagation of the uncertainties in numerical simulations, where the random quantities are subjected to a spectral representation via a polynomial chaos expansion (PCE). PCMs show interesting advantages with respect to the perturbation methods. PCMs can handle more general types of uncertainties while they seem to be more computationally efficient as the basic Monte Carlo methods. Anyhow, reliable conclusions could be started, for particular applications, only after completing a comparative assessment of the user-selected non-deterministic methods.
The principle of NIPCM will be described hereafter for the generic stochastic partial differential equation (SPDE):



with L being a differential operator containing space and time partial derivatives, S the source term, 

 random input parameter and u the solution also depending on the outcome (or realisation) θ of an experiment related to a random event. By replacing the differential operator L with those appearing in governing system of the compressible flows, the statements given hereafter can be extended straightforwardly.
Non-intrusive probabilistic collocation method
The collocation methods use the space of interpolating polynomials as probabilistic space to construct PCEs. The basic principle of such methods is to perform a polynomial approximation of the solution of the SPDE in the probabilistic space starting from the computed values of the solution in a priori selected collocation points. The computational efficiency and accuracy of the non-intrusive method are influenced by the selection of the collocation points.
Here, the NIPCM method by Loeven (2007) is used. The Lagrange interpolating polynomials are employed to construct the following PCE:



where  denotes the non-deterministic solution,  is the deterministic solution at the collocation point ,  is the Lagrange interpolation PC corresponding to the same collocation point  and  is the random variable depending on the outcome θ. The Lagrange interpolating PC is given by:



with the special property .
The procedure for selecting the collocation points in a Gauss quadrature based on the Golub-Welsch algorithm capable of using general PDFs with compact support. This quadrature spreads the collocation points over the compact support according to the PDF of the random variable .
In order to propagate the input uncertainty modelled by the random variable , the PCE above is inserted in the SPDE. A Galekin projection on the subspace of Lagrange interpolating polynomials follows and the outcome is a system of  uncoupled deterministic problems:





When L is the flow governing system, NIPCM requires performing  computations for the input values associated with each collocation point. Once the solutions  are obtained by the FINE™/Turbo flow solver, the mean of any functional φ is evaluated with:



The variance of any functional φ are evaluated with:



The skewness of any functional φ are evaluated with:



The kurtosis of any functional φ are evaluated with:



where  is weight evaluated with the aforementioned Gauss quadrature. 
Cubature rule
Full tensorization
In order to combine several simultaneous uncertainties the quadrature must be brought to the multi-dimensional case. Multi-dimensional quadrature is achieved by tensor products. In the 1D-case the quadrature is given by:



Multi-dimensional quadrature is then obtained by tensor products:



Each point along one direction is multiplied with each point along all other directions. The weights are the products of the 1D-weights.
Sparse grid
The sparse grid is implemented based on the Smolyak quadrature. The sparse grid quadrature works by combining different levels (orders) of quadrature. Given the maximum level of accuracy the sparse grid varies in size. For different levels of accuracy k, a difference formula is defined:



where .
with . We get .
For multi-dimensional quadrature the order of summation and tensor-product is changed:



The sum can now be truncated to include fewer mixed terms. This is done by use of a multi-index k, which is truncated to total order:



For the Smolyak quadrature, the classical truncation is isotropic and is formulated as:

Non Reflecting Boundary Conditions
Concept

Because of the strong interaction between neighboring rows, the flow in multistage turbomachinery is rather complex. This complexity is increased by the difficulty that CFD codes have to handle rotor-stator interfaces located close to blade rows. In such configurations, spurious, non-physical reflections of steady waves -such as shock waves-can occur at boundaries.
A common way to cope with this problem is to use a steady-state non reflecting boundary condition based upon a characteristic analysis of the linearized Euler equations [Giles, 1988]. The characteristic variables are imposed on each side of the rotor-stator interface. On the downstream patch, the entropy wave, two vorticity waves, and the downstream running pressure wave are imposed, whereas the upstream running pressure wave is imposed on the upstream patch.
Though the methodology is based on the linearized Euler equations, it could be applied to viscous flows. Nonetheless, such an approach should be restricted to cases where the pitchwise variations are much smaller than the pitch average quantities.
It should be noted that this method uses the Full Non-Matching technique and that the geometrical constraints associated with the default mixing plane approach are eliminated. The procedure described bellow is performed on the image meshes. The turbulent quantities is treated by the full non-matching mixing plane approach.
Characteristic Variables
Non preconditioned equations
The characteristic variables () for non preconditioned equations are determined in terms of perturbations to the average flow field:



where   is the density,  is the velocity normal to the boundary considered,  and  are the tangential velocities, and  the pressure. The upper bar indicates the averaging procedure and  is the speed of sound. The characteristic variables are:


: the linearized perturbation in entropy.

  and : the tangential velocity.

: the downstream running pressure wave.

: the upstream running pressure wave.

Preconditioned equations
The characteristic variables  () for preconditioned equations are also determined in terms of perturbations to the average flow field. With the preconditioning technique the acoustic wave speed  is replaced by a pseudo-wave speed  of the same order of magnitude as the fluid speed and  is still the velocity normal to the boundary considered, the relations can be written a follows:



where  is the static enthalpy and  the temperature. The subscripts  and  represent the isothermal derivative with respect to the pressure and the isobaric derivative with respect to the temperature, respectively. The variables  and  are used to relate  to :

 and 
The matrix equation shown above is slightly modified for the case of incompressible and condensable fluids.
It can be demonstrated that, independently of the preconditioning matrix, the last characteristic has the same direction than the others only when the normal velocity is higher than the physical speed of sound
Average flow definition
The definition of the averaged quantities for the flow variables is not obvious as they are related by non-linear equations. A rigorous definition can be based upon the mixed-out flow field that provides averaged values to conserve mass, momentum and energy. This approach starts from the steady two-dimensional Euler equations that are integrated in the pitchwise direction on the rotor-stator interface at different spanwise locations. The averaged values (with a subscript ) are the uniform values for which the fluxes are equal to the fluxes averaged in the pitchwise direction. Therefore, for each spanwise location:



These equations are completed with the relation between the total enthalpy and the other variables:

for a perfect gas: .
for a real gas: , with  and .
for a condensable fluid: .

Solving these equations requires an iterative process except for perfect gases.
The flux-averaging method outlined above is not very robust when partially reversed flows in the circumferential direction are present (e.g. downstream a blade blunt trailing edge). In this case, it is recommended to adopt a classical area averaging approach to increase the solver robustness. The flux-averaging method is controlled by the NRBCAM expert parameter, which has two integer entries. The first one manages the averaging method on the Non reflecting Rotor-Stator interfaces and the second one on the Turbo Non reflecting inlet/outlet boundary conditions. Each entry can either be set to 1 (mixed-out flux averaging) or 2 (classical weighted area flux-averaging).
Non Reflecting 1D
The 1D non reflecting treatment is simply  with  the index of the characteristic. The relations between the flow characteristics and the primitive variables are resumed below:





No preconditioning
Preconditioning











At an inflow (downstream of the rotor/stator interface) the first four incoming characteristics are specified, whereas the fifth characteristic is specified at an outflow (upstream of the rotor/stator interface). For instance if a stator is located upstream of a rotor, at the stator outflow the imposed characteristic is 



and at the rotor inflow the imposed characteristics are 



The outgoing characteristics are computed by using the preconditioned or non preconditioned matrix equations show above. The system of equation is inverted in order to re-compute the primitive variables on the boundary.
The averaged vector, (no preconditioning) or (with preconditioning) used in these equations is composed of the five averaged quantities (computed by the mixing-out or the classical weighted area method) on the opposite side of the rotor/stator interface. For instance, the averaged quantities computed on the downstream patch are used in order to compute the incoming characteristic variables on the upstream patch. 
Non reflecting 1D correction for entropy and enthalpy
The treatment described above leads to a global correction of the flow variables at the rotor/stator interface. At downstream patches, the theory predicts a flow field with uniform entropy and stagnation enthalpy. However, due to second order effects neglected in the linear theory, there are small variations in the entropy and stagnation enthalpy. In order to limit these variations,  the non reflecting treatment is combined with an additional requirement that the entropy and stagnation enthalpy are uniform across the inflow. This requirement is imposed by modifying the values of some incoming characteristic variables.
The changes of the incoming characteristics on the boundary are split into two components: a pitchwise average variation () and a local change () at each spanwise location.

For the average component (), the specification of an uniform entropy and stagnation enthalpy are imposed by driving some residuals to zero.No preconditioningPreconditioningWhere  the stagnation enthalpy (as outlined in the average flow definition) and  is the entropy:for a perfect gas: .for a condensable fluid:  is computed from the SHP table (entropy function of enthalpy and pressure).The pitchwise average changes in the incoming characteristic variables which are required to drive these residuals to zero are obtained by solving the following equations:The changes in the characteristic variables are calculated by inverting the jacobian matrix:No preconditioningPreconditioningwith ,  and . It is noted that the determinant of the jacobian matrices is greater than zero with physical thermodynamic values () and inflow conditions ().

 

The local changes of the first and the fourth characteristic variables are obtained from the condition that the local entropy and stagnation enthalpy should match to the average values. This is achieved by the same procedure used for the average values. The local residuals that have to be driven to zero are defined by:No preconditioningPreconditioningwhere  stands for the grid indices in the pitchwise direction. A development similar to the previous one for the average values provides the following local changes for the characteristic variables:No preconditioningPreconditioningWhere the local variations of the characteristic variables  and  are still kept equal to zero in the 1D non reflecting treatment.

By adding the average and the local components of the changes in the characteristic variables the specified values on the downstream patch is set depending on the expert parameter LOCCOR:
 






LOCCOR = 0
LOCCOR = (-)1
LOCCOR = (-)2














Non Reflecting 2D
For the Non Reflecting 2D rotor/stator interface, the way that the boundary condition is treated depends on the local Mach number and is defined in terms of the pitchwise spatial Fourier harmonics amplitude of the one-dimensional characteristic variables.





No preconditioning
Preconditioning





For a subsonic inflow:





For a subsonic ouflow:









For a subsonic compressible inflow:







For a subsonic incompressible inflow:







For a subsonic compressible outflow:







For a subsonic incompressible outflow:









with  for compressible fluids and   for incompressible fluids. In the equation above  represents the wave number in the  direction and .
Non reflecting 2D correction for entropy and enthalpy
Similarly to the 1D non reflecting treatment, the changes of the incoming characteristics on the rotor/stator interface are split into two components: a pitchwise average variation () and a local change () at each spanwise location. However the local changes are now adapted to respect the two dimensional non reflecting conditions  on the downstream surface on the upstream surface. Therefore, they take into account the harmonic variations of the characteristic variables in the pitchwise direction.

On the downstream face:The additional requirement that the entropy and stagnation enthalpy are uniform across the inflow is still valid. Consequently the pitchwise average variation () and the local changes () are obtained by driving their respective residuals  to zero (the same as for the 1D non reflecting approach). From the 2D non reflecting relations, only the variation of the second harmonic () is kept, the fourth one () is provided by the constraints on the uniform enthalpy. Consequently, in addition to the previous equations, the local changes of the second harmonic are given by the difference between the correct steady state 2D non reflecting conditions and the current values:where  stands for the grid indices in the pitchwise direction and  is related to the local variations of the outgoing characteristic . Since these relations can be complex depending on the  value, Fourier transforms and inverse transforms can be used. The value of  is directly computed from its definition:No preconditioningPreconditioningIf  , the Fourier transform of the fifth characteristic is performed along the  cells in the pitchwise direction. Theoretically, the number of modes can increase up to the number of points. Usually the range of  is limited to :The range of variation of  is set by the expert parameter NH2DNR which default value is set to 3 (range of  = [-3;3]). This default value is usually sufficient for the potential effects of large blades or shocks but it may need to be increased for the potential effects or wakes of fine blades with low periodicity.For the no preconditioning case,   and the inverse transform gives the local value:If  , a direct relation is obtained, as shown below for the no preconditioning case:Similarly to the 1D non reflecting treatment, the changes of the incoming characteristics are controlled by the expert parameter LOCCOR.  The possible values of the parameter LOCCOR and their effects are resumed in the table below. The difference between LOCCOR=2 and LOCCOR=3 is the use of  in the local changes of    when LOCCOR=3. In these equations,    is still kept equal to zero. LOCCOR = 0LOCCOR = (-)1LOCCOR = (-)2LOCCOR = (-)3

 

On the upstream face:The 2D non reflecting treatment provides now a relation between the local change of the incoming characteristic and the ones of the outgoing characteristics. The local change is given by the difference between the correct steady state 2D non reflecting condition and the current value.No preconditioningPreconditioningSimilarly to the downstream conditions, a Fourier transform can be required depending on the properties of the coefficient . The local variations of the outgoing characteristic variables are given by:No preconditioningPreconditioning

The corrections above will give better distribution of the entropy and the stagnation enthalpy that match the averaged upstream values. However, this is not true near the end walls when the rotation speed of the end wall is discontinuous through the rotor-stator interface. In this case, the correction can be locally removed by setting the expert parameter LOCCOR to a negative value, corresponding to the value 1,2 or 3, respectively. The criterion that removes the correction of the characteristic variables is defined by:



and 
Mass flux correction
As the non reflecting treatments impose the values of the primitive variables on the rotor-stator interface, the flux conservations are not ensured through this interface. The FLXRS expert parameter can be used to conserve the mass flux in combination with non reflecting treatments. The first integer toggles mass flux correction at the Rotor/Stator interfaces for NLH computations and the second integer controls the correction for Non reflecting 1D/2D steady computations. Each integer can be set to 0 (no mass flux conservation) or 1 (mass flux conservation).
The mass flux correction approach is simple: after applying the non reflecting treatment, the mass flux is recomputed at each spanwise location on the upstream and downstream sides of a rotor/stator interface. The local fluxes are shifted so that the average mass fluxes are equal on both sides and equal to the average value. Then, when the mass convective fluxes are computed on the cell face at the interface, they are replaced by the modified ones. It is pointed out that a consistent correction is performed to the other equations (equations of momentum and energy conservations).

Phase-lagged Method
In the phase-lagged method, the rotor/stator connection becomes a time dependent connection between patches having different sizes in the pitchwise direction.


FIGURE 3 Illustration of rotor/stator interaction with phase-lagged method
The connection can be established through the reconstruction of the full flow solution at the time t, using computed solutions at different time steps. The same procedure is applied on the rotor and stator side, as the treatment of the stator can be seen as the one of a rotor rotating in the opposite direction.

Harmonic Method

An attractive feature of FINE™/Turbo is the computation of unsteady flows using the so-called nonlinear harmonic method (He et al, 1998). The main idea is that the flow perturbations that make the flow unsteady are written about a time-averaged value of the flow and are Fourier decomposed in time. Casting the unsteady Navier-Stokes system into the frequency domain, transport equations are obtained for each time frequency. The user controls the accuracy of the unsteady solution through the order of the Fourier series.

Velocity
Smooth walls
The wall function in the viscous sublayer is given by:



with , the dimensionless normal distance from the walls and , the wall friction velocity directly related to the wall shear stress.
While in the turbulent layer, the wall function becomes:



where κ is the Von Karman constant (default value 0.41) and Bo another constant (default value 5.36). Both κ and Bo can be modified by the user in the Boundary Condition page.
Rough walls
Old Method (IROUGH=0)
The wall function is given by (no viscous sublayer considered):



where κ is the Von Karman constant (default value 0.41). For rough walls, the constant Bo is usually zero (when the non-dimensional roughness height ks+ > 70 with ). Otherwise the value of Bo is evolving as presented in below graph.


k0 and d0 are constants asked for each rough wall.



where ks  is the equivalent roughness height.
The constant d0 is known as the height of the zero displacement plane, defined by:

  if Bo=0
For small roughness elements, . For high roughness elements, the flow behaves as if the wall was located at a distance d0 from the real wall position.
New Method (IROUGH=1)
Using the old method, seen above, the user has to give the constant Bo as input parameters. However, the value of the constant Bo is depending on the value of the wall friction velocity . And the value of Bo will also correct the wall friction velocity . The user has to iterate this procedure and converge to the desired value of Bo. This is not straightforward and a new approach has been introduced in the flow solver in order to simplify the computations with roughness.
For the new method, the wall function is given by (no viscous sublayer considered):



where κ is the Von Karman constant (default value 0.41) and Bo another constant (default value 5.36). Both κ and Bo can be modified by the user in the Boundary Condition page.
McKeon et al. (2004) have shown the  is a function of  with , as shown in FIGURE 2. The function has a special behaviour in the range . Below  =3, the 
flow is considered as smooth and there is no modification of the classical log-law ( = 0). For  >70, the flow is considered as fully rough and  shows logarithmic increase with increasing .


FIGURE 2 Roughness function
A function is used to interpolate  in the flow solver:



where a1=-0.7649, a2=1.9 and  is a constant.
The new method has the advantage that no more iteration has to be done on the constant Bo.

Transition Models
The transition models consist of introducing a so-called intermittency, Γ, defined as the fraction of time during which the flow over any point on a surface is turbulent. It should be zero in the laminar boundary layer and one in fully developed turbulent boundary layer.
Fully Turbulent
When the Fully Turbulent model is selected, the intermittency, Γ is set to 1 on the whole blade suction and/or pressure sides (fully developed turbulent boundary layer).
Fully Laminar
When the Fully Laminar model is selected, the intermittency, Γ is set to 0 on the whole blade suction and/or pressure sides (laminar boundary layer).
Forced Transition

The first step is to have a description of the blades in the FINE™/Turbo solver to be able to position the transition line. Therefore AutoGrid™ has been adapted to output the position of the leading and trailing edges and the topological patches composing the blade surfaces.
This last information is read by FINE™/Turbo and transmitted to the flow solver. A dialog box has been created to allow the positioning the transition line on the blade surfaces (FIGURE 1).
In Forced Transition mode, each transition line is positioned through a point on the hub and a point on the shroud. By default, these points are defined by a percentage of the arc length (FIGURE 1). However, a special treatment is also available where the transition points are defined by a percentage of the axial chord (only available for axial machines). This option can be activated via the expert parameter INTERL that should be set to 1 (default value = 0).


FIGURE 1 Example of the calculation of a transition point on a blade suction side as a percentage of the chord length.
The intermittency, Γ, is then computed on each point of the blade surface (it is set to 0 upstream of the transition line and tends towards 1 downstream). Each point of the computational domain has the same intermittency as the one at the closest point on the blade surface. However a special treatment is required close to the trailing edge and in tip gaps.
Abu-Ghannam & Shaw Model (AGS)
The location of transition could be computed from the flow solution by using empirical relations related to external parameters. Here the correlations obtained by Abu-Ghannam and Shaw [1980] and derived from experimental data from transition on a flat plate with pressure gradients are used. According to these authors transition starts at a momentum thickness Reynolds number:



λθ is a dimensionless pressure gradient defined as:



where Ue is the velocity at the edge of the boundary layer, s is the streamwise distance from the leading edge, and θ denotes the momentum thickness in the laminar region.
Tu is the free stream turbulence level (in %). For the Spalart-Allmaras turbulence model, Tu is computed based on the upstream (inlet or rotor/stator) eddy viscosity and assuming a turbulent length scale of about 10% of the reference length scale:



For the Yang-Shih k-ε, SST and Wilcox k-omega turbulence models, Tu is computed by using the following definition:



The function F(λθ ) depends on the sign of the pressure gradient:



for adverse pressure gradient (λθ < 0) 



for a favorable pressure gradient (λθ > 0)
Therefore, according to these relations, transition is promoted in adverse pressure gradient whereas it is retarded in favorable pressure gradient.
The range of application of the AGS correlation is 0.1 > λθ > -0.1, and for a free stream turbulent level ranging from 0.3 to 10%.

Full Multigrid Strategy
In order to create a good initial solution, a Full Multigrid Strategy is also available. 
The structure of Full Multigrid can be well explained through FIGURE 4. One starts an iteration method, such as a multi-stage Runge-Kutta explicit scheme, on the coarsest grid. The solution on that level will not be interpolated to the next finer grid, until it converges to a certain accuracy level. Then the solution on the finer grid is taken as the initial solution for further iterations on that grid level. The process is recursively used until the finest grid is reached. The initial solution on the finest grid is called the solution obtained by a Full Multigrid method.
It should be mentioned that there are two different kinds of prolongation in Full Multigrid. One is the same as that used in the standard multigrid cycle, the other is the prolongation of solutions, which replaces corrections in a standard multigrid prolongation. The latter could be different from the former. Normally a zero-order prolongation is often used for the solution interpolation in a full multigrid cycle.


FIGURE 4 Scheme of the full multigrid strategy
Based upon numerical experiments, it has been found that it is very important to check the convergence level of solutions on the coarser grid before switching to the next finer grid level. The reason for this is, that if solutions do not converge on the coarser grid, it may cause divergence on the next finer grid.
In addition, an initial solution on coarse grids is less sensitive to multigrid convergence than on the finest grid. A large cell size makes solutions converge easily and fast. Hence it takes much less computational time and risk of blowing up to get reasonable solutions on the finest grid, when compared to the start directly on the finest grid. A full multigrid method can therefore improve the robustness and efficiency of numerical iterations methods.

CHAPTER 4. FLOW MODEL
4.1 Euler
4.2 Laminar Navier-Stokes
4.3 Turbulent Navier-Stokes
4.3.1
4.3.2
4.3.3
Turbulence Models
Expert Parameters for Turbulence Modeling
A.
Interfaced Expert Parameters
B. Non-interfaced Expert Parameters
Best Practice for Turbulence Modeling
A.
B. First Step: Choosing a Turbulence Model
C. Second Step: Generating an Appropriate Grid
D. Defining Initial & Boundary Conditions
E. Setting Expert Parameters to Procure Convergence
Introduction to Turbulence
4.4 Laminar-Transition Model
Introduction
4.4.1
4.4.2 Global correlation transition model
4.4.3 Generalized transition model
4.5 Gravity Forces
4.6 Low Speed Flow (Preconditioning)
4.7 Characteristic & Reference Values
CHAPTER 5. BOUNDARY CONDITIONS
5.1 Boundary Conditions in the FINE™/Turbo GUI
Inlet Condition
5.1.1
5.1.2 Outlet Condition
A. Pressure Imposed
B. Mass Flow Imposed
C. Averaged Mach Number
D. Characteristic Imposed
E. From Rotor/Stator
Periodic Condition
Solid Wall Boundary Condition
A. Cylindrical Boundary Condition
B.
C. Force and Torque
D. Properties of Solid for Turbulence
External Condition (Far-field)
In Cartesian Boundary Conditions
5.1.3
5.1.4
5.1.5
5.2 Expert Parameters
5.3 Best Practice for Imposing Boundary Conditions
CHAPTER 6. NUMERICAL SCHEME
6.1 Numerical Model
6.1.1 Numerical Model in the FINE™/Turbo GUI
A. Numerical Model in the FINE™/Turbo GUI
B. Numerical Model in the FINE™/Turbo GUI
FINE™/Turbo 13.1 User Guide
73
73
73
73
75
75
75
81
81
82
84
89
91
94
94
95
97
103
104
104
108
112
121
124
125
126
126
128
128
129
129
134
134
137
137
140
143
147
149
C. Numerical Model in the FINE™/Turbo GUI
D. Numerical Model in the FINE™/Turbo GUI
E. Numerical Model in the FINE™/Turbo GUI
Expert Parameters
6.1.2
6.2 Time Configuration
6.2.1
6.2.2
6.2.3
Interface for Unsteady Computation
Expert Parameters for Unsteady Computations
Best Practice on Time Accurate Computations
CHAPTER 7. PHYSICAL MODELS
7.1 Fluid-Particle Interaction
7.1.1
7.1.2
7.1.3
Fluid-Particle Interaction in the FINE™/Turbo GUI
Specific Output
Expert Parameters
7.2 Fluid-Structure
Thermal
7.2.1
7.2.2 Mechanical
A. Rigid Motion
B. MpCCI Coupling
C. Modal Coupling
D. Mesh deformation methods
E. FSI Output
7.3 Passive Tracers
7.4 Porous Media Model
7.5 Cavitation Model
CHAPTER 8. DEDICATED TURBOMACHINERY MODELS
8.1 Rotating Blocks
8.2 Rotor/Stator Interaction
Rotor/Stator Interfaces in the FINE™/Turbo GUI
8.2.1
8.2.2
Expert Parameters Linked to Rotor/Stator interfaces
8.2.3 How to Set-up a Simulation with Rotor/Stator Interfaces?
A. Mixing Plane Approach
B. Frozen Rotor
C. Domain Scaling Method
D. Phase Lagged Method
E. Harmonic Method
F. Control the flux of Eddy viscosity
8.3 Harmonic Method
8.3.1
8.3.2
8.3.3
Introduction
Basic Harmonic Method
A. Overview
B.
Clocking harmonic method
A. Overview
B.
Interface & best practices
Interface and best practices
FINE™/Turbo 13.1 User Guide
162
167
171
176
182
183
188
190
196
198
202
203
206
206
212
214
222
224
231
239
242
243
245
252
255
255
259
260
261
266
268
271
275
278
278
278
282
282
282
288
CHAPTER 1.
GETTING STARTED
Welcome to the FINE™/Turbo User Manual, a presentation of NUMECA's F low IN tegrated
E nvironment for computations on structured meshes. This chapter presents the basic concepts of
FINE™/Turbo and shows how to get started with the program by describing:
l what FINE™/Turbo does and how it operates,
l how to use this guide,
l how to start the FINE™/Turbo interface.
In this section
1.1 Introduction
1.2 How To Use This Manual
1.3 First Time Use
1.4 How to start the FINE™/Turbo Interface
1.5 Required Licenses
10
13
14
17
17
1.1
INTRODUCTION
Components
The resolution of Computational Fluid Dynamics (CFD) problems involves three main steps:
l spatial discretization of the flow domain,
l flow computation,
l visualization of the results.
To perform these steps NUMECA has developed three software systems. The first one, IGG™, is
an Interactive Geometry modeller and Grid generation system for multiblock structured grids. The
second software system, the FINE™/turbo solver, is a state of the art 3D multiblock flow solver
able to simulate Euler or Navier-Stokes (laminar or turbulent) flows. The third one, CFView™, is
a highly interactive Computational Field Visualization system.
These three software systems have been integrated in a unique and user friendly Graphical User
Interface (GUI), called FINE™/Turbo, allowing the achievement of complete simulations of 3D
internal and external flows from the grid generation to the visualization, without any file
manipulation,
through the concept of project. Moreover, multi- tasking capabilities are
incorporated, allowing the simultaneous treatment of multiple projects.
Multi-Tasking
FINE™/Turbo has the particularity of integrating the concept of multi-tasking. This means that
the user can manage a complete project in the FINE™/Turbo interface; making the grid using
IGG™, running the computation with the FINE™/Turbo solver and visualizing the results with
the user has the possibility to start, stop and control multiple
CFView™. Furthermore,
computations. Please note that
therefore the
possibility of running computations in background has been implemented.
the flow simulation can be time consuming,
Project Management
To manage complete flow analyses, FINE™/Turbo integrates the concept of project. A project
involves grid generation, flow computation and visualization tasks. The results of each of these
tasks are stored in different files that are automatically created, managed and modified within
FINE™/Turbo:
l The grid files: The grid generation process, IGG™, creates files containing the representation
of the geometry and the grid related to the project. The definition of the types of boundary
conditions is also done during this process. The five files that contain the information about the
mesh have the extensions ".igg", ".geom", ".bcs", ".config" and ".cgns".
l The project file: The project file is created by FINE™/Turbo. It has the extension ".iec" and
contains the input parameters needed for the flow computations.
l The result files: FINE™/Turbo creates a new subdirectory for each computation where it
stores the following files:
l a file with extension ".run" containing all computation input parameters used by the solver
and by CFView™,
l a ".cgns" file that contains the solution and that is used for restarting the solver,
l a ".res" file used by the Monitor to visualize the residual history.
l two files used to visualize the convergence history in the Steering with extensions
".steering" and ".steering.binary".
l two files with extensions ".mf" and ".wall" that contain global solution parameters.
l a ".xmf" file that stores the information contained in the ".mf" file in XML format.
l two files with extensions ".std" and ".log" that contain information on the flow computation
process.
l a ".batch" file used to launch the computation in batch.
l The CFView™ visualization files: In addition to the ".run" file, the flow solver creates a
series of files, which can be read by CFView™. These files have different extensions. For
example in case of turbomachinery flow problem, the solver will create a file for the azimuthal
averaged results with extension ".me.cfv".
Through the interface, the user can modify all the information stored in the files associated to the
project.
When creating a new project a new directory is made, e.g. "/project". In this directory the project
file is stored "/project/project.iec" and a directory is created called "/project/_ mesh". In this
directory the grid files used for the computations can be stored. It is however also possible to
select a grid that is located in another directory.
Only one mesh file should be used for all computations in a project. If computations need to be done
on another mesh file it is advised to duplicate the project or to create a new project for those
computations.
The special characters, such as ü, ë and ê et al., are not allowed in the path name.
The white space is not allowed in the path name.
Off line files on Windows operation system are not supported.
The length of the path name should be less than 256.
FIGURE 1.1
Example of file management for a FINE™/Turbo project
Both the absolute and relative path names are used in ".iec" and ".run" files for the mesh and
initial solution files. When moving the project from one location to another location in the local
machine or between different machines (the same or different OS), the use of the relative
pathnames allows the user to:
l open the graphical user interface and (re)start calculation without the need to (re)link the mesh
and pathnames,
l open a solution file within CFView™ without the need to open the graphical user interface,
l start calculations in batch mode without the need to open the graphical user interface and
(re)link the mesh and pathnames.
l The limitations on the use of relative pathnames are as follows:
l All files (mesh and computations) related to a given project must be located in hard-coded
subdirectories (e.g. _mesh).
l Keywords related to relative path in ".iec" and ".run" files are only vaild if the concerned files
are at the same level of the project file ".iec" or in subdirectories.
l Both the project and the directory in which it is included must have the same name. They can't
be renamed.
l When duplicating or moving the project, the user must be able to copy either the entire project
(mesh files and computations with existing solutions), or a partial project (mesh files and
computations, restricted to ".run" files)
l Relative path is not compatible with FINE™/Design3D.
1.2
HOW TO USE THIS MANUAL
Outline
This manual consists of the following distinct parts:
l Getting Started and Graphical User Interface: introduction and description of the interface,
l Computation definition starting from Fluid Model,
l Task Manager,
l Computation Steering & Monitoring,
l File Formats: used file formats,
l List of Expert Parameters: list of supported non-interfaced expert parameters,
l Characteristics of Thermodynamic Tables: characteristics of steam tables.
At first time use of FINE™/Turbo it is recommended to read this first chapter carefully. The
Graphical User Interface chapter gives a general overview of the FINE™/Turbo interface and the
way to manage a project. For every computation the input parameters can be defined as described
from chapter Fluid Model. Task Manager gives an overview of how to run computations using
the Task Manager or using a script. Computation Steering & Monitoring finally describes the
available tools to monitor the progress on a computation.
From the Fluid Model chapter, the expert user finds a section describing advanced options that are
available in expert user mode. Additionally the List of Expert Parameters provides a list with all
supported expert parameters on the page Computation Steering/Control Variables in expert
user mode. For each parameter a reference is given to the section in the manual where it is
described.
The use of non-supported parameters is at own risk and will not guarantee correct results.
Conventions
Some conventions are used to ease information access throughout this guide:
l Commands to type are in italics.
l Keys to press are in italics and surrounded by <> (e.g.: press <Ctrl>).
l Names of menu, sub-menu items and names of buttons in dialog boxes are in bold.
l Numbered sentences are steps to follow to complete a task. Sentences that follow a step and
are preceded with a dot (•) are substeps; they describe in detail how to accomplish the step.
A text in blue with a blue background indicates an important note.
Keyboard shortcuts are shown in blue italic.
A light bulb indicates a section with a description of expert parameters.
1.3
FIRST TIME USE
1.3.1
Basic Installation
When using FINE™/Turbo for the first time it is important to verify that FINE™/Turbo is
properly installed according to the installation note. The installation note provided with the
installation software should be read carefully and the following points are specifically important:
l Hardware and operating system requirements should be verified to see whether the chosen
machine is supported.
l Installation of FINE™/Turbo according to the described procedure in a directory chosen by
the user and referenced in the installation note as 'NUMECA_ INSTALLATION_
DIRECTORY'.
l A license should be requested that allows for the use of FINE™/Turbo and the desired
component and modules. The license should be installed according to the described procedure
in the installation note.
l Each user willing to use FINE™/Turbo or any other NUMECA software must perform a user
configuration as described in the installation note.
When these points are checked the software can be started as described in the installation note.
1.3.2
Expert Graphics Options
Graphics Driver
FINE™/Turbo can use the OPENGL/OPENGL2/X11 drivers on Linux and the WGL/MSW
drivers on Windows. By default, the graphics area of the FINE™/Turbo interface uses the
OPENGL driver on Linux and the WGL driver on Windows, which takes advantage of the
available graphics card. When the activation of the default driver is causing problems,
FINE™/Turbo uses the X11 driver (on Linux) or the MSW driver (for Windows) instead.
On Linux, the OPENGL and OPENGL2 drivers are not compatible with the remote connection using
ssh.
It is possible to explicitly change the driver used by FINE™/Turbo in the following ways:
On Linux
in csh, tcsh or bash shell:
setenv NI_DRIVER X11
in korn shell:
NI_DRIVER=X11
export NI_DRIVER
The selection will take effect at the next session.
On Windows
l Log in as Administrator.
l Launch regedit from the Start/Run menu.
l Go to the HKEY_ LOCAL_ MACHINE/SOFTWARE/NUMECA International/Fine#
register.
l Modify the DRIVER entry to either WGL or MSW.
The selection will take effect at the next session.
Background Color
The background color of the graphics area can be changed by setting the environment variable
NI_ IGG_ REVERSEVIDEO on Linux platforms or IGG_ REVERSEVIDEO on Windows
platforms. Set the variable to 'ON' to have a black background and set it to 'OFF' to have a white
background. The variable can be manually specified through the following commands:
On Linux
in csh, tcsh or bash shell:
setenv NI_IGG_REVERSEVIDEO ON
in korn shell:
NI_IGG_REVERSEVIDEO=ON
export NI_IGG_REVERSEVIDEO
The selection will take effect at the next session.
On Windows
l Log in as Administrator.
l Launch System Properties from the Start/Settings/Control Panel/System menu.
l Go in the Environment Variables.
l Modify or add the IGG_REVERSEVIDEO entry to either ON or OFF.
The selection will take effect at the next session.
1.4
HOW TO START THE FINE™/TURBO
INTERFACE
In order to run FINE™/Turbo, the following command should be executed:
1. On Linux platforms type: fine# -print <Enter>
where # is the number corresponding to the version to be used: 131
2. On Windows
click
on
the FINE™/Turbo
icon
in Start/Programs/NUMECA
software/fine#. Alternatively FINE™/Turbo can be launched from a dos shell by typing:
<NUMECA_INSTALLATION_DIRECTORY>\fine#\bin64\finex86_64.exe <Enter>
where NUMECA_INSTALLATION_DIRECTORY is the directory indicated and # is the
number corresponding to the version to be used.
1.5
REQUIRED LICENSES
Standard FINE™/Turbo License
The standard license for FINE™/Turbo allows for the use of all basic features of FINE™/Turbo
including:
l IGG™ ,
l AutoGrid™ ,
l CFView™ ,
l Task Manager,
l Monitor .
Additional Licenses
Within FINE™/Turbo the following features are available that require a separate license:
l parallel computations ,
l treatment of unsteady rotor-stator interfaces ,
l harmonic method ,
l transition ,
l fluid-particle interaction ,
l passive tracers ,
l conjugate heat transfer ,
l thermodynamic tables ,
l cooling/bleed flow ,
l ANSYS outputs ,
l SubProject module ,
l porous media ,
l cavitation module .
l MpCCI Coupling (Physical Models)
l Modal Coupling (Physical Models)
l Mesh Deformation (Physical Models)
l Aeroacoustics (Dedicated Turbomachinery Models)
l Uncertainty Quantification (Dedicated Turbomachinery Models)
l CPU Booster 
Next to FINE™/Turbo other products are available that require a separate license:
l FINE™/Design 3D (3D inverse design, see separate user manual).
CHAPTER 2.
INTERFACE
When launching FINE™/Turbo as described in the Getting Started chapter the interface appears in its
default layout as shown in FIGURE 2.1. An overview of the complete layout of the FINE™/Turbo
interface is shown in FIGURE 2.2. In the next sections the items in this interface are described in
more detail.
Together with the FINE™/Turbo interface a Project Selection window is opened, which allows to
create a new project or to open an existing project. See the Project Selection section for a description
of this window.
To define a profile through the FINE™/Turbo interface a Profile Manager is included. The Profile
Manager is described in more detail in Profile Management.
FIGURE 2.1
Default FINE™/Turbo Interface
2.1
PROJECT SELECTION
When the FINE™/Turbo interface is started the Project Selection window is appearing together
with the interface. This window allows to create a new project or to open an existing one as
described in the next sections. After use of this window it is closed. To open a project or to create
a new one without the Project Selection window is also possible using the File menu.
2.1.1
Create New Project
To create a new project when launching the FINE™/Turbo interface:
1. click on the Create a New Project... icon (
) in the Project Selection dialog box. A File
Chooser will appear, which allows to select a name and location for the new project.
The layout of the File Chooser depends on the used operating system but a typical layout is
shown in FIGURE 2.3. The Directories list allows to browse through the available directory
structure to the project directory. Then the Files list can be used to select the file name. In the
case a file needs to be opened an existing file should be selected in the list of available files. In
the case a new file needs to be created the user can type a new file name with the appropriate
extension. In the List Files of Type bar the default file type is set by default to list only the files
of the required type.
FIGURE 2.3
Typical layout of a File Chooser window
2. In the Directories text box on Linux a name can be typed or the browser under the text box
may be used to browse to an appropriate location. On Windows, the browser under the Save in
text box is used to browse to an appropriate location.
3. Once the location is defined type on Linux and on Windows a new name in the text box under
respectively Files and File name, for example "project.iec" (it is not strictly necessary to add
the extension ".iec", FINE™/Turbo will automatically create a project file with this extension).
White spaces should be avoided in the file name.
4. Click on OK (on Linux) or Save (on Windows) to accept the selected name and location of the
new project.
A new directory is automatically created with the chosen name as illustrated in figure below
indicated by point (1). All the files related to the project are stored in this new directory. The
most important of them is the project file with the extension ".iec", which contains all the
project settings ( FIGURE 2.4 - (2)). Inside the project directory FINE™/Turbo creates
automatically a subdirectory "_mesh" (FIGURE 2.4 - (3)).
FIGURE 2.4
Directories managed through FINE™/Turbo
5. A Grid File Selection window (FIGURE 2.5) appears to assign a grid to the new project.
There are three possibilities:
l To open an existing grid click on Open Grid File (FIGURE 2.5 - 1.1). A File Chooser
allows to browse to the grid file with extension ".igg". Select the grid file and press OK to
accept the selected mesh. A window appears to define the Grid Units and Project
Configuration (FIGURE 2.5 - 1.2). Set the parameters in this window as described in Grid
Units & Project Configuration and click OK to accept.
l If the grid to be used in the project is not yet created use Create Grid File to start IGG™
(FIGURE 2.5 - 2.1). Create a mesh in IGG™ or AutoGrid™ (Modules/AutoGrid5) and
save the mesh in the directory "_mesh" of the new project. Click on Modules/Fine Turbo
and confirm "yes" to return to the FINE™/Turbo project. Select the created mesh with the
(FIGURE 2.5 - 2.2) in the icon bar. A window will appear to define
pull down menu
the Grid Units and Project Configuration. Set the parameters in this window and click OK
to accept.
FIGURE 2.5
Grid File Selection window
l When using the AutoBlade™ or FINE™/Design 3D modules it is not necessary to select a
grid. In that case close the Grid File Selection window (FIGURE 2.5 - 3) and select
Modules/AutoBlade or Modules/Design 3D menu to use these modules.
2.1.2
Open Existing Project
To open an existing project the two following possibilities are available in the Project Selection
window:
l Click on the icon Open an Existing Project... (
). A File Chooser will appear that allows to
browse to the location of the existing project. Automatically the filter in the File Chooser is set
to display only the files with extension ".iec", the default extension for a project file.
l Select the project to open in the list of Recent Projects, which contains the five most recently
used project files. If a project no longer exists it will be removed from the list when selected.
To view the full path of the selected project click on Path... To open the selected project click
on Open Selected Project.
2.1.3
Grid Units & Project Configuration
The Grid Units and Project Configuration window shows some properties of the selected mesh
when linking the mesh to the project:
l Grid Units: the user specifies the grid units when importing a mesh. The user may define a
different scale factor to convert the units of the mesh to meters. The scale factor is for instance
0.01 when the grid is in centimeters.
l Space Configuration: allows the user to specify whether the mesh is cylindrical or Cartesian
and the dimensionality of the mesh. In case the mesh is axisymmetric the axis of symmetry
should be defined.
If a 2D project is created by selecting Cartesian and 2 Dimensions, the mesh must have K direction
and Z direction perpendicular to the surface.
Some options in FINE™/Turbo are linked to the used mesh configuration. For example, the Cartesian
mesh is not compatible with some TURBO features (Rotating Blocks, Azimuthal averaged output, ...).
The user should select an appropriate coordinate system according to the applications.
l Use Grid Configuration : This option is only available with a special license feature
(SubProjects). The user can choose whether or not to use the automatic grouping based on the
grid configuration file (.config). More information on the automatic grouping can be found in
chapter Dedicated Turbomachinery Models. This choice can only be made when loading the
mesh for the first time, it cannot be changed afterwards.
FIGURE 2.6
Grid Units & Project Configuration window
The mesh properties are always accessible after linking the mesh to the project through the menu
Mesh/Properties...
2.2 MAIN MENU BAR
2.2.1
File Menu
New Project
The menu item File/New allows to create a new FINE™/Turbo project. When clicking on
File/New a File Chooser window appears. Browse in the Directory list to the directory in which
to create a new project directory (in the example of FIGURE 2.3 the directory "/home" was
selected). Give a new name for the project in the File list, for example "project.iec" and click on
OK to create the new project.
When starting a new project a new directory is automatically (FIGURE 2.4) created with the
chosen name (1). All the files related to the project are stored in this new directory. The most
important of them is the project file with the extension ".iec", which contains all the project
settings (2). Inside the project directory FINE™/Turbo creates automatically a subdirectory "_
mesh" (3). As all the computations of the project must have the same mesh it is advised to store
the mesh in this specially dedicated directory. Each time the user creates a new computation, a
subdirectory is added (4). The output files generated by the flow solver will be written in the
subdirectory of the running computation.
After the new project is created a Grid File Selection window (FIGURE 2.5) appears to assign a
grid to the new project. There are two possibilities:
l To open an existing grid click on Open Grid File. A File Chooser allows to browse to the grid
file with extension .igg. Select the grid file and press OK to accept the selected mesh. A
window appears to define the Grid Units and Project Configuration. Set the parameters in this
window as described in Grid Units & Project Configuration and click OK to accept.
l If the grid to be used in the project was not yet created use Create Grid File to start IGG™.
Create a mesh in IGG™ or AutoGrid™ (Modules/AutoGrid5) and save the mesh in the
directory "_mesh" of the new project. Click on Modules/Fine Turbo and confirm "yes" to
return to the FINE™/Turbo project. Select the created mesh with the pull down menu in the
icon bar. A window will appear to define Grid Units and Project Configuration. Set the
parameters in this window as described in Grid Units & Project Configuration and click OK to
accept.
If the name of an already existing project is specified, this project file will be overwritten. All other
files and subdirectories will remain the same as before.
By default, no IGG™ file is associated with the new project and it is indicated "usr/unknown" in the
place of the grid file name. The procedure to link a mesh file to the project is explained in the Icon
Bar section.
Open Project
There are two ways to open an existing project file:
Use File/Open Menu
1. Click on File/Open.
2. A File Chooser window appears.
3. Browse through the directory structure to find the project file to open. This file has normally
the ".iec" extension. If this is not the case, the file filter in the input box named 'List Files of
Type', has to be modified.
4. Select the project file.
5. Click on the file name and press the OK button.
The opened project becomes the active project. All subsequent actions will be applied to this
project.
Select File From the List of Files in File Menu
The File menu lists the names of the five most recent projects that have already been opened.
Click on a project name from this menu to open this project.
FINE™/Turbo will check the write permission of the project directory and the project file and
will issue a warning if the project or directory is read only. In both cases the project can be
modified, but the changes will not be saved.
Only one project can be active. Opening a second project will save and close the first one.
An attempt to open a no longer existing project will remove its name from the list in the File menu.
Save Project
The File/Save menu item stores the project file (with extension ".iec") on disk. The project file is
automatically saved when the flow solver is started and can be saved when FINE™/Turbo is
closed or when another project is opened.
Save As Project
File/Save As is used to store the active project on disk under different name. A File Chooser
opens to specify the new directory and name of the project. When this is done a dialog box asks
whether to save all the results files associated with the project. If deactivated, only the project file
(with the extension ".iec") will be saved in the new location.
Save Run Files
File/Save Run Files is used to store all the information needed for the flow solver in the ".run"
file of the active computation (highlighted in blue in the Computations list). This menu is mainly
useful when the Task Manager is used .
Together with the ".run" file, a ".batch" (Linux) or ".bat" (Windows) file is saved. This file can be
used to launch the computation in batch mode, without the need of opening the interface. More
information on how to use this ".batch" file can be found in Task Manager.
If more than one computation is selected in the Computations list, then all parameters in the
Parameters area will be assigned to all selected (active) computations. This may be dangerous if the
parameters for
the selected
the same for all
computations. To avoid this it is recommended to select only one computation at a time.
the currently opened information page are not
The ".run" file is automatically updated (or created if not existing) when starting a computation
through the main menu (Solver/Start...).
Script
Actions executed by the user through the FINE™/Turbo interface are recorded in a Python-like
script giving added flexibility for automation of project settings.
The File/Script.../Edit... menu opens a dialog box displaying all the commands performed by the
user since the beginning of its session. The user can easily edit this script (add, remove and
modify commands). The dialog box contains two pull-down menus. File menu allows to open a
script in a separate dialog box and to save the script in a file. Run menu allows to run the script
shown in the window under the current session ("Rerun on top").
The File/Script.../Save All... menu is used to save the dynamic recording of all commands
performed by the user since the beginning of its session.
The File/Script.../Execute... menu is used to run a python script file containing FINE™/Turbo
commands. A file chooser is opened to select a file with a ".py" extension. Upon selection of a
valid file, the script is executed in the current session. Depending on the content of the script,
operations will be added to the current project or a new project will be automatically opened
before operations are performed (the previous project is closed). If the script being run contains a
syntactical error it will be aborted and a message will appear in the shell.
The File/Script.../Re-execute Last menu can be used to rerun the last script that was run using
the File/Script.../Execute... command. This option is most useful when writing own scripts
manually to rapidly test it on the fly.
Preferences
When clicking on File/Preferences... the Preferences window appears and gives access to some
project specific and global settings:
Project Units
In this section the user can change the units system of the project. The units can be changed
independently for a selected physical quantity or for all of them at the same time. To change the
units for one specific quantity select the quantity in the list  in FIGURE 2.7). Then select
the unit under Select New Units (2). To change the units for all physical quantities at the same
time use the box Reset Units System To (3).
The default system proposed by NUMECA is the standard SI system except for the unit for the
rotational speed, which is [RPM].
When the user changes the units, all the numerical values corresponding to the selected physical
quantity are multiplied automatically by the appropriate conversion factor. The numerical values
are stored into the project file ".iec" in the same units as they appear in the interface (e.g. the
rotation speed is in [RPM]), but in the ".run" file, which is used by the flow solver, the numerical
values are always stored in SI units (e.g the rotation speed is in [rad/s]). The results can be
visualized with the flow visualization system CFView™ in the units specified in FINE™/Turbo.
The change of the units can be done at any stage of the creation of the project.
User-defined units can be defined through a text file "euranus.uni". Please contact our local
support office for more information.
FIGURE 2.7
Project Units in the Preferences Window
Global Layout
In this section, the user may specify project independent preferences for the layout of the
interface. More specifically the user may activate or deactivate the balloon help (Show Balloon
Help), which gives short explanation of the buttons when the mouse pointer is positioned over
them. By default balloon help is activated. Deactivation of the balloon help will only be effective
for the current session of FINE™/Turbo. When FINE™/Turbo is closed and launched again the
balloon help will always be active by default.
Furthermore, the section allows the user to control the Number of curves that can be plotted in
the Convergence History page of the Task Manager. By default the parameter is set to 10
meaning that only 9 curves can be plotted in the steering.
Solver Preferences
In this section, the user may select the calculation accuracy for the flow solver. Single and double
precision modes of the FINE™/Turbo solver are available. For most cases, the single precision
solver (much less demanding in memory consumption) will be sufficiently accurate and should be
considered as the default option. However, some special cases, such as very long thin pipe and
conjugate heat transfer problems, may benefit from the double precision solver.
One of the most important criteriums to choose the double precision solver is the maximum
is smaller than
dimension of the domain and its positioning in the 3D field. If the ratio
roughly 1e-6, the double precision solver should be considered. Where
and
is the local coordinate value.
is the local cell size
After selecting single or double precision solver, the value will be used as default value for new
projects.
Quit
the File/Quit menu item to quit
Select
the FINE™/Turbo integrated environment after
confirmation from the user. The active project will be saved automatically by default (Save
Active Project activated).
Note that this action will not stop the running calculations. A FINE TaskManager window will
remain open for each running computation. Closing the FINE TaskManager window(s) will kill
the running calculation(s) after confirmation from the user.
2.2.2 Mesh Menu
View On/Off
This toggle menu is used to visualize the grid in FINE™/Turbo GUI. It may take few seconds to
load the mesh file for the first time. The parameters area will be overlapped by the graphic
window, and the small control button on the upper - left corner of the graphic window can be
used to resize the graphics area in order to visualize simultaneously the parameters and the mesh
. Once the mesh is opened, the same menu item Mesh/View On/Off will hide
it. Note that the mesh will stay in the memory and the following use of the menu will visualize it
much faster than the first time.
When the mesh is loaded the following items appear in the FINE™/Turbo interface:
l the View subpad,
l themesh information area,
l the graphics area will appear in the FINE™/Turbo interface,
l the Viewing buttons will appear on the bottom of the graphics area.
The graphics area and the Viewing buttons will disappear when the mesh is hidden (Mesh/View
On/Off). All the tools will disappear when the mesh is unloaded (Mesh/Unload).
Repetition
This menu opens the following dialog box to control the repetition of the blocks when the mesh is
visualized:
For each block, the number of repetition desired can be set in the Nb Repet entry. The repetition
of all blocks can be displayed or hidden respectively by pressing the Show or Hide button.
Tearoff graphics
This menu transfers the graphics area and its control buttons into a separate window. Closing this
window will display the graphics area back in the main FINE™/Turbo window.
This feature is only available on Linux systems.
Unload
Mesh/Unload clears the mesh from the memory of the computer.
Properties
Clicking on Mesh/Properties... opens a dialog box that displays global information about the
mesh:
l Grid Units: the user specifies the grid units when importing a mesh. When importing a mesh
the Grid Units and Project Configuration window appears, which allows the user to check the
mesh units. The chosen units can be verified and, if necessary, changed.
l Space Configuration: allows the user to verify whether the mesh is cylindrical or Cartesian
and the dimensionality of the mesh. When importing a mesh the Grid Units and Project
Configuration window allows the user to check these properties. Those chosen properties can
be verified and, if necessary, changed.
In case of 2D cases, a simplified 3D solver will be used. The quantities will be updated only in two
directions. However, when outputting the results, 1 unit length in the third direction will be used.
The different computations in a project can not have different mesh properties. If any of the
properties in this area are changed, the modifications will be taken into account for all (active and
non-active) computations.
l The total number of blocks and the total number of points are automatically detected from the
mesh.
l For each block, the following informations are automatically detected from the mesh: the block
index (Block #), the current (Current <i,j,k>, depending on the current grid level) and
maximum (Maximum <i,j,k>) number of points in each I, J and K directions, the total number
of points (Nb of points), the number of periodicity (Nb of periodicity) and the number of
meshed passages (Meshed repetition).
FIGURE 2.8
Mesh Properties dialog box
2.2.3
Solver Menu
This menu gives access to the FINE™/Turbo solver, which is a powerful 3D code dedicated to
Navier- Stokes or Euler computations. The FINE™/Turbo solver uses the computational
parameters and boundary conditions set through the FINE™/Turbo GUI and can be fully
controlled both from the FINE™/Turbo Solver Menu and from the Task Manager.
In this section, the information is given on how to start, save, interrupt and restart the flow solver.
All these actions may be simply performed by using the pull down menu appearing when the
button Solver of the Menu bar is clicked.
Start Flow Solver
To start the flow solver, select the menu item Solver/Start....
It is not recommended to start the flow solver before setting the physical boundary conditions and
the computational parameters.
Using the Start item to run the flow solver on active computation implies that the result file
produced by a previous calculations on that computation will be overwritten with the new result
values. It also implies that the initial solution will be created from the values set in the Initial
Solution page.
To restart a computation from an existing solution the solver should be also started using the
Solver/Start... menu. On the Initial Solution page the initial solution has to be specified from an
existing file (".run"). Initial Solution describes the several available ways to define an initial solution.
Save
To save an intermediate solution while the flow solver is running click on Solver/Save....
Stop Flow Solver
There are two different ways to stop the flow solver:
l Solver/Save and Stop... interrupts the flow computation after the next iteration. This means
that the flow solver stops the computation at the end of the next finest grid iteration and outputs
the current state of the solution (solution files and CFView™ files) exactly as if the
computation was finished. This operation may take from few seconds to few minutes
depending on the number of grid points in the mesh. Indeed, if the finest grid is not yet
reached, the flow solver continues the full multigrid stage and stops only after completion of
the first iteration on the finest grid.
l Solver/Kill... allows to stop immediately the computation for the active project. In this case no
output is created and the only solution left is the last one that was output during the run. This
may become a dangerous choice if asked during the output of the solution. The output is then
ruined and all the computation time is lost. To avoid this, it is better to use Solver/Save and
Stop... or to kill the computation some iterations after the writing operations.
Continue
If a performance curve has been started and afterwards stopped or killed, the user may choose
Continue from the Solver menu in order to continue computations from the first not finished
subcomputation.
2.2.4 Modules Menu
Clicking on the menu item Modules shows a pull down menu with the available modules. The
first four items are related to geometry and mesh definition:
l IGG™ is the interactive geometry modeler and grid generator,
l AutoGrid5™ is the automated grid generators for turbomachinery.
l AutoBlade™ is the parametric blade modeler,
Furthermore a design module is available:
l FINE™/Design3D is a product for three-dimensional blade analysis and optimization.
The Task Manager is accessible with Modules/Task Manager. Consult Task Manager for more
detailed information.
To start the flow visualization from FINE™/Turbo, click on the Modules/CFView ... and
confirm to start a CFView™ session. Wait until the layout of CFView™ appears on the screen.
CFView™ automatically loads the visualization file associated with the active computation. To
visualize intermediate results of a computation, wait until the flow solver has written output. For
more information about the flow visualization system, please refer to the CFView™ User
Manual.
Finally, the menu Harmo2Time launches the Harmo2Time module in CFView™ that will
reconstruct the current harmonic computation results in time/space. For more details, please refer
to the CFView™ User Manual.
2.3
ICON BAR
The icon bar contains several buttons that provide a shortcut for menu items in the main menu bar.
Also the icon bar contains a File Chooser to indicate the mesh linked to the project and a pull
down menu to choose between Standard Mode and Expert Mode.
File Buttons
The four buttons on the left of the icon bar are shortcuts for items of the File menu:
The New Project icon is a shortcut for the menu item File/New.
The Open Project icon is a shortcut for the menu item File/Open.
The Save Project icon is a shortcut for the menu item File/Save.
The Save RUN Files icon is a shortcut for the menu item File/Save Run Files.
Grid Selection Bar
By clicking on the icon on the right of the bar a File Chooser is opened, which allows to select
the grid file (with extension ".igg") of the mesh to use for the project.
To select a grid not only the grid file with extension ".igg" needs to be present but at least the files
with extensions ".igg", ".geom", ".bcs" and ".cgns" need to be available in the same directory with the
same name as for the chosen mesh.
If a mesh has already been linked to the current project and another mesh is opened,
FINE™/Turbo will check the topological data in the project and compare it against the data in the
mesh file. If the topological data is not equal, a new dialog box (FIGURE 2.9) will open. This
dialog box informs the user that a merge of the topologies is necessary and will also show at
which item the first difference was detected.
The three following possibilities are available:
l Merge Mesh Definition will merge the project and mesh data. For example, if a new block has
been added to the mesh. The existing project parameters have been kept for the old blocks, and
the default parameters have been set for the new block.
l Open Another Grid File will open a File Chooser allowing to browse to the a new grid file
with extension ".igg". Select the grid file and press OK to accept the selected mesh. Then the
dialog box Mesh Merge Information will appear.
l Start IGG will load automatically the new mesh into IGG™, where it can be modified.
FIGURE 2.9
Merge Topology dialog box
The merge process may also occur when opening an existing project, or when switching between
IGG™ and FINE™/Turbo, because the check of the topology is performed each time when a
project is read.
In case the mesh file no longer exists, or is not accessible, an appropriate warning will pop-up
when opening the project. In this case it will not be possible to start the flow solver, so the user
needs to locate the mesh by means of the File Chooser button on the right of the Grid Selection
bar.
the Grid Units and Project
Once the grid file is selected and its topology is checked,
Configuration window appears. This window allows to check the properties of the mesh and to
modify them if necessary.
Solver Buttons
Three buttons allow to start, stop and kill the active computation:
The Start Flow Solver icon is a shortcut for the menu item Solver/Start....
The Save Solution and Stop Flow Solver icon is a shortcut for the menu item Solver/Save
and Stop....
The Kill Flow Solver icon is a shortcut for the menu item Solver/Kill....
Module Buttons
Two buttons allow to start the pre- and post-processor:
The Start IGG icon is a shortcut for the menu item Modules/IGG.
The Start CFView icon is a shortcut for the menu item Modules/CFView.
User Mode
By clicking on the arrow at the right the user may select the user mode. For most projects the
available parameters in Standard Mode are sufficient. When selecting Expert Mode, parameters
area included additional parameters. These expert parameters may be useful in some more
complex projects. The next chapters contain sections in which the expert parameters are described
for the advanced user.
2.4
COMPUTATION MANAGEMENT
When selecting the Computations subpanel at the top left of the interface a list of all the
computations in the project is shown. The active computation is highlighted in blue and the
corresponding parameters are shown in the "parameters area". All the project parameters of the
computation can be controlled separately by selecting (from this list) the computation on which all
the user modifications are applied.
When selecting multiple computations, the parameters of the active page in the "parameters area" are
copied from the first selected computation to all other computations.
With the buttons New Computation and Remove computations can be created or removed. When
clicking on New Computation the active computation (highlighted in blue) is copied and the new
computation has the same name as the original with the prefix "new_" as shown in the example
below. In this example "computation_2" was the active computation at the moment of pressing
the button New Computation. A new computation is created called "new_computation_2" that
has the same project parameters as "computation_2". To rename the active computation click on
Rename, type the new name and press <Enter>. These options are also available when click-
right on the active computation.
Two buttons Create Performance Curve and Edit Performance Curve are dedicated to the
creation and management of the performance curve for turbomachinery.
FIGURE 2.10
Computations subpanel
2.5
GRAPHICAL AREA MANAGEMENT
2.5.1
Configuration Management
When creating a mesh within AutoGrid™ or IGG™, the multiblock data structure can become
very complex. A database, named Grid Configuration, is created automatically at the end of the
mesh generation, saved together with the project into a file ".config" (more details can be found in
the IGG™ or AutoGrid™ User Manuals).
To access the grid configuration menu in FINE™/Turbo, the Use Grid Configuration option has
to be activated when linking the mesh for the first time. This option is only available through a
special license feature (SubProjects).
FIGURE 2.11
Use Grid Configuration
The grid configuration describes (as presented in the following figure) the mesh structure of the
project as a tree through which the user can access the domain structure. The structure is defined
as a set of fluid and solid domains interconnected together through domain interfaces. Each
domain contains a set of subdomains and a set of interfaces. Each domain interface contains a
type of boundary condition, a type of free boundary condition and the possible connected domain
reference.
FIGURE 2.12
Grid Configuration control
This data structure is very useful. It can be used to reduce the time needed to analyse and visualize
the mesh of a project, to setup the boundary conditions within FINE™/Turbo and to create
subprojects starting from the main project.
2.5.2
Parameters Management
The Parameters subpanel on the left, below the Computations subpanel, is presenting a
directory structure allowing the user to go through the available pages of the project definition.
The "parameters area" shows the parameters corresponding to the selected page in the parameters
list.
To see the pages in a directory double click on the name or click on the sign
name.
in front of the
FIGURE 2.13
Parameters subpanel
2.5.3
View Area
When the mesh is loaded with Mesh/View On/Off, a subpanel is shown in the list on the left: the
View subpanel. By default the View subpanel is opened. It consists of three pages and controls
the viewing operations on the geometry and the grid. The two first pages show the created
geometry and/or block groups of the mesh and allow to create new groups. This possibility is only
useful in the FINE™/Turbo GUI for visualization purposes (for example, to show only some
blocks of the mesh to get a clearer picture in the case of a complex configuration).
FIGURE 2.14
View subpanel
The third page provides visualization commands on the grid. It consists of two rows: a row of
buttons and a row of icons.
The row of buttons is used to determine the viewing scope, that is the grid scope on which the
viewing commands provided by the icons of the second row will apply. There are five modes
determining the scope, each one being represented by a button: Segment, Edge, Face, Block,
Grid. Only one mode is active at a time and the current mode is highlighted in yellow. Simply
click-left on a button to select the desired mode.
: in Segment mode, a viewing operation applies to the active segment only.
: in Edge mode, a viewing operation applies to the active edge only.
: in Face mode, a viewing operation applies to the active face only.
: in Block mode, a viewing operation applies to the active block only.
: in Grid mode, a viewing operation applies to all the blocks of the grid.
The icons of the second row and their related commands are listed in the following table:
Icon
Command
Toggles vertices.
Toggles fixed points.
Toggles segment grid points.
Toggles edges.
Toggles face grid.
Toggles shading.
The display of vertices should be avoided since it allows to modify interactively in the graphics area
the location of the vertices and therefore alter the mesh. The graphics area is for display purposes
only and any modification on the mesh in the graphics area will not be saved in the mesh files and
therefore not used by the flow solver.
2.5.4 Mesh Information
When the mesh is loaded also the Mesh Information area is shown containing the following
information for the selected section of the mesh:
FIGURE 2.15
Mesh Information area
l Active Block, Face, Edge and Segment indices.
l Number of grid blocks, active block faces, active face edges, active edge segments.
l Block:
l Number of active block points.
l Number of grid points.
l Name of the block.
l Number of points in each block direction.
l Face: constant direction and the corresponding index.
l Edge: constant direction according to the active face and the corresponding index.
l Segment: number of points on the segment.
2.5.5
Parameters Area
The Parameters area displays a page containing the parameters related to the selected item of the
parameters list. Depending on the selected User Mode, the available expert parameters will be
displayed.
2.5.6
Graphics Area
FIGURE 2.16
Resizing of Graphics Area
The graphics area shows the mesh of the open project. The graphics area appears and disappears
when clicking on Mesh/View On/Off . When the graphics area appears it is covering the
parameters area. Use the button on the left boundary of the graphics area to reduce its size and to
display the parameters area. The Grid page, in the View subpanel on the left, and the viewing
buttons can be used to influence the visualization of the mesh. The View subpanel is described in
View Area and the viewing buttons area are described below.
2.5.7
Viewing Buttons
The viewing buttons are used to perform viewing manipulations on the active view, such as
scrolling, zooming and rotating. The manipulations use the left, middle and right buttons of the
mouse in different ways. The sub-sections below describe the function associated with each
mouse button for each viewing button.
For systems that only accept a mouse with two buttons, the middle mouse button can be emulated for
viewing options by holding the <Ctrl> key with the left mouse button.
X, Y, and Z Projection Buttons
These buttons allow to view the graphics objects on X, Y or Z projection plane. Press the left
mouse button to project the view on an X, Y or Z constant plane. If the same button is pressed
more than one time, the horizontal axis changes direction at each click.
Coordinate Axes
The coordinate axes button acts as a toggle to display different types of coordinate axes on the
active view using the following mouse buttons:
l Left: press to turn on/off the display of symbolic coordinate axis at the lower right corner of the
view.
l Middle: press to turn on/off the display of scaled coordinate axis for the active view. The axis
surrounds all objects in the view and may not be visible when the view is zoomed in.
l Right: press to turn on/off the display of IJK axis at the origin of the active block (in Block
Viewing Scope) or of all the blocks (in Grid Viewing Scope). For more informations about the
viewing scope.
Scrolling
This button is used to translate the contents of active view within the plane of graphics window in
the direction specified by the user. Following functions can be performed with the mouse buttons:
l Left: press and drag the left mouse button to indicate the translation direction. The translation is
proportional to the mouse displacement. Release the button when finished. The translation
magnitude is automatically calculated by measuring the distance between the initial clicked
point and the current position of the cursor.
l Middle: press and drag the middle mouse button to indicate the translation direction. The
translation is continuous in the indicated direction. Release the button when finished. The
translation speed is automatically calculated by measuring the distance between the initial
clicked point and the current position of the cursor.
3D Viewing Button
This button allows to perform viewing operations directly in the graphics area. Allowed
operations are 3D rotation, scrolling and zooming.
After having selected the option, move the mouse to the active view, then:
l Press and drag the left mouse button to perform a 3D rotation
l Press and drag the middle mouse button to perform a translation
l Press and drag the middle mouse button while holding the <Shift> key or use the mouse wheel
to perform a zoom
l To select the centre of rotation, hold the <Shift> key and press the left mouse button on a
geometry curve, a vertex or a surface (even if this one is visualized with a wireframe model).
The centre of rotation is always located in the centre of the screen. So, when changing it, the
model is moved according to its new value.
The 3D viewing tool is also accessible with the <F1> key.
Rotate About X, Y or Z Axis
The rotation buttons are used to rotate graphical objects on the active view around the X, Y or Z
axis. The rotations are always performed around the centre of the active view. Following
functions can be performed with the mouse buttons:
l Left : press and drag the left mouse button to the left or to the right. A clockwise or
counterclockwise rotation will be performed, proportional to the mouse displacement. Release
the button when finished.
l Middle: press and drag the middle mouse button to the left or to the right. A continuous
rotation will be performed, clockwise or counter-clockwise. Release the button when finished.
Zoom In/Out
This button is used for zooming operations on the active view. Zooming is always performed
around the centre of the view. Following functions can be performed with the mouse buttons:
l Left: press and drag the left mouse button to the left or to the right. A zoom in - zoom out will
be performed, proportional to the mouse displacement. Release the button when finished.
l Middle: press and drag the middle mouse button to the left or to the right. A continuous zoom
in - zoom out will be performed. Release the button when finished.
Region Zoom
This button allows to specify a rectangular area of the active view that will be fitted to the view
dimensions. After having selected the button:
1. Move the mouse to the active view.
2. Press and drag the left mouse button to select the rectangular region.
3. Release the button to perform the zoom operation.
These operations can be repeated several times to perform more zooming.
Press <q> or click the right mouse button to quit the option.
The region zoom is also accessible with the <F2> key.
Fit Button
The fit button is used to fit the content of the view to the view limits without changing the current
orientation of the camera (which can be interpreted as the user's eyes).
Original Button
The original button is used to fit the content of the view and to change back to the default
orientation of the camera.
Cutting Plane
This option displays a movable plane that cuts the geometry and the blocks of the mesh. The
plane is symbolically represented by four boundaries and its normal, and is by default semi-
transparent. After having selected the button:
l Press and drag the left mouse button to rotate the plane
l Press and drag the middle mouse button to translate the plane
l Press < x >, < y> or < z > to align the plane normal along the X, Y or Z axis
l Press <n> to revert the plane normal
l Press < t > to toggle the transparency of the plane (to make it semi-transparent or fully
transparent). It is highly advised to deactivate the plane transparency when using X11 driver to
increase the execution speed.
2.6
PROFILE MANAGEMENT
When a law is defined by a profile clicking on the button
will invoke a Profile Manager window.
right next to the pull down menu
FIGURE 2.17
Profile Manager for boundary conditions parameters
The Profile Manager is used to interactively define and edit profiles for both fluids and boundary
conditions parameters. The user simply enters the corresponding coordinates in the two columns
on the left. The graph is updated after each coordinate (after each pressing of the <Enter> key).
The sorting of the data can be controlled by clicking on the Abscissa on top of the column.
The button Import may be used if the profile exists already as a file ".p" or ".dat" (profiles
exported from CFView™) on the disk. The option Surface data allows the user to impose a 2D
profile. The formats of the profile files are explained in File Formats where all file formats used by
FINE™/Turbo and the flow solver are detailed.
When importing a ".dat" file coming from CFView™, a dialog box pops up to select the
interpolation type depending on the loaded format: 1D with 1 data column, 1D with 3 data
columns or 2D with 3 data columns.
For 1D profiles, 1D interpolations along x, y, z, r or theta are available.
l If 1D with 1 data column, the two columns of the ".dat" file are read.
Interpolation Type
1D interpol. along x
1D interpol. along y
1D interpol. along z
1D interpol. along r
1D interpol. along theta
Abscissa
Column #1
Column #1
Column #1
Column #1
Column #1
Ordinate
Column #2
Column #2
Column #2
Column #2
Column #2
l If 1D with 3 data columns, the columns of the ".dat" file to be read depend on the interpolation
type selection.
Interpolation Type
1D cartesian interpol. along x
1D cartesian interpol. along y
1D cartesian interpol. along z
Abscissa
Ordinate
Column #1
Column #4
Column #2
Column #4
Column #3
Column #4
1D meridional average interpol. along z
Column #1
Column #4
1D meridional average interpol. along r
Column #2
Column #4
For 2D profiles, 2D interpolations along x-y, x-z, y-z, r-theta, r-z or theta-z are available. The
columns of the ".dat" file to be read depend on the interpolation type selection.
Interpolation Type
Abscissa
Ordinate
2D interpol. along x and y Column #1
2D interpol. along x and z Column #2
2D interpol. along y and z Column #2
Column #2
Column #3
Column #3
Function
value
Column
#4
Column
#4
Column
#4
2D interpol. along r and
theta
sqrt((Column #1)2+(Column
#2)2)
atan2(Column #2,Column
#1)
Column
#4
2D interpol. along r and z
2D interpol. along theta
and z
sqrt((Column #1)2+(Column
#2)2)
atan2(Column #2,Column #1)
Column #3
sqrt((Column #1)2+
(Column #2)2)
Column
#4
Column
#4
For both 1D and 2D profiles, the ".dat" file may contain several sections (list of profiles). In that
case,
the profiles are concatenated and automatically sorted (ascending order for the first
component).
If the quantity to be imported is not a scalar (i.e. Vxyz vector), an error message is popped up: "The
selected file contains a vector quantity description. Only single scalar quantities can be imported as
profile."
The Export button is used to store the current data in the profile manager as a file (for example to
share profiles between different projects and users).
If the mouse cursor is placed over a point in the graph window, this point is highlighted and the
corresponding coordinates on the left will be also highlighted, giving the user the possibility to
verify the profile.
The button OK will store the profile values and return back to the main FINE™/Turbo window.
When imposing profiles, a zero extrapolation is applied for a point located outside the defined range
of the profile, except for time-dependent boundary condition. E.g. if the density profile is given for a
pressure between 10 bar and 100 bar, the density at 1 bar will be the one imposed at 10 bar.
The zero extrapolation does not apply for time- dependent profiles where a t=0 value is needed in
order to get physical results with time-dependent boundary condition.
CHAPTER 3.
FLUID MODEL
Every FINE™/Turbo project selects a fluid and its properties, defined by:
1. Using the fluid defined in the project file of which the properties are shown on the fluid selection
page, or
2. selecting a fluid from the fluid database included in the release that contains a set of pre-defined
fluids, or
3. creating a new fluid.
In the next section, the interface is described in detail, including advises for use of the fluid definitions.
The theoretical background for the different fluid models is described in the theory guide.
FIGURE 3.1
Fluid Selection page
In this section
3.1 Properties of Fluid Used in the Project
3.2 List of Fluids
3.3 Add Fluid
3.4 Delete Fluid from List
3.5 Edit Fluid
3.6 Show Fluid Properties
3.7 Filters
3.8 Import Fluid Database
3.9 Expert Parameters
55
56
57
68
69
69
69
70
70
3.1
PROPERTIES OF FLUID USED IN THE
PROJECT
Every FINE™/Turbo project contains a fluid with the corresponding properties that are displayed
in the interface.
When a new project is created, the default fluid is a perfect gas, pre-defined by FINE™/Turbo.
When an existing project is opened, the used fluid is defined by the properties as defined in the
project file ".iec".
The first listed fluid property is the fluid type. Four fluid types are available:
l perfect gas,
l real gas,
l incompressible gas or liquid,
l condensable fluid.
For more details on each of these types, please see Chapter 2 in the theory guide. For the first
three fluid types, the properties can be defined through the interface. To add a condensable fluid
to the list of fluids proposed by default, please use TabGen to generate the appropriate tables.
To modify the properties of the fluid used, a fluid can be selected from the list of pre-defined
fluids or a new fluid may be defined (where the new fluid is based on the current one).
3.2
LIST OF FLUIDS
The list of fluids contains pre-defined fluids in a database. These fluids are coming from the NIST
Chemistry WebBook (http://webbook.nist.gov/chemistry/fluid/). For each fluid the fluid type and
the permissions are defined.
Every fluid is associated with the user who created it and can be modified or removed only by its
owner (the owner has Read Write Delete permissions). All other users will only have Read Only
permissions.
If the user selects a fluid from the list, the selection will be highlighted and the properties are
displayed in the information box below the fluid list. Those fluid properties will be saved in the
project file ".iec" as soon as the project is saved.
Every fluid is associated with the user who created it and can be modified or removed only by its
owner (the owner has Read Write Delete permissions). All other users will only have Read Only
permissions.
If the user selects a fluid from the list, the selection will be highlighted and the properties are
displayed in the information box below the fluid list. Those fluid properties will be saved in the
project file ".iec" as soon as the project is saved.
3.3
ADD FLUID
To add a fluid to the database, click on the Add New Fluid... button in the Fluid Model page. A
wizard will appear allowing the user to define the fluid properties. The different steps to follow
are explained in below paragraphs.
FIGURE 3.2
Fluid Wizard
When creating a new fluid, the properties are by default the same as the fluid that was selected before.
The wizard can be closed by clicking on the Close button.
Fluid Name
On the first line of this wizard, the user should enter the name of the new fluid. By default, the
name "new_fluid_1" is proposed.
Database
The user should select the database to which the new fluid will be added: the Numeca or User
database.
When selecting Add to NUMECA database, the new fluid will be saved in:
l Installation_path/fine#/COMMON/euranus.flb (on Linux)
l Installation_path\Fine#\bin\euranus.flb (on Windows)
When selecting Add to User database, the new fluid will be saved in:
l $HOME/.numeca/Common/my_fluids2.flb (on Linux)
l %HOMEPATH%\.numeca\Common\my_fluids2.flb (on Windows)
the condensable tables will be copied to the folder
If a condensable fluid is defined,
"/thermodynamic_tables", which is located in the same directory as the file "euranus.flb" or "my_
fluids2.flb".
Information linked to the fluid creation will only be stored in the fluid database once the
FINE™/Turbo interface is closed. As a consequence, this information will not be available to other
users as long as this operation is not completed.
If the user selects Add to User database, other users will not be able to use the defined fluid.
Until FINE™/Turbo v12.2, the user database was saved in ../my_fluids.flb instead of ../my_fluids2.flb.
If desired, the old user database can be imported in the project, .
If the user database /my_fluids2.flb does not exist yet, the old user database /my_fluids.flb will be
uploaded by default.
Fluid Type
The fluid type can be chosen by selecting the appropriate checkboxes. Following types of fluid
are available:
l Compressible
l Perfect gas
l Real gas
l Incompressible
l Condensable
The selected fluid type is shown in the Fluid Type text box.
Once everything is set up correctly, click on Next>> to go to the second page of the wizard. On
this page, the following properties of the fluid have to be defined:
l Specific Heat Law,
l Heat Conduction Law,
l Viscosity Law,
l Density Law (for incompressible fluid only).
l Thermodynamic tables folder (for condensable fluid only).
Depending on the selected fluid type, the behavior of these properties can be defined by a
constant value, a profile, a formula, a law or a table. Below paragraphs explain the properties of
the available fluid types in more detail. More information about the profile or formula definition,
can be found at the end of this page.
Definition of a Perfect Gas
For the definition of a perfect gas, the user has to specify:
l The heat conductivity. The heat conductivity may be set to a constant value or can be defined
by a polynomial in function of temperature, a profile in function of temperature or through a
constant Prandtl number. The polynomial and profile can be specified by clicking on the
button.
l The viscosity. The viscosity may be set to a constant value or can be defined by a polynomial
in function of temperature, a profile in function of temperature or through the Sutherland law
button.
. The polynomial and profile can be specified by clicking on the
By default, the user defines the dynamic viscosity. In case the kinematic viscosity is preferred,
the user has to select the Kinematic Viscosity button or uncheck the Dynamic Viscosity
button.
l The specific heat at constant pressure and the specific heat ratio. For a perfect gas, only a
constant cp and
(cp/cv) is allowed.
FIGURE 3.3
Sutherland Law Parameters
Definition of a Real Gas
A real gas is defined by laws for the dependence of
gas constant r.
and/or with the temperature and/or the
FIGURE 3.4
New Fluid Definition - Real Gas
For the definition of a real gas, the user has to specify:
l The heat conductivity. The heat conductivity may be set to a constant value or can be defined
by a polynomial in function of temperature, a profile in function of temperature or through a
constant Prandtl number. The polynomial and profile can be specified by clicking on the
button.
l The viscosity. The viscosity may be set to a constant value or can be defined by a polynomial
in function of temperature, a profile in function of temperature or through the Sutherland law
). The polynomial and profile can be specified by
clicking on the
button. By default, the user defines the dynamic viscosity. In case the
kinematic viscosity is preferred, the user has to select the Kinematic Viscosity button or
uncheck the Dynamic Viscosity button.
l The specific heat law. The specific heat law is defined by specifying two out of three available
and r. By default, when adding a new fluid, the recommended specific heat
in function of the temperature and the gas constant r. The gas constant
are defined
variables: cp,
law is a user-defined
r is set to a constant value, while the specific heat at constant pressure cpand
through a polynomial or a profile depending on the temperature (by clicking on the
button). In both cases, the user has to specify the temperature range over which
and/or
characterized.
is
is defined as a function
For the pre-defined fluids available in the NUMECA database, the value of
of temperature through a profile. These profiles have been computed for a constant pressure of
100,000Pa.
Compared to a perfect gas computation (cp and
constant), the real gas option results in a 20-
25% increase of CPU time. Real gas calculations are usually robust enough to avoid a preliminary
run with averaged physical properties. However, difficulties may arise during the convergence
process (say the first 100-200 iterations) when either the allowed temperature range is too large or
when the properties are expected to vary significantly in the allowed temperature range. At these
occasions, it is often useful to make an equivalent perfect gas computation, with average
properties, in order to remove any temperature dependency and ease the convergence process.
Definition of an Incompressible Fluid (liquid)
For the definition of a liquid, two models are available:
l a 'pure' liquid with constant density,
l a barotropic liquid for which the density varies with pressure.
Depending on the type of liquid the user has to specify:
l The heat conductivity. The heat conductivity may be set to a constant value or can be defined
by a polynomial in function of temperature, a profile in function of temperature or through a
constant Prandtl number. The polynomial and profile can be specified by clicking on the
button.
l The viscosity. The viscosity may be set to a constant value or can be defined by a polynomial
in function of temperature or a profile in function of temperature. The polynomial and profile
can be specified by clicking on the
button. By default, the user defines the dynamic
viscosity. In case the kinematic viscosity is preferred, the user has to select the Kinematic
Viscosity button.
l The specific heat at constant pressure. For liquids, only a constant cp is allowed.
l The density law. The density can be set as a constant following the Boussinesq law or can be
pressure dependent through a profile or polynomial in function of pressure. In the first case, the
density is constant and the Boussinesq coefficients are taken into account only if the button
Gravity Forces (Flow Model page) is activated. These coefficients are used in the source
terms of the momentum equation and the energy equation in order to model the gravitational
effect (i.e. natural convection) although the density is assumed to be strictly constant. In case
the density is pressure dependent, the polynomial and profile can be specified by clicking on
the
button.
For liquids, the reference temperature and pressure must lie in the expected range of the static
temperature and pressure of the flow field. The reference pressure and temperature are defined in the
Flow Model page.
Definition of a Condensable Fluid
The aim of the condensable fluid module is to model the real thermodynamic properties of the
fluid using the interpolation of the variables from dedicated tables.
The module can be used for a single-phase fluid for which the properties are too complex to be
treated with a perfect or real gas model. It can also be used in order to treat thermodynamic
conditions that are close to the saturation line. Note that the model can be used on the liquid or on
the vapour side of the saturation curve. In case that the thermodynamic state lies inside the two-
phase region, a homogeneous equilibrium two-phase mixture of vapour and liquid is considered.
However, the hypothesis of an equilibrium mixture is not valid if the dryness (wetness) fraction
exceeds 20%. The module cannot be used above these fractions, as it completely ignores
evaporation-condensation phenomena.
The approach that has been adopted in the FINE™/Turbo solver, consists of using a series of
thermodynamic tables. One table is required each time a thermodynamic variable must be
deduced from two other ones. This implies the creation of many tables as an input, but presents
the advantage that no iterative inversion of the tables is done in the solver. The use of a
condensable fluid results in a ~20% increase in CPU time compared to a perfect gas..
By default, two sets of thermodynamic tables are provided in the FINE™/Turbo package:
Refrigerant R134a and Water-Steam tables. The other thermodynamic tables can be generated by
the user using TabGen  or can provided by NUMECA, upon request. The necessary
thermodynamic tables for a condensable fluid are listed below.
In order to define a condensable fluid,
the folder where the
thermodynamic tables are stored. Next, the range of the independent variables will be displayed
and the user must specify:
the user needs to select
l The specific heat. The specific heat can be set to a constant or defined by the thermodynamic
tables.
l The heat conductivity. The heat conductivity may be set to a constant value or can be defined
by a polynomial in function of temperature, a profile in function of temperature, through a
constant Prandtl number or by the thermodynamic tables. The polynomial and profile can be
specified by clicking on the
button.
l The viscosity. The viscosity may be set to a constant value or can be defined by a polynomial
in function of temperature, a profile in function of temperature, through the Sutherland law
) or by the thermodynamic tables. The polynomial
and profile can be specified by clicking on the
button. By default, the user defines the
dynamic viscosity. In case the kinematic viscosity is preferred, the user has to select the
Kinematic Viscosity button or uncheck the Dynamic Viscosity button. This option is not
available in case the viscosity is deduced from the tables.
The condensable fluid option is not compatible with the use of upwind schemes for space
discretization.
If the thermodynamic tables are generated on a Windows system but the computation is performed on
a Linux system, the thermodynamic tables will be converted to Linux format when the flow solver
reads the tables. The converted tables are named as *_cvrt.atab and put in the computation directory.
It is suggested to replace the tables in the fluid database by the converted tables.
According to the flow type, the needed tables are different. The files used by FINE™/Turbo are
the .atab files that contain the tabulated information by storing the coefficients of the interpolation
polynomials. All the tables that may be used during the computation, are listed below:
l The 1D tables:
l PSA.atab: contains the liquid and vapor saturation lines function of the saturation pressure:
liquid and vapor densities, liquid and vapor enthalpies, ....
l The 2D tables:
l AER.atab: Quality function of energy and density
l AHP.atab: Quality function of enthalpy and pressure
l BER.atab: Heat capacity function of energy and density
l CER.atab: Speed of sound function of energy and density
l CHP.atab: Speed of sound function of enthalpy and pressure
l DPT.atab: density function of pressure and temperature
l EPT.atab: energy function of pressure and temperature
l HSP.atab: enthalpy function of entropy and pressure
l KER.atab: thermal conductivity function of energy and density
l KHP.atab: thermal conductivity function of enthalpy and pressure
l MER.atab: dynamic viscosity function of energy and density
l MHP.atab: dynamic viscosity function of enthalpy and pressure
l PER.atab: pressure function of energy and density
l PHS.atab: pressure function of enthalpy and entropy
l RHP.atab: density in function of enthalpy and pressure
l RHS.atab: Pressure over density in function of enthalpy and entropy
l SHP.atab: entropy function of enthalpy and pressure
l TER.atab: temperature function of energy and density
l THP.atab: temperature function of enthalpy and pressure
The user has to create some of above tables in case of following situations:
l Necessary tables for computations without preconditioning: PER.atab, TER.atab
l Necessary tables for computations with preconditioning: RHP.atab, THP.atab
l Necessary tables for computations with initial solution for turbomachinery and/or for inlet
boundary conditions where total enthalpy and dryness fraction are imposed: SHP.atab,
THP.atab, RHP.atab, HSP.atab, EPT.atab, DPT.atab and PSA.atab
l Necessary tables for total quantities (imposed at the inlet or as an output): SHP.atab, THP.atab,
RHP.atab, HSP.atab, EPT.atab, DPT.atab
The following tables are optional but we advise to use them:
l Transport properties (viscosity and conductivity): MER.atab or MHP.atab or KER.atab or
KHP.atab
l Speed of sound tables: CER.atab or CHP.atab
The .ntb files are not needed to run a computation. They are generated by TabGen and contain all
the tabulation for two independent quantities and all the dependent ones. The .ntb files can be
deleted as well as the .btab (binary counterpart of .atab) files.
Formula Editor
When a law is defined by a formula, clicking on the button (
menu will invoke a formula editor.
) right next to the pull-down
FIGURE 3.5
The Formula Editor for polynomials in the fluid properties
The Formula Editor is used to define the polynomial which will characterize the behavior of a
fluid property. The user has to specify the eight coefficients of the polynomial according to the
displayed formula on top of the formula editor. The polynomials take the following form in case
of for example cp and the density:
The coefficients A0, A1, A2, A3, A4, A5, A6, A7,B0, B1, B2, B3, B4, B5 and , B6and B7 are
chosen by the user and set in the dialog box.
Also the lower and upper limits of the temperature range, in which the polynomial function is
defined, must be set. Press <Enter> after each entry to validate the input. Values outside of the
specified temperature range, will be considered constant and equal to the minimum or maximum
value (as shown in the graph in FIGURE 3.5).
If a fluid with "Read Only" permissions contains formulas, the formulas may be visualized with the
Show Fluid Properties... button but they cannot be modified.
Profile Manager
When a law is defined by a profile, clicking on the button (
start the Profile Manager.
) next to the pull-down menu will
The Profile Manager is used to interactively define and edit profiles for both fluid and boundary
condition parameters. To input a profile, the user has to enter the corresponding coordinates in the
two columns on the left. The graph is updated after each coordinate entry (and pressing the
<Enter> key).
The button Import can be used to import a profile, which is already existing as a data file on the
disk. The Export button is used to store the current data in the profile manager as a data file (for
example to share profiles between different projects and users). The format of the profile files is
explained in detail in File Formats.
If the mouse cursor is placed over a point in the graph window, the concerning point and the
corresponding coordinates on the left will be highlighted in blue. This gives the user the
possibility to verify the profile.
The button OK will store the profile values into the fluid definition.
FIGURE 3.6
Profile Manager for fluid parameters
If a fluid with "Read Only" permissions contains profiles, the profiles may be visualized with the
Show Fluid Properties... button but they cannot be modified.
3.4
DELETE FLUID FROM LIST
When the user has the permission to delete a fluid, the button Delete Fluid... allows to remove the
selected fluid from the list of available fluids.
is stored in the fluid database only when closing the
Information linked to fluid removal
FINE™/Turbo interface. As a consequence, this information will not be available to other users until
this operation is completed. A message will however warn users that the fluid properties have been
modified (up to removal in the present situation) by the owner.
3.5
EDIT FLUID
When the user has the write permission for a fluid, the properties of the selected fluid can be
modified by clicking on Edit Fluid.... A wizard will appear allowing to modify the name, the type
and the laws defining the selected fluid.
Information linked to fluid edition is stored in the fluid database only when closing the
FINE™/Turbo interface. As a consequence, this information will not be available to other users until
this operation is completed. A message will however warn users that the fluid properties have been
modified by the owner.
3.6
SHOW FLUID PROPERTIES
When the user does not have the write permission (Read Only) for a fluid the Show Fluid
Properties... button opens the wizard with the properties of the fluid. In this case it is not possible
to modify any of the properties in the wizard but the user has access to visualize the properties
including the defined profiles and formulae.
3.7
FILTERS
On the Fluid Model page two filters are available to display only a limited amount of fluids out of
the complete list of fluids. Select the owner(s) and fluid type(s) to display from the pull down
menus to limit the list of fluids.
Please notice that under WINDOWS the fluid database is not owner-oriented. The database is stored
locally and user defined fluids are accessible with full permissions to all Windows users.
The filters are used only to browse the fluid list and not to change the current fluid associated to the
active computation except if selected in the list by left-click on it.
3.8
IMPORT FLUID DATABASE
When the user has his own fluid database or the user database of an older version of
FINE™/Turbo, the Import Fluids Database... button enables to load another database into the
project. A File Chooser window will pop-up to select the ".flb" file containing the properties of
all the fluids.
When loading an existing project and opening the Fluid Model page, please notice that
FINE™/Turbo is automatically checking if the fluid is existing or not in the fluid database. If the
fluid name is existing but the properties are different, a comparison window will invite the user to
select the fluid to use (the default fluid in the database or the fluid defined in the project). If the fluid
is not existing in the fluid database, no fluid will be selected but the fluid parameters defined in the
project will be kept. The fluid can be added to the database by clicking on the button Add New
Fluid ....
3.9
EXPERT PARAMETERS
In this section, the expert parameters which can be used in the definition of the fluid type can be
found. This is only a summary to know directly the expert parameters related to the definition of a
fluid.
All expert parameters related to fluid definition are available in Expert Mode in the Control
Variables page. For these expert parameters the default values only have to be changed in case
the user has specific wishes concerning the fluid modeling.
PRT (real): Allows to define the turbulent Prandtl number (default value = 1.0).
CLIPCG (integer): The thermodynamic tables are generated in a given range of thermodynamic
variables. When the thermodynamic variables are not in the given range, the expert parameter
CLIPCG can be used to control the computing method of the dependent thermodynamic
variable.
0: the dependent thermodynamic variable is extrapolated from the interior field.
1 (default): a clipping value will be used for the dependent thermodynamic variable.
CHAPTER 4.
FLOW MODEL
The Flow Model page, as displayed in FIGURE 4.1 , can be used in order to specify several
characteristics of the flow:
l the time configuration to define time dependence of the equations to solve,
l the mathematical model to:
l choose between viscous and non-viscous flow,
l choose between laminar and turbulent flow,
l activate gravity,
l activate pre-conditioning for low speed flow
l the characteristic scales defining the Reynolds number of the flow,
l the reference values of the temperature and pressure in the flow.
FIGURE 4.1
Flow Model page.
In this section
4.1 Euler
4.2 Laminar Navier-Stokes
4.3 Turbulent Navier-Stokes
4.4 Laminar-Transition Model
4.5 Gravity Forces
4.6 Low Speed Flow (Preconditioning)
4.7 Characteristic & Reference Values
73
73
73
94
103
104
104
4.1
EULER
When selecting Euler on the Flow Model page an inviscid calculation will be performed. In such
a case all solid walls are considered as Euler walls and the (non-zero) velocity is tangential to the
wall.
Since the Reynolds number has no meaning for Euler calculations this number is not displayed
when Euler flow is selected.
4.2
LAMINAR NAVIER-STOKES
When selecting Laminar Navier-Stokes equations the only effect is on the thermodynamic
property of the flow. The viscosity will be the laminar kinematic viscosity and thus does not
contain any turbulent component.
4.3
TURBULENT NAVIER-STOKES
4.3.1
Turbulence Models
When selecting Turbulent Navier-Stokes equations, turbulence is taken into account depending
on the chosen turbulence model. In FINE™/Turbo, several turbulence models are available:
l Algebraic model (0-equation):
l Baldwin-Lomax
l 1-equation model:
l Spalart-Allmaras
l Spalart-Allmaras (Extended Wall Function)
l SARC,
l SARC (Extended Wall Function),
l 2-equation models:
l k-ε (Extended wall function)
l k-ε (Standard wall function),
l k-ε (Low Re Yang-Shih)
l k-ε (Low Re Chien)
l k-ε (Low Re Launder-Sharma)
l Shear Stress Transport (SST)
l SST (Extended wall function)
l EARSM
l EARSM (Extended wall function)
l k-ω (Wilcox)
l 4-equation model:
l v²-f (code friendly)
For the Baldwin-Lomax model, algebraic formula is used to compute the turbulent data and
consequently no additional input is needed. For all the 1/2/4 equation (s) models, additional
equation(s) are solved and consequently suitable initial and boundary conditions must be defined
in the interface.
The DES (Detached Eddy Simulations) model has been implemented in FINE™/Turbo. For
more information, please contact your local support office.
Please refer to the theory guide for the details of the turbulence models.
It is not recommended to use a previously computed solution with different turbulence model. For k-
ε models, the Chien and the Launder-Sharma models belong to the same family (zero value of ε at the
wall) while the standard and Yang-Shih model belong to a second family (non zero value of ε at the
wall). Launching a restart from a previously computed solution is only allowed as long as the user
sticks to the same family.
4.3.2
Expert Parameters for Turbulence Modeling
A.
Interfaced Expert Parameters
In expert mode additional parameters related to turbulence modeling are available when using the
turbulence models with extended wall functions. For these turbulence models the wall type can be
defined as smooth or rough:
l For a smooth solid wall (default) only the Von Karman constant and Bo have to be specified
(κ and B).
l When selecting a rough solid wall two additional parameters have to be specified: the
equivalent roughness height and the zero-displacement plane (k0 and d0).
B. Non-interfaced Expert Parameters
All non- interfaced expert parameters related to the turbulence models are accessible on the
Control Variables page by selecting the Expert Mode.
Calculation of the wall distances
All turbulence models need to compute the wall distances everywhere in the computed domain. In
FINE™/Turbo, the wall distance for an inner point is defined as the shortest distance between the
inner point and the points on the wall surfaces. It is a rather time consuming process so that they
are saved in the ".cgns" mesh file at the beginning of the first computation. These values will be
read and used for the next computations. If the mesh file is modified or saved again, they are
erased and will be computed again.
Different important expert parameters are used in the calculation of the wall distance. Generally,
the default values aresufficient and they have to be changed only if a problem arises.
NREPET(integer): allows taking into account the periodicity of the computed domain. At each
point of the domain, the closest wall is not always in the computed domain if periodic boundary
conditions are used. Consequently, the domain is repeated beyond the periodic boundaries to
compute correctly the wall distance (default value =1).
NSUBM(integer): is the maximum number of subdomains of a domain which is splitted. Its value
is sufficiently high and it must be changed only if an error message informs the user to increase it
(default value = 1000).
NTUPTC (integer): is the number of patches whose sub-patches will be searched. In a very
complex geometry, the value of this parameter can be increased if the calculation of the wall
distances fail (default value = 100).
The computed wall distances should be removed from the mesh first before relaunching a
computation with a different value of NTUPTC. To remove the computed wall distances, you should
open your mesh in IGG™ and simply save it again.
RTOL (real): maximum angle allowed between two normals of a patch (default value = 1.8).
When the value of IDISTN is 1, the value of RTOL has to be set as the default value (1.8).
When problems occur during the wall distance calculation (wall distance not equal to 0 on the wall),
it is recommended to increase the value of NTUPTC (and to reduce RTOL if the wall distance
gradient is not smooth). Please keep in mind that increasing this value will slow down the computing
of the wall distances.
IDISTN(integer): algorithm for wall distance calculation:
l 0 : old algorithm
l 1: new algorithm
l 2 (default): review of new algorithm (advised for 64 bits platforms)
Limiters for all of the turbulence models
MAVRES(real): denoted here ζ. This parameter limits the variation of the turbulence variables
, the following restrictions
for each Runge-Kutta stage. Denoting the new value of k or ϵ as
are imposed when MAVRES > 0:
where EPS is an expert parameter with a small value, default 1E-28, also used to avoid possible
divisions by zero.
The second restriction is not applied to the turbulent dissipation rate (ε ) when this tends to
increase, in order to avoid excessive values of the turbulent viscosity.
If MAVRES = 0, only the first restriction is applied (avoiding negative values)
If MAVRES < 0, the restriction is:
MAVREM (real): a similar system is applied to the multigrid corrections with the expert
parameter MAVREM, denoted below as ζ:
l If MAVREM > 0:
l If MAVREM = 0: restriction to positive values
l If MAVREM < 0:
MUCLIP(real): controls the maximum allowable value for the ratio MUT/MU in the flow field
but not on boundary conditions (default value = 5000).
KEGRID(integer): allows the use of a particular full multigrid strategy for all 2-equation and 4-
equation turbulence models. The Baldwin-Lomax model is used on the coarse grids during the
full multigrid stage and the initial solution of k, ε, ɷ, v² and f is obtained from the Baldwin-
Lomax model solution. This parameter is not used for the Spalart-Allmaras model.
KEGRID corresponds to the last grid level on which the algebraic model is used. For example, if
the computation is done with 4 levels of multigrid and KEGRID is equal to 2, the Baldwin-
Lomax model is used on the 333 (or level 4), 222 (or level 3) and 111 (or level 2) and the k-ε
computation is initiated when transferring to the finest grid. If KEGRID is set to 3, the Baldwin-
Lomax model is used on the 333 (or level 4) and 222 (or level 3) and the k-ε computation is
initiated when transferring to the grid level 111. If KEGRID is greater than the number of
multigrid levels, the computation will be started on the coarsest level with k-ε .
Baldwin-Lomax
IATFRZ(integer): control the interaction of the model with the multigrid system
l 0: apply the turbulence model on all grid levels,
l 1: freeze turbulence on coarser grids (default),
l 2: freeze turbulence on all grids .
ITFRZ (integer): freeze the turbulent viscosity field if the fine grid iteration exceeds ITFRZ
(default value = 1000000).
RESFRZ (integer): freeze the turbulent viscosity field if the fine grid residual is lower than
RESFRZ (default value = -12).
Spalart-Allmaras
NUTFRE(real): constant to initialize the turbulent viscosity field (default value = 0.0003). This
parameter exists for backward compatibility reasons. The initial turbulence for Spalart-Allmaras
can now be block dependent and is determined in the Initial Solution page.
ITURRC(integer): the Spalart-Allmaras turbulence model with/without extended wall function
does not take the rotation and curvature effects into account. Modifications have been brought in
order to consider these effects. The modified Spalart-Allmaras model is marked as SARC model.
l 0 (default): use the Spalart-Allmaras model, which does not take the rotation/curvature effects
into account.
l 2: use the SARC model, which takes the rotation/curvature effects into account.
k-ε models
CMU(real): constant for the k-ε model (default value = 0.09).
CE1(real): constant for the k-ε model (default value = 1.44 automatically set to 1.35 for the Chien
k-ε model).
CE2(real): constant for the k-ε model (default value = 1.92 automatically set to 1.8 for the Chien
k-ε model).
SIGK(real): constant for the k-ε model (default value = 1.).
SIGE(real): constant for the k-ε model (default value = 1.3).
PRT(real): constant for the k-ε model - the turbulent Prandtl Number (default value = 1.).
INEWKE(integer): allows the user to activate the k-ε (Standard wall function) model when the k-
ε (Extended wall function) model is selected in the interface:
l 0: activate the k-ε (Standard wall function) model.
l 10 (default): use the k-ε (Extended wall function) model.
LTMAX(real): maximum turbulent length scale (default = 1.E+6),
l -1: control of turbulent length scale with automatic clipping.
IYAP(integer): 1: applies the Yap's modification to control the turbulent length scale.
l 0 (default): The value of the expert parameter LTMAX must be the default value.
TEDAMP(real): parameter to improve the robustness of the k-ε models (default value = -1),
l > 0: a minimum of TEDAMP multiplication factor of the clipping value (EKCLIP) is used for
; a minimum of TEDAMP multiplication factor of the clipping value
k in the factor
(EPCLIP) is used for ϵ to compute the turbulent viscosity,
l <= 0: the minimum values used for k and ϵ correspond to the expert parameter EPS,
PRCLIP(real): sets an upper bound for the ratio between production and dissipation (default
value = 50).
LIPROD(integer): corresponds to a linearization of the production term (default = 1) when strain
rate is large (i.e. impinging flow) and PRCLIP has no effect anymore on the flow field.
EKCLIP(real): clipping value for the turbulent kinetic energy k (default value = 1.E-5).
EPCLIP(real): clipping value for the turbulent dissipation rate ε (default value = 1E-5).
IUPWTE(integer): uses an upwind scheme for the convection of k-ε instead of a center scheme
(default = 1).
IKENC(integer): solves the k-ε equations with a non-conservative approach (default = 1).
IKELED(integer): (= 1) activates the LED scalar scheme for k-ε instead of the standard central
scheme (default = 0).
IOPTKE(integer): optimized implementation for k-ε (Yang-Shih, Wall function, Lauder Sharma)
(default = 1).
All the above-mentioned limiters are very important for the robustness of k-ε computations. Except
for the length scale LTMAX, all limiters are given appropriate defaults and it is not recommend to
modify them.
v²-f model
CMUV2F(real): constant for the v²-f model (default value = 0.22),
C1F(real): constant for the v²-f model (default value = 1.4),
C2F(real): constant for the v²-f model (default value = 0.3),
CL(real): constant for the v²-f model (default value = 0.23),
CET(real): constant for the v²-f model (default value = 70.0),
CE2V2F(real): constant for the v²-f model (default value = 1.9),
SIGE(real): constant for the v²-f model (default value = 1.3),
SIGK(real): constant for the v²-f model (default value = 1),
EKCLIP(real): clipping value for the turbulent kinetic energy k (default value = 1.E-5),
EPCLIP(real): clipping value for the turbulent dissipation rate ε (default value = 1E-5),
k-ω (Wilcox)
The parameters for the k-ω (Wilcox) model are hard coded. The user cannot modify the default
values.
Shear Stress Transport (SST)
GAM1(real): constant for the SST model (default value = 0.5532),
GAM2(real): constant for the SST model (default value = 0.4403),
BETA1(real): constant for the SST model (default value = 0.075),
BETA2(real): constant for the SST model (default value = 0.0828),
SIGK1(real): constant for the SST model (default value = 0.85),
SIGK2(real): constant for the SST model (default value = 1.0),
SIGO1(real): constant for the SST model (default value = 0.5),
SIGO2(real): constant for the SST model (default value = 0.856),
A1SST(real): constant for the SST model (default value = 0.31),
BETSST(real): constant for the SST model (default value = 0.09).
EARSM
GAM1(real): constant
for the EARSM model
GAM2(real): constant
for the EARSM model
BETA1(real): constant
for the EARSM model
BETA2(real): constant
for the EARSM model
SIGK1(real): constant
for the EARSM model
SIGK2(real): constant
for the EARSM model
SIGO1(real): constant
for the EARSM model
SIGO2(real): constant
for the EARSM model
SIGD1(real): constant
for the Hellsten's EARSM model
SIGD2(real): constant
for the Hellsten's EARSM model
A1SST(real): constant
for the EARSM model
BETSST(real): constant
for the EARSM model
IEARSM(integer): parameter to select the EARSM model,
l 0 (default): the EARSM proposed by Menter.
l 1: the EARSM proposed by Hellsten.
IMINUT (integer): only applies to the Menter's EARSM model. This parameter controls the
approach computing the turbulent thermal conductivity in the energy equation.
l 0 (default):
l 1:
4.3.3
Best Practice for Turbulence Modeling
A.
Introduction to Turbulence
Turbulence can be defined as the appearance of non-deterministic fluctuations of all variables
(velocity u', pressure p', etc...) around mean values. Turbulence is generated above a critical
Reynolds number that may range in values from 400 to 2000 depending on the specific case. In
95% of industrial applications the critical Reynolds number falls above that range. That is why it
is in general necessary to predict adequately the turbulence effects on the flow-field behavior.
To model turbulent flow in a satisfactory way, four steps should be performed:
l choosing a turbulence model,
l generating an appropriate grid,
l defining initial and boundary conditions,
l if necessary, setting expert parameters to procure convergence.
B. First Step: Choosing a Turbulence Model
A turbulence model is chosen based on the specific application. TABLE 4.1 states the most
appropriate turbulence models to use for different types of flows. Although these are the "most
appropriate" this does not mean that certain turbulence models cannot be used for the flow types
listed, but just that they are "less appropriate".
According to the method accounting for viscous effects close to the wall, the turbulence models
can be divided into two types: high Reynolds number turbulence models and low Reynolds
number turbulence models. Please note that here "high Reynolds number" and "low Reynolds
formed by the turbulent
number" refer to the local turbulent Reynolds number
ﬂuctuation
, turbulent length scale
and kinematic viscosity ν. The high Reynolds number
turbulence models assume that the ﬂow near the wall behaves like a fully developed turbulent
boundary layer and prescribe boundary conditions by employing wall functions. The viscous
sublayer will not be resolved. In FINE™/Turbo, both standard wall function and extended wall
function are available, see the theory guide for the detailed information. The low Reynolds
number turbulence models resolve the entire boundary layer, including the viscous sublayer
where the viscous diffusion is much larger that the turbulent one. Thus, sufficiently fine grid
should be used inside the boundary layer so that the sharp gradients can be resolved.
TABLE 4.1 Recommended turbulence models for different flow types
Turbulence Models
High-Re
Spalart-Allmaras (Extended Wall
Function);
SARC (Extended Wall Function);
k-ε (Extended wall function);
Low-Re
Baldwin-Lomax;
Spalart-Allmaras;
Spalart-Allmaras (Extended Wall
Function);
k-ε (Standard wall function);
SARC;
SST (Extended wall function)
SARC (Extended Wall Function);
EARSM (Extended wall function);
k-ε (Extended wall function);
k-ε (Low Re Yang-Shih);
k-ε (Low Re Chien);
k-ε (Low Re Launder-Sharma);
Shear Stress Transport (SST);
SST (Extended wall function);
EARSM;
EARSM (Extended wall function);
k-ω (Wilcox);
v²-f (code friendly)
Most Appropriate
Flows
Quasi-2D;
3D;
Weak pressure gradient;
Strong pressure gradient;
Quick design-cycle calculations
Moderate curvature;
Separating flows
Three main kinds of turbulence models exist:
l algebraic models (e.g. Baldwin-Lomax),
l one-equation models (e.g. Spalart-Allmaras),
l two (four)-equation models (k-ε, k-ω and v²-f).
When quick turbulence calculations are required, for example, in design-cycle analysis, it is
recommended that the Baldwin-Lomax model is used due to its high numerical stability and low
computational expense. To simulate more precisely the turbulent quantities with also a good rate
of convergence the Spalart-Allmaras model should be preferred.
Another model often used in design is the "standard" k- ε model. This model employs an
empirically based logarithmic function to represent the near-wall physics and requires a lower grid
resolution in this region as a result. One drawback of this treatment is that the logarithmic function
does not apply for separated flows, although the NUMECA extended wall function will still
work. If it is expected that a significant amount of separation will have to be predicted, one of the
low-Reynolds number turbulence models would be more appropriate. All of the listed turbulence
models employ constant turbulent Prandtl numbers which is somewhat of a restriction when
performing heat transfer calculations. However, experience has shown quite successful prediction
of heat transfer coefficients when using low Reynolds models.
The Shear Stress Transport (SST) k-ω turbulence model is another most utilized two-equation
model. This model, which combines the advantages of the Wilcox k-ω model and the k-ε model,
has higher accuracy in the separation flow predictions. The user is recommended to use the SST
k-ω model in predicting the onset and the amount of separations under adverse pressure gradient
conditions.
The EARSM (Explicit Algebraic Reynolds Stress Model) model is a non linear eddy viscosity 2-
equation model. EARSM is much less demanding than RSM from the computational standpoint
and, at the same time, is capable of reproducing some important features of turbulence (e.g. its
anisotropy in the normal stresses), which are beyond the capabilities of linear eddy viscosity
turbulence models. The user is recommended to use the EARSM model when strong anisotropy
exists in the computational domain.
The v²-f turbulence model was developed to eliminate the need to the damping functions that used
by the low-Reynolds k-ε turbulence models. Through several years of fundamental research, v²-f
turbulence model has been proven to have better behavior in predicting wall induced phenomena
such as heat transfer and flow separation than the other low-Reynolds turbulence models. The
user is suggested to use this model in heat transfer applications.
The v²-f turbulence model has not been extended to some specific modules: Rotor/Stator interfaces,
Full Non-Matching connections and Cooling/Bleed module.
C. Second Step: Generating an Appropriate Grid
Cell Size
When calculating turbulence quantities it is important to place the first grid node off the wall
within a certain range (ywall). This can be done for the blade and the endwalls (hub and shroud)
independently. When doing computations including viscosity (Navier- Stokes equations) the
boundary layer near a solid wall presents high gradients. To properly capture those high gradients
in a numerical simulation it is important to have a sufficient amount of grid points inside the
boundary layer. When Euler computations are performed no boundary layer exists and therefore
the cell size near solid walls is of less importance.
To estimate an appropriate cell size ywall for Navier-Stokes simulations including turbulence, the
local Reynolds number based on the wall variable y+ is computed. The value of y+ associated
with the first node off the wall will be referred to here as y1
+:
where uτ is the friction velocity:
Note that the value of ywall depends on the value of y1
+.
FIGURE 4.2
Boundary layer profilesNote that the sublayer extends up to y+=5 but 10 is an acceptable
approximation for design calculations.Note: The variable v* displayed in the figure is uτ.Picture
from White, F.M., Viscous Fluid Flow, McGraw Hill, 1991.
In FIGURE 4.2 it is represented the evolution of u + against y + from the measurements of
Lindgren (1965) with:
u+= /
+ values less than 10
Low-Re models resolve the viscous sublayer and are well suited for y1
+
whereas high-Re models apply analytical functions to the log-layer and are appropriate to y1
values ranging from 20 to 50, even more (depending on the extension of the buffer layer for the
considered flow). When the extended wall function is used, it is strongly advised to locate the first
inner node either in the viscous sublayer (y1
Moreover one can notice that the logarithmic function does not apply for separated flow. So
whether it is expected that a significant amount of separation will have to be predicted, one of the
low-Reynolds number turbulence models would be more appropriate.
+<5) or in the log layer (y1
+>20).
Recommendations are given in the following table for ranges of y1
of models.
+ specific to the different types
TABLE 4.2 Appropriate y1
+ values for available turbulence models
High-Re
Turbulence
Models
Spalart-Allmaras (Extended Wall
Function);
Low-Re
Baldwin-Lomax;
Spalart-Allmaras;
SARC (Extended Wall Function);
k-ε (Extended wall function);
Spalart-Allmaras (Extended Wall
Function);
k-ε (Standard wall function);
SARC;
SST (Extended wall function)
SARC (Extended Wall Function);
EARSM (Extended wall function);
k-ε (Extended wall function);
k-ε (Low Re Yang-Shih);
k-ε (Low Re Chien);
k-ε (Low Re Launder-Sharma);
Shear Stress Transport (SST);
SST (Extended wall function);
EARSM;
EARSM (Extended wall function);
k-ω (Wilcox);
v²-f (code friendly)
<10
+
y1
20-50
One way to estimate ywall as a function of a desired y1
of the Blasius equation:
+ value is to use a truncated series solution
+...
y1
Note that the reference velocity, Vref, can be taken from an average at the inlet. For instance, if
the mass flow is known the value can be calculated using density and the cross-sectional area of
the inlet. If the mass flow is not known the reference velocity may be calculated from the inlet
total pressure and an estimated static pressure using isentropic relations. The reference length,
Lref, should be based on a typical length scale since an estimation of boundary layer thickness is
implied in this calculation. For instance, in the case of a turbomachinery simulation one could use
the distance between hub and shroud curves that exist upstream of the first row of blades. This is
approximate, of course, as the thickness of the boundary layers will vary widely within the
+ within a range and not at a
computational domain. Fortunately it is only necessary to place y1
specific value.
Another method of estimating ywall is to apply the 1/7th velocity profile. In this case the skin
friction coefficient Cf is related to the Reynolds number:
where Rex should be based on average streamwise values of Vref and Lref as discussed above.
Since uτ is based on Cf it may be calculated based on the equation of the friction velocity, and
+. Note that either method is not exact but they will yield
ywall may then be calculated from y1
results that are quite close to each other. In fact, it can be instructive to calculate ywall using both
methods as a check. Since only one wall distance is being calculated, the particular flow being
+, can be
studied should be kept in mind. For instance if it is a diffusing flow Cf, and hence y1
+<50 for high-Re Standard k- ε )
expected to drop. Since a certain range is desired (e.g., 20< y1
the user may choose to base the calculation of wall distance on an average of that range (e.g., 40).
Things to Look Out For
Previous recommendations should provide reasonable estimates but it is always wise to plot y+
+ values fall
once a solution has finished. Spot checks should be made to ensure that most y1
within the desired range. For instance it is useful to plot y+ contours over the first layer of nodes
from a given wall (available in solid data output). There are some special cases where such checks
do not strictly apply. For instance, skin friction approaches zero at points of separation so it is
+ will be low in such regions. It is generally recommended that turbomachinery
expected that y1
+
blade tip clearances are meshed with uniform spanwise node distributions. In such cases, the y1
values will tend to be higher within the gap than elsewhere in the computational domain near-wall
regions. This should not raise concern as the tip clearance flow consists of thoroughly sheared
vortical fluid that undergoes significant acceleration and is therefore quite different than a standard
boundary layer. It is expected that the skin friction will be high in this region due to the
acceleration.
General Advice
What grid resolution is adequate?
The resolution method employed in the FINE™/Turbo solver requires approximately 9 nodes
across a free shear- layer and approximately 15 across a boundary layer to provide grid-
independent results for turbulent flows. If wall functions are used the boundary layer only requires
approximately 9 nodes.
Of course the flow field under study will realistically consist of shear layers of which the width
varies substantially throughout the flow field. The user must therefore decide what is important to
capture and what is not. For instance, in the design-cycle analysis of a compressor with a volute it
would probably be acceptable to choose a fully-developed boundary layer. The number of nodes
across the diameter would therefore be approximately 29. However, it would be wise to select a
number like 33 to maintain a large number of multi-grid levels. The selection of nodes in the
streamwise direction should be governed by what resolution adequately represents the studied
geometry. Regions of concentrated high gradients, such as airfoil leading or trailing edges or any
geometrical corners should contain a relatively high clustering of nodes.
What determines the grid quality?
After the various grid resolution concerns are addressed, the level of skewness must be analysed.
Providing clustering in a curved geometry can often lead to internal angles of grids cells of 10°. It
is important to minimize the number of cells containing such low angles as the calculation of
fluxes can become significantly erroneous under such conditions. More information concerning
how to check the quality of a grid can be found in the IGG™ or AutoGrid™ manual. If the
adjustment of node numbers and clustering does not reduce the level of skewness,
local
smoothing should be applied. The expansion ratio, or the ratio of adjacent cell sizes, should also
be checked. It is particularly important to keep this value within an absolute range of about 1.0-
1.6 in regions of high gradients, such as boundary layers, free shear-layers and shocks. If it is
evident that adjacent cells are different in size by factors significantly greater than two, the
clustering in this region should be reduced or the number of nodes should be increased.
Verification of y1
+
is recommended however,
By following these instructions it should be possible to generate a grid of reasonable quality for
+ after
turbulent flows. It
approximately one hundred iterations on the fine grid to ensure the proper range has been
specified. At the same time, it can be useful to plot contours of residuals (continuity, momentum,
energy and turbulence) over selective planes. If the level of skewness is too high, this will be
indicated by local peaks in residuals that are orders of magnitude greater than the rest of the flow
field. If a multi-block grid is used, the residual levels in each block can be compared in the
Monitor.
the user checks values of y 1
that
D. Defining Initial & Boundary Conditions
Turbulence is commonly modeled by emulating molecular diffusion with a so-called "eddy-
viscosity" (μT). A standard method for determining μT is based on turbulent-eddy length and time
scales that are modeled through turbulence kinetic energy (k) and dissipation (e.g. ε) equations. It
is important to note that the level of turbulence quantities (i.e. turbulence intensity, μ T, k, ε )
specified at the inlet boundary can have a strong effect on the flow-field prediction for quantities
like the total pressure, velocity profiles, flow angles, total temperature etc. Since the measurement
of turbulence is rarely conducted in a design and test environment, the designer faces the problem
of setting these quantities without knowing the correct values.
Spalart-Allmaras Model
When the Spalart-Allmaras model is selected, , the user has the possibility to define the turbulence
by different sets of turbulent quantities. Following options are available:
l Turbulent Viscosity
l Turbulent Viscosity Ratio
l Turbulent Intensity and Length Scale
l Turbulent Intensity and Hydraulic Diameter
l Modified Turbulent Viscosity (Only available for the initial solution)
The Modified Turbulent Viscosity is equal to the turbulent working variable described in Spalart-
Allmaras Model.
The level of turbulence is extremely sensitive to the type of application. Therefore, if the
indication of the actual level of turbulence in the studied or similar configuration is available, the
user should use it. If no information is available on the order of magnitude of any available
turbulent quantity, estimations can be made based on the following assumptions that:
l For internal flows (e.g. turbomachinery):
= 10 to 100 (high turbulence).
l For external flows (e.g. vehicle aerodynamics):
.
k-ε, k-ω, EARSM and v²-f Models
When the k-ε , k-ω and v²-f models are selected, the initial turbulence and the turbulence at the
boundaries have to be specified. The user has the possibility to define the turbulence by different
turbulent quantities. Following options are available:
l k and ε
l Turbulent Intensity and Viscosity Ratio
l Turbulent Intensity and Length Scale
l Turbulent Intensity and Hydraulic Diameter
l From Friction Velocity (Only available for the initial solution)
The From Friction Velocity option does not require the user’s input and generates the initial
turbulence automatically based on the initial flow field. This option is used by default (with
INIKE=2) when the full multigrid initialization starts with the Baldwin- Lomax model (KEGRID-
1<=number of grid levels) to take advantage of the already computed flow field on coarser grid
levels.
If no information is available on the turbulence properties of the flow, estimations of some
turbulent quantities can be made based on the following formulations.
l The turbulence intensity Tu can be estimated:
l For internal flows, the value of Tu is between 1% and 10% according to the expected
turbulence intensity. A value of 5% is used by default.
l For external flows, the value should be reduced to 1%.
If desired, the value of k can be derived from the turbulent intensity with following formula
l The turbulent viscosity ratio can be estimated:
l For internal flows (such as turbomachinery flow), typical values are
= 10 to 100
(high turbulence). The default value is 10.
l For external flows (in aerodynamics computations), typical value is
= 1
If desired, the value of ε can be derived from the turbulent viscosity ratio with following
formula
l Using the turbulent length scale is another option. The default value of the turbulent length
scale is set to 0.0001m. It is directly related to epsilon by the following formula
Increasing the turbulent length scale implies a lower dissipation rate and consequently a higher
turbulence in the flow.
l If the wall shear stress is known, the user can use the wall functions defined for the fully
turbulent flow to determine k:
Or to determine ϵ:
The values of the inlet boundary conditions can be used to set the initial turbulent fields.
However, with 2-equations turbulence models, to reduce the possibility of oscillations in skin
friction due to non-physical relaminarization during convergence, it is recommended to set for the
initial solution:
l A lower value for epsilon (
= 0.1
) in case k and ε is selected as the turbulent
quantity
l A higher turbulent viscosity ratio if this is lower than 1 in case Turbulent Intensity and
Viscosity Ratio is selected as the turbulent quantity
l A higher value for the turbulent length scale in case Turbulent Intensity and Length Scale
or Turbulent Intensity and Hydraulic Diameter is selected as the turbulent quantity
Either of the above methods can be applied for setting the boundary conditions in turbomachinery
applications. If the inlet turbulence is unknown to the user, it is suggested to select the Turbulent
Intensity and Viscosity Ratio option and to keep the proposed default values (which should be
adapted for external cases). However, if the given values lead to the damping of the turbulence
shortly after the inlet section, it is advised to increase the turbulent viscosity ratio (set to 50 or more
if it is not sufficient).
E. Setting Expert Parameters to Procure Convergence
Several expert parameters may be set to procure convergence.
Minimizing Artificial Dissipation in the Boundary Layer
An alternative treatment of the dissipation terms in the k and ε equations has been introduced to
overcome difficulties related to turbulence decay in boundary layers observed in some specific test
cases. Currently, the dissipation terms are scaled with the spectral radius of the equations and are
further damped in an exponential manner across the boundary layer. The major drawback of this
formulation is that it introduces an excessive amount of artificial dissipation into the boundary
layer, leading to non-physical relaminarisation problems. A different implementation, based on the
L.E.D. (Local Extrema Diminishing) version of the Jameson-Schmidt-Turkel treatment introduces
better monotonicity properties of the k and ε equations.
IKELED(integer):0 (default): Dissipation scaled with spectral radius.
1: Less diffusive L.E.D. scheme activated.
Wall Function for the k-ε Turbulence Model
INEWKE(integer):0: Wall function applies for first node off the wall at y+ =20-50, Launder &
Spalding.
10 (default): Mesh-independent formulation of the wall function.
Full Multigrid k-ε / Baldwin-Lomax & v²-f / Baldwin-Lomax Switch
KEGRID = 2: Grid 222 - Baldwin Lomax,
Grid 111 - Baldwin Lomax,
Grid 000 - k-ε or v²-f Model.
KEGRID = 3: Grid 222 - Baldwin Lomax,
Grid 111 - k-ε or v²-f Model,
Grid 000 - k-ε or v²-f Model.
Example: k-ε run on the finest grid level (000) with 3 levels of grid (222, 111 & 000) in the multi-
grid procedure. The Baldwin-Lomax model remains active on levels 222 and 111 before k-ε is
automatically switched on when the finest grid is reached. This is controlled through the expert
parameter KEGRID whose value is set to 2, meaning that the Baldwin Lomax model is used up
to the second level of grid. The μt/μ field computed using the Baldwin-Lomax model is then
transferred to the finest mesh and used to calculate initial k and ε values. The use of a KEGRID
(set to 10 by default) value higher than the number of grid levels available enables the k and ε
equations to be solved on all grid levels.
A similar procedure can be followed when a calculation on 111 mesh is first desired. Providing
KEGRID is set to 2, the Baldwin-Lomax is then active on level 222 before the k-ε model is
automatically switched on when the finest grid level (111 in this case) is reached. However, the
question then arises when a restart procedure on the 000 level is required. How to restart on 000
while transferring strictly the k and ε fields already computed on 111? If KEGRID=2, the solution
computed on 111 is seen as a Baldwin-Lomax solution. The k and ε fields are then reset using the
classical procedure while the other variable fields (density, velocity and energy) are transferred
adequately. To overcome this difficulty, KEGRID must again be set to a value higher than the
number of grids. This procedure results in a much better initialisation of k and ε , thus preventing
some relaminarisation while enhancing convergence.
Cut-off (clipping) of Maximum Turbulence Production/Destruction
Value
turbulence
The float parameter PRCLIP controls
production/destruction (=production/density*dissipation in k-ε model). Limiting this to a finite
value enhances the convergence rate by removing the possibility of unbounded turbulence spikes
occurring during the numerical transient. However, care must be taken to apply a reasonable limit.
Recommended values are:
the maximum allowable value of
PRCLIP (real): For most flows: 50 (default),
In turbulent diffusion dominated flows (e.g., seals): 200.
In case of using generalized transition model with the EARSM turbulence model,
parameter PRCLIP is automatically set to 10.
the expert
Cut-off (clipping) of Maximum Turbulent Viscosity Ratio (μT /μ)
The float parameter MUCLIP controls the maximum allowable value of the turbulent viscosity
ratio μ T /μ. Limiting this to a finite value enhances the convergence rate by removing the
possibility of unbounded spikes occurring during the numerical transient. At the end of the
computation however, the value of μT/μ should not be clipped anymore. During the convergence
process, the user can check the output of the computation to see if the maximum value for the
turbulence ratio has been reached. If this is the case, the output will contain a line: "MUT/MU
CLIPPED FOR # CELLS". MUCLIP can then be put to a higher value, to increase the limit.
However, care must be taken to apply reasonable limits. Recommended values are:
MUCLIP (real): For most flows: 5000 (default). It can be increased if necessary.
4.4
LAMINAR-TRANSITION MODEL
4.4.1
Introduction
The boundary layer which develops on the surface of a solid body starts as a laminar layer but
becomes turbulent over a relatively short distance known as the transition region. This Laminar-
Turbulent
transition is a complex and not yet fully understood phenomenon. Among the
numerous parameters that affect the transition one can list: the free stream turbulence intensity, the
pressure gradient, the Reynolds number, and the surface curvature.
Furthermore, predicting the onset of turbulence is a critical component of many engineering
flows. It can have a tremendous impact on the overall drag, heat transfer, and performances
especially for low-Reynolds number applications. However, most of the turbulent models fail to
predict the transition location.
FINE™/Turbo provides two transition models:
l Global correlation transition model: this model is based on the Abu-Ghannam and Shaw
(AGS) model using experimental correlations. The intermittency is evaluated along the blade
walls and used to trigger the turbulence. This approach can only be applied to a blade using
AutoGrid5™ mesh.
l Generalized transition model (Local correlation): this model is based on the experimental
) in the free stream to the momentum
) at transition onset. Two additional transport equations, one
correlations that relate the turbulence intensity (
thickness Reynolds number (
for the intermittency and one for the transition momentum thickness Reynolds number, are
used. The transition onset is defined by using only local information on all solid walls.
Note, the user cannot simply compare the global correlation transition model and the generalized
transition model by the intermittency because the philosophy of both approaches is totally different.
l for the global correlation transition model:
intermittency is a solid surface property that
is
communicated to all 3D points that are close enough to this solid surface cell.
l for the generalized transition model: intermittency is a 3D property that has no meaning on solid
surface.
To compare both approaches, it is suggested to compare the friction coefficient along solid
surfaces, or compare the eddy viscosity (or turbulent kinetic energy) at a certain distance from the
solid surface. In this case, the same quantities (with the same meaning) from both calculations are
compared.
The transition model can be activated in the Optional Models / Transition Model page. Then
the Global correlation transition model and/or Generalized transition model
(Local
correlation) will be available depending on the mesh configuration and selected turbulence
model. The two transition models will be described in detail in the following sections.
4.4.2 Global correlation transition model
Overview
The global correlation transition model in FINE™/Turbo is mainly devoted to turbomachinery
applications using AutoGrid™ mesh. Global Correlation Transition Model describes the interface
of this model. More information on the global correlation transition model can be seen in Global
Correlation Transition Model in the theory guide.
However, the global correlation transition model is also available for the other cases, such as flat
plate, wings and hydrofoils, etc. In the next section, a best practice will be given to describe how
to model transition using the global correlation transition model on non-turbomachinery cases.
How to model transition on non-turbomachinery cases
Use of the global correlation transition model is restricted to the pressure and suction sides of the
turbomachinery blade using AutoGrid™ mesh. Modeling transition on non-turbomachinery cases
can therefore only be performed by considering the object to be a pseudo "blade" and modifying
the mesh files manually. The limitation on the mesh of non-turbomachinery cases is:
l The mesh topology should be similar to a AutoGrid™ mesh topology (with at least a proper
mesh in spanwise direction).
l The transition is along a pseudo "blade", so the user has to add the "blade" definition in the
mesh files manually.
Example: Mesh for modeling transition on a flat plate
Considering transition flow over a flat plate ( FIGURE 4.3 ). The computational domain
corresponds to an external flow with a constant velocity blowing towards the flat plate.
Note that for the flat plate case the user has to consider the two faces of the plate since the
transition model needs a pressure side and a suction side.
FIGURE 4.3
Computational domain for a flat plate
In order to be compatible with the global correlation transition model, a 3D mesh should be used
for this case with a correct orientation: i perpendicular to the flat plate with i=1 on the flat plate
and with j and k along the plate: k in streamwise direction and j perpendicular to main flow
direction.
The .bcs file of the mesh should be modified in order to include the turbomachinery blade
definition. At the end of the .bcs file the line "NUMBER_OF_BLADES 0" should be modified:
the "0" should be change in a "1" as the flat plate will be considered as one blade (of zero
thickness).
Next lines need to be added as shown here:
4.4.3 Generalized transition model
Overview
The generalized transition model (Local correlation) in FINE™/Turbo uses the model proposed
by Menter and Langtry. This model is based on two transport equations for the intermittency (γ)
and for the transition momentum thickness Reynolds Number (
are used to relate the turbulence intensity (
momentum thickness Reynolds number (
). Experimental correlations
) and the pressure gradient in the freestream to the
) at transition onset. The innovation using two
additional transport equations is that only local information is used to define the transition onset on
all solid walls. This allows to remove all limitations that exist in the global correlation transition
model.
The generalized transition model is applied with the SST/EARSM turbulence models. The
intermittency is used to turn on the production term of the turbulent kinetic energy downstream of
the transition point. The equation for the transition momentum thickness Reynolds Number is
used to capture the non local effects in the free stream (turbulence intensity and pressure gradient)
and to diffuse them into the boundary layers. More information can be found in the theory guide.
The limitations using the generalized transition model are:
l The generalized transition model is only applied to the SST/EARSM turbulence models.
l The generalized transition model is not compatible with CPU Booster and the Harmonic
method. For the detailed compatibility information, please refer to the Compatibility Matrix of
FINE™/Turbo.
l The generalized transition model is applied to the whole fluid domain.
In the following sections, the interface and best practices will be described.
Generalized transition model in the FINE™/Turbo GUI
When activating the button Transition Model in the Optional Models / Transition Model page
and selecting the button Generalized Transition Model (Local Correlation), the layout of the
page is shown, see FIGURE 4.4.
The generalized transition model can be accessed only when the SST turbulence model is selected.
FIGURE 4.4
Generalized Transition Model page in FINE™/Turbo
No parameters are needed to be specified by the user. The boundary conditions of the transition
variables are automatically set. The model will be applied to all the fluid domain.
The intermittency (Intermittency) and transition momentum thickness Reynolds number (Local
transition Reynolds θ) are available on the Outputs/Computed Variables page under the
category Turbulence for post processing in CFView™.
Expert Parameter
IGTLAW (integer): select the empirical correlations between the transition length (
) and
the critical momentum thickness Reynolds number (
). Many authors have proposed their
different correlations when applying the generalized transition model based on the γ- equations.
The correlation can be selected by the expert parameter IGTLAW, see the theory guide for the
details.
l 1 (default for SST): model provided by Langtry (2006),
l 2: model provided by Malan et al. (2009)
l 3: model provided by Sorensen (2009)
l 4: model provided by Kelterer et al. (2010)
l 5 (default for EARSM): new model, see theory guide for more details.
INEWF1 (integer): possibility to use the improved blending function in the SST model by setting
INEWF1 to 1. More information can be found in the theory guide.
EUWDIS (integer): Control the computation of the wall distances from the EULER walls.
l 0 (default): not compute,
l 1: compute
GTCA1I (real): real constant for the generalized transition model
GTCA2I (real): real constant for the generalized transition model
GTCE1I (real): real constant for the generalized transition model
GTCE2I (real): real constant for the generalized transition model
.
.
.
.
GTSIGI (real): real constant for the generalized transition model
.
GTCTHR (real): real constant for the generalized transition model
.
GTSIGR (real): real constant for the generalized transition model
.
CFLINT (real): real constant (CFL) for the intermittency equation for which the residuals are not
smoothed .
Guidelines and best practices
Some aspects (grid, boundary conditions, ...) need to be noted when creating a project using the
generalized transition model. Otherwise the generalized transition model may not be able to
improve the simulation, even provide worse predictions (for example: with inaccurate inlet
turbulence variables).
When should the transition model be used?
Two additional transport equations have to be solved on a sufficiently refined grid for the
transition model. This requires an additional CPU cost (~ 20%). It is advised to estimate when this
additional cost is useful. A first answer can be found in the relative percentage of the laminar flow
on the device. It is well known that the transition is fast with the standard SST model (nearly fully
turbulent), so that the transition prediction cannot improve the simulation of the high turbulent
cases. The relative percentage of laminar flow on a device can be roughly estimated by using the
following formula, which is based on the empirical correlation for transition onset proposed by
Mayle (1991):
where
is the transition Reynolds number,
is the device Reynolds number, V is a
representative velocity,
is the length of the device, ν is the kinematic viscosity, and Tu is the
free stream turbulence intensity in percent.
The free stream Tu as well as the relative velocity V must be estimated around the blade where the
transition occurs and not at the inlet of the meshed domain.
It is noted that the relative percentage of laminar flow on a device does not take into account the
effect of the pressure gradient and cannot be directly used to get the transition onset location.
Another important point that is missed is the effect of possible separation bubble depending on the
blade design (or pressure gradient). Moreover, this estimation can provide value higher than 1
with low turbulence intensity. In this case, there is no doubt about the use of the transition model.
In general, the effect of the transition model can be neglected when the estimated relative
percentage of laminar flow is lower than 5%.
Grid requirement
As the generalized transition model is based on local values in the boundary layer and solves a
transport equation for the intermittency, this requires a suitable grid refinement along the walls.
The size of first cell must be sufficiently small to reach a
lower than one or in the order of one
(as for all low-Reynolds turbulence models).
Moreover too large expansion ratios must be avoided for the clustering in the normal direction. It
is advised to keep an expansion ratio lower than 1.2.
The number of points and the refinement location along the streamwise direction are also
important for a good transition prediction. In general, transition predictions will require more
points along the streamwise direction than fully turbulent predictions. For turbomachinery,
depending on the blade shape, the minimum number of points from the leading edge to the trailing
edge is in the range [60; 120]. A large number of point is requested mainly for separation induced
transition with possible reattachment. The refinement will be concentrated around the leading
edge for blade with a sharp leading edge (to capture the possible separation bubble and
reattachment) or in high turbulence flow.
How to specify the inlet turbulence variables?
The user should pay attention to the inlet turbulence variables. The predicted results are very
sensitive to the values of the inlet turbulence variables because of the decay of turbulence from the
inlet to the leading edge of the device. The inlet boundary conditions should be well defined, so
that the turbulence intensity has decayed to the desired value at the leading edge of the blade. The
ideal for the best estimation is to know the turbulence intensity profile downstream of the inlet.
The FIGURE 4.5 shows the calibration along a flat plate for the test case T3A.
FIGURE 4.5
Calibration of the turbulent intensity profiles (in %).
However these data are usually unknown. Sometimes the available turbulent data are only
turbulent intensity in a plane upstream the blade or the user has a rough estimation at the leading
edge. In such cases for which k (or Tu) is known at a distance x from the inlet plane, the following
equation can be used to estimate the inlet values. This is the one-dimensional analytical solution of
the turbulence equations (without diffusion and cross-diffusion terms) in a uniform flow with a
constant velocity (V):
or
where
and
for the SST turbulence model.
The formula can be formulated in terms of the turbulence intensity (Tu) and the turbulent viscosity
ratio (
) at inlet:
This equation provides mathematically an infinite number of possible couple of values at inlet (
). If the specific dissipation (ω) can also be estimated in the plane x, the equation
,
system can be closed:
or
then,
In practice, the turbulent intensity Tu (or the corresponding turbulent kinetic energy k) will be set
to a physical value depending on the case. If the domain is artificially extended, it can be
increased up to a maximum value given by the previous equation. The inlet turbulent viscosity
) should be kept in a physical range [1; 1000]. The larger the inlet turbulent viscosity
ratio (
ratio, the smaller the turbulent decay rate. For internal flow, a typical value is
= 50 but it is
depending on the upstream device. The resulting inlet turbulent dissipation rate (ε ) should be
) is actually in the physical
checked so that the turbulence dissipation length scale (
range [0.1%; 1%]*L where L is a characteristic length of the case.
4.5 GRAVITY FORCES
When gravity should be taken into account the box Gravity Forces should be checked. If gravity
is activated, three input dialog boxes appear to define the Gravity Vector. The default gravity
vector is defined as: (gx, gy, gz)=(0,-9.81,0) [m/s²], representing the gravity on Earth where the y-
axis is oriented normal to the ground.
When the gravity is taken into account in the Navier-Stokes equations, the source terms
and
are respectively introduced in the momentum and energy conservation equations where
ρ is the density,
the gravity vector and
the velocity vector.
If the fluid is a liquid, the density is constant and there is no influence of the pressure or
temperature on the flow by interaction with the gravity. To simulate these interactions, one can
use the Boussinesq approximation in the gravity source terms. With this approximation, the
density is developed in the first order of the MacLaurin series. It becomes:
with α the compressibility and β the dilatation coefficients specified in the fluid properties.
This variation of
the density is only applied to the gravity source term (Boussinesq
approximation). Otherwise, the density is kept constant in the conservation equations. The value
and
is the characteristic density specified in the Configuration/Flow Model page.
of
are the reference values in the Configuration/Flow Model page.
When the gravity is taken into account, a reference pressure must be specified at a reference altitude
to add the hydrostatic pressure in the initial pressure field. The reference pressure is the reference
value in the Configuration/Flow Model page. The reference altitude is specified in the expert
parameter IREFPT in meter [m].
4.6
LOW SPEED FLOW (PRECONDITIONING)
This option appears in the Flow Model page only if the fluid type is compressible. Preconditioning is
automatically used for incompressible fluids.
In the low Mach number regime, time-marching algorithms designed for compressible flows show
a pronounced lack of efficiency. When the magnitude of the flow velocity becomes small in
comparison with the acoustic speeds, time marching compressible codes converge very slowly.
Two low speed preconditioners, Hakimi and Merkle preconditioners, have been implemented in
the FINE™/Turbo solver in order to provide fast convergence characteristics and accurate
solutions as the Mach number approaches zero:
l The Hakimi preconditioner is of sufficient generality and can treat any type of fluids and
flows. Efficient convergence rates and accurate solution can be obtained for Mach numbers
from M=0.1 to M=10-6, Reynolds numbers from Re=106 to 10-6 and aspect ratios from 1 to
2000.
l Compared with the Hakimi preconditioner, the Merkle preconditioner has the advantage that it
is not only efficient at all Mach number but also at all Reynolds and Strouhal numbers. With
the Merkle preconditioner, the user can perform a fast and accurate computation of supersonic
flows with regions at very low speed. Moreover the Merkle preconditioner doesn't require any
user inputs.
4.7
CHARACTERISTIC & REFERENCE VALUES
Reynolds Number Related Information
The user has to specify some characteristic values (length, velocity and density). These values are
used to calculate the Reynolds Number (only plotted when the kinematic viscosity is constant)
that provides a useful information to choose the suitable model. These characteristic values can be
used for other purposes as well.
The characteristic length is used:
l in the outlet boundary condition for which the mass flow is imposed with pressure adaptation
when the expert parameter MASPAO < 2,
l in the computation of CP1 and CP3 for cylindrical cases.
l in the transition model, to set the free stream turbulent intensity.
The characteristic velocity is used:
l in the preconditioning method to compute the parameter β,
l in the computation of the solid data Cf (normalized by
).
The characteristic velocity should be set to the highest value in the flow domain.
The characteristic density is used:
l in the Boussinesq approximation for incompressible fluid,
l in the computation of the solid data Cf (normalized by
),
l in the evaluation of the Reynolds number only when the dynamic viscosity of the fluid is
specified in the Sutherland law on the Fluid Model page.
Reference Values
The reference values have been introduced for preconditioning, to define a gauge pressure and a
gauge total energy.
A value of Reference temperature Tref of the order of magnitude of the expected temperature field
will reduce the machine round-off errors influence on the temperature field.
The value of Reference pressure Pref fixes the absolute level of the pressure in the field. This value is
used in the equation of state for a compressible fluid and in the second order artificial dissipation
term. A value of Pref close to the real pressure level is therefore recommended.
These reference values also have some additional uses which are described hereafter:
l in the Boussinesq approximation for incompressible fluid,
l in the outlet boundary condition for which the mass flow is imposed with pressure adaptation
when the expert parameter MASPAO < 2,
l in the definition of the heat transfer coefficient when the expert parameter HTCDEF is set to 2.
CHAPTER 5.
BOUNDARY CONDITIONS
During the IGG™ grid generation process, the user has to define the type of boundary condition to be
imposed along all boundaries. The parameters associated with these boundary condition types can be
fully defined using the Boundary Conditions page.
This chapter gives a description of the boundary conditions, available in the Boundary Conditions
page. In Boundary Conditions in the FINE™/Turbo GUI, the page is described. For expert use, the
Expert Parameters section gives an overview of the available expert parameters. Best Practice for
Imposing Boundary Conditions provides some advice on the combinations of boundary conditions to
use.
In this section
5.1 Boundary Conditions in the FINE™/Turbo GUI
5.2 Expert Parameters
5.3 Best Practice for Imposing Boundary Conditions
108
140
143
5.1
BOUNDARY CONDITIONS IN THE
FINE™/TURBO GUI
When selecting the Boundary Conditions page the "parameters area" appears as shown in
FIGURE 5.1. Five tabs are available, depending on the boundary condition types defined in the
mesh. There are currently five types of boundary conditions available in the FINE™/Turbo
solver: inlet, outlet, periodic (connection with or without rotational or translational periodicity),
solid walls and external (far-field). Each of those is described in the next sections.
Note that the connecting (matching (CON) and non-matching (NMB)) boundary conditions (without
periodicity) do not appear in this menu because they do not require any input from the user. Only the
"periodic" conditions (PER & PERNM) appear in the Periodictab page.
Note that the full non matching and periodic full non matching connections defined within IGG™
(refer to IGG™ User Manual for details on limitations) are appearing in the Solid tab page.
A common particularity of the five boundary conditions pages is their subdivision into two areas.
The left area always contains a list of the different patches that are of the boundary condition type
of the selected tab page. A patch can be identified either by the name of the block face to which it
belongs and by its number, or by the numbers of the block and face and by its local index on the
face (if no name is provided in IGG™). The right area is the area where the boundary condition
parameters are specified for the selected patch(es).
FIGURE 5.1
Boundary Conditions page
One or several patches may be selected in the left area by simply clicking on them. Clicking on a
patch unselects the currently selected patch(es). It is possible to select several patches situated one
after another in the list by clicking on the first one and holding the left mouse button while
selecting the next. To select a group of patches that are not situated one after another in the list,
the user should click on each of them while simultaneously holding the <Ctrl> key pressed.
Several patches can be grouped by selecting them and clicking on the Group button. A dialog
box will appear asking for a group name. The name of the group will appear in red in the list of
patches to indicate that this is a group of patches. Every change in the parameters when a group is
selected applies to all patches in the group. The Ungroup button removes the group and its
patches are displayed individually in the list.
The Ungroup button is active only when at least one group is selected.
Different groups cannot use the same group name. For example, an inlet group cannot use the same
name as an outlet group.
Clicking with the left mouse button on the plus sign + left of a group name in the list will display
the patches included in this group.
If some of the patches have been given names in IGG™, these names will appear in FINE™/Turbo. If
the patches have been grouped in IGG™, by giving the same name to many patches, they will appear
ungrouped in FINE™/Turbo (with block, face and patch number shown after the name) to avoid
contradiction between grouping in IGG™ and FINE™/Turbo. Ungroup button will toggle the IGG™
name of the selected patch(es) with the default FINE™/Turbo name (block, face and patch number).
If the Use Grid Configuration option is activated when linking the mesh for the first time, a
default grouping by row is proposed by FINE™/Turbo. For the solid boundaries, the rotation speed
specified in IGG™ or AutoGrid™ is automatically transferred to FINE™/Turbo. This limits the user
input to a strict minimum. This automatic grouping cannot be modified by the user.
If the graphics area with the mesh topology of the project is opened (Mesh/View On/Off menu),
all the selected patches and/or groups will be highlighted. A click with the right mouse button
over a selected patch will select all the patches and groups in the list that have the same
parameters.
If the user selects several patches that have different parameters, a warning dialog box will appear.
When clicking on OK all parameters will be set equal to the ones of the first patch. Selecting
Cancel instead will cancel the selection.
FIGURE 5.2
Two patches will be grouped into a group called HUB.
The right area of all the notebook boundary condition pages is created generically using a
resource file, where all the boundary condition parameters are described altogether with their
default values.
Some boundary conditions are only available for an incompressible, compressible or condensable
gases. FINE™/Turbo will automatically disable the boundary conditions that are not available,
depending on the type of fluid selected in the Fluid Model page. Also, the type of boundary
conditions are adjusted according to the selection for Cartesian or cylindrical boundary conditions.
The five pages associated to each of the five types of boundary conditions are described in detail
in the following sections.
5.1.1
Inlet Condition
Available Types
The inlet boundary condition page is customized according to the configuration of the project
(Cartesian or cylindrical) as shown in the following two figures. The user has the freedom to
access both types of configuration in the Boundary Conditions page independently of the mesh
properties.
FIGURE 5.3
Subsonic inlet boundary conditions page for cylindrical problems.
FIGURE 5.4
Subsonic inlet boundary conditions page for Cartesian problems.
The upper part of the inlet boundary condition page allows the user to select the type of inlet
condition to apply to the selected patches through a series of toggle buttons. There are two
categories of inlet conditions: conditions applicable to Subsonic inlets and conditions applicable
to Supersonic inlets.
Note that the velocity component normal to the boundary should be considered to determine whether
an inlet (or an outlet) boundary is subsonic or supersonic, .
Total quantities imposed condition applicable to supersonic inlets is not compatible with condensable
fluid.
For each inlet condition type, the lower part of the page is adapted to provide input boxes only for
the physical variables that are required to determine the boundary condition fully. These variables
are for instance: the pressure and temperature (static or total), the velocity components, the
velocity magnitude, the velocity angles (specified in radians), or the mass flow.
The user can also set a list of parameters that characterize the injection of an acoustic duct mode at
the inlet .
In case of a simulation using a 1-equation turbulence model (SA) or a 2-equations turbulence
model (k-ε, k-ω or v²-f), the inlet values of the turbulence are also required .
For the inlet boundary conditions:
l The velocity components are defined in the Cartesian or cylindrical coordinate system,
depending on the selected type
l The pressure and the temperature values to specify can be the static or the total values
l For rotating configurations, the specified values are the absolute quantities
l A special condition is available, for which the values can be entered in the upstream rotational
frame of reference
Nine major types of inlet boundary conditions can be identified:
l velocity components, static pressure and temperature (supersonic inlet)
l velocity components and the static temperature
l total pressure, total temperature and the flow direction + acoustic parameters (for NLH
computation only)
Total quantities imposed boundary conditions with Angle from Axial Direction (V-extrapolated)
cannot be used in the case that the streamwise direction is in negative Z, because Vz is imposed
positive whatever the geometry is.
l total enthalpy, dryness fraction and the flow angles (only for condensable fluid)
l total pressure, dryness fraction and the flow angles (only for condensable fluid)
l total pressure, total enthalpy and the flow angles (only for condensable fluid)
The use of the three boundary conditions mentioned above requires the presence of the saturation
table ("PSA.atab") of the fluid in the corresponding subfolder.
The inlet thermodynamic must be either saturated or be located inside the biphasic zone. The validity
of the condensable fluid model is limited to gases with a small fraction of liquid (X > 0.8) or
reversely to liquids with a small fraction of gas (X < 0.2).
l mass flow, static temperature and the flow direction 
The mass flow imposed in the GUI will be used for the whole inlet. For example, if the user has a
rotational periodicity of 40, the mass flow for only one passage will be the mass flow specified in the
GUI divided by 40.
l distributions of the flow variables for the non-linear harmonic method.
l conditions set from a rotor-stator interface (SubProjects only)
Inlet boundary condition Velocity normal to inlet is not compatible with the following expert
parameter value:
l INITRB=0
l IMASFL=1
l INMFTT=1
Moving grid is not compatible with relative velocity normal to inlet when using mass flow imposed.
When activating the Expert Mode (more details in "User Mode" (p. 39)), the user can access the
order of the extrapolation used to imposed the quantities at the inlet boundary. With the zero
order, the extrapolation will use the value computed in the first cell; with the first order, the
extrapolation will be based both on the first and the second cell.
Turbulent quantities for 1- and 2-equation turbulence models
In case a 1- or 2-equations turbulence model is selected, the boundary value of the turbulence
must be imposed. The user can choose between several sets of turbulent quantities.
Given a 1-equation turbulence model, following turbulent quantities are available:
l Turbulent Viscosity
l Turbulent Viscosity Ratio
l Turbulent Intensity and Length Scale
l Turbulent Intensity and Hydraulic Diameter
and given a 2-equations turbulence model:
l k and ε
l Turbulent Intensity and Viscosity Ratio
l Turbulent Intensity and Length Scale
l Turbulent Intensity and Hydraulic Diameter
Only the options Turbulent Viscosity and k and ε can be defined as an interpolation profile. The
other turbulent quantities are only compatible with constant imposed values.
The turbulence at the inlet near solid walls can differ from the imposed one due to the non-linear
relations between the variables and the interpolation process at the corners.
If the turbulent intensity is specified as input data, the concerned inlet patches must be grouped in one
group since the whole inlet has to be considered for the computation of the averaged velocity.
Non reflecting treatment dedicated to turbomachinery applications
A non reflecting treatment can help to get more physical results on the inlet when the boundary
conditions are not known accurately and azimuthal fluctuations of the flow quantities are
expected. Such formulation decreases the shock reflection by the inlet boundary and usually
allows capturing a part of the potential effect when the boundary is too close to the leading edge
of a downstream blade row.
In FINE™/Turbo, the inlet non reflecting treatment can be set for a range of subsonic cylindrical
boundary conditions types. The option can be activated by checking the Non reflecting Turbo
button available when a Total Quantities Imposed, Total Enthalpy and Dryness Fraction
(Condensable Gas Only), Total Pressure and Dryness Fraction (Condensable Gas Only) or
Total Pressure and Total Enthalpy (Condensable Gas Only) type of boundary condition is
factor for the inlet mentioned in the theory guide) for the
selected. The relaxation coefficients (
entropy wave, two vorticity waves and the incoming acoustic wave can also be input once this
button is checked.
FIGURE 5.5
Inlet non reflecting boundary condition treatment
The following limitations apply:
l The inlet boundary must be on a revolution surface and bounded by periodic boundary
conditions (or connected to itself if the domain is meshed on 360°);
l When different patches define the boundary condition, they have to be grouped in the Patches
& Groups panel;
l The non reflecting inlet treatment is limited to steady computations and it is not compatible
with Hakimi preconditioning;
The non reflecting treatment is sensitive to the initial condition, especially with preconditioning. If
the initial condition cannot be close to the physical expected values at the inlet boundary (e.g. by
the relaxation
initial solution instead of the one dedicated to turbomachinery),
using constant
coefficients must be set lower than 1. Decreasing the relaxation coefficient does not impact the final
solution but reduces the convergence speed. This can be useful with CPU Booster, because of the
large modifications of the variables during one iteration. If a convergence problem due to non
reflecting boundary condition persists, it is still possible to start from a solution without the non
reflecting treatment.
Injection of acoustic duct mode
For a computation involving multi-rank NLH and cylindrical configuration, the user can specify a
set of acoustic parameters enabling the injection of an acoustic duct mode at the inlet.
For each frequency considered in the acoustic analysis, the acoustic pressure field can be
decomposed into an infinite summation of physical waves called acoustic modes. Each mode is
characterized by an amplitude, a phase, and an order (periodicity in space) characterizing the
pressure oscillation in the azimuthal direction.
FIGURE 5.6
Acoustic settings
Dedicated entries have been created for the input of the azimuthal order of an acoustic mode, as
well as the real and imaginary part of the pressure fluctuation that define the amplitude of the
considered mode (these last two quantities can either be defined as constant, or dependent of the
radial coordinate by imposing a profile). The frequency of the considered acoustic mode can be
entered in the last input box of this option.
FIGURE 5.7
Time reconstruction in CFView™ - Acoustic mode at the inlet
The development implemented in FINE™/Turbo considers the mode as a distortion (index "Di"
in the harmonic selection available in CFView™ for time reconstruction). Planar waves,
characterized by an azimuthal order of 0, are also supported.
Note that the effects of the acoustic pulsation into each of the rows are modeled by one single
harmonic.
Coupling Temperature with Outlet
When the mass flow is imposed at an inlet patch, the temperature may be chosen to be coupled to
an outlet patch. The coupling is performed through the static temperature. Only in that case, the
average temperature Taverage is computed at the specified outlet and imposed at the inlet as Tinlet
= Taverage + ΔT . The quantity ΔT is a constant temperature difference (>=0 or
<0) specified by the user. This is done in FINE™/Turbo by choosing Mass Flow Imposed as
boundary condition type for the subsonic inlet in cylindrical configuration and clicking on the
Coupling Temperature With Outlet button. A pull-down menu allows to select which patch of
the outlet must be involved in the coupling. The value to be entered in the static temperature box
is ΔT.
This option is only working if both inlet and coupled outlet patch have the mass flow imposed as a
boundary condition.
FIGURE 5.8
Meridional view of the "Coupling with Outlet ID" functionality
Imposing Variables as an Interpolation Profile
Each variable can be defined as constant or as an interpolation profile of the variable. The
imposed boundary condition may be variable in space (one or two dimensions) and/or in time (in
case of an unsteady calculation).
) on the right side of the label
To visualize and/or edit the profile data press the small button (
"profile data". This button opens the Profile Manager with the existing profile. See the Profile
Management section for a detailed description of the Profile Manager. It offers the possibility to
modify or to create a data profile interactively. Click on the OK button to set the new profile to the
selected patch(es).
FIGURE 5.9
The Profile Manager
The option Surface data toggles 1D and 2D editing modes. It can be used to change the
dimension of an existing profile. 2D profiles are displayed as a "cloud of points". Selecting a
point will display the f(x,y) value in blue in the corresponding column of the Profile Manager.
More details on the required file format are available in File Formats.
If a quantity is defined as a function without the definition of a valid profile, a warning message will
appear when saving the project or opening a new page or tab page. In such a case a default constant
value is used in the computation.
5.1.2
Outlet Condition
For a supersonic outlet all variables are extrapolated. An outlet is considered as supersonic on the
basis of the normal velocity direction to the boundary.
Five types of subsonic outlet boundary condition are available, as shown in FIGURE 5.10. These
five different boundary conditions are described in the following paragraphs.
An option for treatment of Backflow Control can be activated in the case of radial diffusers
outlet. The purpose of this option is to control the total temperature distribution along the exit
section. In case the flow partially re-enters the domain through the boundary, the total temperature
of the entering flow is controlled so that the entering and outgoing flows globally have the same
total temperature.
Backflow Control is only compatible with compressible fluid. When condensable or incompressible
fluids are used, it is suggested to use the expert parameter BCKFLO to control backflow at outlet, see
Expert Parameters for more detail.
Backflow Control is applied separately on each outlet patch when an uniform static pressure is
imposed (it is applied to a group of patches if averaged static pressure and mass flow are imposed).
Backflow Control is not available for the outlet boundary conditions where static pressure is
imposed with radial equilibrium.
FIGURE 5.10
Outlet boundary conditions page.
Non reflecting treatment dedicated to turbomachinery applications
A non reflecting treatment can help to get more physical results on the outlet when the boundary
conditions are not known accurately and azimuthal fluctuations of the flow quantities are
expected. Such formulation decreases the shock reflection by the outlet boundary, and usually
allows simulating a pressure fluctuation generally consistent with the flow downstream of a blade
row.
In FINE™/Turbo, the outlet non reflecting treatment can be set for a range of subsonic boundary
conditions types. The option can be activated by checking the Non reflecting Turbo button
available when a Pressure Imposed, Mass Flow Imposed (with Pressure Adaptation only) or
Averaged Mach Number (related patches must be grouped) type of boundary condition is
selected. The relaxation coefficient (
factor for the outlet mentioned in the theory guide) for the
incoming acoustic wave can also be input once this button is checked.
FIGURE 5.11
Outlet non reflecting boundary condition treatment
The following limitations apply:
l The outlet boundary must be on a revolution surface and bounded by periodic boundary
conditions (or connected to itself if the domain is meshed on 360°);
l When the boundary condition is defined by different patches, they have to be grouped in the
Patches & Groups panel;
l The non reflecting outlet treatment is limited to steady computations and it is not compatible
with Hakimi preconditioning;
The non reflecting treatment is sensitive to the initial condition, especially with preconditioning. If
the initial condition cannot be close to the physical expected values at the outlet boundary (e.g. by
using constant initial solution instead of the one dedicated to turbomachinery), the relaxation
coefficient must be set lower than 1. Decreasing the relaxation coefficient does not impact the final
solution but reduces the convergence speed. This can be useful with CPU Booster, because of the
large modifications of the variables during one iteration. If a convergence problem due to non
reflecting boundary condition persists, it is still possible to start from a solution without the non
reflecting treatment.
In addition, the quality of the solution can be improved at the outlet when high velocity fluctuations
are located in a narrow wake on the exit surface. In such a case, the number of harmonics used in the
Fourier decomposition described in the theory guide has to be increased. This number is set by the
expert parameter NHIONR with default value of 5.
A. Pressure Imposed
There are three different methods to impose the pressure at the outlet:
l Static Pressure Imposed :
the static
temperature and the absolute velocity components are extrapolated. As described for the inlet
conditions, the static pressure can be constant or defined as a data profile.
the static pressure is imposed on the boundary,
l Averaged Static Pressure: if imposing an uniform static pressure at the outlet is not an
appropriate approximation of the physical pressure distribution at the outlet, an averaged static
pressure may be used. In this case only an averaged value for the static pressure is imposed
while the pressure profile (around this average) is extrapolated from the interior field.
The outlet patches have to be grouped in one group to use this boundary condition.
l Radial Equilibrium: This boundary condition is applicable only to cylindrical problems. It is
adapted for a patch in which the mesh lines in the circumferential direction have a constant
radius. The outlet static pressure is then imposed on the given radius and the integration of the
radial equilibrium law along the spanwise direction permits to calculate the hub-to-shroud
profile of the static pressure. Please note that the given radius should be between hub and
shroud. Otherwise the outlet static pressure will be imposed on the corresponding extreme
radius of the outlet instead of the given radius. A constant static pressure is imposed along the
circumferential direction.
This boundary condition is only valid on surfaces with mesh lines at constant radius.
This boundary condition is not compatible with the radius r=0.
The pressure imposed at the outlet, can be constant or as a function of space and/or time. To
define a profile as a function of space and/or time click on the profile button (
) right next to the
input text box. The Profile Manager will appear as described in section Imposing Variables as an
Interpolation Profile.
B. Mass Flow Imposed
When imposing the mass flow at the outlet, the related patches must be grouped. This permits to
have several groups of patches, each of the groups constituting an outlet through which the mass
flow can be controlled.
Two different techniques are available to impose the mass flow:
l Velocity Scaling: the pressure is extrapolated and the velocity vector is scaled to respect the
mass flow. This technique is only valid for subsonic flows, and is not recommended in case of
significant back flows along the exit boundary.
l Pressure Adaptation: this boundary condition is identical to the 'Static Pressure Imposed' or
' Radial Equilibrium' boundary conditions, except from the fact that the exit pressure is
automatically modified during the resolution process so that after convergence, the prescribed
mass flow is obtained.
The pressure asked in addition to the imposed mass flow with both options is only used to create
the initial solution and for the full-multigrid process, during which a uniform static pressure outlet
condition is used.
When using the mass flow imposed outlet boundary condition and restarting a computation from a
file, only one group of patches can be used in the initial solution page and the reset convergence
history has to be deactivated
The outlet patches have to be grouped in one group to use this boundary condition.
The mass flow imposed in the GUI will be used for the whole outlet. For example, if the user has a
rotational periodicity of 40, the mass flow for only one passage will be the mass flow specified in the
GUI divided by 40.
C. Averaged Mach Number
When imposing the averaged Mach number at the outlet, the user must group all the related
patches for each outlet. This permits to have several groups of patches, each of the groups
constituting an outlet through which the averaged Mach number can be controlled.
Two options are available:
l Absolute Mach Number with Pressure adaptation: the absolute Mach number is imposed
at the outlet boundary. The exit pressure is automatically modified during the resolution
process so that after convergence, the prescribed absolute Mach number is obtained.
l Relative Mach Number with Pressure adaptation: the relative Mach number is imposed at
the outlet boundary. The exit pressure is automatically modified during the resolution process
so that after convergence, the prescribed relative Mach number is obtained.
The initial pressure asked in addition to the imposed Mach number is used in the full multigrid
initialisation. This value is also used for the turbomachinery initial solution.
During the pressure adaptation process, the exit pressure can be imposed in different ways:
l Constant Profile : this boundary condition is identical to the ' Static Pressure Imposed '
boundary condition.
l Radial Equilibrium : this boundary condition is identical to the ' Radial Equilibrium '
boundary condition.
l Extrapolated Profile: this boundary condition is identical to the 'Averaged Static Pressure'
boundary condition.
The averaged Mach number boundary condition at outlet is not compatible with incompressible fluid.
D. Characteristic Imposed
This boundary condition has been implemented to increase the robustness in the frame of a design
process and is only available when using a perfect or real gas in the Fluid Model page.
FIGURE 5.12 shows as an illustration performance curves for a centrifugal compressor. Near
choking conditions the mass flow stays almost constant with a variation of the pressure.
Therefore, it is recommended in this region, to impose the static pressure at the outlet. Near stall
however, the pressure varies only slightly with varying mass flow. Therefore, it is recommended
in this region of the performance curve, to impose the mass flow at the outlet instead of the static
pressure.
FIGURE 5.12
Example of performance curves for centrifugal compressor
In a design process, with a variation of the geometry, it is not always known in advance where in
the performance curve the computations are performed. Therefore it is not always possible to
choose the appropriate boundary condition at the outlet for the complete design process.
To overcome this problem this boundary condition allows to impose a relation between the mass
flow and the pressure at the outlet. It is no longer needed to choose between imposing pressure
when working around the chocking part and imposing mass flow when working close to the stall
limit.
The user has to impose a very simple characteristic line defined through 3 parameters: a target
outlet mass flow and a target outlet pressure (at point 2 in FIGURE 5.12) and the pressure at zero
mass flow (point 1 in FIGURE 5.12). Based on these three parameters, a simple parabolic curve
is generated. This curve is then used to apply the boundary condition allowing to impose a
relation between the mass flow and the pressure at the outlet.
The curve represents the pressure loss in a passive component downstream the turbomachine.
When there is no mass flow, there is no loss and the static pressure corresponds to the outlet static
pressure, i.e. the atmospheric static pressure if the system is connected to the outside. The higher
the mass flow rate is, the higher the losses are and so the outlet pressure of the turbomachine. For
a given mass flow, the difference of pressure between the outlet pressure and the pressure at zero
mass flow corresponds to the pressure loss of the downstream system at this given mass flow rate.
E. From Rotor/Stator
The outlet boundary condition From Rotor/Stator can only be used in the frame of the SubProject
module. This boundary condition is set automatically, no user intervention is required.
5.1.3
Periodic Condition
One important feature of the IGG™ mesh generator concerns the automatic establishment of all
connecting and periodic boundary conditions. The corresponding information is transmitted to the
FINE™/Turbo interface, with the advantage that the user does not need to specify any input
concerning these boundary conditions.
Normally no user input is required on this page. The only periodic boundary condition cases
for which a user input is required are those in which some of the boundary conditions have to be
applied with a periodicity angle that differs from the global periodicity angle of the block.
FIGURE 5.13
Periodic boundary condition page.
In case some input is required this section explains how to define the periodic conditions using the
PERIODICtab page.
The type of periodicity connection between the patches (Matching or Non Matching) can be
entered. A connection is Matching if the numbers of mesh points along the connected patches are
identical, and if all the corresponding points along these patches coincide (PER type within
IGG™). The Non Matching connection (PERNM type within IGG™) requires the use of an
interpolation process to establish the connection, whereas a matching one consists of a single
communication of the flow variables. The interpolation used for non matching periodic
boundaries consists on a linear interpolation from the four nearest cells.
Some additional characteristics need to be given to fully determine the periodic boundary
condition:
l For Cartesian (rectangular) problems, the user has to specify the translation vector defining the
periodicity. The positive translation vector goes from the current patch to the periodicity
patches.
l For cylindrical problems, the user has to specify the rotation angle in degrees. The rotation
angle is calculated from the connected patch to the current patch, according to the rule of the
right handed system.
5.1.4
Solid Wall Boundary Condition
The solid wall boundary condition page is customized essentially according to the type of
calculation (inviscid or viscous).
For Euler cases (i.e. inviscid), no parameter is requested for the wall boundary conditions. For
Navier-Stokes cases, the box at the top of the page allows to set both velocity and thermal
conditions. The type of boundary conditions determines the way the velocity and thermal
conditions are defined for the solid boundary.
A. Cylindrical Boundary Condition
Area Defined Rotation Speed
The wall rotation velocity can be constant or area defined . The area defined
option allows to attribute a specific rotation velocity to a rectangular zone in the meridional plane
independently of the grid structure.
When the area defined option is selected, a small picture defining the parameters is displayed (the
outside the
z axis is the rotation axis, the r axis is the radial axis). The rotation velocity is set to
domain and to
inside the domain.
The specified range must be a valid range for the used geometry. For example, for an axial machine
the limits for rotation of the hub can be defined by setting the lower and higher axial limit to
appropriate values. In such a case it is important to set the radial limits such that they include the full
solid (hub) patch.
FIGURE 5.14
Solid boundary conditions page in case of a cylindrical boundary condition
Thermal Condition
Five options are available for the thermal condition:
l Adiabatic;
l Heat Flux Imposed, in W/m²: a positive heat flux indicates that the direction of the heat flux is
from the solid wall to the fluid;
l Temperature Imposed: isothermal boundary;
The solid boundary conditions applied on the patches belonging to a matching or a full non-matching
connection between a solid and a fluid blocks or two solid blocks are heat flux and temperature
imposed. These boundary conditions must not be modified except for the rotation speed.
l Heat Transfer Coefficient Imposed, in W/m².K: defined as
as follow:
,
where
is the local heat flux,
the local temperature at the wall and
the reference
temperature inputted by the user.
l Rothalpy Preserving
The imposed heat flux, temperature or heat transfer coefficient can be constant on the patch or
defined as a profile. Use the pull down menu to change Constant Value to for example fct
(space). Click on the profile button to launch the Profile Manager.
the variables Temperature (Real and
For harmonic analysis with conjugate heat
Imaginary) and/or Temperature (Amplitude) need to be selected in the Computed Variables
page from the Harmonics category of outputs in order to save results of temperature harmonics.
transfer,
CHT connection
The specific boundary condition CHT connection is used for the fluid side of fluid/solid
Rotor/Stator interfaces on steady state analyses. For this boundary condition, the user should
define the wall rotation speed (only Constant Rotation Speed available). The thermal condition
is computed by the Rotor/Stator connection. A message line "Fluid/Solid R-S INFO" is displayed
to help the user to know the properties of the selected patch/group.
The patch/group name of the fluid side of fluid/solid Rotor/Stator interface is the same as that in the
Rotating Machinery page under the Rotor-Stator tab.
Acoustic Impedance
The boundary condition Constant Rotation Speed with Acoustic Impedance allows the user to
simulate acoustic liners. This boundary condition specifies a fluctuation of the normal velocity at
the wall:
where Z is the impedance and defined as:
The real part r is the resistance and the imaginary part χ is the reactance.
The acoustic impedance is assumed to be constant along the liner and the treatment is assumed to
be impermeable, meaning that the normal component of the time-mean velocity remains zero.
The resistance and the reactance defining the acoustic liner can be set up independently for each
frequencies involved for the NLH computation, displayed on the bottom of the page. It is possible
to configure acoustic impedance on surfaces (defined in fixed or rotating domains). The solver
handles independently the adaption of the frequencies to be solved in the frame of the NLH
computation, depending on the rotational speed (rotating or stationary) of the block on which the
acoustic patch or group of patches are defined. Furthermore, it is possible to impose different
impedances on different patches or group of patches.
If a project involving acoustics settings, generated on version prior to 11.1, is opened in a later
version, the values of the resistance and reactance will be set for all frequencies to the initial value
which have originally been implemented in the project. It is also not possible to reconstruct in time
the harmonic solution obtained from basic NLH computations involving acoustic liner. The
acoustic resistance and reactance should be defined in SI units (kg/m2.s).
The boundary condition Constant Rotation Speed with Acoustic Impedance applies the
following limitations:
l only compatible with multi-rank NLH computations.
l The pressure on the liner can only be computed using zero order extrapolation.
The Acoustic Impedance can be imposed to Cartesian Boundary Condition as well.
B.
In Cartesian Boundary Conditions
The user can define a translation or a rotation velocity vector. In the latter case, the coordinates of
the rotation centre are requested. The thermal conditions are similar to those for cylindrical flows.
For the acoustic impedance, the user can define the frequencies to be considered for the analysis
with the expert parameter FHAR. The considered frequencies should be transformed into angular
frequencies, which means multiplying by 2ᴫ. For example, to set up the first analyzed frequency
at 100 Hz, the user must enter 100 [Hz] *2*ᴫ [rad] ~ 628 [rad/s] for the first element of FHAR. A
maximum of 20 frequencies can be defined. The acoustic impedance can be otherwise defined as
for the cylindrical configuration, and it is possible to apply the same acoustic impedance on two
patches or group of patches that do not belong to the same harmonic group.
C. Force and Torque
Below the box, a Compute force and torque option is provided that permits to include the
selected patches in the calculation of the global solid boundary characteristics.
In Computation Steering>Convergence History,
torque and
aerodynamic power for the patches or group of patches which have the option “Compute force and
torque” activated. The monitoring of the aerodynamic power is submitted to additional requirements
.
is possible to monitor
force,
it
The contribution of patches included in a full non-matching connection will not be taken into account
for the computation of the force and torque. Those patches will however appear as solid in the
boundary condition page.
For a cylindrical project (as defined in Mesh/Properties) in an internal flow (the expert parameter
IINT set to 1 as by default):
l the axial thrust, i.e. the projection of the global force on the rotation axis,
l the torque, i.e. the couple exerted by the global force, calculated at (0,0,0).
These quantities are often calculated on the rotating walls. They are calculated from the pressure
and the velocity fields on the walls. The axial thrust is computed as:
.
The computed force is the one from fluid on solid. The force is considered as positive when in the
direction of the z-axis.
The projection of the torque along a given direction , i.e. the couple exerted by the global force
along the rotation axis:
In all other cases the force and torque are computed as:
l the lift,
l the drag,
l the moment calculated at (0,0,0) by default.
The direction of the forces and torque as well as the location of the point for the moment can be
determined with the expert parameters IDCLP, IDCDP, IDCMP and IXMP.
When using an area defined rotation speed, the expert parameter TORRO can be used to compute
the force and torque on the complete patch, or on the rotating part only.
Within the FINE™/Turbo solver it is possible to calculate and to store the partial torque in the
corresponding ".wall" file of the computation through the use of the expert parameter IFRCTO
within the FINE™/Turbo GUI.
The partial torque is the torque computed for each layer on the whole blade. When IFRCTO is set
to 2 (1 or 3), the torque is defined on each J-direction (I-direction or K-direction) layer (i.e. when
using AutoGrid™ meshes, J-direction corresponds to the spanwise direction).
FIGURE 5.15
File ".wall" when computing partial torque along the blade
Finally, the resulting ".wall" will contain, in addition of the global torque and force on the
selected blade, the partial torque for each layer along the J-direction of the blade as presented in
FIGURE 5.15.
The force and torque computed on the selected surface(s) and included in ".wall" file are based on the
full 360 degrees, so taking into account the periodicity when the blocks concerned are presenting a
periodicity.
D. Properties of Solid for Turbulence
In addition, when turbulence models with extended wall function are used, the user has to specify
the type of wall ("Smooth" or "Rough") and the following constants: the Von Karman constant
κ and the Bo constant. If the wall type is rough, the equivalent roughness height k0 and the height
of the zero displacement plane d0 are also required. A description of these constants is provided in
the theory guide.
Two methods considering the wall function for roughness is implemented. With the old method
(default, IROUGH=0), the constant Bo has to be computed after obtaining the value of y+. And
the value of Bo will also correct y+. The user has to iterate this procedure and converge to the
desired value of Bo. This is not straightforward and a new approach has been introduced in the
flow solver in order to simplify the computations with roughness. To use the new method, the
user has to set the expert parameter IROUGH to 1.
For rough walls, the following limitations are applied:
l the distance from the wall to the cell-centre of the first inner cell should be bigger than k0 + d0.
l the first inner cell should be located within the fully turbulent layer.
The application field of the 'law of the wall' imposes restrictions on the grid. The user is strongly
advised to check the conformity of this grid with these conditions.
5.1.5
External Condition (Far-field)
The external boundary condition is provided to treat the far-field boundaries when dealing with
external flow computations. An example is given in FIGURE 5.16 . This type of boundary
condition determines whether the flow is locally entering or leaving the flow domain and uses the
theory of the Riemann invariants to act consequently on the appropriate variables. Depending on
the chosen turbulence model , between five to eight input
boxes are provided to specify the free-stream values of the variables to be used in the boundary
condition formulation.
FIGURE 5.16
External (far-field) boundary conditions page.
For external flow, it is suggested to set the expert parameter IINT=0 to have appropriate steering
variables.
Condensable gases are not compatible with external boundary condition.
External Constant Wind with Incidence Relative to Axis Z
The boundary condition External Constant Wind with Incidence Relative to Axis Z is only
compatible with NLH.
The perturbation caused by external boundary condition External Constant Wind with
Incidence Relative to Axis Z is marked as "Ei" in Show the harmonics on the page Numerical
Model.
Turbulent quantities for 1- and 2-equation turbulence models
In case a 1- or 2-equations turbulence model is selected, the boundary value of the turbulence
must be imposed. The user can choose between several sets of turbulent quantities.
Given a 1-equation turbulence model, following turbulent quantities are available:
l Turbulent Viscosity
l Turbulent Viscosity Ratio
l Turbulent Intensity and Length Scale
l Turbulent Intensity and Hydraulic Diameter
and given a 2-equations turbulence model:
l k and ε
l Turbulent Intensity and Viscosity Ratio
l Turbulent Intensity and Length Scale
l Turbulent Intensity and Hydraulic Diameter
All the turbulent quantities are only compatible with constant imposed values. The only exception is
the External boundary condition, where the options Turbulent Viscosity and k and ε can be
defined with spatial profiles.
5.2
EXPERT PARAMETERS
Imposing Inlet Velocity Angles of Relative Flow
In case of a stator calculation it may be convenient to impose the velocity angles of the relative
flow at the exit of the upstream rotor. In case of rotors, the user may also prefer to impose relative
boundary conditions. This procedure is only available when total conditions and flow angles are
imposed. In addition to that the extrapolation of Vz must be selected. Note also that both flow
angles and total conditions are then treated in the relative mode.
The following parameters have to be defined:
INLREL(integer): allows to specify relative angles for the cylindrical inlet boundary conditions
with:
l = 0 (default): total quantities imposed,
l = 1: inlet for a stator (extrapolation of the axial velocity only). The expert parameter OMGINL
has also to be specified,
l = 2: inlet for a rotor.
ANGREL (real): data use with the expert parameter INLREL (for stator only). This variable
contains three values:
l 1st real: relaxation angle (in degrees),
l 2nd real: distance (%) from hub where the absolute flow angle is extrapolated,
l 3rd real: distance (%) from shroud where the absolute flow angle is extrapolated.
Inlet Total Quantities Boundary Condition
IMASFL (integer): expert parameter specially dedicated to radial inlets. The mass flow is
extrapolated instead of the velocity for the cylindrical inlet boundary conditions with imposed
total quantities:
l = 0 (default): treatment inactive, the velocity is extrapolated,
l =1: option activated, extrapolation of the mass-flow.
Inlet Mass Flow Boundary Condition
INMFTT(integer): specify static temperature or total temperature when using mass flow imposed
inlet BC:
l = 0 (default): static temperature is specified,
l =1: total temperature is specified.
Outlet Mass Flow Boundary Condition
MASPAO(integer): defines the formulation used for the outlet boundary condition when the mass
flow is imposed with pressure adaptation:
l = 1:
the pressure adaptation coefficient
is computed using reference values (reference
temperature, pressure and the characteristic length from the Flow Model page),
l = 2 (default): the pressure adaptation is independent of the reference values and instead is
based on characteristic quantities directly related to the outlet. Local values of area averaged
pressure and density, as well as exit surface area, are used in order to speedup convergence to
the imposed mass flow.
RELAXP(real): is the under-relaxation factor for the outlet boundary condition when mass flow
is imposed with pressure adaptation (default value = 1).
VELSCA (real): is the maximum value allowed for the velocity scaling when mass flow is
imposed with velocity scaling (default value = 2.)
Outlet Averaged Mach Number Boundary Condition
RELAXP(real): is the under-relaxation for the outlet boundary condition where the averaged
Mach number is imposed with the exit pressure adaptation (default value = 1.).
Control of backflows
BCKFLO(integer): defines whether an Euler wall boundary condition is used at all outlet cells
where back flow is detected:
l = 0 (default): don’t use the control of backflow,
l = 1: use an Euler wall boundary condition at all cells where backflow is detected.
BCKFLU(integer): defines whether the backflow control at inlet is activated or not. The use of
BCKFLU is limited to turbomachinery cases meshed with AutoGrid4™/AutoGrid5™.
l = 0 (default): don’t use the control of backflow at inlet
l = 1: use the control of backflow at inlet, based on pitchwise averaging of the solution.
Torque and Force
IDCDP(real): if cylindrical project (as defined in Mesh/Properties) and IINT=1: direction (x,y,z)
of axial thrust,
in all other cases: direction (x,y,z) of drag.
IDCLP(real): direction (x,y,z) for lift (not used if cylindrical project and IINT=1),
IDCMP(real): direction (x,y,z) for moment,
IFRCTO(integer): calculate and store the partial torque in the corresponding ".wall" file. More
detail in Force and Torque section.
EQWSPA (integer): When storing the partial torque and force in the .wall file by setting
IFRCTO=2, the relative spanwise positions in the pressure side and suction side may be different.
The user can set the expert parameter EQWSPA to 1 in order to calculate the relative spanwise
positions by using the same reference (trailing edge). In this case, the relative spanwise positions
will be the same between the pressure side and the suction side. Note, when a blunt trailing edge
is used, the relative spanwise positions may be different because of the different references.
IXMP(real): coordinate (x,y,z) of the point around which the moment has to be calculated. The
coordinates are expressed in meters.
TORRO(integer):
l = 0: Compute force and torque on the complete patch
l = 1(default): Compute force and torque only on the part of the patch which is defined through
an area defined rotation (the part corresponding to ω2).
IMUWAL(integer): if set to 1, the ".wall" file will be saved at each iteration on the finest grid
level (current grid level specified in the Numerical Model page) when performing a steady
simulation. The corresponding .wall file (_iter#.wall) will be saved in the computation directory.
Profile Management
BC2DIN(integer): defines the interpolation method when specifying boundary conditions by 2D
profile. The setting of this parameter applies to all inputted 2D profiles.
l = 0 (default): use the linear interpolation of the 3 closest data points
l = 1: use the barycentric interpolation of the three points forming a triangle around the mesh
point. In general, the barycentric interpolation will generate smoother distribution than the
linear interpolation, especially in case that the 2D profile has a low resolution.
TIMEBC(integer): controls the restart of the time dependent boundary conditions in unsteady
computation.
l = 0 (default): resets the time dependent boundary condition at restart
l = 1: continues the time dependent boundary condition at restart.
RELPRO(integer): if set to 1, it allows to impose a normalized boundary conditions profile for
1D inlet/outlet profiles. The scaling is done between the minimum and the maximum of the
selected coordinate (X, Y, Z or R) and is not available for the theta coordinate.
Euler or Navier-Stokes Wall for Viscous Flow
If the flow type selected is laminar or turbulent Navier-Stokes, it is possible in Expert Mode to
choose between an Euler wall (zero normal velocity) and a Navier- Stokes wall (no- slip
condition). Further details on the numerical treatment of the walls are provided in the theory
guide. Note that the default (active in Standard Mode) is a Navier-Stokes wall.
Pressure Condition at Solid Wall
When the interface is in Expert Mode, two toggle buttons are provided to select the type of
pressure condition at the wall: extrapolated or computed from the normal momentum equation.
The default (active in Standard Mode) is the extrapolation of the pressure.
Non reflecting boundary conditions
NHIONR(integer): controls the number of harmonics used for the non reflecting inlet and outlet
boundary condition formulation.
l = 5 (default): number of harmonics used in the Fourier decomposition described in the theory
guide.
5.3
BEST PRACTICE FOR IMPOSING
BOUNDARY CONDITIONS
The quality of the flow simulation depends primarily on the quality of the grid and the imposed
boundary conditions. In this section the most adapted boundary conditions are proposed
according to the type of studied flow.
In case a calculation is diverging, it is strongly recommended to check by post processing of the
solution (in CFView™), that the appropriate boundary conditions have been imposed.
Compressible Flows
For compressible flows it is recommended that the inlet boundary condition fixes the absolute
total quantities (pressure, temperature) and the flow angles and that the outlet boundary condition
fixes the static pressure (exit pressure). This exit pressure can be imposed as:
l a constant value along the exit,
l an average value at the exit,
l the pressure at mid-span for radial equilibrium (only for an axial outlet).
The static pressure at the exit of the domain is rarely constant. It is thus advised to impose the
pressure as an average value or as a initialization data for radial equilibrium.
Even if this value of pressure is known, for numerical reasons it is possible that the computed
mass- flow differs from the expected one. It is thus necessary to modify the exit pressure
repeatedly until obtaining the accurate mass-flow. This procedure can be numerically expensive
especially if the calculations are carried out on a fine grid.
A solution to overcome this drawback is to impose the mass-flow at the outlet. This can be done
in two ways:
l Velocity Scaling: for a low subsonic outlet (Mach number lower than 0.4) this condition fixes
the mass-flow at a given control surface by scaling the vectors on this surface. This is not as
robust as to impose the exit pressure and is not recommended in case significant backflows are
detected along the exit. If this is the case, the next option is better suited.
l Pressure Adaptation : in this case, an automatic procedure introduces a variation of the
imposed exit pressure at each iteration of the calculation. The pressure is then iteratively
updated in order to reach at convergence the imposed mass-flow. This is not as robust as to
impose the exit pressure, but is more robust than the velocity scaling option.
The pressure adaptation method is defined by the value of the MASPAO expert parameter found in
the Control Variables page :
l If MASPAO = 1 the adaptation coefficient
is computed using reference values (reference
temperature, pressure and the characteristic length from the Flow Model page). If the reference
values are far from the actual state at the outlet (e.g. for complex cases with large variations of
flow quantities or with multiple outlets) slow converge rates can be observed.
l If MASPAO = 2 (default) the pressure adaptation is based on characteristic values directly related
to the outlet. In that case, the local values of area averaged pressure and density, as well as exit
surface area, are used in order to speedup convergence to the imposed mass flow.
Incompressible or Low Speed Flow
For incompressible or low speed flows it is recommended to impose the mass-flow and the static
temperature at the inlet and a static pressure at the exit. This couple of inlet-outlet conditions has a
stabilizing effect on calculations and is also well adapted to provide initial solutions for multi-stage
calculations.
Special Parameters (for Turbomachinery)
In case of flow separation at the outlet of radial diffusers it is recommended to use the backflow
treatment option. This option can be activated by activating Backflow Control
in the
FINE™/Turbo GUI on the Boundary Conditions page under the OUTLET tab page.
FIGURE 5.17
Example of case with strongly varying radius in the inlet (Picture from D. Japikse, N.C. Balines,
Introduction to Turbomachinery, Concept ETI Inc. and Oxford University Press, 1994.)
When end-walls in the inlet regions are strongly varying in radius (e.g. centripetal turbines as in
FIGURE 5.17) or in case of highly tangential inlet flow angles it is advised to use the IMASFL
expert parameter (in the list of expert parameters on the Control Variables page in Expert
Mode ). This option is adapted when the inlet boundary conditions fixes the absolute total
quantities (pressure, temperature) and is only valid for non-preconditioned computations. When it
is activated, the mass-flow is extrapolated instead of the velocity.
Inlet patches have to be grouped in one group to use the extrapolation of mass flow boundary
condition.
CHAPTER 6.
NUMERICAL SCHEME
This chapter describes the interface and settings that can be used to specify the numerical parameters
and the time configuration for the simulations:
l Numerical Model defines the numerical aspects of the computations
l Time Configuration defines the time dependence of the equations to solve.
This chapter is organized as follows:
Numerical Model describes the interface and settings for the definition of the numerical
model,
Time Configuration describes the interface and best practice for unsteady computations.
In this section
6.1 Numerical Model
6.2 Time Configuration
147
182
6.1
NUMERICAL MODEL
To define numerical parameters of the computation, the Numerical Model page allows to define
several aspects of the computation:
l the CFL number,
l the multigrid parameters,
l preconditioning parameters (if applicable),
l define inner perturbations (if applicable).
These parameters are described in the next section.
FIGURE 6.1
Numerical model interface
In expert user mode (Expert Mode) additional parameters are available as shown in FIGURE
6.2 : additional multigrid parameters and unsteady parameters. The non- interfaced expert
parameters are also described in this section.
More theoretical information on the available parameters related to the numerical model (spatial
and temporal discretizations) is provided in Chapter 5-2 in the theory guide.
FIGURE 6.2
Numerical Model page in expert mode
6.1.1
Numerical Model in the FINE™/Turbo GUI
CFL Number
This box allows to tune the CFL (Courant-Friedrich-Levy) number to be employed in the
computation. This number globally scales the time-step sizes used for the time-marching scheme
of the flow solver. A higher value of the CFL number results in a faster convergence, but will
lead to divergence if the stability limit is exceeded.
CPU Booster
FINE™/Turbo includes an innovative breakthrough in convergence acceleration. Based on
enhanced implicitness, it leads to a drastic reduction in computational time with respect to the
current advanced technologies in FINE™/Turbo. If the user activates the option CPU Booster,
the default value of the CFL number will be 1000.
When an oscillating convergence is obtained with CPU Booster, the user may try to change the
multigrid sweep definition from Increase on higher level to Linear progression in order to
improve the convergence.
CPU Booster is also compatible with incompressible fluids or low speed flows (M < 0.3) with the use
of Merkle preconditioning.
CPU Booster is not recommended when modeling low speed flows without preconditioning and may
not be robust for computations with condensable gases with dryness fraction less than 1.
Multigrid Parameters
In the left part of the Numerical Model page, three boxes are visible. The first one is an
information box, named Grid levels: current/coarsest. It indicates for each of the i, j and k
directions the currently selected grid level and the number of the coarsest grid level available in
the corresponding direction. The second box of the Numerical Model page is an input box that
allows to define the Current grid level for each of the i, j and k directions.
l The coarsest grid level depends on the number of times the grid can be coarsened, along each
of the (i,j,k) directions. For example, if the grid has 17*33*33 points in the i, j, k directions, it
has respectively 16*32*32 cells. The i direction (16 cells) can thus be divided 4 times by 2,
while the others can be divided 5 times by 2. The following grid levels are then available:
0 0 0 17*33*33 (18,513 points)
1 1 1 9*17*17 (2,601 points)
2 2 2 5*9*9 (405 points)
3 3 3 3*5*5 (75 points)
4 4 4 2*3*3 (18 points)
4 5 5 2*2*2 (8 points)
The coarsest grid level available is then 4 along i and 5 along j and k.
l The current grid level is the finest grid level (for each of the i, j and k directions) on which the
computation will take place. The selected levels should be in the range between 0 and the
coarsest grid level available for each of the i, j and k directions. Referring to the example given
just above, the user can do a first run on level 3 3 3 to validate the computational parameters
and then switch to level 1 1 1 or 0 0 0 for a finer solution. It gives a high flexibility to the
system since with one grid, the user can run simulations on several sub-meshes.
All combinations between the i, j and k grid levels, in the specified range, are possible such as 2 3 1
or 0 3 2...etc. It is however not recommended to use such hybrid levels (e.g. 010 or 211) since it
deforms the mesh in a preferential direction and thus possibly increasing the aspect
ratio.
Consequently, the quality of the resulting mesh can be decreased.
Press <Enter> after each modification to validate the new specified levels.
The use of multigrid is highly recommended in order to ensure fast convergence of the flow
solver. The mesh used to discretise the space can have multiple grid levels in each direction of the
computational domain i, j and k. These levels are numbered from 0 (finest grid) to N (coarsest
grid).
The grid level (N) available in one direction (I, J, or K) is the smallest grid among all patches on that
particular direction (I, J, or K).
The third box, named Number of grid level (s) , permits to significantly accelerate the
convergence to steady state if several grid levels are available: the flow calculation is performed
simultaneously on all the grid levels. This technique is referred to as the multigrid strategy. This
number should be chosen as high as possible, and deduced from the information displayed on the
available grid level and the grid level on which the computation will be performed (Current Grid
Level).
In case that the number of grid levels is 1 in one direction, it is possible to use multigrid strategy in
other directions. It is however not recommended to use such hybrid multigrid strategy (except for 2D
cases) since it deforms the mesh in a preferential direction and thus possibly increasing the aspect
ratio. Consequently, the quality of the resulting mesh can be decreased.
Finally, the option Coarse Grid Initialization enables, before calculating the flow on the mesh
contained in the IGG™ files, to perform a preliminary flow calculations on a coarser mesh
automatically created by the flow solver by coarsening the initial one. This provides a rapid
estimation of the flow. This technique is referred to Full Multigrid.
Preconditioning Parameters
This box allows the user to choose the Hakimi or Merkle preconditioners. The parameters are
only available when an incompressible fluid is selected on the Fluid Model page or when the
Low Speed Flow (M<0.3)option is activated on the Flow Model page.
The upwind spatial scheme (Numerical Model page) is not available if the preconditioning option is
chosen.
Hakimi Preconditioning
When choosing Hakimi preconditioning, extra parameters have to be defined. The variables that
and
the user controls are reference pressure
, reference temperature
, β coefficient
characteristic velocity
.
and
are accessible through the Flow Model page.
The default value of β * is 3. Based on our experience with the presented low speed
preconditioner the parameter β* can be taken of order unity for inviscid flow computations. For
viscous computations associated with Reynolds numbers greater than about Re=1000, a constant
value β* of order unity is also adequate. If convergence difficulties are encountered at the very
beginning of a computation, it is recommended to increase the value of the parameter β * .
Remember however that a too large value of β* will introduce excessive artificial dissipation into
the solution. For lower Reynolds number the parameter β * has to vary in order to preserve
numerical stability and a good convergence rate. The parameter β * should increase as the
Reynolds number decreases and may vary over several orders of magnitude .
With low Reynolds number, β* has to be increased. But this increases the dissipation and therefore
alters the precision of the solution.
Typical variation of the preconditioning parameter
with Reynolds number
FIGURE 6.3
is representative of the maximum velocity in the flow field. For example, in external flows,
Uref could be taken as the free stream velocity whereas in internal flows it could be taken as the
maximum inlet velocity. Note, for the user's convenience, the constant Uref is always equal to the
reference velocity specified in the Flow Model page, which means that one of them
(U ref /reference velocity in the Flow Model page) is changed, the other one will be changed
automatically.
The choice of Uref has an influence on the convergence.
Another expert parameter ALPHAP (α) is accessible in the Control Variables page under
Expert Mode. According to several computations accomplished with the central scheme, good
convergence rates were obtained for values of α lying in the range [-1,1]. So far the best value is
found to be α=-1.
Merkle Preconditioning
When choosing the Merkle preconditioner, no extra inputs are required.
Harmonics Range
For multi-rank NLH computations, inner perturbations can be defined. They originate from within
a rotor or stator, and are given by a time frequency and a spatial mode (a positive or negative
integer).
The introduction of inner perturbations can be done via the button Inner perturbations. The
rank of these perturbations is rank = 1 in the group where they are generated, and rank = 2 in the
adjacent rows. Multiple inner perturbations can be defined in one or more groups. These
perturbations are indexed with "iP" in the harmonics selection window which is accessible via the
button Show the harmonics. This window enables the selection of the harmonics which will be
solved in each group and the choice of the number of harmonics which will be associated with
each inner perturbations. The interaction of the inner perturbations with the other harmonics can
also be selected, as well as the maximum order of interaction.
A. Numerical Model in the FINE™/Turbo GUI
CFL Number
This box allows to tune the CFL (Courant-Friedrich-Levy) number to be employed in the
computation. This number globally scales the time-step sizes used for the time-marching scheme
of the flow solver. A higher value of the CFL number results in a faster convergence, but will
lead to divergence if the stability limit is exceeded.
CPU Booster
FINE™/Turbo includes an innovative breakthrough in convergence acceleration. Based on
enhanced implicitness, it leads to a drastic reduction in computational time with respect to the
current advanced technologies in FINE™/Turbo. If the user activates the option CPU Booster,
the default value of the CFL number will be 1000.
When an oscillating convergence is obtained with CPU Booster, the user may try to change the
multigrid sweep definition from Increase on higher level to Linear progression in order to
improve the convergence.
CPU Booster is also compatible with incompressible fluids or low speed flows (M < 0.3) with the use
of Merkle preconditioning.
CPU Booster is not recommended when modeling low speed flows without preconditioning and may
not be robust for computations with condensable gases with dryness fraction less than 1.
Multigrid Parameters
In the left part of the Numerical Model page, three boxes are visible. The first one is an
information box, named Grid levels: current/coarsest. It indicates for each of the i, j and k
directions the currently selected grid level and the number of the coarsest grid level available in
the corresponding direction. The second box of the Numerical Model page is an input box that
allows to define the Current grid level for each of the i, j and k directions.
l The coarsest grid level depends on the number of times the grid can be coarsened, along each
of the (i,j,k) directions. For example, if the grid has 17*33*33 points in the i, j, k directions, it
has respectively 16*32*32 cells. The i direction (16 cells) can thus be divided 4 times by 2,
while the others can be divided 5 times by 2. The following grid levels are then available:
0 0 0 17*33*33 (18,513 points)
1 1 1 9*17*17 (2,601 points)
2 2 2 5*9*9 (405 points)
3 3 3 3*5*5 (75 points)
4 4 4 2*3*3 (18 points)
4 5 5 2*2*2 (8 points)
The coarsest grid level available is then 4 along i and 5 along j and k.
l The current grid level is the finest grid level (for each of the i, j and k directions) on which the
computation will take place. The selected levels should be in the range between 0 and the
coarsest grid level available for each of the i, j and k directions. Referring to the example given
just above, the user can do a first run on level 3 3 3 to validate the computational parameters
and then switch to level 1 1 1 or 0 0 0 for a finer solution. It gives a high flexibility to the
system since with one grid, the user can run simulations on several sub-meshes.
All combinations between the i, j and k grid levels, in the specified range, are possible such as 2 3 1
or 0 3 2...etc. It is however not recommended to use such hybrid levels (e.g. 010 or 211) since it
deforms the mesh in a preferential direction and thus possibly increasing the aspect
ratio.
Consequently, the quality of the resulting mesh can be decreased.
Press <Enter> after each modification to validate the new specified levels.
The use of multigrid is highly recommended in order to ensure fast convergence of the flow
solver. The mesh used to discretise the space can have multiple grid levels in each direction of the
computational domain i, j and k. These levels are numbered from 0 (finest grid) to N (coarsest
grid).
The grid level (N) available in one direction (I, J, or K) is the smallest grid among all patches on that
particular direction (I, J, or K).
The third box, named Number of grid level (s) , permits to significantly accelerate the
convergence to steady state if several grid levels are available: the flow calculation is performed
simultaneously on all the grid levels. This technique is referred to as the multigrid strategy. This
number should be chosen as high as possible, and deduced from the information displayed on the
available grid level and the grid level on which the computation will be performed (Current Grid
Level).
In case that the number of grid levels is 1 in one direction, it is possible to use multigrid strategy in
other directions. It is however not recommended to use such hybrid multigrid strategy (except for 2D
cases) since it deforms the mesh in a preferential direction and thus possibly increasing the aspect
ratio. Consequently, the quality of the resulting mesh can be decreased.
Finally, the option Coarse Grid Initialization enables, before calculating the flow on the mesh
contained in the IGG™ files, to perform a preliminary flow calculations on a coarser mesh
automatically created by the flow solver by coarsening the initial one. This provides a rapid
estimation of the flow. This technique is referred to Full Multigrid.
Preconditioning Parameters
This box allows the user to choose the Hakimi or Merkle preconditioners. The parameters are
only available when an incompressible fluid is selected on the Fluid Model page or when the
Low Speed Flow (M<0.3)option is activated on the Flow Model page.
The upwind spatial scheme (Numerical Model page) is not available if the preconditioning option is
chosen.
Hakimi Preconditioning
When choosing Hakimi preconditioning, extra parameters have to be defined. The variables that
and
the user controls are reference pressure
, reference temperature
, β coefficient
characteristic velocity
.
and
are accessible through the Flow Model page.
The default value of β * is 3. Based on our experience with the presented low speed
preconditioner the parameter β* can be taken of order unity for inviscid flow computations. For
viscous computations associated with Reynolds numbers greater than about Re=1000, a constant
value β* of order unity is also adequate. If convergence difficulties are encountered at the very
beginning of a computation, it is recommended to increase the value of the parameter β * .
Remember however that a too large value of β* will introduce excessive artificial dissipation into
the solution. For lower Reynolds number the parameter β * has to vary in order to preserve
numerical stability and a good convergence rate. The parameter β * should increase as the
Reynolds number decreases and may vary over several orders of magnitude .
With low Reynolds number, β* has to be increased. But this increases the dissipation and therefore
alters the precision of the solution.
Typical variation of the preconditioning parameter
with Reynolds number
FIGURE 6.4
is representative of the maximum velocity in the flow field. For example, in external flows,
Uref could be taken as the free stream velocity whereas in internal flows it could be taken as the
maximum inlet velocity. Note, for the user's convenience, the constant Uref is always equal to the
reference velocity specified in the Flow Model page, which means that one of them
(U ref /reference velocity in the Flow Model page) is changed, the other one will be changed
automatically.
The choice of Uref has an influence on the convergence.
Another expert parameter ALPHAP (α) is accessible in the Control Variables page under
Expert Mode. According to several computations accomplished with the central scheme, good
convergence rates were obtained for values of α lying in the range [-1,1]. So far the best value is
found to be α=-1.
Merkle Preconditioning
When choosing the Merkle preconditioner, no extra inputs are required.
Harmonics Range
For multi-rank NLH computations, inner perturbations can be defined. They originate from within
a rotor or stator, and are given by a time frequency and a spatial mode (a positive or negative
integer).
The introduction of inner perturbations can be done via the button Inner perturbations. The
rank of these perturbations is rank = 1 in the group where they are generated, and rank = 2 in the
adjacent rows. Multiple inner perturbations can be defined in one or more groups. These
perturbations are indexed with "iP" in the harmonics selection window which is accessible via the
button Show the harmonics. This window enables the selection of the harmonics which will be
solved in each group and the choice of the number of harmonics which will be associated with
each inner perturbations. The interaction of the inner perturbations with the other harmonics can
also be selected, as well as the maximum order of interaction.
B. Numerical Model in the FINE™/Turbo GUI
CFL Number
This box allows to tune the CFL (Courant-Friedrich-Levy) number to be employed in the
computation. This number globally scales the time-step sizes used for the time-marching scheme
of the flow solver. A higher value of the CFL number results in a faster convergence, but will
lead to divergence if the stability limit is exceeded.
CPU Booster
FINE™/Turbo includes an innovative breakthrough in convergence acceleration. Based on
enhanced implicitness, it leads to a drastic reduction in computational time with respect to the
current advanced technologies in FINE™/Turbo. If the user activates the option CPU Booster,
the default value of the CFL number will be 1000.
When an oscillating convergence is obtained with CPU Booster, the user may try to change the
multigrid sweep definition from Increase on higher level to Linear progression in order to
improve the convergence.
CPU Booster is also compatible with incompressible fluids or low speed flows (M < 0.3) with the use
of Merkle preconditioning.
CPU Booster is not recommended when modeling low speed flows without preconditioning and may
not be robust for computations with condensable gases with dryness fraction less than 1.
Multigrid Parameters
In the left part of the Numerical Model page, three boxes are visible. The first one is an
information box, named Grid levels: current/coarsest. It indicates for each of the i, j and k
directions the currently selected grid level and the number of the coarsest grid level available in
the corresponding direction. The second box of the Numerical Model page is an input box that
allows to define the Current grid level for each of the i, j and k directions.
l The coarsest grid level depends on the number of times the grid can be coarsened, along each
of the (i,j,k) directions. For example, if the grid has 17*33*33 points in the i, j, k directions, it
has respectively 16*32*32 cells. The i direction (16 cells) can thus be divided 4 times by 2,
while the others can be divided 5 times by 2. The following grid levels are then available:
0 0 0 17*33*33 (18,513 points)
1 1 1 9*17*17 (2,601 points)
2 2 2 5*9*9 (405 points)
3 3 3 3*5*5 (75 points)
4 4 4 2*3*3 (18 points)
4 5 5 2*2*2 (8 points)
The coarsest grid level available is then 4 along i and 5 along j and k.
l The current grid level is the finest grid level (for each of the i, j and k directions) on which the
computation will take place. The selected levels should be in the range between 0 and the
coarsest grid level available for each of the i, j and k directions. Referring to the example given
just above, the user can do a first run on level 3 3 3 to validate the computational parameters
and then switch to level 1 1 1 or 0 0 0 for a finer solution. It gives a high flexibility to the
system since with one grid, the user can run simulations on several sub-meshes.
All combinations between the i, j and k grid levels, in the specified range, are possible such as 2 3 1
or 0 3 2...etc. It is however not recommended to use such hybrid levels (e.g. 010 or 211) since it
ratio.
deforms the mesh in a preferential direction and thus possibly increasing the aspect
Consequently, the quality of the resulting mesh can be decreased.
Press <Enter> after each modification to validate the new specified levels.
The use of multigrid is highly recommended in order to ensure fast convergence of the flow
solver. The mesh used to discretise the space can have multiple grid levels in each direction of the
computational domain i, j and k. These levels are numbered from 0 (finest grid) to N (coarsest
grid).
The grid level (N) available in one direction (I, J, or K) is the smallest grid among all patches on that
particular direction (I, J, or K).
The third box, named Number of grid level (s) , permits to significantly accelerate the
convergence to steady state if several grid levels are available: the flow calculation is performed
simultaneously on all the grid levels. This technique is referred to as the multigrid strategy. This
number should be chosen as high as possible, and deduced from the information displayed on the
available grid level and the grid level on which the computation will be performed (Current Grid
Level).
In case that the number of grid levels is 1 in one direction, it is possible to use multigrid strategy in
other directions. It is however not recommended to use such hybrid multigrid strategy (except for 2D
cases) since it deforms the mesh in a preferential direction and thus possibly increasing the aspect
ratio. Consequently, the quality of the resulting mesh can be decreased.
Finally, the option Coarse Grid Initialization enables, before calculating the flow on the mesh
contained in the IGG™ files, to perform a preliminary flow calculations on a coarser mesh
automatically created by the flow solver by coarsening the initial one. This provides a rapid
estimation of the flow. This technique is referred to Full Multigrid.
Preconditioning Parameters
This box allows the user to choose the Hakimi or Merkle preconditioners. The parameters are
only available when an incompressible fluid is selected on the Fluid Model page or when the
Low Speed Flow (M<0.3)option is activated on the Flow Model page.
The upwind spatial scheme (Numerical Model page) is not available if the preconditioning option is
chosen.
Hakimi Preconditioning
When choosing Hakimi preconditioning, extra parameters have to be defined. The variables that
and
the user controls are reference pressure
, reference temperature
, β coefficient
characteristic velocity
.
and
are accessible through the Flow Model page.
The default value of β * is 3. Based on our experience with the presented low speed
preconditioner the parameter β* can be taken of order unity for inviscid flow computations. For
viscous computations associated with Reynolds numbers greater than about Re=1000, a constant
value β* of order unity is also adequate. If convergence difficulties are encountered at the very
beginning of a computation, it is recommended to increase the value of the parameter β * .
Remember however that a too large value of β* will introduce excessive artificial dissipation into
the solution. For lower Reynolds number the parameter β * has to vary in order to preserve
numerical stability and a good convergence rate. The parameter β * should increase as the
Reynolds number decreases and may vary over several orders of magnitude .
With low Reynolds number, β* has to be increased. But this increases the dissipation and therefore
alters the precision of the solution.
Typical variation of the preconditioning parameter
with Reynolds number
FIGURE 6.5
is representative of the maximum velocity in the flow field. For example, in external flows,
Uref could be taken as the free stream velocity whereas in internal flows it could be taken as the
maximum inlet velocity. Note, for the user's convenience, the constant Uref is always equal to the
reference velocity specified in the Flow Model page, which means that one of them
(U ref /reference velocity in the Flow Model page) is changed, the other one will be changed
automatically.
The choice of Uref has an influence on the convergence.
Another expert parameter ALPHAP (α) is accessible in the Control Variables page under
Expert Mode. According to several computations accomplished with the central scheme, good
convergence rates were obtained for values of α lying in the range [-1,1]. So far the best value is
found to be α=-1.
Merkle Preconditioning
When choosing the Merkle preconditioner, no extra inputs are required.
Harmonics Range
For multi-rank NLH computations, inner perturbations can be defined. They originate from within
a rotor or stator, and are given by a time frequency and a spatial mode (a positive or negative
integer).
The introduction of inner perturbations can be done via the button Inner perturbations. The
rank of these perturbations is rank = 1 in the group where they are generated, and rank = 2 in the
adjacent rows. Multiple inner perturbations can be defined in one or more groups. These
perturbations are indexed with "iP" in the harmonics selection window which is accessible via the
button Show the harmonics. This window enables the selection of the harmonics which will be
solved in each group and the choice of the number of harmonics which will be associated with
each inner perturbations. The interaction of the inner perturbations with the other harmonics can
also be selected, as well as the maximum order of interaction.
C. Numerical Model in the FINE™/Turbo GUI
CFL Number
This box allows to tune the CFL (Courant-Friedrich-Levy) number to be employed in the
computation. This number globally scales the time-step sizes used for the time-marching scheme
of the flow solver. A higher value of the CFL number results in a faster convergence, but will
lead to divergence if the stability limit is exceeded.
CPU Booster
FINE™/Turbo includes an innovative breakthrough in convergence acceleration. Based on
enhanced implicitness, it leads to a drastic reduction in computational time with respect to the
current advanced technologies in FINE™/Turbo. If the user activates the option CPU Booster,
the default value of the CFL number will be 1000.
When an oscillating convergence is obtained with CPU Booster, the user may try to change the
multigrid sweep definition from Increase on higher level to Linear progression in order to
improve the convergence.
CPU Booster is also compatible with incompressible fluids or low speed flows (M < 0.3) with the use
of Merkle preconditioning.
CPU Booster is not recommended when modeling low speed flows without preconditioning and may
not be robust for computations with condensable gases with dryness fraction less than 1.
Multigrid Parameters
In the left part of the Numerical Model page, three boxes are visible. The first one is an
information box, named Grid levels: current/coarsest. It indicates for each of the i, j and k
directions the currently selected grid level and the number of the coarsest grid level available in
the corresponding direction. The second box of the Numerical Model page is an input box that
allows to define the Current grid level for each of the i, j and k directions.
l The coarsest grid level depends on the number of times the grid can be coarsened, along each
of the (i,j,k) directions. For example, if the grid has 17*33*33 points in the i, j, k directions, it
has respectively 16*32*32 cells. The i direction (16 cells) can thus be divided 4 times by 2,
while the others can be divided 5 times by 2. The following grid levels are then available:
0 0 0 17*33*33 (18,513 points)
1 1 1 9*17*17 (2,601 points)
2 2 2 5*9*9 (405 points)
3 3 3 3*5*5 (75 points)
4 4 4 2*3*3 (18 points)
4 5 5 2*2*2 (8 points)
The coarsest grid level available is then 4 along i and 5 along j and k.
l The current grid level is the finest grid level (for each of the i, j and k directions) on which the
computation will take place. The selected levels should be in the range between 0 and the
coarsest grid level available for each of the i, j and k directions. Referring to the example given
just above, the user can do a first run on level 3 3 3 to validate the computational parameters
and then switch to level 1 1 1 or 0 0 0 for a finer solution. It gives a high flexibility to the
system since with one grid, the user can run simulations on several sub-meshes.
All combinations between the i, j and k grid levels, in the specified range, are possible such as 2 3 1
or 0 3 2...etc. It is however not recommended to use such hybrid levels (e.g. 010 or 211) since it
deforms the mesh in a preferential direction and thus possibly increasing the aspect
ratio.
Consequently, the quality of the resulting mesh can be decreased.
Press <Enter> after each modification to validate the new specified levels.
The use of multigrid is highly recommended in order to ensure fast convergence of the flow
solver. The mesh used to discretise the space can have multiple grid levels in each direction of the
computational domain i, j and k. These levels are numbered from 0 (finest grid) to N (coarsest
grid).
The grid level (N) available in one direction (I, J, or K) is the smallest grid among all patches on that
particular direction (I, J, or K).
The third box, named Number of grid level (s) , permits to significantly accelerate the
convergence to steady state if several grid levels are available: the flow calculation is performed
simultaneously on all the grid levels. This technique is referred to as the multigrid strategy. This
number should be chosen as high as possible, and deduced from the information displayed on the
available grid level and the grid level on which the computation will be performed (Current Grid
Level).
In case that the number of grid levels is 1 in one direction, it is possible to use multigrid strategy in
other directions. It is however not recommended to use such hybrid multigrid strategy (except for 2D
cases) since it deforms the mesh in a preferential direction and thus possibly increasing the aspect
ratio. Consequently, the quality of the resulting mesh can be decreased.
Finally, the option Coarse Grid Initialization enables, before calculating the flow on the mesh
contained in the IGG™ files, to perform a preliminary flow calculations on a coarser mesh
automatically created by the flow solver by coarsening the initial one. This provides a rapid
estimation of the flow. This technique is referred to Full Multigrid.
Preconditioning Parameters
This box allows the user to choose the Hakimi or Merkle preconditioners. The parameters are
only available when an incompressible fluid is selected on the Fluid Model page or when the
Low Speed Flow (M<0.3)option is activated on the Flow Model page.
The upwind spatial scheme (Numerical Model page) is not available if the preconditioning option is
chosen.
Hakimi Preconditioning
When choosing Hakimi preconditioning, extra parameters have to be defined. The variables that
and
the user controls are reference pressure
, reference temperature
, β coefficient
characteristic velocity
.
and
are accessible through the Flow Model page.
The default value of β * is 3. Based on our experience with the presented low speed
preconditioner the parameter β* can be taken of order unity for inviscid flow computations. For
viscous computations associated with Reynolds numbers greater than about Re=1000, a constant
value β* of order unity is also adequate. If convergence difficulties are encountered at the very
beginning of a computation, it is recommended to increase the value of the parameter β * .
Remember however that a too large value of β* will introduce excessive artificial dissipation into
the solution. For lower Reynolds number the parameter β * has to vary in order to preserve
numerical stability and a good convergence rate. The parameter β * should increase as the
Reynolds number decreases and may vary over several orders of magnitude .
With low Reynolds number, β* has to be increased. But this increases the dissipation and therefore
alters the precision of the solution.
Typical variation of the preconditioning parameter
with Reynolds number
FIGURE 6.6
is representative of the maximum velocity in the flow field. For example, in external flows,
Uref could be taken as the free stream velocity whereas in internal flows it could be taken as the
maximum inlet velocity. Note, for the user's convenience, the constant Uref is always equal to the
reference velocity specified in the Flow Model page, which means that one of them
(U ref /reference velocity in the Flow Model page) is changed, the other one will be changed
automatically.
The choice of Uref has an influence on the convergence.
Another expert parameter ALPHAP (α) is accessible in the Control Variables page under
Expert Mode. According to several computations accomplished with the central scheme, good
convergence rates were obtained for values of α lying in the range [-1,1]. So far the best value is
found to be α=-1.
Merkle Preconditioning
When choosing the Merkle preconditioner, no extra inputs are required.
Harmonics Range
For multi-rank NLH computations, inner perturbations can be defined. They originate from within
a rotor or stator, and are given by a time frequency and a spatial mode (a positive or negative
integer).
The introduction of inner perturbations can be done via the button Inner perturbations. The
rank of these perturbations is rank = 1 in the group where they are generated, and rank = 2 in the
adjacent rows. Multiple inner perturbations can be defined in one or more groups. These
perturbations are indexed with "iP" in the harmonics selection window which is accessible via the
button Show the harmonics. This window enables the selection of the harmonics which will be
solved in each group and the choice of the number of harmonics which will be associated with
each inner perturbations. The interaction of the inner perturbations with the other harmonics can
also be selected, as well as the maximum order of interaction.
D. Numerical Model in the FINE™/Turbo GUI
CFL Number
This box allows to tune the CFL (Courant-Friedrich-Levy) number to be employed in the
computation. This number globally scales the time-step sizes used for the time-marching scheme
of the flow solver. A higher value of the CFL number results in a faster convergence, but will
lead to divergence if the stability limit is exceeded.
CPU Booster
FINE™/Turbo includes an innovative breakthrough in convergence acceleration. Based on
enhanced implicitness, it leads to a drastic reduction in computational time with respect to the
current advanced technologies in FINE™/Turbo. If the user activates the option CPU Booster,
the default value of the CFL number will be 1000.
When an oscillating convergence is obtained with CPU Booster, the user may try to change the
multigrid sweep definition from Increase on higher level to Linear progression in order to
improve the convergence.
CPU Booster is also compatible with incompressible fluids or low speed flows (M < 0.3) with the use
of Merkle preconditioning.
CPU Booster is not recommended when modeling low speed flows without preconditioning and may
not be robust for computations with condensable gases with dryness fraction less than 1.
Multigrid Parameters
In the left part of the Numerical Model page, three boxes are visible. The first one is an
information box, named Grid levels: current/coarsest. It indicates for each of the i, j and k
directions the currently selected grid level and the number of the coarsest grid level available in
the corresponding direction. The second box of the Numerical Model page is an input box that
allows to define the Current grid level for each of the i, j and k directions.
l The coarsest grid level depends on the number of times the grid can be coarsened, along each
of the (i,j,k) directions. For example, if the grid has 17*33*33 points in the i, j, k directions, it
has respectively 16*32*32 cells. The i direction (16 cells) can thus be divided 4 times by 2,
while the others can be divided 5 times by 2. The following grid levels are then available:
0 0 0 17*33*33 (18,513 points)
1 1 1 9*17*17 (2,601 points)
2 2 2 5*9*9 (405 points)
3 3 3 3*5*5 (75 points)
4 4 4 2*3*3 (18 points)
4 5 5 2*2*2 (8 points)
The coarsest grid level available is then 4 along i and 5 along j and k.
l The current grid level is the finest grid level (for each of the i, j and k directions) on which the
computation will take place. The selected levels should be in the range between 0 and the
coarsest grid level available for each of the i, j and k directions. Referring to the example given
just above, the user can do a first run on level 3 3 3 to validate the computational parameters
and then switch to level 1 1 1 or 0 0 0 for a finer solution. It gives a high flexibility to the
system since with one grid, the user can run simulations on several sub-meshes.
All combinations between the i, j and k grid levels, in the specified range, are possible such as 2 3 1
or 0 3 2...etc. It is however not recommended to use such hybrid levels (e.g. 010 or 211) since it
ratio.
deforms the mesh in a preferential direction and thus possibly increasing the aspect
Consequently, the quality of the resulting mesh can be decreased.
Press <Enter> after each modification to validate the new specified levels.
The use of multigrid is highly recommended in order to ensure fast convergence of the flow
solver. The mesh used to discretise the space can have multiple grid levels in each direction of the
computational domain i, j and k. These levels are numbered from 0 (finest grid) to N (coarsest
grid).
The grid level (N) available in one direction (I, J, or K) is the smallest grid among all patches on that
particular direction (I, J, or K).
The third box, named Number of grid level (s) , permits to significantly accelerate the
convergence to steady state if several grid levels are available: the flow calculation is performed
simultaneously on all the grid levels. This technique is referred to as the multigrid strategy. This
number should be chosen as high as possible, and deduced from the information displayed on the
available grid level and the grid level on which the computation will be performed (Current Grid
Level).
In case that the number of grid levels is 1 in one direction, it is possible to use multigrid strategy in
other directions. It is however not recommended to use such hybrid multigrid strategy (except for 2D
cases) since it deforms the mesh in a preferential direction and thus possibly increasing the aspect
ratio. Consequently, the quality of the resulting mesh can be decreased.
Finally, the option Coarse Grid Initialization enables, before calculating the flow on the mesh
contained in the IGG™ files, to perform a preliminary flow calculations on a coarser mesh
automatically created by the flow solver by coarsening the initial one. This provides a rapid
estimation of the flow. This technique is referred to Full Multigrid.
Preconditioning Parameters
This box allows the user to choose the Hakimi or Merkle preconditioners. The parameters are
only available when an incompressible fluid is selected on the Fluid Model page or when the
Low Speed Flow (M<0.3)option is activated on the Flow Model page.
The upwind spatial scheme (Numerical Model page) is not available if the preconditioning option is
chosen.
Hakimi Preconditioning
When choosing Hakimi preconditioning, extra parameters have to be defined. The variables that
and
the user controls are reference pressure
, reference temperature
, β coefficient
characteristic velocity
.
and
are accessible through the Flow Model page.
The default value of β * is 3. Based on our experience with the presented low speed
preconditioner the parameter β* can be taken of order unity for inviscid flow computations. For
viscous computations associated with Reynolds numbers greater than about Re=1000, a constant
value β* of order unity is also adequate. If convergence difficulties are encountered at the very
beginning of a computation, it is recommended to increase the value of the parameter β * .
Remember however that a too large value of β* will introduce excessive artificial dissipation into
the solution. For lower Reynolds number the parameter β * has to vary in order to preserve
numerical stability and a good convergence rate. The parameter β * should increase as the
Reynolds number decreases and may vary over several orders of magnitude .
With low Reynolds number, β* has to be increased. But this increases the dissipation and therefore
alters the precision of the solution.
Typical variation of the preconditioning parameter
with Reynolds number
FIGURE 6.7
is representative of the maximum velocity in the flow field. For example, in external flows,
Uref could be taken as the free stream velocity whereas in internal flows it could be taken as the
maximum inlet velocity. Note, for the user's convenience, the constant Uref is always equal to the
reference velocity specified in the Flow Model page, which means that one of them
(U ref /reference velocity in the Flow Model page) is changed, the other one will be changed
automatically.
The choice of Uref has an influence on the convergence.
Another expert parameter ALPHAP (α) is accessible in the Control Variables page under
Expert Mode. According to several computations accomplished with the central scheme, good
convergence rates were obtained for values of α lying in the range [-1,1]. So far the best value is
found to be α=-1.
Merkle Preconditioning
When choosing the Merkle preconditioner, no extra inputs are required.
Harmonics Range
For multi-rank NLH computations, inner perturbations can be defined. They originate from within
a rotor or stator, and are given by a time frequency and a spatial mode (a positive or negative
integer).
The introduction of inner perturbations can be done via the button Inner perturbations. The
rank of these perturbations is rank = 1 in the group where they are generated, and rank = 2 in the
adjacent rows. Multiple inner perturbations can be defined in one or more groups. These
perturbations are indexed with "iP" in the harmonics selection window which is accessible via the
button Show the harmonics. This window enables the selection of the harmonics which will be
solved in each group and the choice of the number of harmonics which will be associated with
each inner perturbations. The interaction of the inner perturbations with the other harmonics can
also be selected, as well as the maximum order of interaction.
E. Numerical Model in the FINE™/Turbo GUI
CFL Number
This box allows to tune the CFL (Courant-Friedrich-Levy) number to be employed in the
computation. This number globally scales the time-step sizes used for the time-marching scheme
of the flow solver. A higher value of the CFL number results in a faster convergence, but will
lead to divergence if the stability limit is exceeded.
CPU Booster
FINE™/Turbo includes an innovative breakthrough in convergence acceleration. Based on
enhanced implicitness, it leads to a drastic reduction in computational time with respect to the
current advanced technologies in FINE™/Turbo. If the user activates the option CPU Booster,
the default value of the CFL number will be 1000.
When an oscillating convergence is obtained with CPU Booster, the user may try to change the
multigrid sweep definition from Increase on higher level to Linear progression in order to
improve the convergence.
CPU Booster is also compatible with incompressible fluids or low speed flows (M < 0.3) with the use
of Merkle preconditioning.
CPU Booster is not recommended when modeling low speed flows without preconditioning and may
not be robust for computations with condensable gases with dryness fraction less than 1.
Multigrid Parameters
In the left part of the Numerical Model page, three boxes are visible. The first one is an
information box, named Grid levels: current/coarsest. It indicates for each of the i, j and k
directions the currently selected grid level and the number of the coarsest grid level available in
the corresponding direction. The second box of the Numerical Model page is an input box that
allows to define the Current grid level for each of the i, j and k directions.
l The coarsest grid level depends on the number of times the grid can be coarsened, along each
of the (i,j,k) directions. For example, if the grid has 17*33*33 points in the i, j, k directions, it
has respectively 16*32*32 cells. The i direction (16 cells) can thus be divided 4 times by 2,
while the others can be divided 5 times by 2. The following grid levels are then available:
0 0 0 17*33*33 (18,513 points)
1 1 1 9*17*17 (2,601 points)
2 2 2 5*9*9 (405 points)
3 3 3 3*5*5 (75 points)
4 4 4 2*3*3 (18 points)
4 5 5 2*2*2 (8 points)
The coarsest grid level available is then 4 along i and 5 along j and k.
l The current grid level is the finest grid level (for each of the i, j and k directions) on which the
computation will take place. The selected levels should be in the range between 0 and the
coarsest grid level available for each of the i, j and k directions. Referring to the example given
just above, the user can do a first run on level 3 3 3 to validate the computational parameters
and then switch to level 1 1 1 or 0 0 0 for a finer solution. It gives a high flexibility to the
system since with one grid, the user can run simulations on several sub-meshes.
All combinations between the i, j and k grid levels, in the specified range, are possible such as 2 3 1
or 0 3 2...etc. It is however not recommended to use such hybrid levels (e.g. 010 or 211) since it
deforms the mesh in a preferential direction and thus possibly increasing the aspect
ratio.
Consequently, the quality of the resulting mesh can be decreased.
Press <Enter> after each modification to validate the new specified levels.
The use of multigrid is highly recommended in order to ensure fast convergence of the flow
solver. The mesh used to discretise the space can have multiple grid levels in each direction of the
computational domain i, j and k. These levels are numbered from 0 (finest grid) to N (coarsest
grid).
The grid level (N) available in one direction (I, J, or K) is the smallest grid among all patches on that
particular direction (I, J, or K).
The third box, named Number of grid level (s) , permits to significantly accelerate the
convergence to steady state if several grid levels are available: the flow calculation is performed
simultaneously on all the grid levels. This technique is referred to as the multigrid strategy. This
number should be chosen as high as possible, and deduced from the information displayed on the
available grid level and the grid level on which the computation will be performed (Current Grid
Level).
In case that the number of grid levels is 1 in one direction, it is possible to use multigrid strategy in
other directions. It is however not recommended to use such hybrid multigrid strategy (except for 2D
cases) since it deforms the mesh in a preferential direction and thus possibly increasing the aspect
ratio. Consequently, the quality of the resulting mesh can be decreased.
Finally, the option Coarse Grid Initialization enables, before calculating the flow on the mesh
contained in the IGG™ files, to perform a preliminary flow calculations on a coarser mesh
automatically created by the flow solver by coarsening the initial one. This provides a rapid
estimation of the flow. This technique is referred to Full Multigrid.
Preconditioning Parameters
This box allows the user to choose the Hakimi or Merkle preconditioners. The parameters are
only available when an incompressible fluid is selected on the Fluid Model page or when the
Low Speed Flow (M<0.3)option is activated on the Flow Model page.
The upwind spatial scheme (Numerical Model page) is not available if the preconditioning option is
chosen.
Hakimi Preconditioning
When choosing Hakimi preconditioning, extra parameters have to be defined. The variables that
and
the user controls are reference pressure
, reference temperature
, β coefficient
characteristic velocity
.
and
are accessible through the Flow Model page.
The default value of β * is 3. Based on our experience with the presented low speed
preconditioner the parameter β* can be taken of order unity for inviscid flow computations. For
viscous computations associated with Reynolds numbers greater than about Re=1000, a constant
value β* of order unity is also adequate. If convergence difficulties are encountered at the very
beginning of a computation, it is recommended to increase the value of the parameter β * .
Remember however that a too large value of β* will introduce excessive artificial dissipation into
the solution. For lower Reynolds number the parameter β * has to vary in order to preserve
numerical stability and a good convergence rate. The parameter β * should increase as the
Reynolds number decreases and may vary over several orders of magnitude .
With low Reynolds number, β* has to be increased. But this increases the dissipation and therefore
alters the precision of the solution.
Typical variation of the preconditioning parameter
with Reynolds number
FIGURE 6.8
is representative of the maximum velocity in the flow field. For example, in external flows,
Uref could be taken as the free stream velocity whereas in internal flows it could be taken as the
maximum inlet velocity. Note, for the user's convenience, the constant Uref is always equal to the
reference velocity specified in the Flow Model page, which means that one of them
(U ref /reference velocity in the Flow Model page) is changed, the other one will be changed
automatically.
The choice of Uref has an influence on the convergence.
Another expert parameter ALPHAP (α) is accessible in the Control Variables page under
Expert Mode. According to several computations accomplished with the central scheme, good
convergence rates were obtained for values of α lying in the range [-1,1]. So far the best value is
found to be α=-1.
Merkle Preconditioning
When choosing the Merkle preconditioner, no extra inputs are required.
Harmonics Range
For multi-rank NLH computations, inner perturbations can be defined. They originate from within
a rotor or stator, and are given by a time frequency and a spatial mode (a positive or negative
integer).
The introduction of inner perturbations can be done via the button Inner perturbations. The
rank of these perturbations is rank = 1 in the group where they are generated, and rank = 2 in the
adjacent rows. Multiple inner perturbations can be defined in one or more groups. These
perturbations are indexed with "iP" in the harmonics selection window which is accessible via the
button Show the harmonics. This window enables the selection of the harmonics which will be
solved in each group and the choice of the number of harmonics which will be associated with
each inner perturbations. The interaction of the inner perturbations with the other harmonics can
also be selected, as well as the maximum order of interaction.
6.1.2
Expert Parameters
Interfaced Expert Parameters
Multigrid Strategy
The option Coarse Grid Initialization enables, before calculating the flow on the mesh, to
perform a preliminary flow calculations on a coarser mesh automatically created by the flow
solver by coarsening the initial one. This provides a rapid estimation of the flow. This technique is
referred to Full Multigrid.
If the option Coarse Grid Initialization is activated, the computation starts on the coarsest grid
level and includes a finer grid level each time one of the two following criteria is satisfied:
l The maximum number of cycles to be performed on each grid level is reached. This parameter
is specified through the input box in the Full MultiGrid Parameters area as the Maximum
number of cycles per grid level.
l The residual on the current grid level has dropped a certain order of magnitude as indicated by
the Convergence criteria on each grid level in the Full MultiGrid Parameters area.
When general CPU Booster is activated in the computation, the user may activate or deactivate
CPU Booster during the coarse grid initialization and specify a corresponding CFL number.
The imposed CFL number during the coarse grid initialization must be lower or equal to the general
CFL number.
For the Convergence criteria on each grid level, both the RMS and maximum residuals are
checked when passing from one grid level to the next one in full multigrid initialization. The flow
solver jumps to the next grid level when both criteria has decreased e.g. 3 orders of magnitude.
l An additional input box permits to select the number of sweeps to be performed on the coarse
grid levels through the input box Number of sweeps on successive grid levels. The amount
of sweeps is the amount of times the Runge- Kutta operator is applied. In the default
configuration of the solver called Linear progression, the number of sweeps on each level
equals the level number (2 sweeps on second level,...). It has been observed in many cases that
the convergence rate may be significantly improved by performing a higher number of sweeps
on the coarsest levels. Recommended sets of values are proposed in the Sweeps area through
the parameter Scheme definition: for instance (1,2,16) in case of 3 grid levels. However, it is
should be noted that more sweeps have as a consequence more time required for an iteration.
Spatial Discretization
Two types of spatial discretization are available:
l central scheme (default) and
l upwind scheme.
A new way of calculating the artificial dissipation based on the primitive variables can be
accessed by switch expert parameter IARTVS to 2 when a central scheme is chosen. Such a new
way can limit or remove strong overshoot in temperature in the vicinity of holes when running
blade cooling configurations with the source term approach.
This method is restricted to non-preconditioned perfect gas and real gas implementations. And it is
not applicable with NLH method.
If an upwind discretization is chosen, an input box appears in a Spatial discretization
parameters area to specify the order of accuracy of the desired upwind scheme: first or second
order.
Condensable and preconditioned fluids are not compatible with the use of upwind schemes for space
discretization.
Temporal Discretization
The temporal discretization scheme used for the computation is an explicit multi-stage Runge-
Kutta scheme. In the interface, the time stepping technique should be selected between Local
time stepping (default) and Global time stepping. See Time Discretization: Multistage Runge-
Kutta for more detailed information on the temporal discretization. In general the default scheme
is recommended.
If the computation is an unsteady computation, unsteady parameters box appears.
Non-interfaced Expert Parameters
Additional parameters related to the numerical model are available in the list on the Control
Variables page in Expert Mode.
Multigrid
IMGDIR(integer): Indicates if coarsening will be applied in the specified I, J or K direction (three
values):
l 1 1 1 (default): coarsening applied in all directions
l 0 0 0: no coarsening applied in all directions
l 1 1 0: coarsening applied only on I and J directions
IPROLO(integer): Indicates the order of the prolongation within the multigrid approach. The
default value is depending on the selected fluid type and turbulence model.
l 0: piecewise constant prolongation,
l 1: linear prolongation with damping,
l -1: linear prolongation without damping,
l 2: linear prolongation except at boundaries(-2).
When using incompressible fluids with 0- or 1- equation turbulence models, the damping option is
somewhat useless and can be damaging. FINE™/Turbo therefore sets it
to off automatically
(IPROLO=-1).
IRESTR(integer): Gives the order of the restriction operator of the multigrid.
l = 0 (default): corresponds to linear restriction,
l = 1: to quadratic restriction.
MGRSTR (integer): Applies only for multigrid and fixes the type of multigrid cycle.
MGRSTR=1: V-cycle; MGRSTR=2: W-cycle; MGRSTR=3: F-cycle; MGRSTR=4: V-cycle in
sawtooth; MGRSTR=5: W- cycle in sawtooth; MGRSTR=6: F- cycle in sawtooth. Default:
MGRSTR=1.
MGSIMP(integer): Applies only for multigrid. If MGSIMP>1 a simplification will be used on
coarser levels. If MGSIMP=1 a more dissipative scheme is used on coarser meshes, i.e. first-order
upwind (if 2nd order upwind scheme is used) or central scheme with increased 4th order
dissipation on solid walls (if central scheme is used). If MGSIMP=2,
in addition to the
simplification for MGSIMP=1, viscous and source terms (of turbulence) are neglected on coarser
levels. No simplification for MGSIMP=0. Default: MGSIMP=1
RSMPAR(real): Residual smoothing parameter σ*/σ. A value less or equal to zero means no
residual smoothing.
SMCOR(real): Only used in case of multigrid. SMCOR has the same meaning as RSMPAR but
applies to the interpolated multigrid corrections instead of the residuals. SMCOR indicates
whether interpolated corrections should be smoothed or not. The default value for SMCOR is 0.
Spatial Discretization
IFACE(integer): = 1(default): Cell face gradients are used for the viscous fluxes,
l = 0: cell corner gradients.
IWAVVI(integer): Only used if IFACE=0. If IWAVVI=0 the cell face gradients are obtained by
arithmetic averaging of the cell corner gradients. If IWAVVI=1 a weighted averaging is used
instead, taking the cell volumes into account.
IWAVCO(integer): If IWAVCO=0 a variable averaging is performed. If IWAVCO=2 a flux
averaging is used instead.
Central Discretization
CDIDTE(real): Constant used in the exponential damping factor that is used in the numerical
dissipation for k and ε , both if central or upwind schemes are used. The default value for
CDIDTE is 100
EXPMAR(real): Exponent in the multi-dimensional scaling model of Martinelli of the dissipation
used in central schemes. Default EXPMAR=0.5 i.e. multi-dimensional scaling not used.
IARTV2(integer): Defines whether the second order artificial dissipation switch should be based
on both pressure and temperature gradients (parameter IARTV2=1) or on pressure gradients only
(IARTV2=0). In the default configuration, only pressure gradients are taken into account. Both
pressure and temperature gradients (IARTV2=1) can only be taken into account for compressible
cases.
VIS2(real): Coefficient κ(2) for 2nd order dissipation in the central scheme (default VIS2=1.0).
VIS2KE(real): Used only for k-ε turbulence model. Coefficient κ(2) for 2nd order dissipation in
the central scheme, as applied to the k and ε equations. Default VIS2KE=1.0
VIS2SW(integer): This parameter switches off all second order dissipation for incompressible
fluids (when set to the default: VIS2SW=1). Second order dissipation is intended for stabilization
of the shocks but there are no shocks in incompressible flows. Therefore the default is to switch
off all second order dissipation for incompressible fluids. Sometimes it may be stabilizing to use
some second order dissipation. In that case set this parameter to zero.
VIS4(real): Coefficient κ(4) for 4th order dissipation in the central scheme. Default VIS4=0.1
VIS4KE(real): Used only for k-ε turbulence model. Coefficient κ(4) for 4th order dissipation in
the central scheme, as applied to the k and ε equations. Default VIS4KE=0.1
VISNUL(integer): Eliminates 2nd order dissipation fluxes along the physical boundaries (central
scheme). Default VISNUL=1. If VISNUL=0, the procedure is not applied.
Upwind Discretization
ENTRFX(real): Entropy coefficients. The first value is the entropy fix coefficient applied to the
linear field, the second value is applied to the non-linear field. ENTRFX<1. means a constant
value, ENTRFX>1. means scaled with the spectral radius through a factor ENTRFX-1.
IRATIO(integer): Vector of two values, that indicate which effective ratio is to be used. The first
value applies to the linear field, the second to the non-linear field.
IRATIO is only active for second-order upwind schemes.
IROEAV(integer): =1 indicates that Roe averages are to be used to calculate cell face data. If
IROEAV=0 (default), arithmetic averaging will be used.
Preconditioning
IPRECG(integer): control the primitive variables used in the Merkle preconditioning method
when the fluid is described by thermodynamic tables. Indeed, for condensable fluids, the static
pressure and temperature (used with standard Merkle approach) cannot be considered as
independent variables in a biphasic zone and other variables have to be chosen.
l = 0: the primitive variables are static enthalpy and static pressure (old implementation)
l = 1: the primitive variables are static enthalpy and static pressure (new implementation)
l = 2(default): the primitive variables are total enthalpy and static pressure
FMPLIM (real): Coefficient related to the aspect ratio of cells in one limiter of the particle
velocity used with Merkle preconditioning. Decreasing the value of this parameter (from the
maximum value = 1) can improve the robustness of the Merkle preconditioning in case that large
aspect ratio appears in the mesh. If the value of the parameter is lower than 0, it is not taken into
account.
Time Discretization
IBOTH(integer): used in combination with ISWV. The latter parameter indicates whether the
dissipation terms are recalculated or not in the different Runge-Kutta stages. IBOTH=0 means
that the dissipation term only contains the physical, viscous dissipation; IBOTH=1 means that it
also contains the artificial/upwind dissipation. The default value = 2 means that the dissipation
term contains only the artificial dissipation. The physical dissipation is computed once per time
step.
IRKCO(real): Runge-Kutta coefficients. One for each stage, the first one for the first stage, the
second one for the 2nd stage and so on. The default values that are used when nothing is set in
IRKCO are:
l 1st order upwind - Van Leer:
l 4stage .0833 .2069 .4265 1.
l 5stage .0533 .1263 .2375 .4414 1.
l 2nd order upwind - Van Leer:
l 4stage .1084 .2602 .5052 1.
l 5stage .0695 .1602 .2898 .5060 1.
l central scheme - Jameson:
l 4stage .25 .3333 .5 1.
l 5 stage .25 .1666 .375 .5 1.
l both central and upwind - Eliasson:
l 4stage .125 .306 .587 1.
l 5stage .0814 .191 .342 .574 1.
NSTAGE(integer): number of stages for the explicit Runge-Kutta scheme. In practice, 4 or 5
stage schemes are mostly used.
l = 4: ISWV = 1 1 0 ...(ISWV can be modified afterwards independently)
l = 5: ISWV = 1 0 1 0 1 0 ...(ISWV can be modified afterwards independently)
IRSMCH(integer): specifies the type of residual/correction smoothing.
l = 1: standard version
l = 2 (default only if Hakimi preconditioning): Radespiel & Rossow
l = 3 (default): Zhu, time step dependent coefficients
l = 4: Swanson & Turkel viscous
l = 5: Vatsa. On meshes without high aspect ratio.
ISWV (real): governs the recalculation of the dissipative residual in the different Runge-Kutta
stages. A value α between 0 and 1 is allowed. Zero means no recalculation of dissipative residual
(latest available value will be used); 1 means recalculation. For intermediate values, a weighted
averaging of the latest dissipation residual and of the preceding one is applied with the weight α
and (1-α) respectively. E.g. for a 5-stage scheme: ISWV = 1 0 1 0 1, means that the dissipative
residual is calculated in 1st,3rd and 5th stage only. ISWV is used in combination with IBOTH.
RSMPAR (real): residual smoothing parameter σ*/σ. A value less or equal to zero means no
residual smoothing. Default value = 2.
NITCFL(integer): allows a linear increase (starting from 1) of the CFL number within NITCFL
iterations. This parameter is used only when general CPU Booster is activated. If CPU Booster is
activated during the coarse grid initialization, the CFL number increase will occur from the first
iteration on the coarsest grid level. If CPU Booster is not activated during the coarse grid
initialization, the CFL number increase will occur from the first iteration on the finest grid level.
By default, the value is set to 20.
6.2
TIME CONFIGURATION
To perform time independent computations it is sufficient to select Steady . In case time
dependence needs to be included in the simulation Unsteady or Harmonic should be selected
which gives access to additional parameters respectively for unsteady flow simulation. All
parameters in the FINE™/Turbo interface related to Unsteady computations are described in the
following sections. For the parameters related to Harmonic computations, please refer to the
harmonic method.
6.2.1
Interface for Unsteady Computation
When selecting Unsteady time configuration in the Flow Model page the following additional
parameters become accessible in the FINE™/Turbo interface:
Rotating Machinery
On the Rotating Machinery page, under the Rotor-Stator tab, the Domain Scaling rotor/stator
interaction is activated, see Domain Scaling Method on how to set up a Domain Scaling
simulation. Furthermore, the Phase Lagged capability can be activated on the top of the page.
When activated, the Phase Lagged rotor/stator interaction will be applied, see Phase Lagged
Method on how to set up a Phase Lagged simulation.
Time Dependent Boundary Conditions
On the Boundary Conditions page the boundary conditions at inlet and outlet may be defined as
a function of time. To define a time dependent boundary condition go to the Boundary
Conditions page and change the default (Constant Value) with the pull down menu to:
l fct(time) to define a constant value in space but varying in time. Click on the profile data
button (
) to activate the Profile Manager.
l fct(space-time) to define a space and time dependent variation of the boundary condition
value. In this case a one-dimensional space profile has to be defined. The time profile to
impose is a scaling factor that is applied to the space profile. This means that the profile in
space is only varying in time with a certain scaling factor.
Another way to define an inlet/outlet unsteady boundary condition is to set an absolute rotational
speed to the boundary condition by activating the option Rotating Boundary_Condition and
specifying the rotational speed in Rotational Speed Unsteady respectively under the INLET
and OUTLET tabs, and to set the periodicity of the signal entered in FINE™/Turbo through the
expert parameter NPERBC.
When Rotating Boundary Condition is activated, the time step is no longer specified by the
time step in the FINE™/Turbo interface in the Computation Steering/Control
physical
Variables page. Instead the time step is imposed by defining the Number Of Angular Positions.
When activating Rotating Boundary Condition in the Boundary Conditions page to rotate the
reference system of the boundary condition at the inlet and/or outlet, the period of the boundary
condition should be compared to the blade passing period. In the case of a single blade row
calculation with the period of the varying inlet or outlet boundary conditions different from the
blade passing period, the Phase Lagged option should be activated in the Rotating Machinery
page and the periodicity of the signal entered in FINE™/Turbo has to be specified through the
expert parameter NPERBC.
The FINE™/Turbo solver allows only one rotation speed (combined with a zero rotation speed) when
performing an unsteady simulation using the Domain Scaling method or Phase lagged method.
The inlet/outlet unsteady boundary condition circumferential profile has to be imposed on a range
covering the initial blade passage location and the blade passage location after one period of the
signal.
In the example shown in FIGURE 6.9, the blade channel is initially (t0) located at θ1,θ2 and will
after one period of the signal (T) be located at θ3,θ4. The circumferential signal has thus to be
imposed from at least θ1 to θ4.
FIGURE 6.9
Circumferential signal
Control Variables
On the Computation Steering/Control Variables page the following parameters appear when
selecting an unsteady time configuration:
l Physical Time Step: in general cases the user specifies the magnitude of the physical time step
In cases of
in seconds. This time step is constant
interfaces are detected or Rotating
turbomachinery applications where Rotor/Stator
Boundary Condition activated, the Number Of Angular Positions is requested instead of
the time step.
through the whole calculation.
l Number Of Physical Time Steps: to define the number of time steps to perform. In cases of
interfaces are detected or Rotating
turbomachinery applications where Rotor/Stator
Boundary Condition activated, the Number of Periods can also be specified.
l Save Solution Every: allows to save the solution after a constant number of time steps. By
default the output files will be overwritten, every time the solution is saved. In order to keep
the successive unsteady solutions, the multiple output ( Multiple Files ) option has to be
activated.
l Include Time Averaged Solution in Output: When activated, the time averaged solution will
be computed over one full period and saved in a "_tav.cfv" file, then updated after each full
period. The time averaged solution is computed starting from the first iteration on fine mesh or
the first iteration after restart from file. In the "_tav.cfv" file, all the primitive variables are
averaged as follows:
where
is the time step in iteration i and T is the period. All other variables are derived
from the primitive variables.
The time averaged solution is computed over one full period, this means from T1 to TX with X
being the number of angular position. For instance, if the number of angular position is set to 30
and only 16 time steps have been executed, when restarting the computation, the user needs to
perform 44 (14+30) time steps in order to have a "_tav.cfv" file saved.
The option Include Time Averaged Solution in Output is only available when Rotor/Stator
interfaces are detected or the Rotating Boundary Condition is activated.
The option Include Time Averaged Solution in Output is not available when the phase lagged
approach is used. A tool has been provided, which allows the user to compute the time averaged
solution for the phase lagged computation.
l Outputs For Visualization:
l At end only and Intermediate Restart Files: One File: During the computation, one set
of output files is saved (The solution is saved every x time steps as specified in Save
Solution Every ... time steps.) for a possible restart of the unsteady computation. Output
files for visualization in CFView™ are only available at the end of the computation. No
second order restart possible.
l At end only and Intermediate Restart Files: Multiple Files: During the computation,
multiple sets of output files are saved (The solution is saved every x time steps as specified
in Save Solution Every ... time steps.) for restart of the unsteady computation. Output files
for visualization in CFView™ are only saved at the end of the computation. This option
allows a second order restart.
l Intermediate and One Output File: One set of output files is saved (The solution is saved
every x time steps as specified in Save Solution Every ... time steps.) for restart of the
unsteady computation and visualization in CFView™ during the computation. No second
order restart possible.
l Intermediate and Multiple Files: Multiple sets of output files are saved (The solution is
saved every x time steps as specified in Save Solution Every ... time steps.) for restart of
the unsteady computation. and visualization in CFView™ during the computation. This
option allows a second order restart. This combination has to be chosen to be able to make
an animation of the saved time steps in CFView™.
l Number Of Steady Iterations: the number of iterations to initialize the unsteady computation.
Such initialisation is performed with the steady state algorithm, using fixed geometry and mesh
as well as constant inlet/outlet boundary conditions. In case this initialisation procedure is used
the steady state iterations can even be proceeded by a full multigrid process allowing a rapid
initialisation of the flow.
l Save Steady Solution Every : the number of iterations at which the solution of steady
initialisation is saved
By default only one output file is created. For the generation of multiple output files, the Multiple
Files option has to be selected.
Second Order Accurate in Time
The FINE™/Turbo solver performs second order accurate simulations in time. In order to allow a
second order restart it is necessary to select Multiple Files in the Computation Steering/Control
Variables page. When Multiple Files option is selected, in unsteady calculations the ".cfv" and
".cgns" are saved at the requested time steps and only a part of the ".cgns" file is saved for the
previous time step. When requesting a restart of an unsteady computation the FINE™/Turbo
solver will automatically find this second solution file to use. If this file is not found, a first order
scheme is used for the first time step.
is saved when selecting Multiple Files with Output For
Note that only a limited output
Visualization/At end only. If a solution is requested every x time steps, only solution files with
extension ".cgns" are written every x time steps instead of a full set of solution files. This limited
output still allows to restart from this solution . The full set of solution files will be written at the end
of the computation.
Note, in order to perform a second order restart for an unsteady computation, all the blocks and
groups should be merged together into one single group and the option Reset convergence history
MUST be deactivated. Otherwise only a first order restart will be applied automatically. Please refer
to General Restart Procedure on how to deactivate the option Reset convergence history.
Note, in order to keep the convergence history in the new computation (different from the initial
unsteady computation), the ".res", ".steering" and ".steering.binary" files need to be copied and
renamed in the new computation directory.
6.2.2
Expert Parameters for Unsteady Computations
Numerical Model in Expert User Mode
On the Numerical Model page, two new parameters appear in the user expert mode when
selecting the Dual time stepping technique. They are the control variables for the inner iterations.
For each physical time step a certain amount of iterations is performed in pseudo time leading to a
converged solution independent of the pseudo time.
l Convergence criteria of the inner iterations (orders of magnitude of reduction). The inner
iterations are stopped if the reduction of the residuals reaches the specified value.
l Maximum number of inner iterations: it allows to define the maximum number of iterations
to perform for each time step. In general the default of 100 iterations per time step is sufficient.
The inner iteration process is automatically stopped after this maximum number of iterations if
the convergence criteria has not been satisfied before.
List of Non-interfaced Expert Parameters
The following expert parameter related to unsteady computations are accessible on the Control
Variables page by selecting the Expert Mode.
ICYOUT(integer): can be equal to 0 or 1 (default):
l 0: name of output changes with suffix _t#iter,
l 1 (default): each solution is overwritten every cycle.
IFNMB(integer): can be equal to 0 (default) or 1:
l 0 (default): to keep all PERNM or NMB boundaries,
l 1: to transform all PERNM boundaries into periodic full non matching ones or all NMB
boundaries into full non matching ones.
NPERBC(integer): can be equal to 1 (default) or integer value:
l 1 (default): when the inlet/outlet unsteady boundary condition is a rotating circumferential
profile (activating Rotating Boundary Condition and specifying the rotational speed in
Rotational Speed Unsteady respectively under the INLET and OUTLET tabs) and the
boundary condition is entered in the FINE™/Turbo interface for the full range [0,2π].
l N: when the inlet/outlet unsteady boundary condition is a rotating circumferential profile
(activating Rotating Boundary Condition and specifying the rotational speed in Rotational
Speed Unsteady respectively under the INLET and OUTLET tabs) and the boundary
condition is entered in the FINE™/Turbo interface for part of the range [0,2π/N] covering one
or multiple periods of the signal.
RELPHL(real): 0.5 (default) if necessary, under-relaxation factor can be applied on Periodic and
R/S boundary conditions by reducing the two values of the expert parameter for respectively the
periodic and the R/S boundary conditions.
6.2.3
Best Practice on Time Accurate Computations
To perform time accurate computations, general advice is provided in this section. For advice on
how to perform a time accurate turbomachinery calculation including rotor/stator interactions.
General Project Set-up for Time Accurate Computations
1. Create a new project,
2. Select the fluid to use in the Fluid Model page,
3. Select Unsteady time configuration in the Flow Model page and set all the other parameters
on this page in the same way as for a steady computations as detailed in "Flow model" (p.
541).
4. On the Rotating Machinery page set all the parameters (Phase Lagged option) in the same
way as for a steady computation.
5. Set the steady or unsteady boundary conditions. For more detail on time dependent boundary
conditions and phase lagged approach, see Time Dependent Boundary condition.
6. Concerning the initial solution for unsteady computations there are three possibilities:
l to start from a steady solution,
l to start from an unsteady solution,
l to use constant values, initial solution for turbomachinery or throughflow as an initial guess
with or without steady state initialisation.
For more detail on these initialisation procedures, see Initialisation procedure section.
1. All outputs available in steady mode are also available in unsteady mode .
2. On the Control Variables page set:
l the physical time step or number of angular position and the number of time steps or
periods,
l the amount of output files,
l amount of iterations in steady state initialisation.
Time Dependent Boundary Conditions
Unsteadiness can be generated by means of time varying inlet/outlet boundary conditions. Two
different situations can be encountered:
1. The time variation is imposed as an amplitude factor of the space variation,
2. The time variation is imposed by rotating the inlet and/or outlet boundary condition. The
absolute rotation speed of the boundary condition(s) is imposed in the Boundary Conditions
page.
Depending on the periodicity of the boundary condition the phase lagged approach needs to be
used:
1. The circumferential distribution of the imposed inlet/outlet conditions has the same period as
the blade row. The calculation of such time-dependent flow does not require to activate the
Phase Lagged approach.
2. The period of the time varying inlet/outlet boundary condition is different from the blade
passing period. The calculation of such time-dependent flow requires to activate the Phase
Lagged approach at the top of the Rotating Machinery page.
A circumferential profile must be entered in the FINE™/Turbo interface for the full range [0,2π] and
NPERBC = 1 or for part of the range [0,2π/N] covering one or multiple periods of the signal and
NPERBC = N. The profile should be based on θ, z- θ or r- θ. The profile is rotating at the speed,
specified in the Boundary Conditions page (Rotational Speed Unsteady).
It is important that the inlet/outlet unsteady boundary condition circumferential profile is imposed on
a range covering the initial blade passage location and the blade passage location after one period of
the signal .
Initialisation Procedure
Start From Steady Solution
In most cases, it is first required to perform a preliminary steady state computation. The objective
might be to ensure that the problem naturally depicts the unsteady behavior and/or to get an
adequate guess solution before going towards time accurate calculations depicting periodic
behaviors. The steady state initialisation may be done in a separate computation, performed in
steady mode using the time-marching approach based on a local time stepping, which is proposed
by default. The time accurate calculation is then started using this solution as an initial solution.
To set up the time accurate calculation in this case follow the steps 1 to 8. In step 6 select in the
Initial Solution page from file and select the solution of the steady computation. In step 8 it is
also possible to select additional steady state initialisation in the Control Variables page.
Start From Time Accurate Solution
It is possible to start from a previously performed time accurate solution. For general information
about starting from an initial solution.
In order to allow to do a second order accurate restart it is necessary that Multiple Filesoption is
selected in the Control Variables page in the Output Files parameters. When the option is
activated in unsteady calculations the ".cfv" and ".cgns" files are saved at the requested time steps
and only a part of the ".cgns" file is saved for the previous time step. When requesting a restart of
an unsteady computation the FINE™/Turbo solver will automatically find this second solution
file to use. If this file is not found, a first order scheme is used for the first time step.
Steady State Initialisation in Unsteady Computation
The steady state initialisation is automatically performed before starting the time accurate
computation (that means within the same computation). To perform a steady state initialisation in
an unsteady computation, the number of iterations has to be entered in Steady Initialisation
parameters on the Control Variables page.
Physical Time Step
The physical time step should be entered on the Control Variables page. The time step to choose
depends on the expected frequency of the flow phenomena to capture. In general
is
recommended to compute at least 10 to 20 time steps per period.
it
When working with the Domain Scaling method, using a Number Of Angular Positions of 10
points per blade passage is giving a coarse but reasonable result. To have a more accurate (but
more CPU consuming) result choose 20 to 30 points per passage.
When working with the Phase Lagged method, the Number Of Angular Positions is the number
of time iterations per 2π.
The following examples show the settings of Number Of Angular Positions and Number Of
Time Steps when using an unsteady inlet boundary condition.
Example 1: single blade row calculation involving phase-lagged boundary conditions
When working with a N1 blades turbomachine and a periodic signal at inlet presenting a
periodicity of N2 and plotted on [0,2π/N2] range.
l Number Of Angular Positions = i x N1 where i is an integer imposed so that (i x N1) is
around 30.
l Number Of Time Steps = j x (Number Of Angular Positions) where j is the number of full
revolutions. Usually j is set to 20.
l NPERBC = period of the signal (N2)
(Number Of Angular Positions)x(NPERBC) corresponds to the number of time steps per full
revolution (2π)
Example 2: complete row calculation involving sliding boundary conditions
When working with a N1 blades turbomachine and a periodic signal at inlet presenting a period of
N2 and plotted on [0,2π] range.
l Number Of Angular Positions = i x N1 x N2 where i is an integer so that (i x N1) and (i x
N2) are around 30.
l Number Of Time Steps = j x (Number Of Angular Positions) where j is the number of full
revolutions. Usually j is set to 20.
l NPERBC = 1
(Number Of Angular Positions)x(NPERBC) corresponds to the number of time steps per full
revolution (2π)
Amount of Output
By default only one set of output files is created, which is periodically overwritten. Activate
Multiple Files in the Control Variables page to create a set of output files for each time step that
an output will occur (this depends on the Save solution Every entry available in the Control
Variables page).
".cgns" files will be generated. The files are automatically renamed accordingly to the time step
computed using the suffix "_ t#." that
time step. The
corresponding ".cfv" files can be read in CFView™ only if in addition of the Multiple Files the
Intermediate option has been selected in the Output For Visualization option. Note that the
".run" and ".cgns" files (without "_t#." suffix) are linked to the initial state of calculation.
is thus determining the #th physical
Time Averaged Solution
For domain scaling simulations, the user can get a time averaged solution by activating the option
Include Time Averaged Solution in Output on the interface. But for phase lagged simulations,
this is not the case. A tool plg2harmo is provided in the FINE™/Turbo package. Using
plg2harmo, the user can compute a time averaged solution from the solutions obtained by the
phase lagged simulation or the domain scaling simulation.
The tool plg2harmo can only be launched from the shell.
On Linux:
plg2harmo<version> project-path/project-name.run
On Windows:
Installation path\bin64\plg2harmox86_64.exe project-path/project-name.run (for 64bits OS)
Then two new files "project-name_ft0.run" and "project-name_ft0.cgns" will be generated. The
two files include the time averaged solution. The user can load these files into CFView™ for
post-processing.
The tool plg2harmo can only be used to turbo configuration. All the time steps corresponding to 1
periodicity must be present in the computation folder. For phase-lagged computations, the periodicity
should be the larger one.
The treatment of solid data is not allowed.
The calculation of time-averaged velocities for a computation with an inlet or outlet distortion set as
boundary condition is not allowed.
CHAPTER 7.
PHYSICAL MODELS
FINE™/Turbo contains the following physical models:
"Fluid-Particle Interaction" (p. 196) to model solid particles in the flow.
"Fluid-Structure" (p. 206) to model the fluid structure interaction.
"Passive Tracers" (p. 242) allows to introduce species that are entrained by the flow, without
influencing its properties.
"Porous Media Model" (p. 243) to model the flow in porous media
"Cavitation Model" (p. 245) to model cavitating flow
Each of these models requires a special license feature. If the model is not accessible due to a missing
license it is displayed in gray. Please contact our local sales or support office for more information
about the possibility to obtain a license.
In this section
7.1 Fluid-Particle Interaction
7.2 Fluid-Structure
7.3 Passive Tracers
7.4 Porous Media Model
7.5 Cavitation Model
196
206
242
243
245
7.1
FLUID-PARTICLE INTERACTION
Particle-laden flows cover a large class of two-phase flows, such as droplets or solid particles in a
gas or liquid flow, or bubbles in liquids. One phase is assumed to be continuous and occupies the
majority of the flow. It is called the "carrier" phase. Another phase, whose volume fraction is
relatively small (usually less than 10-2), exists as a number of separate elements or particles. It is
called the "dispersed" phase.
In this section, an overview is given of the fluid particle interaction module. In Fluid-Particle
Interaction in the FINE™/Turbo GUI, the main functionalities of the module and the way to
proceed in the FINE™/Turbo GUI are described.
The limitations for the fluid particle interaction module are:
l The fluid particle interaction module can only be run in serial mode.
l The influence of turbulence on particles trajectories can only be taken into account when using
the k- ε turbulence models and the v²- f turbulence model. It is not compatible with the
SST/EARSM turbulence models. In case of using the Baldwin-Lomax model or the Spalart-
Allmaras model, turbulence does not have a direct influence on the particles trajectories.
Lagrangian Approach
A Lagrangian approach is used here, whereby the trajectories of individual groups of particles are
calculated as transported by the velocity field of the carrier phase, including the effect of drag and
other forces. The calculations of the carrier flow and of the particles can be fully coupled, the fully
coupling approach implying that the calculation of the particles trajectories is followed by a
second flow calculation, taking into account the presence of the particles in the flow (the
interphase forces are introduced as source terms in the flow calculation). The sequence consisting
of a flow calculation and of the particle traces tracking can be repeated several times until no
changes are observed in the results (usually 3 to 10 times).
In the present Lagrangian model, the motion of the particles is only influenced by their own
inertia and by the flow, i.e. the local aerodynamic or hydrodynamic forces. Interactions between
the particles are currently not considered. This implies the hypothesis of a dilute flow. On the
contrary in a dense flow, particle motion is governed by their direct interaction, which implies
in which both phases are modeled as
more complex models, such as the Eulerian ones,
continuous phases.
Particle- laden flows are found in many industrial applications such as cyclone separators,
pneumatic transport of powder, droplet and coal combustion system, spray drying and cooling or
sandblasting. In all cases, the flow consists of a continuous phase - also named carrier flow - and a
dispersed phase in the form of solid particles, liquid droplets or gas bubbles. In general, the
motions of the carrier flow and of the dispersed phase are interdependent.
In the lagrangian approach, the physical particle cloud is represented by a finite number of
computational particles. The continuous phase (fluid) is treated as a continuum using a boundary-
controlled method whereas the dispersed phase (particles) is treated as a number of separate
particles. The particles are successively tracked as a single probe particle through the flow field
using a Lagrangian formulation.
In the case of laminar flows, each particle will follow a unique deterministic trajectory. In the case
of turbulent flows however, particles will have their own random path due to interactions with the
fluctuating turbulent velocity field. This feature is taken into account in the FINE™/Turbo solver
through a stochastic treatment. This approach consists of employing a sampling technique based
on a Gaussian probability density function to introduce the random nature of the turbulent velocity
field. The particle diffusion due to turbulence can therefore be modeled without introducing
artificial diffusion properties of the cloud.
According to the distribution and contents of the particles, an averaging procedure provides phase
coupling source terms to be added into the Eulerian carrier phase conservation equations. The
two-way coupling can be achieved through global iterations.
Algorithm
The hypothesis of a dilute mixture permits to have a very simple sequential calculation of the
trajectories of the different particles injected through the inlet sections.
The algorithm considers successively the different inlet patches. The user specifies the number of
trajectories per cell. The origins can be located at a given point chosen by the user, or equally
distributed throughout the cell.
The algorithm proceeds cell by cell, the time step being calculated so that several time steps are
performed in each mesh cell. The procedure starts at a cell of an inlet boundary and stops when a
boundary is reached.
Each time step consists of:
l the calculation of the force on the particle.
l the integration to find the new velocity and position.
l the determination of the cell in which the particle is located.
7.1.1
Fluid-Particle Interaction in the FINE™/Turbo GUI
To access the parameters select the Fluid-Particle Interaction page under the Optional Models.
In the parameters section click on Fluid-particle calculation to activate this model . The user enters not only the main features of the numerical simulations but also the
characteristics (i.e. processes to be taken into account) of the interphase force between the fluid
and the particles.
Parameters
The top window allows to choose the degree of influence of the particles on the flow. The
calculation of the carrier flow and of the particles can be fully (2-way coupling) or weakly (1-
way coupling) coupled:
l in the 1-way coupling approach the flow calculation (ignoring the influence of the particles on
the flow field) is followed by a calculation of the trajectories of particles. In this case, there is
no influence of the particles on the flow.
l in the 2-way coupling approach the calculation of the trajectories of particles is followed by a
second flow calculation, taking into account the presence of the particles in the flow (the
interphase forces are introduced as source terms in the flow calculation). The sequence can be
repeated several times (by entering the Number of global iterations) until no changes are
observed in the results (usually 3 to 10 times).
Concerning the simulation itself, the user can choose the Global strategy:
l Start from scratch: to start the flow calculations and then pursue with the particle tracking
simulation. In this particular case, the criterion for the carrier flow calculations convergence is
the one set on the Control Variables page (set to -6 by default).
l Start from converged flow solution: to proceed directly with the Lagrangian coupling from a
previous converged flow calculation.
FIGURE 7.1
Parameters page of the Lagrangian fluid-particle interaction model.
The usual way to proceed is:
1. perform a pure flow study without activating the Fluid- Particle Interaction model in a
computation.
2. while this computation is active in the list of Computations subpanel on the top left of the
interface create a new project by clicking on the New button.
3.
in this new computation activate the Lagrangian Fluid-particle calculation and perform a
computation with Lagrangian coupling. The particles encounter several forces: the friction
force, i.e. the resultant of the pressure and viscous stress in the carrier phase over the particle
surface, as well as potential inertia and gravity forces. The user is free to introduce the Gravity
Forces through the vectorial components of the acceleration of gravity on the Flow Model
page. An inertial force due to the rotation of the system of reference can also be included. If
some of the blocks are rotating the option Body forces/Rotation of reference system should
systematically be activated. In this case the reference rotation velocity is the one specified on
the Rotating Machinery page.
4. while moving through a turbulent flow, each particle faces a sequence of random turbulent
eddies that result in a lack of accuracy in particle velocity and position. This process is taken
into account using a stochastic treatment when activating Turbulence . The treatment is
available when a two-equation turbulence model is assumed for the carrier flow simulation. In
this case a Coefficient for eddy life time has to be imposed.
Boundary Conditions
All boundary conditions available for the carrier flow solver are also accepted by the particle
tracking algorithm. The only boundary conditions requiring user's input are: inlet and solid
boundary.
The boundary conditions are imposed by selecting a patch on which to fix the condition. The user
has to confirm the entered values by clicking on the Apply to selection button (FIGURE 7.2). In
the list of patches it is not possible to group patches but multiple patches can be selected at the
same time to apply the same boundary conditions to all of them. To select multiple patches hold
the <Ctrl> key while selecting them.
Inlet Boundary
The user can enter a number of classes of particles, each class representing a different type of
particles. For each class the inlet boundary conditions have to be specified. The displayed
boundary conditions are the one for the class specified in the bar as indicated (a) in FIGURE 7.2.
To select another class use the scroll buttons on both sides of this bar. The purpose of this is to be
able to simulate the presence of different types of particles in the same patch.
Note however that multiple classes are of interest for fully couples calculations only, by allowing
the flow calculation to account for the presence of different particle types. In the case of a weak
coupling strategy it is recommended to create one computation per particle class, because only
one particle class can be visualized in CFView™. The expert parameter (in Expert Mode on the
Control Variables page) CLASID permits to specify which particle class must be included in the
CFView™ output.
FIGURE 7.2
Inlet boundary conditions for the fluid-particle interaction model
The inlet boundary conditions are the following:
l spatial distribution of the injection points: uniform over the chosen patch or located at a chosen
point of coordinates (x,y,z).
l inlet velocity of the particles (absolute or relative frame of reference). The velocity is always
considered in the same relative frame of reference as the one of the block in which the inlet
particle is located. The relative velocities here defined as the difference between the particle
and the flow velocity (a zero relative velocity is therefore very commonly used) whereas the
absolute velocity boundary conditions is used when the velocity of the particle is well known
and different from the velocity of the flow. Note that only the Cartesian coordinate system is
available.
l density and mean diameter of the particles.
l particle concentration (number of particles/m³).
l number of particles per cell should be seen as the number of trajectories per cell.
The use of multiple trajectories per cell permits to ensure a more uniform covering of the inlet
(and hence of the computational domain) by the particles. This is only of interest in the case of
fully coupled calculations where it is important to ensure that the source terms are correctly
evaluated in all mesh cells. The use of multiple trajectories does not modify the number of
particles entering the domain. Each trajectory must be seen as an ensemble of particles. It is also
very often referred to as a computational particle.
In the case of full coupling, the number of particles per cell should be statistically large enough to
provide accurate averaging of the dispersed phase parameters. Therefore it is recommended in this
case to have a high number of particles per cell. This increases the computational time required for
the particle tracking process, but gives rise to a smoother distribution of the particles in the
domain. In the case of a weak (1-way) coupling, only one particle per cell is usually enough to
provide a sufficiently detailed description of the particles distribution in the field.
Solid Wall Boundary
The solid wall boundary condition requires an additional input data, which is the reflection ratio.
If the ratio is zero, all the particles remain stuck on the wall, whereas if it is 1.0, all particles are
reflected, without any loss of mass or energy. The user can choose the reflection ratio by clicking
on the corresponding button while moving the mouse (FIGURE 7.3).
Two reflection modes are available and can be selected by the expert parameter IBOUND:
l In the default mode (IBOUND = 1) the particle loses a fraction of its mass and hence of its
kinetic energy at each wall hit. After several wall hits, the size of the particles becomes very
small, and the tracking stops (once the diameter has reached a given ratio of the initial one,
specified by the expert parameter DIAMR).
l In the other mode (IBOUND = 2) the velocity of the particle is reduced, with an unchanged
mass. The particle is stopped as soon as the velocity becomes too small (also specified by the
parameter DIAMR).
FIGURE 7.3
Solid boundary conditions for the fluid-particle interaction model
7.1.2
Specific Output
This section describes the specific outputs generated by the Lagrangian module.
Field Quantities ('.cgns')
The solver automatically includes in the CFView™ output (".cgns") of the project the field
quantities
the Lagrangian tab in the
Outputs>Computed Variables page. These quantities can be scalars or vectors, and are the
following:
that have been specified by the user under
l Vectors
Mass-weighted relative velocity (1)
Number-weighted relative velocity (2)
Mass-weighted absolute velocity (3)
Number-weighted absolute velocity (4)
Interphase force vector (5)
l Scalars
Number concentration (51)
Mass of particles per cell volume (52)
Volume of particles per cell volume (53)
Presence (1) or absence (0) of particles in cells (54)
Vx: x-component of mass-weighted velocity vector (55)
Vy: y-component of mass-weighted velocity vector (56)
Vz: z-component of mass-weighted velocity vector (57)
Fx: x-component of interphase force (58)
Fy: y-component of interphase force (59)
Fz: z-component of interphase force (60)
Particles Traces ('.tr')
The solver also creates an specific Lagrangian output file (".tr"), containing the trajectories of the
all the particles. This file is automatically transmitted to CFView™, which allows for the
visualization of the trajectories.
Summary File ('.tr.sum')
In addition to the previous outputs, a summary file (".tr.sum") is automatically written by the
solver, giving for each injection patch the particles numbers and mass flows through the
inlet/outlet boundaries, and the number of particles that remain stuck on the walls.
7.1.3
Expert Parameters
Other parameters appear in the Expert Mode of the Fluid-Particle Interaction page under the
Parameters tab:
l The maximum residence time (TMAX in corresponding ".run" file), which is the time
limitation for particle residence in the flow. It may be used either to prevent particle stopping or
to avoid an infinite loop, having for instance a particle captured in a separation bubble. After
the time has expired, the particle disappears.
l The governing equations for particles in a carrier flow consist of a set of non-linear ordinary
equations. Two methods are provided to integrate this equations with respect to time (that can
be selected in expert mode):
l The Runge-Kutta scheme, in which the transfer to the next time level is fulfilled through a
finite number of intermediate steps. A two- stage and a four- stage option (NRKS in
corresponding ".run" file) are available. This scheme is limited to big particles.
l The exponential scheme that lies on a semi-analytical method. This scheme is particularly
suitable for small particles.
l The Drag force is in general the only considered part of the interphase force. It corresponds to
the force on a particle moving in a still fluid at constant velocity (or using the particle reference
system, a fixed particle in a uniform laminar flow). At extremely low Reynolds numbers (Rep
<< 1 i.e. at low relative velocities), it is expressed through the Stokes formula. For higher
Reynolds numbers, an optional standard curve fit may be chosen. The choice between the two
types of forces can be made in expert mode.
Other parameters have a standard value, which may be modified only on rare occasions. They are
accessible in the Expert Mode of the Computation Steering/Control Variables page:
CLASID (integer): selection of class for CFView™ output
LMAX (integer): the maximum number of segments along a trajectory may be used to avoid an
infinite loop in the case of an oscillatory movement for instance.
DDIMAX (real): tolerance factor to establish that a particle has left a cell (default=1.E-4).
I2DLAG (integer): simplification for 2D problems (0 if 3D, 1 if 2D).
DIAMR (real): diameter ratio under which the particle tracking process stops (default value: 0.1).
KOUTPT (integer): enables to write the ASCII ".tr.out" file containing the output of the
trajectories (default value: 0). Please contact our local support office to have more details on this
file.
7.2
FLUID-STRUCTURE
Multi-physics problems, including Fluid-Structure Interaction (FSI), are becoming more important
for industrial applications. FINE™/Turbo has integrated several modules, which allows the user
to perform multi-physics simulations, including thermal and mechanical simulations.
7.2.1
Thermal
Conjugate Heat Transfer
Introduction
The conjugate heat transfer model allows the simulation of the thermal coupling between a fluid
flow and the surrounding solid bodies, i.e. the simultaneous calculation of the flow and of the
temperature distribution within the solid bodies.
The model has been validated for steady state and nonlinear harmonic applications. It assumes
that some of the blocks of the multiblock mesh are "solid", whereas the other ones are "fluid".
The connections between the solid and fluid blocks become "thermal connections" along which
the fluid-solid coupling is performed.
Conjugate heat transfer is not compatible with Euler simulations.
Conjugate Heat Transfer in the FINE™/Turbo GUI
The Conjugate Heat Transfer model can be activated from the Optional Models / Fluid
Structure page under the Thermal tab. For steady state applications, the Conjugate Heat
Transfer page looks like FIGURE 7.4 (with thermal Solid Conductivity as the only input for
solid blocks), while additional solid variables (Solid Density and Solid Heat Capacity) are used
as inputs if a nonlinear harmonic analysis is selected, as shown in FIGURE 7.5. All blocks in the
mesh are listed on the left of the page and all of them are by default set as "fluid".
FIGURE 7.4
Conjugate Heat Transfer page for steady state analysis
FIGURE 7.5
Conjugate Heat Transfer page for nonlinear harmonic analysis
The only action required from the user to set up a computation involving the Conjugate Heat
Transfer model can be decomposed in three steps:
1. determine the "solid" and "fluid" blocks.
2. set the global parameters.
3. define the thermal connections.
Those steps are described in the following paragraphs in more detail.
Step 1: Determine Solid & Fluid Blocks
The use of the Conjugate Heat Transfer model requires the generation of a multi-block mesh, the
"solid" and "fluid" parts of the domain being discretised with separate blocks.
Once the mesh is generated, the first step consists in pointing the "fluid" and the "solid" blocks
via the FINE™/Turbo user interface. In the default configuration of the solver all blocks are of
Fluid type, so that the Conjugate Heat Transfer page does not need to be entered for a classical
flow calculation. The transfer of some of the blocks from "fluid" to "solid" is performed by
selecting those blocks on the left part of the window and by selecting the option Solid.
For each solid block the thermal Solid Conductivity has to be specified (in W/m.K). In addition,
if a harmonic analysis is selected, the Solid Density (in kg/m3) and the Solid Heat Capacity (in
J/kg.K) have to be specified. In both cases, the specified values can be a constant or a profile  and must be larger than 0.
When the automatic grouping based on the Grid Configuration is used, the blocks put as solid
during the mesh generation, will automatically be set to solid in the FINE™/Turbo GUI.
Step 2: Setting Global Parameters
The only global parameter is the CFL number used for the time integration of the conduction
equation. It can be different from the one used for the fluid. The default value is 1.0.
Step 3: Setting Thermal Connections
Once some blocks of the multi-block mesh are set as "solid" blocks, the connections between
solid and fluid blocks become "thermal connections". These connections are solid wall boundary
conditions with a particular thermal condition, along which the imposed temperature profile is
iteratively recalculated in order to ensure a correct coupling.
These patches appear in the list of patches in the tab page Solid in the Boundary Conditions
page. Although the thermal aspect is fully controlled by the coupling procedure and should not be
modified, the kinematic boundary condition must be specified by the user (rotation speed in
[RPM]) equal to the blocks rotation speed.
When conducting harmonic analysis with conjugate heat transfer, the variables Temperature (Real
and Imaginary) and/or Temperature (Amplitude) need to be selected in the Computed
Variables page from the Harmonics category of outputs in order to save results of temperature
harmonics.
No independent NLH flexibility is allowed for solid groups, i.e. the same harmonics should solved in
the connected solid and fluid groups. This can be ensured in the Numerical Model page, under
Harmonics range by clicking on the Show the harmonics ... button.
In addition, the CPU ratio NLH/Steady estimation, found at the Control Variables page, does not
take into account the extra CPU time needed to solve temperature harmonics in the solid domains.
Type of Connections Between Solid and Fluid Blocks
Two types of thermal connections are allowed:
l matching connections (one patch on each side),
l full non- matching connections (one patch or one group of patches on each side). The
connection algorithm is implemented in a general way, allowing on both sides a grouping of
solid and fluid patches. This is useful for instance in order to facilitate the coupling of a turbine
block with holes with the external flow. One single connection can be built, with on the inner
side a group of patches including the blade surface and the outer face of the holes.
Conjugate heat transfer analysis for harmonic computations is not available with rotor-stator
interfaces between solid and fluid blocks. Therefore, connected fluid and solid blocks must have the
same rotational speed.
Type of Connections Between Solid and Solid Blocks
Three types of thermal connections are allowed:
l matching connections (one patch on each side),
l Periodic connections (PER),
l full non- matching connections (one patch or one group of patches on each side). The
connection algorithm is implemented in a general way, allowing on both sides a grouping of
solid and solid patches.
MpCCI Coupling
Introduction
For multi-physics problems, many commercial codes, such as FINE™/Turbo and Abaqus etc.,
can be used to solve only one aspect of the physical problem. One way to perform the multi-
physics simulations is to use two or more dedicated codes coupled through the exchange of data.
MpCCI (Mesh-based parallel Code Coupling Interface) is a coupling interface developed by the
Fraunhofer Institute (SCAI) and used to perform multi-physics simulations. It consists in a server,
which handles physical quantities exchanges between two or more heterogeneous solvers (for
example a Computational Fluid Dynamics solver and a solid mechanics solver).
FINE™/Turbo includes a MpCCI code adapter in order to solve the thermal coupling problems.
The adapter takes in charge all communication processes with the MpCCI coupling server. About
the settings in MpCCI, please refer to the MpCCI manual.
The limitations on coupling with MpCCI are as follows:
l Wall heat flux exchange is not compatible with FNMB and condensable fluids.
l Not compatible with coarse grid initialization and steady initialization.
l Not compatible with NLH.
Simulations coupling with MpCCI
Windows 64bits.
is available on the following platforms: Linux 64bits and
MpCCI v4 is supported
Thermal Coupling with MpCCI
In order to perform a thermal coupling simulation, the user has to select the option MpCCI on the
Optional Models/ Flow Structure page under the tab Thermal. All solid patches and groups in
the mesh are listed on the left of the page, see FIGURE 7.5. The user has to select the coupled
surfaces and mark them as "Coupled".
The coupled patches must be set as Temperature Imposed on the Boundary Conditions / Solid
page. The imposed temperature will be the initial value.
FIGURE 7.6
The thermal coupling with MpCCI
Expert Parameters
The expert parameters related to the thermal coupling with MpCCI:
ITCPL(integer): defines the number of iterations between each exchange with the coupled code
for steady computation.
CPLREL (real): relaxation factor for received temperature. This parameter can be useful for
to less than one if computation diverges. For unsteady
steady calculation by reducing it
computation, it should not be modified.
7.2.2 Mechanical
Fluid-Structure Interaction (FSI) is the interaction between the fluid mechanics and the solid
mechanics. The geometric deformation is affected by the flow loads and reversely the flow pattern
is affected by the geometric deformation.
FSI computations are divided into 2 main categories.
l The rigid body approach models the interactions involving the aerodynamic and inertial forces.
It allows simulating the flow in a domain where the solid boundary can move.
l Aeroelasticity models the interactions involving the aerodynamic, elastic and inertial forces.
Aeroelasticity is a major concern for turbomachinery designers to prevent possible failure due
to instability or fatigue. The main dynamic aeroelastic phenomena in turbomachinery are the
forced response, non-synchronous vibrations and flutter.
For the rigid body approach, the one-way coupling method is available into FINE™/Turbo which
means that the structure motion is imposed. Three kinds of motion are available:
l Oscillating Body: models the oscillation of a body along Z axis at a reference point.
l Off-centered Rotor: models the motion of the rotor in plane XY and oscillation along Z axis.
l Generalized Motion: models the displacement along the 3 axes and the rotation around the 3
axes.
For aeroelasticity computations, if one needs to know the structure stress, the FINE™/Turbo
solver can be coupled to an external tool (MpCCI). The FINE™/Turbo solver computes the flow
around the structure and transfers the computed quantities to the structural solver. The
displacements are therefore computed and transferred back to the FINE™/Turbo solver, which
deforms the mesh. For more information, see MpCCI Coupling section.
If one does not need to know the structure stress, FSI can be modeled into FINE™/Turbo using
the modal approach. From the mode shapes and the eigen frequencies (computed with an external
structure solver), the flow solver models the interaction between the structure and the fluid and
computes the deformation of the structure by solving the modal equations. Two methods are
available:
l Forced Motion (1-way coupling): structure deformation is imposed and the flow field is
computed from this deformation.
l Coupling (2-way coupling): structure deformation is computed according to the fluid loads and
reversely. The weak coupling approach does not ensure the equilibrium between the fluid and
the structure at the end of each physical iteration. For the strong coupling approach, a
subcycling loop is added based on the repetition of the physical time step calculation while the
equilibrium between the fluid and the structure is not reached.
A. Rigid Motion
Introduction
The predefined Rigid Motion model allows to simulate the flow in a domain where the solid
boundary can move. The computation will be unsteady if the boundary is moving in time and
steady if the movement is constant in the relative frame of reference. This functionality is
compatible with all the existing fluid models and turbulence models.
For the mesh deformation, the user can select the Laplacian smoothing method and Elastic
Analogy (in Expert Mode), see mesh deformation methods for more information.
The main solver limitations with respect to the rigid motion model are as follows:
l Not compatible with spatial upwind scheme;
l Not compatible with NLH.
Rigid Motion in the FINE™/Turbo GUI
The Rigid Motion model can be activated from the Optional Models / Fluid Structure page
under the Mechanical tab. After activating the Mechanical Coupling, the Rigid Motion page
will appear. It looks like "The Rigid Motion page" (p. 215).
FIGURE 7.7
The Rigid Motion page
Firstly, the user needs to select the type of motion. Depending on this choice, all the parameters
describing the motion law can be set by clicking on the button
.
Three kinds of motion are available:
l Oscillating Body: oscillation of a solid body about Z axis at a reference point.
FIGURE 7.8
The parameters for Oscillating Body
To define the motion, the user has to input the location of the rotation center (x,y) and the
parameters describing the oscillations angle:
The rotation axis is always Z for the oscillating body.
The angle α is defined as the rotation angle along the -Z-axis. A positive value of the angle leads
to an increase of the flow incidence for an airfoil in X-wise flow.
l the average angle α(0);
l the amplitude of the oscillations A;
l the frequency of the oscillations Frq.
Then the oscillating angle is computed by
.
l Off-centered Rotor: three kinds of basic motion for off-centered rotor can be simulated.
These three basic motions can be combined to define more complex motions.
FIGURE 7.9
The parameters for Off-entered Rotor
The rotation axis is always Z for the off-centered rotor.
l Motion of the rotor center around Z axis (in XY plane). To describe the motion, the user
has to input the following parameters:
l the location of the rotation center in XY plane x(c), y(c);
l the amplitude of the oscillations along X axis A;
l the amplitude of the oscillations along Y axis B;
l the angle at t = 0 in XY plane α;
l the frequency of oscillations in XY plane ω.
The location of the rotating axis of the rotor is obtained by:
l Oscillation of the rotor center along Z axis. To describe the motion, the user has to input the
following parameters:
l the location of the oscillation center in Z axis z(c);
l the amplitude of the oscillations along Z axis C;
l the angle at t = 0 along Z axis β;
l the frequency of oscillations along Z axis ω.
The location of the rotating axis of the rotor is obtained by:
l Precession of the rotation axis around the absolute Z axis. Slanting the rotation axis allows
more complex predefined motions. It is particularly interesting for precessions with a
constant nutation angle. In this particular case, the rotation axis describes a cone. The
Nutation Angle has to be input, which is defined in the plane OXZ at the initial time (t =
0).
l Generalized Motion: the motion is specified by an external file. The user has to input the
location of the rotation center (x,y,z) in the original mesh domain.
FIGURE 7.10
The parameters for Generalized Motion
In the external file, the motion has to be specified with 7 data for each time step:
(Time, Δx, Δy, Δz, Δα, Δβ, Δγ)
where
l Time: the simulated time;
l Δx: the displacement in meters along X axis;
l Δy: the displacement in meters along Y axis;
l Δz: the displacement in meters along Z axis;
l Δα: the rotation angle in degrees around X axis;
l Δβ: the rotation angle in degrees around Y axis;
l Δγ: the rotation angle in degrees around Z axis.
All displacements and rotations must be specified in the absolute frame of reference.
Consequently, the file must contain N+1 lines with N the number of time steps of the unsteady
computation. The first line in the file is used to initialize the deformed mesh. For a restart
computation, the previous time steps must be kept in the file and the total number of lines is
Nprevious+N+1. The external file must be located in the computation directory with the name
"projectname_computationname.evol_pos".
All solid patches and groups in the mesh are listed on the middle of the page, . After choosing the type of motion, the user has to select the moving
surfaces and mark them as "Moving".
Adaptive Wall
The geometry simplifications imply sometimes that a moving wall is connected to a stationary
wall. In reality, it is not possible. However, for computations, it is possible to consider an adaptive
wall (fictitious wall) to fill the gap between the moving and stationary walls, as shown in "Case
with a simplified geometry where a moving wall is connected to a stationary wall" (p. 220). The
boundary vertices belonging to the adaptive wall can move so that the adaptive wall can deform.
The displacement normal to the wall is zero for these vertices.
FIGURE 7.11
Case with a simplified geometry where a moving wall is connected to a stationary wall
The limitations on the adaptive wall are:
l the adaptive wall must be located between a moving wall and a stationary wall or a R-S
interface;
l the size of the adaptive wall must be large enough to take the imposed movements;
l the subdivision of patches must keep the multigrid levels.
l The adaptive wall is compatible only with the Laplacian smoothing.
To define an adaptive wall, the user has to define the corresponding parts of the wall in IGG™ as
separated solid patches. These separated solid patches must be grouped and named as "Adaptive_
wall" in the Boundary Conditions / SOLID page.
The rigid motion module can also be used in simulations with rotor/stator interfaces. The rotor-
stator interface can be considered only if the interface is located between two stationary solid
walls so that this is not deformed. When the rotor-stator interface is directly connected to a
moving surface, an "adaptive wall" can be considered between the stationary wall and the moving
wall.
The main limitations on the rigid motion module with rotor/stator interfaces are as follows:
l no rotor-stator interface with deformation;
l no rotor-stator interface without deformation but located between moving walls.
Monitoring
When the rigid motion is used, FINE™/Turbo allows the user to monitor the evolution of force
(force X, Y, Z) and torque (torque X, Y, Z) on the solid patches. Detailed information is available
in Available Quantities Selection.
Expert Parameters
The following expert parameters are related to the rigid motion module:
IMVCRF (integer): The application of the mesh deformation is depending on the coordinate
system. For example, for the off- centered motion, the displacement will be applied to the
"Moving" walls specified by the user on the FINE™/Turbo GUI if the standard frame is used.
Otherwise, the displacement will be used to the "stationary" walls if the relative frame attached to
the solid body is used. The relative frame of reference can be defined by the expert parameter
IMVCRF.
0 (default): the standard frame of reference is used.
1: the relative frame of reference attached to the solid body is used. The center of the frame of
reference may move, depending on the body movement.
FIGURE 7.12
Moving surfaces depending on the value set to IMVCRF
The mesh deformation is only applied to the type SOLID on boundaries. For example, in case of
pitching motion of 2D airfoils, if the type EXTERNAL is used for the far field boundaries and
IMVCRF=1, there will be no mesh deformation in the relative frame of reference even if the mesh
deformation module is activated.
B. MpCCI Coupling
Introduction
In addition to performing a thermal coupling simulation with MpCCI, the user can also perform a
mechanical coupling, or both thermal and mechanical coupling simulation.
When performing the mechanical coupling simulation with MpCCI, the FINE™/Turbo solver
computes the flow around the structure and transfers the computed quantities to the structural
solver. The displacements are therefore computed and transferred back to the FINE™/Turbo
solver, which deforms the mesh. Then, the process is repeated until a steady state solution (steady
mode) or the last physical time step (unsteady mode) is reached.
The coupling with MpCCI is compatible with all the mesh deformation methods, see mesh
deformation methods for more information.
The limitations on the mechanical coupling with MpCCI are as follows:
l Wall forces exchange is not compatible with FNMB and condensable fluids.
l Not compatible with coarse grid initialization and steady initialization.
l No compatible with NLH.
Simulations coupling with MpCCI
Windows 64bits.
is available on the following platforms: Linux 64bits and
MpCCI v4 is supported
Mechanical Coupling with MpCCI
The mechanical coupling with MpCCI can be activated from the Optional Models / Fluid
Structure page under the Mechanical tab. After selecting Mechanical Coupling and then Elastic
Deformation, the mechanical coupling with MpCCI page will appear. It looks like FIGURE 7.13.
All solid patches and groups in the mesh are listed on the middle of the page. The user has to
select the coupled surfaces and mark them as "Coupled".
FIGURE 7.13
The mechanical coupling with MpCCI
Monitoring
For MpCCI coupling computations, FINE™/Turbo allows the user to monitor the evolution of
force (force X, Y, Z), torque (torque X, Y, Z) and aerodynamic power on the solid patches.
Detailed information is available in Available Quantities Selection.
Expert Parameters
The expert parameters related to the mechanical coupling with MpCCI:
ITCPL(integer): defines the number of iterations between each exchange with the coupled code
for steady computation.
C. Modal Coupling
Introduction
FINE™/Turbo includes a modal coupling module in order to perform Fluid-Structure Interaction
(FSI) simulations. For modal coupling simulations, an external structural analysis software should
be used first to compute the modal shapes and the eigen frequencies of the structure. With the
computed modal shapes and the eigen frequencies, the FINE™/Turbo flow solver will consider
the interaction between the flow and the structure and compute the deformation of the structure by
solving the modal equations.
The limitations on the modal coupling are:
l Structure file containing mode shape definition must be written in SI units. The mode shapes
must be scaled for a generalized mass equal to 1.
l Modal coupling requires elastic mesh deformation. It involves all limitations linked to the mesh
deformation methods.
The Modal Coupling in the FINE™/Turbo GUI
The modal coupling can be activated from the Optional Models / Fluid Structure page under
the Mechanical tab, see FIGURE 7.14.
FIGURE 7.14
The mechanical coupling with Modal
All solid patches and groups in the fluid mesh are listed on the middle of the page. The user has to
do the settings as follows:
(1) select the patches/groups that belong to the same structure. One structure can consist of
multiple patches/groups. To select multiple patches/groups, keep the key <Ctrl> pressed and left-
click on the patches/groups.
(2) activate the option Coupled and specify the corresponding Structure ID. The FINE™/Turbo
flow solver can model multiple structures. The user has to specify a Structure ID for each
structure.
(3) clicking on the button
to set the parameters related to the modal coupling. The user has to
specify a Structure Name for the selected structure (Structure ID) and set the corresponding
parameters.
A Structure File, including the modal properties and the initial deformation (optional), has to be
defined for each structure. The modal properties (eigen frequencies and modes shapes) are needed
by the flow solver in order to compute the elastic deformation of the structures. These properties
can be computed by a CSM code or measured experimentally. As the modal resolution is a linear
method, an initial deformation can be specified. This is useful to take into account non-linear
effects independent of fluid load, such as centrifugal load effect.
The structure file must be written in ASCII format. First, this file includes the number of
dimensions of the structure, the number of modes, the number of structure nodes at which the
modes are defined, a flag to specify if an initial deformation is specified and a flag to identify if
the mode shapes are complex . Then, the
eigen frequencies are listed in increasing order. The frequencies have to be written in Hz. Finally,
the initial deformation and the mode shape information are written node by node. For each node
one line contains the three (or two for 2D computation) coordinates, the initial deformation (if the
parameter Initial deformation is set to 1) and the components of each mode sorted in increasing
frequency order. If the parameter Complex modes is set to 0, only the real part of the mode shapes
is required. If the parameter Complex modes is set to 1, the imaginary part is added next to the
real part for each mode. The coordinates and the mode shapes have to be written in SI unit system
and in Cartesian system. For mode shape the conversion factor is the inverse of the square root of
mass conversion factor.
Mode shape must be normalized with mass for a generalized mass equal to 1. After all modes are
normalized, the mass matrix [M] becomes the unit matrix and the stiffness matrix [K] is a diagonal
matrix where the elements are the square of the mode frequency, see theory guide for more details.
FIGURE 7.15
The format of structure file
The mode shapes from the input structure file can be visualized in the graphic window by clicking
on Preview. The graphic window must be opened (go to Mesh / View On/Off) before clicking
on Previewto be able to visualize the mode shapes.
The mode shapes are represented as arrows as displayed in the next figure (representation of the
fifth mode of a cantilever beam).
The user can modify the size of the arrows by modifying the Scaling Factor parameter. By
default, the Scaling Factor value is preset to fit the arrows into the graphic window. If the
Scaling Factor is set to 1, the actual value of the mode shapes can be visualized in the graphic
window. Furthermore, the user can choose to display the arrows either on all the structure mesh
points or on one every X structure mesh points by activating the option Display only 1 point in
X (the user can input the X value). If an initial deformation is defined (parameter Initial
deformation set to 1), the deformed initial position is displayed as a green line. Mode shapes can
only be visualized if the Number of Modes includes them. For example, if the structure file
includes 10 mode shapes but the Number of Modes is set to 1, only the first mode shape can be
visualized. In order to view all the mode shapes, set the Number of Modes to 10 and click again
on Preview.
Coupling method
The Coupling method (2-way coupling) computes the structure deformation considering the flow
loads on the structure by resolving the modal structure equation. For more information on how to
compute the deformation of the structures, please refer to the theory guide.
A Damping Coefficient needs to be specified for each used mode. These damping coefficients
will be used to solve the modal equations and compute the deformation of the structures.
The default Coupling method is qualified as weak coupling. At the end of each physical iteration,
the equilibrium between the fluid and the structure is not ensured. Indeed, the structure motion is
computed from the fluid loads from the previous physical iteration and not from the considered
physical iteration.
For more information about the weak coupling method, see the theory guide.
For unsteady computation, the time step should be less than one third of the period of the highest
mode to avoid divergence.
Strong coupling method
The strong coupling method is based on a subcycling approach added to the initial modal
resolution algorithm. This subcycling loop is based on the repetition of the physical time step
calculation while the equilibrium between the fluid and the structure is not reached. The structure
deformation is updated between each subcycle. Once the equilibrium is reached, the next time
step is computed.
This method can be activated through the expert parameter STRCPL. The maximum number of
subcycles is imposed with the expert parameter NMXCYC (default value: 5). Furthermore, a
convergence criterion for the strong coupling loop is imposed with the expert parameter
RESCPL (default value: -5).
This method allows the use of larger time steps than the weak coupling method.
For more information about the strong coupling method, see the theory guide.
Forced Motion method
For, the Forced Motion method (1-way coupling), the user imposes the structure deformation
through the definition of the generalized displacement for each mode. The generalized
displacement can be a constant value (steady, unsteady or harmonic mode), a function of time
(unsteady mode) or a function of frequency (harmonic mode). These generalized displacements
will be used to compute the deformation of the structures directly. For more information on how
to compute the deformation of the structures, please refer to the theory guide.
In case of harmonic computations, a frequency domain definition of the generalized displacement
can be specified. To define the profile of the generalized displacement, the following parameters
must be defined. Clicking on
the right side of the title Harmonic Generalized
Displacement, an information dialog box will appear, which shows the equation used to define
the generalized displacement.
at
l Frequency: defines the frequency of the vibration of the selected mode.
l IBPA: defines the Inter-Blade Phase Angle (IBPA). The IBPA is used in the flutter analysis
and represents the motion phase shift between adjacent blades in the same row. Combining the
harmonic method and the modal method, FINE™/Turbo is able to perform flutter analysis
with only one channel meshed whatever the IBPA is considered.
l Mean: defines the time-averaged value of the profile.
l Real/Imaginary: defines the real/imaginary parts of each harmonic.
After defining all parameters, click on the button Update Graph to plot the defined generalized
displacement on the right-hand side of the frame.
Since only one perturbation per structure is allowed, only one frequency and one IBPA is allowed. In
case multiple modes are used, the frequency of all the modes must be the same.
Specificity related to Harmonic
When performing modal coupling simulations with the harmonic method in multi- row
configuration, the user can check the resolved harmonics in each row in the Numerical Model
page (button Show the harmonics). See multi-rank harmonic method for the detail of Show the
harmonics.
The structure harmonic is noted as "St" in the harmonic names. In the case shown in Show the
harmonics, the structure is located in row 1. For example, the name "row 1: Harmonic 4 = (1G2;-
1St1)" means that this is the fourth harmonic in row 1 and it is the linear combination between the
first harmonic of passing blades of G2 and the first harmonic of structure St1 vibration.
In case of combining modal coupling with multi- rank harmonic method,
the perturbation
introduced by the structure will be considered in the row where the structure is located. This
perturbation will also propagate to the neighbor rows crossing Rotor/Stator interfaces.
FIGURE 7.16
Show the harmonics
Complex mode shapes
For NLH computations, the user has the possibility to use complex mode shapes in the structure
file (the parameter Complex modes is set to 1). For visualization of the mode shapes, the user has
the choice to see either the Real part, or the Imaginary part or the Amplitude of the mode
shapes. Note the following limitations:
l If the parameter Complex modes is set to 1, all modes must be complex. In case of real mode
shapes, the imaginary part can be set to 0.
l For Forced Motion method, the time-averaged generalized displacement is not compatible
with complex mode shapes. The time-averaged generalized displacement will only be applied
to the real part of the mode shapes.
Limitations
When performing modal coupling with the harmonic method in single row configuration, the
following limitations are applied:
l Only compatible with the basic harmonic method.
l Not compatible with ITURRC = 2.
l Only compatible with Radial Basis Functions, Radial Basis Functions -> Transfinite
Interpolation and Inverse Distance Weighting for mesh deformation.
l Restricted to 1 perturbation (the forced vibration).
l Not compatible with steady initialization.
When performing modal coupling with the harmonic method in multi-row configuration, the
following limitations are applied:
l Only compatible with the multi-rank harmonic method.
l Not compatible with ITURRC = 2.
l Only compatible with Radial Basis Functions, Radial Basis Functions -> Transfinite
Interpolation and Inverse Distance Weighting for mesh deformation.
l The blade vibrations are considered only at rank 1.
l In case multiple structures exist, only structure/BPF interactions are considered.
Structure/structure interactions will not be taken into account.
l Not compatible with steady initialization.
l The coupling mode considers only the frequencies linked to BPF, which comes from the
Rotor-Stator interaction.
Expert parameters
CORMOD (integer): forces the mode shapes to be zero for connection between rigid and moving
surfaces.
l 0 (default): not active,
l 1: active.
CPLREL (real): relaxation coefficient of computed generalized displacements between two
consecutive iterations. The default value is 1, disabling the relaxation.
ITCPL (integer): defines the number of iterations between two successive resolutions of the
structure equation. This parameter is only used for 2-way coupling in steady and NLH time
configuration.
NMXCYC (integer): maximum number of iterations in the strong coupling subcycle loop. The
default value is 5.
RESCPL (real): convergence criteria for strong coupling subcycle loop. The default value is -5.
STRCPL (integer): activate the strong coupling method.
l 0 (default): weak coupling,
l 1: strong coupling activated.
D. Mesh deformation methods
Mesh deformation plays a crucial role in the analysis of multi-physics problems that involve
moving bodies and domain with dynamic boundaries. For example, in Fluid-Structure Interaction
(FSI), the fluid mesh has to be deformed at each time step according to the displacements
computed by the structural solver at the interface of the fluid domain and solid domain.
In FINE™/Turbo, six kinds of mesh deformation methods are available:
l Laplacian smoothing,
l Radial Basis Functions,
l Elastic Analogy,
l Radial Basis Functions -> Transfinite Interpolation -> Elastic Analogy,
l Radial Basis Functions -> Transfinite Interpolation,
Inverse Distance Weighting.
The user can select them in Expert Mode when Mechanical coupling is activated.
All the mesh deformation methods present the following limitations:
l Not compatible with FNMB connections.
l Not compatible with the SNG boundary condition.
l Not compatible with deformable rotor/ stator interfaces.
l Not compatible with Upwind scheme.
Laplacian Smoothing
The Laplacian smoothing method assumes that the mesh deformation caused by a moving solid
wall boundary is small enough so that the mesh topology is not modified and the mesh can be
smoothed without generating negative cells. This assumption of small displacements on the
moving solid boundary allows to keep the same mesh topology and generate the new mesh with a
Laplacian smoothing of these displacements inside the domain. The smoothing of displacements
is carried out only to groups where a surface is moving.
The main limitations for the groups of blocks where the mesh is deformed are as follows:
l rotor-stator interface can not be located between moving walls;
l not compatible with metaNMB;
l the rotation periodic boundary condition is allowed only in case of:
l IMVCYL = 1 (mesh deformation in cylindrical coordinates)
l Rigid Motion with the motion only along the z direction (no motion in the x or y
directions).
Radial Basis Functions
The Laplacian smoothing works only when the mesh deformation is very small. When
performing a MpCCI or modal mechanical coupling simulation, the deformation of the structure
may be very large. In this case, the mesh deformation method using Radial Basis Function (RBF)
can be used.
In this method, mesh nodes placed at domain boundaries serve as a reference for the RBF
interpolation of interior mesh nodes. Moreover, the RBF method results in deformed meshes
keeping very good quality even for large deformations. See also Radial Basis Function in the
Theory Guide.
The main limitations for the RBF mesh deformation method are as follows:
l The mesh deformation method using RBF is not compatible with:
l Rigid body motion,
l "Adaptive Wall" (p. 219).
l When deforming a mesh using RBF, zero displacement is considered for nodes lying on Inlet,
Outlet, Periodic, Rotor/ Stator interfaces, External and Mirror boundaries. For example, the
quasi 2D case with blade cut mesh is not compatible with RBF, because there is only one cell
layer in spanwise direction so that mesh deformation will be applied to nodes belonging to the
mirror boundaries.
Please note that the memory usage can become higher when the number of boundary nodes increases.
An approximate estimation of the memory usage is 4N² (MB) in case the number of the boundary
nodes is N thousand.
Elastic Analogy
The Linear Elastic Analogy based on FVM makes an analogy between the CFD mesh domain
and the elastic continuum. The displacement field of the mesh is determined by the equilibrium
equation for elasticity and a linear relation between the stress tensor and the displacement is
applied. For more information about the mathematical basis of the Elastic Analogy method see
also: Elastic Analogy in the Theory Guide.
The mesh deformation method using ELA is not compatible with:
l the Non-Linear Harmonic (NLH) method;
l Euler flow and laminar flow;
l metaNMB.
Radial Basis Functions -> Transfinite Interpolation
Transfinite Interpolation (TFI) is a very fast method, offering a possibility of reduction in
computational time for mesh deformation. For this method, a displacement of the topology is
needed.
"Radial Basis Functions" (p. 233) (RBF), as introduced above, are employed to provide the initial
solution to TFI. The displacements of the boundary nodes at the corners serve as a reference for
the interpolation of the interior mesh block nodes.
For topologies with a limited number of blocks, it is recommended to split the blocks/patches to have
more corner nodes.
The RBF method with Transfinite Interpolation has the same limitations as RBF.
For more details about the TFI see also: Transfinite Interpolation in the Theory Guide.
Radial Basis Functions -> Transfinite Interpolation -> Elastic Analogy
Orthogonality of cells at wall is not controlled in the RBF+TFI method, hence Elastic Analogy
can be used to improve the mesh quality. The resulting mesh of RBF+TFI process is used as
initial solution for the ELA. Furthermore, benefiting from the initial solution, a significant speed-
up is achieved compared to standard ELA.
The RBF+TFI+ELA method inherits the limitations of RBF and the ELA.
Inverse Distance Weighting
Inverse Distance Weighting (IDW) is an explicit method that circumvents the need to invert the
matrix during the initialization of the flow computation while needed for the Radial Basis
Function (RBF) method.
The same limitations as in the RBF method apply for the IDW method. Other limitations include:
l The greedy algorithm used in the boundary nodes selection is not compatible with
NLH computations.
l If
interior coarsening is considered  (IDWCRS >1),
rotations have to be included
(IDWROT=1) with dual quaternion (IDWRBF=3). Other methods are not allowed.
See also: Inverse Distance Weighting Interpolation in the Theory Guide.
Expert Parameters
CORMOD (integer): Forces the mode shapes to be zero for connection between rigid and
moving surfaces. It is only applicable for modal coupling method.
l 0 (default): not active,
l 1: active.
FCTNIT (real): Multiplicative factor for the number of smoothing iterations, applicable for
Laplacian Smoothing, ELA and RBF+TFI+ELA. The number of iterations (N) for the full
multigrid initialization on grid level G is based on the maximum number of points in each
direction in all blocks:
l N (on grid level G) = FCTNIT*(G+1)*MAX(NI, NJ, NK)
l If the deformed mesh has negative volumes, the user can increase this expert parameter.
GRDCR1 (real): Stopping value for the greedy algorithm in the IDW method based on the
aerodynamic reference length
(default = 0.00001).
GRDCR2 (real): Stopping value for the greedy algorithm in the IDW method based on the local
boundary cell height (default = 3).
GRDPCT (real): Maximum percentage of the boundary nodes that can be selected by the greedy
algorithm in the IDW method (default = 10). (0 < GRDPCT <=100)
ICOARS(integer): Controls the coarsening level of the boundaries in the RBF method. It only
affects the mesh deformation step. This parameter is an array of two dimensions, corresponding to
the coarsening level for moving boundaries and fixed boundaries. The first number is the grid
level (relative to the grid level of the computation) of moving boundary nodes used for the
deformation. The second number is the grid level for the fixed boundary (solid, inlet, outlet,
periodic,...) nodes. If the grid level is set to 0, all the nodes of the surface are taken into account. If
it is set to one, only the nodes of the surface belonging to the first coarser grid are used. Hence the
number of boundary nodes is reduced by four for the surface.
IDWAFX (real): Estimated size of the near boundary influence region for fixed boundaries in the
IDW method, expressed as a fraction of the mesh size (default = 0.0).
IDWAMV (real): Estimated size of the near boundary influence region for moving boundaries in
the IDW method, expressed as a fraction of the mesh size (default = 0.1).
IDWCRS (integer): Flag to specify the type of coarsening in the IDW method.
l 0: no coarsening,
l 1 (default): boundary coarsening,
l 2: interior coarsening. The interior coarsening will reduce the CPU-time for interpolation by
almost a factor of 2. If interior coarsening is considered (IDWCRS >1), rotations have to be
included (IDWROT=1) with dual quaternion (IDWRBF=3). Other methods are not allowed.
l 3: boundary and interior coarsening.
IDWGRD (integer): Flag to specify the stopping criterion for the greedy algorithm in the IDW
method.
l 1 (default): error relative to the aerodynamic reference length
,
l 4: error relative to the local boundary cell height and aerodynamic reference length
.
IDWRBF (integer): Flag to specify the type of IDW method.
l 1 with IDWROT=0 (default): IDW with improved weight function,
l 1 with IDWROT=1: IDW with interpolation of displacement due to rotation,
l 2 with IDWROT=0: IDW with basic weight function (not recommended),
l 2 with IDWROT=1: IDW with interpolation of logarithm of dual quaternion (BETA),
l 3 with IDWROT=1: IDW with interpolation of dual quaternion.
IDWROT (integer): Flag to consider or not the rotation of boundary nodes in the IDW method.
l 1: considers the rotation of boundary nodes. The deformation of each node is split into two
parts, i.e. a part due to rotation and another part due to translation. An increase of CPU cost
may be observed.
l 0 (default): do not consider the rotation of boundary nodes. The deformation is not split and is
computed as usual with the displacement along x, y and z.
IELAED(integer): Flag to specify the driving variable of the "Young's Modulus" distribution in
the Elastic Analogy and RBF+TFI+ELA:
l 0: Homogeneous value
l 1 (default): Distribution in function of wall distance
l 2: Distribution in function of cell volume
IMOVWD (integer): When mesh deformation exists, the wall distance used for turbulent flow
may change. In this case, the user can set the expert parameter IMOVWD to 1 to compute the
wall distance at each time step. This parameter works for all mesh deformation methods.
l 0 (default): compute the wall distance only once.
l 1: compute the wall distance at each time step.
IMVCYL (integer): The smoothing can be applied to the displacement field in Cartesian
coordinates or in cylindrical coordinates. The best choice is depending on the geometry of the
case. This parameter is valid only for Rigid Body Motion.
l 0 (default): applied in Cartesian coordinates.
l 1: applied in cylindrical coordinates.
IMVWEI (integer): Select the smoothing method of the Laplacian Smoothing for the moving
mesh:
l 0 (default): Linear smoothing of displacements;
l 1: Weighted smoothing of displacements based on the cell volume in the undeformed mesh.
The weighted smoothing allows to restrict the smoothing of the small volume cells in order to
preserve the quality of the mesh. The smaller cells are more rigid than bigger cells.
ISVMAT(integer): Choice of the solving method for the system of equations in RBF.
l 0: don’t use the inverse matrix,
l 1 (default): compute, save and use the inverse matrix,
l 2: use the inverse matrix that has already been computed and saved.
In case of ISVMAT=2, an inverse matrix computed in single precision can not be used in a double
precision computation. Otherwise, negative cells may appear after mesh deformation.
MOVRAD (real): Support radius for the Wendland C² function or scale factor for the TPS
function used in RBF, RBF+TFI and RBF+TFI+ELA.
MOVRBF(integer): Choice of the RBF function employed in the methods involving RBF.
l 1: Wendland C² function,
l 2 (default): TPS function.
MVDIFF (real): Relaxation factor for the weighted elliptical smoothing of displacements in
Laplacian Smoothing (if IMVWEI=1).
MVGAP (integer): Allow a free movement of the nodes along the hub or the shroud that copies
the blade displacement.
l 0 (default): Fixed nodes on the hub/ shroud,
l 1: Free moving nodes on the hub/ shroud.
FIGURE 7.17
Visualization of the mesh from a cutting plane in the tip gap: MVGAP = 0.
FIGURE 7.18
Visualization of the mesh from a cutting plane in the tip gap: MVGAP = 1.
Limitations:
l Only compatible with mesh coming from AutoGrid5™.
l Only available for hub gap or for shroud gap, not both simultaneously,
l Not compatible with non-axisymmetric hub or shroud,
l Not compatible with meridional effects,
l Only compatible with elastic deformation,
l Compatible with RBF, RBF+TFI and IDW mesh deformation techniques,
l Compatible with parallel partitioned computation if no partitioning is performed in the
spanwise direction of the gap blocks,
l For a NLH computation, sliding nodes at a tip gap are only applied to the time-averaged
deformation field. The sliding treatment is not applied to harmonic deformations.
MVRELF (real): Relaxation factor of the iterative process (default = 0.9) in Laplacian
Smoothing, ELA and RBF+TFI+ELA. A mesh with high aspect ratio and skewed cells requires a
lower value (0.45). If the iterative process of the mesh deformation is unstable, MVRELF must be
decreased (<0.5).
RELAEV(real): Used for the "Young's Modulus" of the Elastic Analogy and RBF+TFI+ELA,
when a homogeneous distribution is set-up. If a heterogeneous distribution is chosen, activates the
maximum Yound Modulus.
RELAPV(real): Used for the "Poisson Ratio" of the Elastic Analogy and RBF+TFI+ELA.
E. FSI Output
Output files
For all steady/unsteady computations with mesh deformation, a ".globalforce_unsteady" file is
generated in the computation folder, which contains the evolution of the load on solid surfaces.
The ".globalforce_unsteady" file has the following format:
l for steady computation: <iteration_number>, <Force_X>, <Force_Y>, <Force_Z>, <Torque_
X>, <Torque_ Y>, <Torque_ Z>, <Force_ X>, <Force_ Y>, <Force_ Z>, <Torque_ X>,
<Torque_Y>, <Torque_Z>.
l for unsteady computation: <time_step>, <Force_X>, <Force_Y>, <Force_Z>, <Torque_X>,
<Torque_Y>, <Torque_Z>, <Force_X>, <Force_Y>, <Force_Z>, <Torque_X>, <Torque_
Y>, <Torque_Z>.
The first set of <Force_X> <Force_Y> <Force_Z> <Torque_X> <Torque_Y> <Torque_Z> is
for the surfaces for which the option Compute force and torque has been activated in the
Boundary Conditions page under SOLID tab. The second one is for the other solid surfaces.
For all harmonic computations with mesh deformation, a ".globalforce_ harmonic" file is
generated in the computation folder, which contains the time-mean value and the harmonics (real
and imaginary parts) of the load on all solid surfaces where the "compute force and torque" is
activated. The ".globalforce_harmonic" file has the following format:
l <iteration_ number>, <Force_ X>, <Force_ Y>, <Force_ Z>, <Torque_ X>, <Torque_ Y>,
<Torque_Z>, and then the real and imaginary parts of <Force_X>, <Force_Y>, <Force_Z>,
<Torque_X>, <Torque_Y>, <Torque_Z> for each harmonic.
The .globalforce_harmonic file is not compatible with IFRCTO = 1/2/3.
For NLH and unsteady computations, another output file is generated with the extension
".aerodynamic_ power". This file gives the global aerodynamic power for each structure, the
inviscid and viscous contributions and positive (excitation power) and negative (damping power)
parts.
Furthermore,
for unsteady computation with time- averaged solution output enable, a
"*.aerodynamic_work" file is written. It corresponds to the "*.aerodynamic_power" file where
the power is replaced by the work exerted by the flow over one computation period.
With the modal approach, an output file is generated with the extension ".generalized_motion".
This file has the following format:
l for steady computations: the iteration number, q for each mode and each structure defined in
the interface, where q is the generalized displacement.
l for unsteady computations: the time step, q,
,
for each mode and each structure defined
in the interface, where q is the generalized displacement.
l for harmonic computations: the iteration number, the time-averaged value (Mean) and the
real/imaginary parts (Real/Imaginary) of q for each mode and each structure defined in the
interface.
Output quantities
When the module mechanical coupling is activated, additional outputs for the mesh deformation
are available in the page Outputs/Computed Variables under the tab Deformation , see
Deformation section for more details. In case of combining the modal coupling with the harmonic
method, the harmonic values of the mesh deformation are also available.
When the modal coupling is used for harmonic and unsteady computations, additional outputs are
also available in the page Outputs/Computed Variables under the tab Solid Data, see Solid
Data section for more details.
Output steering
For MpCCI and modal computations, the user can monitor in the convergence steering the
evolution of the aerodynamic power on more than one set of solid patches if the expert parameter
SOLSTE (integer) is set to 1. The aerodynamic power is defined as:
where
is the velocity of the wall deformation.
For modal coupling computations, FINE™/Turbo allows the user to monitor the evolution of
force (force X, Y, Z), torque (torque X, Y, Z) and aerodynamic power on the solid patches. In
case of combining the modal coupling and the harmonic method, the time reconstruction of the
force (force X, Y, Z), torque (torque X, Y, Z) and aerodynamic power can also be monitored.
Detailed information is available in Available Quantities Selection.
7.3
PASSIVE TRACERS
Selecting the Passive Tracer option in the Configuration / Flow Model page allows the user to
introduce, into the computations, species that are passive with regards to the carrier fluid. This
means that the carrier fluid ignores the tracer and is only defined by its own properties.
The passive tracers are not allowed to react with each other.
Boundary Conditions
There are currently two types of boundary conditions available in the FINE™/Turbo solver for
passive tracers: inlet and external (far field).
The inlet condition is set through the specification of the species mass fractions
where
with ns, the total number of species. The external condition requires the same
input data.
For passive tracers, species concentrations are entered and are independent from each other. There is
no limitation on the sum of the concentrations.
Initial Solution
For each species, the initial value of the mass fraction at the initial stage is required. Initial
conditions are uniform over the domain for each species.
For passive tracers, species concentrations are entered and are independent from each other. There is
no limitation on the sum of the concentrations
Outputs
For each species, the FINE™/Turbo solver will compute automatically the species concentration
for each tracer.
7.4
POROUS MEDIA MODEL
A porous medium is a solid permeated by an interconnected network of pores filled with a fluid.
Usually both the solid matrix and the pore network are assumed to be continuous, so as to form
two interpenetrating continua such as in a sponge. Many natural substances such as rocks and
soils, and man made materials such as foams and ceramics can be considered as porous media.
When simulating the flow in porous media the user has to use a porous media model because the
geometry is too complex to resolve with a grid.
The porous media model in FINE™/Turbo allows the user to simulate the flow in porous media.
In FINE™/Turbo, the user needs to set which grid block will be treated as a porous medium. And
the user has to specify the parameters for each block.
In section "Expert Parameters" (p. 70), a summary of the available expert parameters related to the
Porous Media Model is given.
The porous media model is not compatible with the parallel partitioner.
Porous Media Model in the FINE™/Turbo GUI
There is no access of Porous Media Model through the graphical user interface. The user has to
activate this model and set all the parameters through the Expert Parameters, as describing in the
following part.
Experts Parameters
IPORME (integer): Control if activate the porous media module or not:
l 0: module is deactivated (default)
l 1: module is activated
IDOMPO (integer): Porous media domain number (no more than 50 domains).
IDIRPO (real): Imposed direction for each specified porous block. The direction is specified only
in Cartesian coordinate system.
l If the direction is set to (0 0 0) in a block, the block resistance is isotropic and is given by one
of the pressure drop models. The direction of the flow is given by the resolution of the N-S
equations.
l If the direction is set to non zero vector (sx, sy, sz), the flow (velocity vector) will be aligned
with the direction as if there is infinite resistance in directions normal to the specified vector in
the block. The non zero vector thus imposes special anisotropic resistance in porous media
block. The model with non zero vector imposed could be applied, e.g., in case of honeycomb.
It is not possible to specify anisotropic resistance in a block with non infinite resistance in directions
normal to the specified vector.
IMODPO (integer): Select the models available to model the pressure drop through the porous
media:
l 1: Darcy or Ergun law
l 2: Integral law
LPORME (real): Porous medium thickness ( L ), used only if IMODPO = 2. This expert
parameter LPORME together with the expert parameter KPORME are used to specify the
averaged pressure gradient (resistance) in porous media model, which is used to compute the
pressure drop.
The length parameter LPORME is not necessary to be the length of porous media block (in any
direction). Any combination of LPORME and KPORME parameters giving right pressure gradient
value might be used.
EPORME (real): Porosity (), used only if IMODPO = 1, is defined as the volume fraction of the
voids from the solid matrixϵ
KPORME (real): Constant C defining the type of walls in the Darcy or Ergun law.
l 0 (default): for Darcy law.
l 1.8: smooth walls, for Ergun law.
l 4: rough walls, for Ergun law.
APORME (real): the specific surface area A in the Ergun or Darcy model and in the integral
model.Atotal/Apassage
NPORME (real): Exponent n, used only if IMODPO = 2.
ITHEPO (integer): Control if activate the thermal source term in the porous media or not:
l 0 (default): Activate the thermal source term
l 1: Deactivate the thermal source term
HPORME (real): Heat transfer coefficient for porous media.
SPORME (real): Volumetric exchange surface.
TPORME (real): Skin temperature.
7.5
CAVITATION MODEL
Cavitation occurs when in a liquid flow, the pressure falls below its saturation pressure, and as a
consequence, gas filled or gas/vapor filled cavities are formed. This phenomenon is observed in
applications such as pumps, nozzles, injectors, propellers and impellers. Cavitation is, in many
cases, an undesirable occurrence since it can produce structural damage as soon as the bubbles
implode, and can also cause instabilities, a loss in efficiency and an increase of the noise level.
The Cavitation model in FINE™/Turbo allows the user to simulate cavitating flows by using
incompressible liquid. When using incompressible liquid to model cavitating flows, the cavitation
model is based on the barotropic state law which describes the density change when the pressure
falls below the liquid saturation pressure. Barotropic means that the density depends only on the
pressure. Both pure phases (liquid and gas) are considered incompressible. The barotropic law is
used to describe the density variation in function of pressure from the liquid density to the gas
density. Thermo-sensitive effects will NOT be taken into account when using the barotropic law.
In the following sections, the settings and guidelines performing a cavitation simulation will be
described.
Cavitation Model in the FINE™/Turbo GUI
The Cavitation Model can be accessed in the Optional Models / Cavitation page.
Before activating the cavitation model, the user should define/select an incompressible fluid in the
Configuration / Fluid Model page. The fluid properties of the selected fluid will be used by the
cavitation model.
After activating the button Cavitation model, the parameters linked to the cavitation model can be
accessed, as shown in FIGURE 7.19.
Note, the cavitation model is available only in case of incompressible fluid.
FIGURE 7.19
Interface of cavitation model
In the Liquid Properties section, the properties of the selected fluid in the Configuration / Fluid
Model page are listed. If the interface cannot find the definition of a fluid property, the item
becomes accessible and the user can specify its value.
In the Vapor Properties section, the user should specify all the properties of the vapor phase.
In the bottom of the page, the relative saturation pressure (PVAPS) and also the Barotropic law
slope coefficient (AMIN) should be defined. The Barotropic law slope coefficient (AMIN) is
related to the maximum slope of the barotropic law and defined by:
where cmin is the celerity of sound in the homogeneous liquid-vapor mixture.
The convergence rate can be quite sensitive to the Barotropic law slope coefficient (AMIN). Low
AMIN value implies large derivative of density with pressure. For values lower than 20, the
solver might have convergence difficulties.
After changing the values of the relative saturation pressure (PVAPS) or the Barotropic law slope
coefficient (AMIN), the Barotropic law will be plotted in the figure.
The settings and guidelines of the other parameters in the FINE™/Turbo GUI are as follows:
Fluid model
Incompressible liquid MUST be used in the Configuration / Fluid Model page in order to use
the cavitation model with the barotropic law.
Boundary conditions
It has been observed that the following combinations of boundary conditions are more robust
when the cavitation model with the barotropic law is activated:
l Static quantities or mass flow imposed at the inlets (velocity, temperature and turbulence
variables)
l Static pressure is imposed at the outlet. Imposing the static pressure at the outlet actually means
) at the outlet. However, for most of the test cases, the
imposing the cavitation number (
) at the inlet. Then,
known parameter of the operating conditions is the cavitation number (
the idea is to modify the static pressure at the outlet until we obtain the desired cavitation
number at the inlet.
Initial Solution
When the cavitation model with the barotropic law is activated, the cavitating flow field can be
initialized by Constant values or From file.
When the cavitating flow field is initialized by Constant values, it is recommended to use an initial
pressure value significantly larger than the saturation pressure. This enforces the computation to
start with a pure liquid flow solution.
In some cases, the cavitation simulation initialized by Constant values may have convergence
issues. In this case, it is recommended to start the cavitating flow simulation from a converged
incompressible simulation without cavitation.
Numerical parameters
When the cavitation model with the barotropic law is activated, the CFL number is reduced to 1.
The Multigrid method is compatible with the cavitation model. Three multigrid levels can in
general be used. However, in case of convergence difficulties, the user might consider reducing
the number of grid levels.
Steering
In case that
Computation Steering / Convergence History page the vapor volume.
the cavitation model
is activated,
the user can select and monitor from the
with
the cavitation vapor volume,
the cell volume,
the volume fraction with the density (
), the liquid density (
) and the vapor
density (
).
Experts Parameters
The following parameter related to the initialization of the cavitation:
ICAV (integer):
l Start a computation from scratch: ICAV will correspond to the number of iterations done in
non-cavitating mode to initialize the cavitating simulation coming after that.
l Start a computation from a converged non-cavitating solution: ICAV can be set to one if the
convergence history is reset, then the cavitating module will be on from the first iteration.
l Restart a computation from a cavitating solution: if ICAV is set to 1 and the convergence
history is reset, then the cavitation will not be initialized. This is useful when changing the
vapor pressure. If ICAV is set to 0, no initialization will occur. This is useful when the vapor
pressure is not changed.
The following parameter related to the numerical scheme:
VAPLAX (real): Under relaxation coefficient for pressure (by default 1.0). This parameter will
be used when the vapor density
and/or static pressure drops during run. When having
convergence issues, the value of this parameter may be reduced, for example, 0.5.
CHAPTER 8.
DEDICATED TURBOMACHINERY MODELS
The following models and modules in FINE™/Turbo are dedicated to turbomachinery applications:
"Rotating Blocks" (p. 252) defines the typical information concerning cylindrical cases for
each block.
"Rotor/Stator Interaction" (p. 255) defines the properties of each rotor/stator interface.
"Harmonic Method" (p. 278) allows to perform unsteady simulation using Harmonic method.
"Cooling/Bleed" (p. 309) models cooling holes or bleed.
"Aeroacoustics" (p. 342) models acoustic noise based on harmonic computation.
"Global Correlation Transition Model" (p. 347) models the flow transition.
"Performance Curve"
turbomachinery.
(p. 351)
allows
to perform an off- designed analysis
for
"Uncertainty Quantification" (p. 356) allows to perform a non deterministic analysis for
turbomachinery.
"SubProject Management" (p. 366) allows the partial treatment of multistage turbomachinery
projects
In this section
8.1 Rotating Blocks
8.2 Rotor/Stator Interaction
8.3 Harmonic Method
8.4 Cooling/Bleed
8.5 Aeroacoustics
8.6 Global Correlation Transition Model
8.7 Performance Curve
8.8 Uncertainty Quantification
8.9 SubProject Management
251
FINE™/Turbo 13.1 User Guide
252
255
278
309
342
347
351
8.1
ROTATING BLOCKS
The Rotating Blocks tab gives access to the definition of the typical information for each block
as shown in FIGURE 8.1 . This tab is only accessible when the mesh is cylindrical .
FIGURE 8.1
Rotating Blocks on Rotating Machinery Page
When selecting the Rotating Blocks tab the page appears as shown in FIGURE 8.1. On the left a
list of all blocks is displayed. If the mesh has been made with AutoGrid™, a default grouping per
row is proposed. It is also possible to manually group the blocks that have the same properties:
1. Clicking on a block de-selects the currently selected block(s). It is possible to select several
consecutive blocks in the list by clicking on the first one and holding the left mouse button
while selecting the next. To select a group of blocks which are not situated next to each other,
click on each of them while keeping the <Ctrl> key pressed.
2. Click on the Group button. A text box will appear just below the Group button. Place the
cursor in the text box and type the name of the group and press <Enter>. The name of the
group will appear on the list of blocks in red with a plus sign on the left of the name. To see
the blocks that are included in a certain group double click on the name of the group or click
on the
symbol in front of the name.
3. To remove a group of blocks select the group and click on the Ungroup button. The group
will be removed and the blocks that were in this group will be listed again in the list as separate
blocks.
4. The Reset Turbo Groups button allows to reset the default grouping proposed by AutoGrid™.
On the right of the list with blocks, the information for the selected block or group of blocks is
given. If multiple blocks are selected the information is only displayed for the first selected block.
For each block the current and maximum number of nodes in the three grid directions is shown.
Four items need to be defined by the user: the streamwise direction, the spanwise direction, the
azimuthal direction and the rotational speed:
l The streamwise, spanwise and azimuthal directions allow to determine the block orientation.
Please note that if AutoGrid™ is used for the grid generation, the streamwise direction is
automatically taken as being the k-direction, the spanwise direction as the j-direction and the
azimuthal direction as the i-direction.
The block orientation has an impact when using the radial equilibrium outlet (spanwise direction
used), when performing an azimuthal or surface averaging (respectively spanwise and streamwise
direction used).
l The FINE™/Turbo solver solves the equations in a relative frame of reference. This implies
that the mesh blocks surrounding rotating blades rotate with the blades and should therefore be
set as "rotating" in this page. The Rotational Speed of the block has to be given in
Revolutions Per Minute (RPM). A positive value for the rotation speed indicates a rotation in
positive θ-direction with θ positive according to a right handed coordinate system. In FIGURE
8.2 this is illustrated for the case where the z-axis is the axis of rotation which is automatically
the case for a mesh created with AutoGrid™.
FIGURE 8.2
Positive rotation speed
the relative velocity components,
Although the governing equations for rotating systems are usually formulated in the relative system
the formulation retained for ship propeller
and solved for
applications, ventilators or wind turbine are often expressed in the relative frame of reference for the
absolute velocity components. The two formulations should lead to the same flow solution. However,
experience shows that the solution can be different, especially in the far field region. For propeller
problems, the formulation based on relative velocities has the disadvantage that the far field relative
velocity can reach high values. This induces an excess of artificial dissipation leading to a non-
physical rotational flow in the far field region, this dissipation being based on the computed variables.
In FINE™/Turbo, the governing equations for rotating systems can be solved for the relative velocity
components or for the absolute velocity components, which is controlled by setting the expert
parameter IVELSY to 1 or 0.
This is also true for radial compressor with low shroud radius. In such a case, the rotation speed of the
impeller is generally very high leading to very high relative velocity compared to the absolute
velocity. With IVELSY=1 (default), the resolution of the relative velocity in the relative frame will
introduce a preswirl of the flow which, in combination with a stator shroud, generates a lot of
turbulence. IVELSY set to 0 prevents this phenomenon.
The rotation axis should be the z-axis in order to be compatible with the FINE™/Turbo solver.
Only one rotation speed different than 0 is allowed when performing an unsteady simulation using
the Domain Scaling method or Phase lagged method.
When performing a harmonic simulation, the method is based on the rows/groups configuration that
are separated by R/S interfaces. All the blocks belonging to one row must be grouped. For example,
in the configuration of a contra-rotating open rotor with a pylon, the domains must be grouped as
"pylon + far field", "row 1 + far field", "row 2 + far field", and the R/S interfaces must also be
grouped. Otherwise, the harmonic method will not work.
8.2
ROTOR/STATOR INTERACTION
8.2.1
Rotor/Stator Interfaces in the FINE™/Turbo GUI
The Rotor-Stator tab gives access to the definition of the rotor/stator interfaces as shown in
FIGURE 8.3 . This tab is only accessible when the mesh contains rotor/stator interfaces.
Rotor/stator interfaces are defined in IGG™ as ROT boundary condition. Consult the IGG™
User Manual for more detailed information on how to define this boundary condition.
On the left, the list of patches is displayed which are defined as part of a rotor/stator interface in
IGG™ (boundary condition type: ROT). It is possible to display only a limited amount of patches
by using the Filter. Type in the text box the part of the name that is common to all patches to
display and press <Enter>. All patches containing in the name the entered text will be displayed.
Note that the filter is case insensitive.
If the mesh has been made with AutoGrid™, a default grouping is proposed. It is possible to
group patches that have the same definition by selecting them in the list and clicking on the Group
button. A text box will appear below this button which allows to enter a name for the group. The
group will be displayed in red in the list of patches. Double click on the group name to see which
patches are in the group. To select multiple patches select them while keeping the <Ctrl> key
pressed. To remove the group simply select the group from the list and click on Ungroup. The
patches in the selected group will be put back into the list of patches and the group name will be
removed from the list.
In some special cases where the mesh is made by AutoGrid5™ (e.g. bypass configuration), the
upstream and/or downstream patches can not be grouped automatically. In this case, the user has to
pay attention to the rotor/stator interface definition to see if the mesh constraints are ensured.
Multiple rotor/stator interfaces can be treated in one single project. Each rotor/stator interface is
indicated by an ID Number and each of them may contain an arbitrary number of Upstream and
Downstream patches. For each patch in the list, the ID number of the corresponding rotor/stator
interface has to be provided by the user. Also it should be specified whether the patch is located in
the upstream or downstream side of the interface. It should be mentioned that no hypothesis is
made on the direction of the flow through the interface, except when the transition module or the
initial solution for turbomachinery or the stage-by-stage analysis is used. The purpose of the
upstream and downstream denominations is only to establish the two groups of patches belonging
to respectively the rotor and the stator side.
FIGURE 8.3
Rotor-Stator interface definition in steady mode
In addition to the ID number and the upstream/downstream side specifications the user has to
select also:
l the order of Extrapolation (zero or first order). Zero order extrapolation (default) is used in
most cases and usually provides satisfactory results. First order extrapolation may be useful in
case of important flow gradients in the direction normal to the interface together with a
relatively coarse mesh.
l one of the six available steady state techniques (for steady state applications only):
The type of several rotor-stator interfaces can be changed simultaneously by selecting one rotor-stator
interface, hold the <Shift> button and left-click on the desired type of rotor-stator interface. All other
settings, such as the ID Number, will be kept.
l The Conservative Coupling by Pitchwise Rows approach is recommended due to its
capability to provide an exact conservation of the convective fluxes of mass, momentum and
energy through the interface. This approach adopts the same coupling procedure for all the
nodes along the circumferential direction, even if the local flow direction is different from the
averaged one. This technique offers the advantage of being able to guarantee a strict
conservation of the convective fluxes of mass, momentum and energy through the interface.
Moreover it shows to be very robust and is therefore used by default.
l The Local Conservative Coupling approach is only recommended for the rotor/stator
interface between an impeller and a volute. Experience has shown that in cases, where
significant flow variations are observed in the circumferential direction (as for instance in the
case of rotor-volute interactions), it is more stable to base the flux decomposition on the local
flow direction as it
is done in the Local Conservative Coupling technique. Small
conservation errors can be observed with this technique, which is therefore only used for
special configurations.
l The Full Non Matching Mixing plane approach is respecting an exact conservation of the
convective fluxes of mass, momentum and energy through the interface as the Conservative
Coupling by Pitchwise Rows but has less constraints on the interface geometry.
l The Full Non Matching Frozen Rotor approach is considering the rotor/stator interface as a
perfect connection and is neglecting the rotor movement in the connecting algorithm. In this
approach, the periodicities between rotor stator must be equal.
l The Non Reflecting 1D approach is based upon a characteristic analysis of the linearized
Euler equations. The characteristic variables are imposed on each side of the rotor/stator
interface. Such a treatment is recommended when wave reflection is observed at the interface,
which can occur when the interface is close to the blade.
l The Non Reflecting 2D approach is the extension of the Non Reflecting 1D approach. The
Non Reflecting 2D approach is also based upon a characteristic analysis of the linearized Euler
equations. The characteristic variables are imposed on each side of the rotor/stator interface.
The Non Reflecting 2D approach will produce a better representation of the shock wave
crossing a R/S interface.
the Local
When using the Conservative Coupling by Pitchwise Rows approach or
Conservative Coupling approach, the rotor/stator interface can not include regions where r=0.
When using Full Non Matching Rotor/Stator interface, the rotor/stator interface can include
regions where r=0, under the limitations listed as follows:
l All zero-radius configurations that are not full-circle are assumed to have a patch corner at zero
radius.
l If the zero-radius configurations are full-circle and do not have a patch corner at zero radius,
two additional limitations exist:
l The slope of the rotor-stator meridional profile must not be zero at any point, and it must not
change sign. In other words, it must be always possible to start from a point on the shroud, and
march toward the axis of rotation by following a path with decreasing radius.
l All the patches on each side of the interface must be connected at their corners with matching
connections along the adjacent edges.
Rotor/Stator interfaces can be used to connect fluid blocks and solid blocks, in order to simulate
the Conjugate Heat Transfer (CHT) between fluid and solid blocks at different rotation speeds.
When the selected patch/group is fluid/solid Rotor/Stator interface, a note "Fluid/Solid Rotor-
Stator interface" is displayed on GUI, and only Full Non Matching Mixing plane is available.
When using fluid-solid Rotor/Stator interfaces, the following limitations are applied:
l Only compatible with Full Non Matching Rotor-Stator interface
l Only compatible with steady simulation
l Each side is composed of one type of block (fluid or solid).
8.2.2
Expert Parameters Linked to Rotor/Stator interfaces
This section provides a summary of the expert parameters related to rotor/stator interfaces.
CFFNMB(integer): Applies to all FNMB rotor/stator interfaces.
l 0: old implementation for FNMB connection
l 1 (default): new implementation with connection factor of cell area between image mesh and
actual mesh.
RSTOL(real): This parameter is the tolerance used for the Full Non Matching algorithm (default
value 0.005). This parameter should be smaller than the ratio of the first inner cell distance to the
hub-to-shroud distance.
IFRSFI(integer): Controls the input and output of FNMB data.
l 0: FNMB data computed but not saved
l 1: FNMB data computed and results saved in .adf file.
l 2 (default): FNMB data computed and results saved if the .adf file is not existing. Results read
from .adf file otherwise.
IRSIBS(integer): Creation of the image mesh.
l 0: Old 2D nearest neighbour search when building the image mesh.
l 10 (default): New 2D nearest neighbour search with IRSIBS set to the maximum number of
boxes to create along each dimension of the density card when building the image mesh.
ICYOUT(integer): Controls the output of domain-scaling or phase-lagged simulations when the
option Multiple Files is activated in the Computation Steering / Control Variables page.
l 0: all the specified time steps will be kept in the computation folder. The name of the output
changes with suffix _t#.
l 1 (default): the output files will be overwritten at every cycle.
IDEBUG(integer): Exports image meshes in the computation directory.
l 0 0 0 0 0 0 0 0 0 0 (default): image meshes are not saved in the computation directory.
l 0 0 0 0 0 1 0 0 0 0: image meshes are saved in the computation directory and can used to
check the node distribution on the rotor-stator interface(s).
RSIMGD(integer):
A first integer controls the nodes distribution of the FNMB Rotor/Stator image mesh.
l 0: old implementation, the image mesh will be locally refined in the middle (both in spanwise
and pitchwise directions).
l 1 (default): the nodes distribution will be smoother.
A second integer controls the boundary layer nodes clustering on the image mesh.
l 0: old implementation, uses shortest distance interpolation algorithm. This may lead to
extrapolation, which can result in the loss of boundary layer node clustering or unnecessary
clustering outside the boundary layer.
l 1 (default): activates a more robust algorithm, resulting in a good match of local nodes
distribution even with large aspect ratios and expansion ratios.
RSIMGR(real): Defines the image mesh refinement factor of FNMB rotor/stator interfaces. For
example, RSIMGR=2.0 means 2 times finer image mesh in each direction.
8.2.3 How to Set-up a Simulation with Rotor/Stator
Interfaces?
Five different approaches are available in FINE™/Turbo to simulate the interaction between
rotating and non-rotating blocks:
Steady state:
l Mixing plane approach : a pitchwise averaging of the flow solution is performed at the
rotor/stator interface and the exchange of information at the interface depends on the local
direction of the flow. See the Mixing Plane Approach for more detail on how to use this
approach.
l Frozen rotor: a steady simulation of one specific position of the rotor with respect to the
stator. For more information on how to set up a project according to this method see the
Frozen Rotor section.
Unsteady:
l Domain scaling method: unsteady simulation in which the mesh periodicities are constrained
to be identical on both sides of the interface. See the Domain Scaling Method for more detail
on how to use this approach.
l Phase lagged method : unsteady simulation in which the mesh periodicities are not
constrained to be identical on both sides of the interface. See the Phase Lagged Method for
more detail on how to use this approach.
l Harmonic method: like the phase-lagged method, this method only needs one inter-blade
channel per blade row. No special requirement on the periodicities is required. The interaction
between two adjacent blade rows is modelled by computing the time harmonics of the
fluctuating part of the unsteady flow along the two sides of the rotor/stator interface as well as
the time-averaged flow. The values are calculated with respect to the matching of the unsteady
flow on both sides of the interface and are treated locally by a non-reflective treatment. A
mixing-plane approach is applied to the eddy-viscosity if the Spalart-Allmaras model is used.
A. Mixing Plane Approach
In the mixing plane approach the flow solution at the rotor-stator interface is azimuthally averaged
and the exchange of information at the interface depends on the local direction of the flow. In this
section it is described how to use this approach in FINE™/Turbo.
Geometrical Constraints
The default mixing plane method (Local Conservative Coupling and Conservative Coupling
by Pitchwise Rows) used in FINE™/Turbo imposes the following geometrical constraints:
l The patches on both sides of the rotor-stator interface must cover the same range in spanwise
direction,
l The meshes don't need to match in the spanwise direction, but the azimuthal mesh lines on the
boundary must be circular arcs.
l The pitchwise grid line that has constant radius and connects two patches of the same side
(e.g., BC 1 and BC 3 in FIGURE 8.4) must exist as an inner grid line on all other boundaries.
An illustration of these constraints is given in FIGURE 8.4 . Consisting of two stripes, the
depicted configuration provides a complete description of the capabilities. The upstream side of
the quasi-steady interface consists of three blocks, represented by the bold frames and the surface
meshes, while a single block is assumed for the downstream side. A gap may exist between two
blocks, e.g., if the mixing plane coincides with the exit plane of a blade row having a blunt
trailing edge. The grid points distribution are different for each of the boundary patches involved,
but the pitchwise grid lines have constant radius and the pitchwise line along which two patches
of the same side join (e.g., BC 1 and BC 3) exists as an inner grid line on all other boundaries. In
the example, the interface is thus decomposed into two stripes, stripe 1, consisting of BC 1 and
BC 2 on the upstream side and BC 5 on the downstream side, and stripe 2, consisting of BC 3
and BC 4 on the upstream side and BC 6 on the downstream side.
In special configurations such as a rotor- volute interaction it
Conservative Coupling.
is preferable to use Local
FIGURE 8.4
Example of stripe configuration
The full non matching mixing plane method (Full Non Matching Mixing plane, Non Reflecting
1D and Non Reflecting 2D) removes the geometrical constraints imposed in the default mixing
plane method. This technique is based on the full non- matching algorithm and has clear
advantages: an exact conservation of the mass flow, momentum and energy is guaranteed.
The remaining geometrical constraints for the full non matching mixing plane method are:
l The rotor- stator patches belonging to a given interface should lie on the same common
axisymmetric surface.
l The hub and the shroud lines are assumed to be located on a circular arc, and each extremity of
the hub and shroud lines should coincide with one corner of one of the patches. The periodic
boundaries between the adjacent blades must be defined by continuous lines with edges
connected by their corners. For a 360- degree mesh, a similar continuous spanwise line
(defined by interconnected edges) must be used in the connection algorithm.
l All patches constituting a rotor-stator interface should form a filled closed surface with no gap.
l the rotor-stator patches should be fully included in the rotor-stator interface: contrary to the full
non matching algorithm, which includes an automatic detection of the connection zone, and in
which the patches can then be partially connected, the rotor-stator module assumes that the
patches are fully connected.
Mesh Constraints
Only one blade passage needs to be meshed for both the rotor and the stator, regardless of their
respective periodicities. The boundary condition type must be set to "ROT" in IGG™ for all grid
patches belonging to a rotor-stator interface.
FINE™/Turbo Settings
1. The mixing plane approach is a steady simulation technique which requires to set the Time
Configuration to Steady on the Flow Model page.
2. The patches that have boundary condition type "ROT" in the mesh are listed in FINE™/Turbo
on the Rotating Machinery page under the Rotor-Stator tab. The user has to specify for
each of these patches:
l an ID Number that
identifies
the rotor/stator
interface (useful
for multistage
configurations).
l a switch to indicate if the patch is belonging to the Upstream or Downstream part of the
rotor-stator interface.
l the order of Extrapolation (zero or first order).
l the boundary condition:
l Conservative Coupling by Pitchwise Rows,
l Local Conservative Coupling,
l Full Non Matching Mixing plane,
l Non Reflecting 1D.
l Non Reflecting 2D.
The Non Reflecting 1D/2D approach can not be used when the flow perpendicular to the rotor-stator
interface is supersonic.
The use of the Non Reflecting 1D/2D approach is limited to steady simulations.
FIGURE 8.5
Aachen Turbine: Upstream/ Downstream and ID number identification
Illustrative Example
To illustrate the mixing plane approach the flow around a cube is considered as shown in
FIGURE 8.6. The flow is entering the domain at the bottom of the figure. The upstream portion
of the domain is the 'rotor' with a cube fixed on it. The second part is a 'stator'. Due to the
pitchwise averaging process one can see that the vortex occurring slightly downstream the 'trailing
edge' of the cube is spread when entering in the 'stator' component. If the rotational speed of the
cube is high, this approximation is acceptable since one can consider that the stator "sees" a more
statistically averaged flow. If the rotational speed is low, this approximation is essentially invalid
and thus another method should be considered.
In some cases, i.e. in low pressure ratio compressors or turbines, the losses at
the rotor- stator
interfaces are in the order of magnitude of the overall gain in the machine. In such cases, it is
recommended to use an unsteady approach and more specifically the harmonic approach.
FIGURE 8.6
Flow around a cube: Mixing Plane approach
Expert Parameters
This section provides a summary of the expert parameters related to mixing plane approach.
FLXRS(integer): toggles mass flux correction at the rotor-stator interfaces of NLH (controlled by
the first integer) or Non reflecting 1D/2D steady (controlled by the second integer) computations,
see the theory guide for more details.
l 0: no mass flux conservation.
l 1: mass flux conservation.
IRSMRG (integer): used only in parallel mode coupled with Conservative Coupling by
Pitchwise Rows or Local Conservative Coupling R/S treatment. The allocated memory for R/S
treatment will be equal to IRSMRG value multiplied by the maximum number of spanwise points
on both sides of the R/S interface. In some rare cases, the solver might suggest to increase this
parameter to a more optimal value.
LOCCOR (integer) applies corrections for the entropy and the stagnation enthalpy in case of
using Non reflecting 1D/2D rotor-stator interface, see the theory guide for more details.
l 0: no local correction.
l 1: correction of
.
l 2: corrections of
l 3: corrections of
.
and
and
(including
). Available only for Non reflecting 2D RS interface.
l -1 (default): correction of
with local removal of the correction.
l -2: corrections of
and
with local removal of the corrections.
l -3: corrections of
and
only for Non reflecting 2D rotor-stator interfaces.
(including
) with local removal of the corrections. Available
Guidelines for the use of the expert parameter LOCCOR:
l If the R-S interfaces are close to the leading edge and a shock wave reaches this R-S (from the
downstream side), set LOCCOR = 0 in order to remove the characteristic corrections.
l If the mass flow error between inlet and outlet is too high, use LOCCOR = 0 or LOCCOR = -2.
l For 3D cases, use always a negative value of LOCCOR or the zero value.
l For 3D cases with convergence failure (for any value of LOCCOR), use the Area defined
rotation speed on the hub (or shroud) so that the rotation discontinuity is not located on the R-S
the thermodynamic quantities can be
interface. By this way,
"continuous" through the R-S interfaces.
the pitchwise averages of
NH2DNR(integer): sets the number of harmonics used for DFT and inverse DFT when using the
Non reflecting 2D rotor-stator interface. The default value is 3.
The Non reflecting 2D rotor-stator treatment offers a better capture of the azimuthal fluctuations of
flow quantities when compared to the Non reflecting 1D rotor- stator treatment. However, as it is
based on Fourier decompositions in a finite number of spatial harmonics, the NH2DNR expert
parameter should be adapted for some cases. The default value of 3 is usually sufficient for the
potential effects of large blades or shocks but it may need to be increased for the potential effects or
wakes of fine blades with low periodicity.
NQSTDY (integer): allows to update the rotor- stator boundary conditions every NQSTDY
iterations. If the parameter NQSTDY is set to zero (default), the update is done at every Runge-
Kutta step. This is an under-relaxation technique that is rarely used. Before the mixing process, an
under-relaxation technique can be applied on the averaged variables to stabilize the calculation
.
NRBCEQ(integer): allows the choice of characteristics used for Non reflecting 1D/2D rotor-
stator interfaces (controlled by the first integer) or Non reflecting Turbo inlet/outlet boundary
condition (controlled by the second integer).
l 1: characteristics based on the usual linearized Euler equations.
l 2: characteristics based on the preconditioned equations.
Guidelines for the use of the expert parameter NRBCEQ:
l The preconditioned characteristics are used by default for the non reflecting treatments with
preconditioned equations and is only compatible with Merkle preconditioning.
l The adoption of usual characteristics based on the linearized Euler equations or the Hakimi
preconditioning (only with a compressible fluid) is possible by setting the NRBCEQ expert
parameter equal to 1. However this approach is not robust for a low speed flow (Mach number <
0.1) with the default settings (a lower CFL number is sometimes needed to get a converged
computation).
NRBCAM (integer): sets the flux- averaging method at Non reflecting 1D/2D rotor- stator
interfaces (controlled by the first integer) or Non reflecting Turbo inlet/outlet boundary condition
(controlled by the second integer), see the theory guide for more details.
l 1: mixed-out averaging approach which provides azimuthally averaged quantities from the
integration of fluxes.
l 2: classical weighted area averaging, which can increase the solver robustness when a partially
reversed flow in the circumferential direction is present (for example behind a blunt trailing
edge).
RQSTDY(real): this is another under-relaxation technique that allows to limit the changes in the
variables from one iteration to the next. This technique is used in special cases where stability
problems are encountered.
l 1 (default): no relaxation
l 0 to 1: under-relaxation
B. Frozen Rotor
The basic idea at the origin of the frozen rotor technique consists of neglecting the rotor
movement in the connecting algorithm.
The governing equations are solved for the rotor in a rotating frame of reference, including
Coriolis and centrifugal forces; whereas, the equations for the stator are solved in a absolute
reference frame. The two components are literally connected, and hence a rotor- stator
approximation is not required, rather the continuity of velocity components and pressure is
imposed. As a result, the final steady solution will be depending on the relative position of the
rotor and the stator. Unsteady 'history effect' (such as shedding separated zones) are neglected.
It is usually well accepted that the frozen rotor approach is an appropriate solution for the
treatment of rotor-volute interactions, where pitchwise variations of the flow cannot be neglected.
However, it requires the meshing of the complete impeller (all passages). Another drawback is
that the flow solution depends on the rotor position, relative to the stator.
Mesh Constraints
Exactly as for the domain scaling approach a constraint must be satisfied on the mesh periodicity.
The pitchwise distance must be the same for both sides of the rotor/stator and coincident (no gap
allowed between rotor and stator components in the pitchwise direction). For each different
position of the rotor with respect to the stator a new mesh will have to be created in IGG™ and a
new steady calculation has to be performed.
FINE™/Turbo Settings
There are three ways to run a frozen rotor calculation:
1. To mesh all blade rows completely and to use matching connections (CON) in IGG™ for the
patches at the interface of the rotor and the stator. The blocks of the rotor should be made
rotating, as well as the boundary conditions. A steady calculation can be run for this
configuration. A non matching (NMB) connection can not be used in this case: even though
the computation might run the result would not be correct. This was previously the only way
to perform frozen rotor calculations in FINE™/Turbo. This approach is no longer used as the
constraint on matching connections is too restrictive.
Only CON matching connections are allowed in this first method.
2. To create a mesh covering the same pitchwise distance on both sides of the interface and to
impose Full Non Matching Frozen Rotor in the Rotating Machinery page under the
Rotor-Stator tab. Furthermore the user has to specify for each of these patches the ID and the
upstream/downstream location) at step 2. Therefore, the boundary condition type must be set
to "ROT" in IGG™ for all grid patches belonging to a rotor/stator interface.
3. When starting an unsteady computation by imposing iterations as a steady initialization in the
Control Variables page, the frozen rotor technique is used during the steady iterations.
Note that for example for an impeller-volute computation the complete impeller would need to be
meshed in all three cases since the periodicity of the volute is 1.
Illustrative Example
Results obtained from frozen rotor calculations usually look similar to unsteady ones. A more
detailed analysis shows that the approximation introduced in the connection algorithm induces a
deviation of the wake when passing through the interface.
As an illustration the frozen rotor method is compared to the sliding mesh approach for the
Aachen Turbine in FIGURE 8.7 and FIGURE 8.8.
FIGURE 8.7
Aachen Turbine: Frozen Rotor approach
C. Domain Scaling Method
The Domain Scaling Method is an unsteady simulation technique for rotor/stator interfaces. The
effect of displacement due to rotation is taken into account. At each time step, the rotor is set at its
correct position and equations are solved for that particular time step for the whole computation
domain. The final solution is therefore a succession of instantaneous solutions for each increment
of the rotor position.
FIGURE 8.8
Aachen Turbine: Domain Scaling (Sliding Mesh) approach
Mesh Constraints
The boundary condition type must be set to "ROT" in IGG™ for all grid patches belonging to a
rotor/stator interface. The blade passages of each blade row to include in the mesh should cover
the same pitch distance (have the same periodicity). If the periodicity of the rotor and the stator is
not the same this can be solved in three different ways:
l modeling a higher number of blade passages on each side to find a common periodicity,
l scaling the geometry (with the scaling being as close to 1 as possible). The common way to
scale the geometry is to modify the number of blades during the mesh generation process. The
time frequencies are resolved with an error that is proportional to the scaling coefficient.
l using the phase lagged approach or the nonlinear harmonic method
Apart from this constraint on the periodicity, there is no constraint on the patches and mesh nodes
configurations.
The domain scaling method is not compatible with cascade configurations (with translational
periodicity).
FINE™/Turbo Settings
1. Domain Scaling Method is an unsteady simulation technique so the Time Configurationin the
Flow Model page should be set to Unsteady.
2. By default, in the Rotating Machinery page under Rotor-Stator tab page, the Domain
Scalingapproach is selected. The user has to specify for each of these patches the ID and the
upstream/downstream location) at step 2. Therefore, the boundary condition type must be set
to "ROT" in IGG™ for all grid patches belonging to a rotor/stator interface.
The FINE™/Turbo solver allows only one rotation speed (combined with a zero rotation speed)
when performing an unsteady simulation using the Domain Scaling method.
3. The initialization process can be performed in two ways:
l A steady state initialization is performed in a separate computation with Steady as Time
Configuration. It is suggested to model all rotor/stator interfaces in this case using frozen
rotor approach. The unsteady domain scaling computation is using the result of this steady
computation as initial solution. See Initial Solution for more information on how to start a
computation from an initial solution file.
l The steady state initialization is automatically performed before starting the time accurate
computation (that means within the same computation), switching to Unsteady as Time
Configuration in the Flow Model page and selecting in the interface an appropriate
Number of Steady Iterations in the Steady Initialization parameters on the Control
Variables page.
4. The Number Of Angular Positions is defined in the Control Variables page. When
working with the Domain Scaling method, using a Number Of Angular Positions of 10
points per blade passage is giving a coarse but reasonable result. To have a more accurate (but
more CPU consuming) result choose 20 to 30 points per blade passage.
5. The Number Of Time Steps is defined in the Control Variables page.
In general, it is
recommended to repeat the period at least 20 times. Usually after 20 periods, the flow becomes
periodic.
For example, considering a 1-1/2 turbine with the blade number of 43, 64 and 16. The user
can generate a scaled multi-row mesh including 8 stator passages, 12 rotor passages and 3
stator passages with a common periodicity of 5. In this case the user needs at least 10 time
steps for each rotor passage and that is really a coarse result. So the minimum Number of
Angular Positions is 120. Usually, 20 periods are needed to reach periodic flow. The user
will have to set the Number Of Time Steps to 2400.
6. For more info on the Outputs Files available in the Control Variables page.
Illustrative Example
For the example case of the flow around a cube where the flow is entering the domain at the
bottom of FIGURE 8.9. The upstream portion of the domain is the 'rotor' with a cube fixed on it.
The second part is a 'stator'. With the domain scaling approach, one can observe a strong vortex
shed into the stator passage, leading to a correct physical simulation of the unsteady phenomenon
(at the expense of much higher CPU time compared to mixing plane approach).
FIGURE 8.9
Flow around a cube: Domain Scaling method
D. Phase Lagged Method
The Phase Lagged Method is an unsteady simulation technique for rotor/stator interfaces. The
effect of displacement due to rotation is taken into account. At each time step, the rotor is set at its
correct position and equations are solved for that particular time step for the whole computation
domain. The final solution is therefore a succession of instantaneous solutions for each increment
of the rotor position.
This method is allowing the user to reduce the CPU time needed for computing an unsteady
simulation of a turbomachinery stage (rotor-stator interaction).
The phase lagged method is only allowed for one stage computations (stator-rotor). For multi-stage
computations, such as a 1-1/2 stage computation (stator-rotor-stator), it is only possible if the number
of both stators is the same.
Mesh Constraints
The boundary condition type must be set to "ROT" in IGG™ for all grid patches belonging to a
rotor/stator interface.
The phase-lagged boundary conditions only allows matching and full non matching periodic
boundary conditions. This option can be used with non matching periodic boundary conditions
(PERNMB) if they are automatically transformed into full non matching boundary by setting the
expert parameter IFNMB to 1.
The phase lagged method is not compatible with cascade configurations (with translational
periodicity).
It is recommended to have an overlapping region in the circumferential direction between the channel
(s) of the rotor and the channel(s) of the stator.
FINE™/Turbo Settings
1. The Phase Lagged Method is an unsteady simulation technique so the Time Configuration in
the Flow Model page should be set to Unsteady.
2. At the top of the Rotating Machinery page, the Phase Lagged option has to be activated and
under Rotor-Stator tab. The user has to specify for each of these patches the ID and the
upstream/downstream location as described at step 2 in the FINE™/Turbo Settings of the
Mixing Plane Approach.
The FINE™/Turbo solver allows only one rotation speed (combined with a zero rotation speed)
when performing an unsteady simulation using the Phase Lagged method.
3. The initialization process can be performed in two ways:
l A steady state initialization is performed in a separate computation with Steady as Time
Configuration. The unsteady phase-lagged computation is using the result of this steady
computation as initial solution. See Initial Solution for more information on how to start a
computation from an initial solution file.
l The steady state initialization is automatically performed before starting the time accurate
computation (that means within the same computation). To use this functionality, set an
appropriate Number of Steady Iterationsin the Steady Initialization parameters on the
Control Variables page.
If a phase lagged computation should be used as an initial solution for another computation,
the .res and the .bpl files must be manually copied to the new computation directory.
4. The Number Of Angular Positions defined in the Control Variables page is the number of
time steps per full revolution (2π) of the rotor. In theory, the number of time steps per full
rotation has to be a multiple of the number of blades in the rotor (Nbrotor) and number of
blades in the stator (Nbstator).
Number Of Angular Positions= i x Nbrotor x Nbstator
The two periods of blade passing frequencies are respectively (ixNbrotorxΔt) and (ixNbstatorxΔt).
Since the number of time steps per passage is usually imposed around 40, the value of i should be
adjusted so that (ixNbrotor) and (ixNbstator) are both close to this number. By experience, if the
number of time steps per passage is lower than 30 the solution starts to be deteriorated.
5. The Number Of Time Stepsin the Control Variable page is used to defined the number of
time steps running during the calculation. It is recommended to repeat the longer period at least
15 to 20 times (j evolves from 15 to 20). By experience, usually after 20 times (j=20), the flow
becomes periodic. There is thus no need to make many full rotations and sometimes even one
full rotation.:
Number Of Time Steps= j x (Number Of Angular Positions)/min(Nbrotor,Nbstator)
Alternatively, the user can select Number of Periods in the Control Variables page to define
the number of time steps running during the calculation. One period corresponds to a full
revolution (2π). In this case, the number of time steps is calculated as follows:
Number Of Time Steps= (Number Of Angular Positions)*(Number of Periods)
6. For more info on the Outputs Files available in the Control Variables page.
By default, the Phase Lagged method computes the viscous fluxes at the rotor/stator interface by
extrapolation from dummy cell values, set from same side inner cells.
Output
When a simulation using the phase lagged method is performed, the output includes only one
channel for each blade row. FINE™/Turbo provides a tool repetition, which allows the user to
output multiple channels for post-processing. This tool can only be launched from the shell.
On Linux:
repetition131 project-path/project-name.run -nrepet #
On Windows:
Installation path\bin64\repetitionx86_64.exe project-path\project-name.run -nrepet #
where # is the repetition number [1, maximum periodicity-1]. If the argument -nrepet is omitted,
two repetitions will be outputted by default.
Then a new .run file "project-name_rep.run" and the corresponding .cgns files "project-name_
rep_t##.cgns" will be generated. The user can load these files into CFView™ for post-processing.
All the time steps corresponding to the larger pitch must be present in the computation folder in order
to use the tool repetition.
How to restart phase-lagged computations in second order accuracy
When running phase lagged computations, the user may save solutions at bigger intervals when
the computation is not converged yet. This could save significant amount of computing time.
Once the computation is converged, the user can suspend the computation and then make a restart
to save every time step in order to have a complete revolution solution. In this case, a second
order accurate restart must be ensured. x
To have a second order restart, the following conditions in the initial solution must be satisfied:
l The first time step (*_t1.cgns) and any time step higher than the number of time steps in the
smaller period should never be used as initial solution files.
l The saving interval (Save Solution Every in the Control Variable page) in the initial solution
computation must be smaller than the number of time steps in the smaller period.
l In the initial solution computation, the Output For Visualization must be set to Intermediate
and Multiple files in the Control Variable page.
Then the user should follow the procedure below to restart a phase lagged computation:
1. Set the initial solution to from file in the Initial Solution page, then select a *_t(i).cgns file
from the initial solution computation folder. Where t(i) is a time step within the smaller period
of the solution. The *_t(i-1).cgns file must also be in the same initial solution folder for a
second order restart.
2. Make sure Reset convergence history is UNCHECKED in the Initial Solution page.
3. Manually copy the *.bpl and *.res files in the initial solution computation folder into the folder
for the restarting computation and rename these files to be consistent with the new computation
name.
4. All other settings should be identical between the initial solution computation and the restart
computation.
Expert Parameters
The following expert parameters can be used with an unsteady computation using phase lagged
method:
RELPHL(real): 0.5 (default) if necessary, under-relaxation factor can be applied on Periodic and
R/S boundary conditions by reducing the two values of the expert parameter for respectively the
periodic and the R/S boundary conditions.
E. Harmonic Method
The harmonic method provides unsteady flow results with considerably less constraints than the
domain scaling and phase-lagged methods. More information on Harmonic method.
Mesh Constraints
Like the phase-lagged approach, it is necessary to set the grid patches of a rotor/stator interface to
the boundary condition type "ROT".
No specific azimuthal position of the blade channels is requested by the harmonic method, but it is
recommended to have an overlapping region in the circumferential direction between the rotor
and the stator channel. This is only for post-processing purposes. Visualization of the flow across
the interface is much clearer.
The NLH method is not compatible with cascade configuration mesh (with translational periodicity).
Mesh resolution in the tangential direction
The harmonic method is based on the spatial Fourier decomposition of the time-averaged flow
and the harmonics in the tangential direction.
It is suggested to guarantee at least 30 grid nodes in the azimuthal direction to represent in space
the first harmonic (or fundamental) of a periodic disturbance at the inlet/outlet of a row. Then, the
number of nodes in the tangential direction of the row channel should be at least 30 times the
number of blades of the adjacent blade row generating this harmonic divided by the number of the
blades of the row. The narrower the adjacent blade row channels, the more refined the channel
should be.
It is assumed that the amplitude of the subharmonics decreases very quickly. The constraint can
thus be relaxed for the other harmonics. In general, at least 30 grid notes for the first harmonic and
15 for the other harmonics are suggested.
For example, for a stator/rotor/stator configuration, where the number of blades in the rotor and
stators are Nbrotor, Nbstator 1 and Nbstator 2 and NH is the number of harmonics:
Number of Points in Azimuthal Direction in stator 1:
30 x
15 x
if(NH=1)
x NH if(NH>1)
Number of Points in Azimuthal Direction in rotor:
max(30 x
, 30 x
) if(NH=1)
max(15 x
x NH, 15 x
x NH) if(NH>1)
Number of Points in Azimuthal Direction in stator 2:
30 x
15 x
if(NH=1)
x NH if(NH>1)
FINE™/Turbo Settings
1. The harmonic method is a hybrid method. Unsteady flow results are obtained by the solving of
pseudo- steady transport equations like in steady flow simulation. These pseudo- steady
transport equations are solved for the time-averaged flow and for the harmonics of the periodic
unsteady disturbances about the time-averaged flow. The Time Configuration in the Flow
Model page should be set to Harmonic.
2. Under the Rotor- Stator tab of the Rotating Machinery page, the type of rotor/stator
treatment is automatically selected. The full non-matching technique is used like in a mixing-
plane simulation. However, the mixing-plane method is used only for the time-averaged
Spalart-Allmaras eddy-viscosity. In particular, it includes a part of the deterministic stress that
appears because of the time-averaging of the advective fluxes of the eddy-viscosity transport
equation. All the other flow variables are treated by a connection algorithm based on the
spatial Fourier decomposition of the time-averaged flow and the harmonics. The user has to
specify for each of the patches the ID and the upstream/downstream location as described at
step 2 in the FINE™/Turbo Settings of the Mixing Plane Approach.
3. The initialization should be performed using a solution in steady state. The user can perform a
separate computation (initial solution) for which the Time Configuration is set to Steady. For
this computation, it is suggested to model the rotor/stator interface using the Non Reflecting
1D treatment. The result of this computation is used as the initial solution for the harmonic run.
See Initial Solution for more information on how to start a computation from an initial solution
file. The user can also impose an appropriate Number of Steady Iterations in the
Computation steering / Control Variables page. In this case, a steady computation will be
performed until
the Number of Steady Iterations in the fine mesh. Then the NLH
computation will be initialized using the steady solution and be launched.
Illustrative Example
Results obtained from harmonic calculations using three harmonics.
FIGURE 8.10
Aachen Turbine: entropy at 50% spanwise
F. Control the flux of Eddy viscosity
For the Spalart-Allmaras turbulence model, the flux at the Rotor/Stator is computed using the
pitch averaged eddy viscosity. Such a procedure can leads to a build- up of turbulence for
multistage machineries. The eddy viscosity is not destroyed in the free stream. Very high level of
eddy viscosity is often found in the last stages for multi-stage calculations. Such a high level of
eddy viscosity can impact on the predicted efficiency of the machinery.
Two methods can be used to reduce the eddy viscosity at a Rotor/Stator interface when using the
Spalart-Allmaras model:
l Control the flux of eddy viscosity at all Rotor/Stator interfaces by using the minimum eddy
viscosity over the pitch (IMINRS set to unity)
l Control the flux of eddy viscosity at all Rotor/Stator interfaces by multiplying the flux by a
factor (FACTRS set lower than unity)
Because both the expert parameters are global, the limitation of the eddy viscosity at Rotor/Stator
interfaces is activated for all Rotor/Stator interfaces of the project. Both methods cannot be
combined. If the two parameters are changed only IMINRS will be activated.
The methods reducing the eddy viscosity are restricted to the following Rotor/Stator interfaces:
l Conservative coupling
l Local conservative coupling
l Full non matching mixing plane
l Non reflecting 1D
l Full non matching (non Reflecting) for NLH calculations
8.3
HARMONIC METHOD
8.3.1
Introduction
An attractive feature of FINE™/Turbo is the computation of unsteady flows using the so-called
nonlinear harmonic method (NLH). This approach, introduced by He and Ning (1998), can be
considered as a hybrid method that conjugates the advantages of classical steady state and full
unsteady calculations: it provides an approximate unsteady solution at affordable calculation costs.
The main idea is that the flow perturbations that make the flow unsteady are written about a time-
averaged value of the flow and are Fourier decomposed in time. Casting the unsteady Navier-
Stokes system into the frequency domain,
transport equations are obtained for each time
frequency. The user controls the accuracy of the unsteady solution through the order of the
Fourier series. Alongside the solving of the time-averaged flow steady-state equations, each
frequency requires the solving of two additional sets of conservation equations (for the real and
imaginary parts of each harmonic). The method is made nonlinear by the injection of the so-called
deterministic stresses, resulting from all the solved frequencies, into the time-averaged flow solver.
Because of the transposition to the frequency domain, only one blade channel is required like a
steady flow simulation.
Depending on the number N (called Rank) of rows which are separated from a reference row by
motion interfaces and generate a perturbation into the reference row, FINE™/Turbo provides
several NLH methods:
Basic: The basic harmonic method is a rank-1 method, which considers only the perturbation
from the adjacent relative rotating rows of the reference row.
Clocking: The clocking harmonic method is a simplified rank-2 method, which considers the
perturbation from the adjacent rotating rows of the reference row and also simulates the rotor/rotor
and stator/stator interactions in a multi-row turbomachine.
Multi-rank: The multi-rank harmonic method is a generalized harmonic method, which considers
not only the perturbation from the adjacent successive N rows of the reference row, but also the
interaction of harmonics between the adjacent successive N rows. For the moment, the maximum
rank is limited to 2.
For more details of the harmonic method, please refer to the theory guide.
The limitations for all NLH simulations are:
l The nonlinear harmonic method can only be used for turbomachinery applications.
l The flow perpendicular to the inlet (INL), outlet (OUT), external boundary (EXT) and
rotor/stator interface (ROT) has to be subsonic.
l The number of frequencies per perturbation in a row is the same all over the multistage
machine.
l When using thermodynamic tables as fluid, the following limitations are applied:
l Not compatible with inlet distortion.
l The NLH method requires thermodynamic tables from which the first and the second
derivatives can be computed accurately. This requires to generate thermodynamic tables
with bicubic interpolations, which ensures the continuity up to the second derivative.
l When simulating Cooling injectors with NLH, the injected mass flow is assumed constant.
l When using the boundary condition External Constant Wind with Incidence Relative to
Axis Z, the external patches must be grouped. The total number of the patches/groups cannot
be larger than 9.
l The harmonic method is based on the rows/groups configuration that are separated by R/S
interfaces. All the blocks belonging to one row must be grouped. For example, in the
configuration of a contra-rotating open rotor with a pylon, the domains must be grouped as
"pylon + far field", "row 1 + far field", "row 2 + far field", and the R/S interfaces must also be
grouped. Otherwise, the harmonic method will not work.
l When combining the 2-equation turbulence models with NLH, the following limitations are
applied:
l Not compatible with the spatial discretization upwind scheme.
l Not compatible with rough wall.
l Not compatible with isothermal wall boundary condition (Temperature imposed).
l Not compatible with FSI, except the SST turbulence model.
About the mesh constraint for NLH simulations, refer to Harmonic method.
In the following sections, three harmonic methods and the best practice will be described in detail.
Troubleshooting in Rotor/Stator Interface
Sometimes, the user may find that there is a quite large discontinuity in the variable field (such as
entropy) over the rotor-stator interface, even when the number of harmonics per perturbation is 4
or more. This situation often appears if there exists a strong wake or shock wave at one side of the
rotor-stator interface.
Within the NLH method, the conservative variable is decomposed into a time-averaged value and
a sum of periodic perturbations, which in turn are decomposed into N harmonics. In some special
cases, the perturbation can not be accurately reconstructed by using the decomposed harmonics.
The error is depending on the number of the harmonics that we used.
the
influence of
FIGURE 8.11 shows how a square wave signal is captured by using a Fourier series (harmonics)
and what
to
http://en.wikipedia.org/wiki/Fourier_ series for more information. As you can see, the square
wave is reproduced better with an increasing number of harmonics. However, it is impossible to
reproduce the vertical line in the signal. This can only be reached if the number of harmonics is
infinite.
the number of harmonics used is. Please
refer
FIGURE 8.11
The first four Fourier series approximations for a square wave
As an example, FIGURE 8.12 shows the contours of the entropy at a constant r surface in a
contra rotating propeller simulated by using the basic harmonic method. In this case, there is a
strong peak in entropy at the upstream side of the rotor-stator interface due to the wake of the
front blade. This is almost a Dirac signal. To capture such a Dirac with Fourier series (that is what
non-linear harmonics computations do) is indeed very difficult. As you can see, the signal is
captured better when increasing the number of harmonics. This is in agreement with the theory:
increasing the number of harmonics will increase the accuracy, but with increasing computation
costs.
FIGURE 8.12
The contours of the entropy at a constant r surface for a Contra-rotating propeller
8.3.2
Basic Harmonic Method
A. Overview
The harmonic method (He and Ning 1998, Chen et al. 2001, Vilmin et al. 2006) was shown to be
a very efficient solution method for time periodic flow simulations. It deals with the perturbation
introduced due to the relative motion between the adjacent rows.
In a turbomachinery
configuration, the blade passing frequencies (BPFs) of the blade rows are the fundamental
frequencies of the time periodic disturbances entering the adjacent blade rows. Solving the
periodic perturbation in a row is performed in the frequency domain by time-marching to the
pseudo- steady state solution of the transport equations associated with the BPFs and their
harmonics, of which the number is a user input.
The presented method also features an improved treatment that enhances the flow continuity
across the rotor/ stator interface by a reconstruction of the harmonics and the time-averaged flow
on both sides of the interface. A non-reflective treatment is applied as well at each interface.
The limitations for the basic harmonic simulations are:
l The Number of frequencies per perturbation and Max number of perturbations per
blade row can not be larger than 10. And the product of them can not be larger than 20.
l The basic harmonic method does not work when the rotor-stator interface is connecting two
rows that have the same rotation speed.
B.
Interface & best practices
When activating Harmonic in the Flow Model page and select the button Basic, two boxes
appear:
l Number of frequencies per perturbation (number of harmonics: NBHAR): it represents the
number of time harmonics per periodic perturbation modeled in a row. Default value: 3.
l Max number of perturbations per blade row : the highest number of blade passing
frequencies that a blade row is subjected to (NPERT). Default value: 2. For the particular
stator/rotor/stator configuration, where the stators have the same number of blades, this
parameter is equal to 1.
FIGURE 8.13
Harmonic parameters
When Harmonic is checked, the turbulence model is by default set to Spalart-Allmaras. The
user may change to another turbulence model. The Euler flow and the Laminar flow can also be
selected.
The other basic harmonic method parameters in the FINE™/Turbo GUI can be found in the
following menus:
Boundary conditions
For one stage or multi-stage computations, different boundary conditions can be specified for the
NLH method. These boundary conditions are non-reflective at the far inlet and far outlet for the
harmonic flow variables. They are based on a 1D non-reflective treatment that computes the flow
variables on the boundary as a resulting combination of incoming and outgoing characteristics.
The pseudo-steady flow at the far inlet and far outlet is assumed to be the time-averaged without
the deterministic stress terms.
Under the tab INLET of the Boundary Conditions page, a dedicated boundary condition,
Static Quantities Distributions for Harmonic Calculation , allows to perform NLH
computations with a distortion at the inlet. For this condition, the FINE™/Turbo solver performs a
spatial Fourier decomposition of the inlet distortion. The extracted spatial harmonics are
transformed into time harmonics in the frame of the domain that is subject to the relative motion of
the distortion. This inlet boundary condition can be considered as a simplified Rotor-Stator
interface. But the computation only takes into account the effect of the fictitious upstream row
(inlet distortion) on the downstream row(s).
,
,
The inlet distortion must be specified by a profile. These profiles are the azimuthal distributions of
). Each distribution is for a constant radius or a
the five flow variables (e,
constant axial position. The imposed profile must range from 0 to 2π and must be periodic over
the azimuthal length. Currently, only r-θ or θ-z profile is allowed. The profile should be given at
stations of constant θ for increasing r or z. Also θ must be increasing going from one station to the
next
to the File Formats section for more details. The entry
PERIODICITY is used to normalize the input profile in the θ direction.
in the file. Please refer
, and
Under the tab EXTERNAL of the Boundary Conditions page, the user can specify External
Boundary Conditions for NLH computations:
l When using the boundary condition External, the flow at the external boundaries must be
axial (
and
) if the external boundaries are attached to the rotating domain.
l If the external boundaries are attached to the rotating domain and the flow at the external
boundaries is non-axial, the boundary condition External Constant Wind with Incidence
Relative to Axis Z should be used. This boundary condition allows to simulate the flow
resulting from a constant wind with incidence applied on the external boundaries. The
incidence means that
are not equal to 0. In the cylindrical framework, the
velocity components are:
and/or
So, the incidence can be considered as a distortion on the external boundaries with a periodicity of
1. The same treatment method as for inlet distortion is used to treat the incidence on the external
boundaries in the flow solver. Note, the pseudo-steady solution in the NLH method represents the
time-averaged solution over one blade passage. As a result, in the cylindrical framework, the
incidence cannot be represented since it is not periodic over one blade passage. To check the
effect of the incidence, the unsteady solution must be reconstructed.
The boundary condition External Constant Wind with Incidence Relative to Axis Z is
exclusively for external boundaries attached to rotating domains.
When an inlet distortion is defined, it should have a different rotational speed than the inlet group to
which the distortion is applied.
Initial Solution
It is recommended to use a previous steady flow simulation as the initial solution. This can be
done by using the option from file in the Initial Solution page, or by setting the Number of
Steady Iterations in the Computation Steering / Control Variables page, as explained below.
Outputs
The Harmonics tab allows to activate specific outputs from the harmonic method and the
reconstruction in time.
FIGURE 8.14
Harmonic outputs
Harmonic variables output
In the Harmonics category of the Outputs/ Computed Variables page, the following harmonic
variables are available:
l Static quantities: Temperature, Pressure, Density and Entropy
l Total quantities: Relative Pressure, Absolute Pressure, Relative Temperature and Absolute
Temperature.
l Velocity components:
,
,
l Deterministic stresses:
With the buttons Add and Remove, the Real & Imaginary parts and/ or the norm (Amplitude)
of the complex amplitude of the harmonics of the variable, or the deterministic stresses can be
stored in the output ".cgns" file. The number of harmonics is the maximum, over the whole flow
field, of the total number of harmonics per group (blade row), which is equal to (NPERT)x
(NBHAR), both set in the Flow Model page.
Example 1: if the Pressure is added, there will be 6 harmonics of pressure fluctuation per row in
the output solution file for NBHAR=3 and NPERT=2. This means 6 (for real) + 6 (for imaginary)
+ 6 (for norm) = 18 additional flow variables in the ".cgns" file, if the real and imaginary parts are
selected as well as the norm.
Example 2: For a igv/rotor/ogv configuration, NPERT is set to 2 and NBHAR is set to 4 by the
user. There are thus 8 (2x4) harmonics H1, H2, H3, H4, H5, H6, H7, H8 in the output.
l In igv row: only one perturbation is generated, induced by the downstream rotor. The
perturbation is modeled by its first NBHAR=4 harmonics: H1- H2- H3- H4. No second
perturbation exists, so H5, H6, H7, H8 are set to zero.
l In rotor row: two perturbations are generated. If the first perturbation is the one originating
from the row upstream then:
H1-H2-H3-H4: first 4 harmonics of the periodic disturbance induced by the igv,
H5-H6-H7-H8: first 4 harmonics of the periodic disturbance induced by the ogv.
l In ogv row: one perturbation is modeled, the first 4 orders being solved. H1-H2-H3-H4: first 4
harmonics of the periodic disturbance induced by the rotor. H5-H6-H7-H8: zero.
In this case, selecting only the amplitude of the Pressure fluctuation for the output gives 8
additional flow variables in the ".cgns" file.
If a deterministic stress is added, each of its contribution per harmonic will be stored in the output
".cgns" file, that is 8 different values in example 2 presented above.
Information about frequency output for harmonics can be found in the ".std" file for each group.
Each group indicates a blade row.
Reconstruction in Time
The executable Harmo2Time for reconstructing a harmonic solution in time, is available in the
Modules menu. For more information of Harmo2Time, see the CFView™ user manual.
For the basic harmonic simulation, the user can only reconstruct the unsteady flow.
Plot3D output by Harmo2Time
The Harmo2Time executable checks the .run file of the computation to process. If the plot3d
output of the flow solver is switched on, the Harmo2Time executable will also produce unsteady
plot3d output in addition to the .cgns output.
As for the FINE™/Turbo solver, there are different options to the plot3d output:
l The user can choose between ASCII and binary (formatted) output.
l The user can choose to compute the plot3d output to be in relative or absolute frame of
reference.
The format of the plot3d output is the same as the FINE™/Turbo solver's. The plot3d output is
limited to the grid file and the quantities (density ρ, momentum
and total energy
).
The plot3d output is only valid with IVELSY=1.
The plot3d output is limited to perfect gas and real gas.
Control Variables
In the Computation Steering / Control Variables page, the user can impose a Number of
Steady Iterations. In this case, a steady computation will be performed until the Number of
Steady Iterations in the fine mesh. Then the NLH computation will be initialized using the
steady solution and be launched.
NLH computations need more CPU time and memory, in comparison with a steady mixing-plane
method, due to the additional transport equations associated with each harmonic. If N harmonics
of a perturbation are to be modeled, then there are 10N additional transport equations to be solved
(5 for the real part and 5 for the imaginary part of the complex amplitude of each harmonic).
Then, the ratio R of the required CPU time or memory between the harmonic method and the
steady method is:
where
is the number of the grid nodes in the blade row bi (i in range of [1,B]),
is the
number of harmonics per perturbation,
is the number of the equations in the steady
computation (5 for Euler, Laminar and turbulent flow with the 0-equation turbulence models; 6
for the turbulent flow with the 1-equation turbulence models).
As an approximation, the number of the grid nodes can be assumed to be the same for all the
blade rows. The ratio R can be simplified as:
For example, for a 3-harmonic (
) simulation of a one-stage turbine (B=2) and using the
Spalart- Allmaras model (
=6), the CPU time is therefore 6 times that of a steady
simulation.
8.3.3
Clocking harmonic method
A. Overview
The basic harmonic method deals with rotor/stator interaction of only adjacent rows. The
approach couples and solves the time-averaged flow and the perturbations. In particular, the time-
mean flow is modified by the deterministic stress that is a product of the unsteadiness. Thus, the
time- mean solution in a row is influenced by the unsteadiness brought about by a rotating
upstream row; by relative rotation this flow disturbs the flow in a downstream row again. The
upstream row has an influence on the downstream row via the time-mean flow in the central row
but it is indirect. No rotor/rotor and/or stator/stator effects are taken into account. Thus, the
clocking effects cannot be modeled in the basic harmonic method.
The present clocking harmonic method allows the user to simulate the clocking effects between
consecutive rotors or stators. The range of influence is 1.5 stage upstream or downstream: for a
multistage machine row1/row2/row3/row4/row5 the following clocking interactions are modeled:
row1-row3; row3-row5, row2-row4. The clocking between row5 and row1 is not modeled.
The limitations for the clocking harmonic simulations are:
l The Number of frequencies per perturbation and Max number of perturbations per
blade row can not be larger than 10. And the product of them can not be larger than 20.
l the clocking simulations are restricted to the rows which are subject to the same rotation speed
(clocking effects).
l The clocking harmonic method does not work when the rotor-stator interface is connecting
two rows that have the same rotation speed.
B.
Interface and best practices
FIGURE 8.15
Clocking settings
The Clocking model can be switched on through the radio button Clocking when activating
Harmonic in the Flow Model page. Two boxes appear:
l Number of frequencies per perturbation: it represents the number of harmonics per periodic
perturbation modeled in a row. Default value: 3.
l Max number of perturbations per blade row : the highest number of blade passing
frequencies that a blade row is subjected to. Default value: 2. When Clocking is activated, the
parameter Max number of perturbations per blade row includes the clocking perturbations.
For example, for the row1/row2/row3 configuration, this parameter is equal to 2. However, for
the row1/row2/row3/row4/row5 configuration, this parameter should be equal to 4.
When Harmonic is checked, the turbulence model is by default set to Spalart-Allmaras. The
user may change to another turbulence model. The Euler flow and the Laminar flow can also be
selected.
When the clocking model is switched on, a radio button switch appears in the expert parameters
frame (visible only in Expert mode) to control the fixed or variable clocking.
l Variable: From this simulation, the user can reconstruct the flow in time or in space. When
reconstructing in time, the unsteady flow can be represented for all the different positions of
the rows. For instance, one stator can be moved relatively to another stator and the unsteady
flow can be reconstructed for each relative position. This simulation takes the effect of a rotor
(respectively stator) onto the subsequent rotor (respectively stator) into account. When
reconstructing in space, the time-mean flow can also be represented for all the different
positions of one stator (or rotor) relatively to the subsequent stator (or rotor).
l Fixed : From this simulation,
the flow only in time. When
the user can reconstruct
reconstructing in time, the unsteady flow can be represented same as "Variable" but with the
difference that the stator (or rotor) can be moved only in a multiple of the pitch. The effects
from one stator onto the other stator are also taken into account but only for the position given
in the input mesh. So it is like the standard harmonic but with the difference that the effects of
stator1 onto stator2 are taken into account.
The other parameters for the clocking harmonic method in the FINE™/Turbo GUI can be found
in the following menus:
Boundary conditions
For clocking harmonic computations, different boundary conditions can be specified for the NLH
method. These boundary conditions are non-reflective at the far inlet and far outlet for the
harmonic flow variables. They are based on a 1D non-reflective treatment that computes the flow
variables on the boundary as a resulting combination of incoming and outgoing characteristics.
The pseudo-steady flow at the far inlet and far outlet is assumed to be the time-averaged without
the deterministic stress terms.
Under the tab INLET of the Boundary Conditions page, a dedicated boundary condition,
Static Quantities Distributions for Harmonic Calculation , allows to perform NLH
computations with a distortion at the inlet. For this condition, the FINE™/Turbo solver performs a
spatial Fourier decomposition of the inlet distortion. The extracted spatial harmonics are
transformed into time harmonics in the frame of the domain that is subject to the relative motion of
the distortion. This inlet boundary condition can be considered as a simplified Rotor-Stator
interface. But the computation only takes into account the effect of the fictitious upstream row
(inlet distortion) on the downstream row(s).
,
,
The inlet distortion must be specified by a profile. These profiles are the azimuthal distributions of
the five flow variables (e,
). Each distribution is for a constant radius or a
constant axial position. The imposed profile must range from 0 to 2π and must be periodic over
the azimuthal length. Currently, only r-θ or θ-z profile is allowed. The profile should be given at
stations of constant θ for increasing r or z. Also θ must be increasing going from one station to the
next
to the File Formats section for more details. The entry
PERIODICITY is used to normalize the input profile in the θ direction.
in the file. Please refer
, and
Under the tab EXTERNAL of the Boundary Conditions page, the user can specify External
Boundary Conditions for NLH computations:
l When using the boundary condition External, the flow at the external boundaries must be
axial (
and
) if the external boundaries are attached to the rotating domain.
l If the external boundaries are attached to the rotating domain and the flow at the external
boundaries is non-axial, the boundary condition External Constant Wind with Incidence
Relative to Axis Z should be used. This boundary condition allows to simulate the flow
resulting from a constant wind with incidence applied on the external boundaries. The
incidence means that
are not equal to 0. In the cylindrical framework, the
velocity components are:
and/or
So, the incidence can be considered as a distortion on the external boundaries with a periodicity of
1. The same treatment method as for inlet distortion is used to treat the incidence on the external
boundaries in the flow solver. Note, the pseudo-steady solution in the NLH method represents the
time-averaged solution over one blade passage. As a result, in the cylindrical framework, the
incidence cannot be represented since it is not periodic over one blade passage. To check the
effect of the incidence, the unsteady solution must be reconstructed.
The boundary condition External Constant Wind with Incidence Relative to Axis Z is
exclusively for external boundaries attached to rotating domains.
When an inlet distortion is defined, it should have a different rotational speed than the inlet group to
which the distortion is applied.
Initial Solution
It is recommended to use a previous steady flow simulation as the initial solution. This can be
done by using the option from file in the Initial Solution page, or by setting the Number of
Steady Iterations in the Computation Steering / Control Variables page, as explained below.
Outputs
The Harmonics tab in the Outputs / Computed Variables page allows to activate specific
outputs from the harmonic method and the reconstruction in time/space.
FIGURE 8.16
Harmonic outputs in case of clocking considered
Harmonic variables output
In the Harmonics tab of the Outputs/Computed Variables page, a first group is visible and
corresponds to the harmonic variables:
l Static quantities: Temperature, Pressure, Density and Entropy
l Total quantities: Relative Pressure, Absolute Pressure, Relative Temperature and Absolute
Temperature.
l Velocity components:
,
,
If a box is checked, the Real & Imaginary parts and/or the norm (Amplitude) of the complex
amplitude of the harmonics of the variable, can be stored in the output ".cgns" file. The number of
harmonics is the maximum, over the whole flow field, of the total number of harmonics per group
(blade row), which is equal to (NPERT)x(NBHAR), both set in the Flow Model page.
A second group proposes the selection of the deterministic stresses.
If a stress is selected, each of its contribution per harmonic will be stored in the output ".cgns" file.
Information about frequency output for harmonics can be found in the .std file for each group. Each
group indicates a blade row.
Reconstruction in Time/Space
The clocking harmonic simulations can be reconstructed in time or in space by Harmo2Time,
depending on the setting in the Flow Model page. Harmo2Time generates a run file named "_
unst.run" presenting the same format as for the result of an unsteady flow simulation. For more
information of Harmo2Time, see the CFView user manual.
Plot3D output by Harmo2Time
The Harmo2Time executable checks the .run file of the computation to process. If the plot3d
output of the flow solver is switched on, the Harmo2Time executable will also produce unsteady
plot3d output in addition to the .cgns output.
As for the FINE™/Turbo solver, there are different options to the plot3d output:
l The user can choose between ASCII and binary (formatted) output.
l The user can choose to compute the plot3d output to be in relative or absolute frame of
reference.
The format of the plot3d output is the same as the FINE™/Turbo solver's. The plot3d output is
limited to the grid file and the quantities (density ρ, momentum
and total energy
).
The plot3d output is only valid with IVELSY=1.
The plot3d output is limited to perfect gas and real gas.
Control Variables
In the Computation Steering / Control Variables page, the user can impose a Number of
Steady Iterations. In this case, a steady computation will be performed until the Number of
Steady Iterations in the fine mesh. Then the NLH computation will be initialized using the
steady solution and be launched.
8.3.4 Multi-rank harmonic method
A. Overview
The basic harmonic method deals with rotor/stator interaction of only adjacent rows. The clocking
harmonic method allows the user to simulate the clocking effects between consecutive rotors or
stators but the consecutive rotors or stators must have the same rotation speed. For a contra-
rotating open rotors (CROR) case, if the pylon of the CROR mounted on the fuselage is taken
into account, then the reproduction of its unsteady effects on the flow in the rotor that is not
adjacent to the pylon cannot be performed by the basic/clocking harmonic methods. Besides the
pylon- CROR limitation,
in certain applications the amplitude of the
perturbation associated with a BPF is not only created by that BPF but also by the interaction of
two harmonics of BPFs that contributes to that BPF. Also, other applications, such as
stator/rotor/stator, may show amplitudes of time harmonics induced by the rotor in the aft stator
which are significantly higher than the amplitudes predicted by the basic/clocking harmonic
methods. This difference may come from the interaction of the time harmonics with the clocking
effects induced by the front stator.
it has appeared that
To solve all the cases mentioned above require a generalized multi-rank harmonic method. The
multi-rank harmonic method considers not only the perturbations from the adjacent successive N
rows of the reference row, but also the interaction of harmonics between the adjacent successive
N rows. For the moment, the maximum rank is limited to 2.
The limitations for the multi-rank harmonic simulations are:
l The effects are limited to 2-rank.
l When using the boundary conditions Static Quantities Distributions for Harmonic
Calculation, it is limited to one inlet per group.
l The maximum number of harmonics in each row is limited to 40. Starting from FINE™/Turbo
v12.1, this limitation has been partially removed to enable to launch a NLH computation
having a maximum number of 40 harmonics activated per row, while the total number of
harmonics (deactivated + activated) in the group could be higher than 40.
l The multi-rank harmonic method with Max rank 1 does not work when the rotor-stator
interface is connecting two rows that have the same rotation speed.
B.
Interface and best practices
FIGURE 8.17
Multi-rank settings
The multi-rank harmonic method can be switched on through the radio button Multi-rank when
activating Harmonic in the Flow Model page. Then the user needs to give a value for Max
rank. For the moment, the maximum rank of the perturbations is limited to 2. If the user chooses
Max rank = 1, the method is exactly the same as the basic harmonic method. After giving a value
for Max rank, the user needs to set the following parameters
l Number of harmonics of rank 1: it represents the number of harmonics per periodic rank-1
perturbation. Default value: 3.
l Number of harmonics of rank 2: it represents the number of harmonics per periodic rank-2
perturbation. Default value: 3. The value of the number of harmonics of rank 2 cannot exceed
the value of the number of harmonics of rank 1.
When Harmonic is checked, the turbulence model is by default set to Spalart-Allmaras. The
user may choose another turbulence model. The Euler flow and the Laminar flow can also be
selected.
When the multi-rank harmonic method is selected, a radio button switch appears in the expert
the fixed or variable clocking
parameters frame (visible only in Expert mode) to control
simulation.
l Variable: From this simulation, the user can reconstruct the flow in time or in space. When
reconstructing in time, the unsteady flow can be represented for all the different positions of
the rows. For instance, one stator can be moved relatively to another stator and the unsteady
flow can be reconstructed for each relative position. When reconstructing in space, the time-
mean flow can also be represented for all the different positions of one stator (or rotor)
relatively to the subsequent stator (or rotor).
l Fixed : From this simulation,
the flow only in time. When
the user can reconstruct
reconstructing in time, the unsteady flow can be represented in the same way as "Variable"
but with the difference that the stator (or rotor) can be moved only in a multiple of the pitch.
The rank-2 effects are taken into account but only for the position given in the input mesh.
The other parameters for the multi-rank harmonic method in the FINE™/Turbo GUI can be
found in the following menus:
Boundary conditions
For multi-rank harmonic computations, different boundary conditions can be specified for the
NLH method. These boundary conditions are non-reflective at the far inlet and far outlet for the
harmonic flow variables. They are based on a 1D non-reflective treatment that computes the flow
variables on the boundary as a resulting combination of incoming and outgoing characteristics.
The pseudo-steady flow at the far inlet and far outlet is assumed to be the time-averaged without
the deterministic stress terms.
Under the tab INLET of the Boundary Conditions page, a dedicated boundary condition,
Static Quantities Distributions for Harmonic Calculation , allows to perform NLH
computations with a distortion at the inlet. For this condition, the FINE™/Turbo solver performs a
spatial Fourier decomposition of the inlet distortion. The extracted spatial harmonics are
transformed into time harmonics in the frame of the domain that is subject to the relative motion of
the distortion. This inlet boundary condition can be considered as a simplified Rotor-Stator
interface. But the computation only takes into account the effect of the fictitious upstream row
(inlet distortion) on the downstream row(s).
,
,
The inlet distortion must be specified by a profile. These profiles are the azimuthal distributions of
). Each distribution is for a constant radius or a
the five flow variables (e,
constant axial position. The imposed profile must range from 0 to 2π and must be periodic over
the azimuthal length. Currently, only r-θ or θ-z profile is allowed. The profile should be given at
stations of constant θ for increasing r or z. Also θ must be increasing going from one station to the
next
to the File Formats section for more details. The entry
PERIODICITY is used to normalize the input profile in the θ direction.
in the file. Please refer
, and
Under the tab EXTERNAL of the Boundary Conditions page, the user can specify External
Boundary Conditions for NLH computations:
l When using the boundary condition External, the flow at the external boundaries must be
axial (
and
) if the external boundaries are attached to the rotating domain.
l If the external boundaries are attached to the rotating domain and the flow at the external
boundaries is non-axial, the boundary condition External Constant Wind with Incidence
Relative to Axis Z should be used. This boundary condition allows to simulate the flow
resulting from a constant wind with incidence applied on the external boundaries. The
incidence means that
are not equal to 0. In the cylindrical framework, the
velocity components are:
and/or
So, the incidence can be considered as a distortion on the external boundaries with a periodicity of
1. The same treatment method as for inlet distortion is used to treat the incidence on the external
boundaries in the flow solver. Note, the pseudo-steady solution in the NLH method represents the
time-averaged solution over one blade passage. As a result, in the cylindrical framework, the
incidence cannot be represented since it is not periodic over one blade passage. To check the
effect of the incidence, the unsteady solution must be reconstructed.
The boundary condition External Constant Wind with Incidence Relative to Axis Z is
exclusively for external boundaries attached to rotating domains.
Numerical Model
The multi-rank harmonic method considers not only the perturbation from the adjacent successive
N rows of the reference row, but also the interaction of the harmonics between the adjacent
successive N rows.
By default, the multi-rank harmonic method does not consider the interaction of the harmonics
between the upstream row and the downstream row of the reference row (No interaction). But in
some applications, this interaction may have an important influence on the flow in the reference
row. In this case, the user can activate the interaction of the harmonics between the upstream row
and the downstream row of the reference row by selecting the button Interaction. The Max
order in interaction> is set by default to 1. This number can be changed but cannot be lower
than 1 or larger than the number of harmonics of rank 1. For example, a max order in interaction
of 3 will introduce the interaction of the first three harmonics from the upstream row and the
downstream row into the reference row.
The option Clocking effects on is used to limit the clocking effects in the 2-rank computations. By
default, the clocking effects are considered to be on Time average and time harmonics. In this
case, both time clocking effects (whose frequency is different from zero) and space clocking
effects (whose frequency is equal to zero) are considered in the reference row. When setting to
Time average only , the space clocking effects are considered only. As an example, for a
stator/rotor/stator (S1/R1/S2), the harmonics in S2 will contain only the space harmonics from S1
and the time harmonics from R1 when using clocking effects on time average only. All the
interaction (time clocking effect) between the space harmonics from S1 and the time harmonics
from R1 are removed.
FIGURE 8.18
Harmonic range
The button Show the harmonics is used to display and select all the modeled harmonics in each
group. When clicking on the button Show the harmonics, the periodic perturbation info window
appears, as shown in FIGURE 8.19.
FIGURE 8.19
Periodic perturbations info
This periodic perturbation info window is divided into four parts.
The left frame lists all the groups (blocks or groups) in the computation. Left-clicking on the name
of a group, all the harmonics in this group will be shown.
The second frame is used to limit the number of harmonics induced by each disturber. In
FIGURE 8.19, the harmonics in G4 come from the disturber G2, the disturber G3 and the linear
combination of the harmonics between G2 and G3. The user may change the number of
harmonics for the disturber G2 or the disturber G3. After changing the number of harmonics per
disturber and clicking on the button Update harmonics, the new harmonics will be listed in the
third frame. Note, the number of harmonics per disturber cannot exceed the specified number of
harmonics in rank 1 or 2 on the Flow Model page.
In the third frame, all the resulting harmonics for the selected group are listed. Click on the square
box at the left side of the harmonic name will toggle the activation of the harmonic. Clicking on
the button Activate all will activate all the harmonics. Clicking on the button Deactivate all will
deactivate all the listed harmonics. Only the activated harmonics will be solved in the NLH
computation. In FIGURE 8.19, there are 24 harmonics available in G4 and the solved harmonics
will be Harmonic 7, Harmonic 14 and Harmonic 21. The name of the harmonic shows where it
comes from. For example, the name "Harmonic 4 = (-3G2;1G3)" means that this is the fourth
harmonic in G4 and it is the linear combination between the third harmonic from G2 (row 2) and
the first harmonic from G3 (row 3), where the symbol ";" should be considered as the operator
"+". The frequency of this harmonic will be given by the algebraic sum of the individual
frequencies. For example, if 3G3 has 10000 Hz and 1G2 has 15000 Hz, then frequency of "(-
3G3;1G2)" will be -10000+15000 = 5000 Hz. Several symbols are used in FINE™/Turbo to
indicate the origin of the harmonics:
l G#: the harmonic comes from the group #;
l Di#: the harmonic comes from the inlet distortion #;
l Ei#: the harmonic comes from the External Constant Wind with Incidence Relative to Axis
Z #;
l St#: the harmonic comes from the structure #, see modal coupling for more details.
When selecting a harmonic in the third frame, its characteristics will be shown in the right-hand
frame of the windows:
l The Angular Velocity shows the angular velocity of the harmonic.
l The Phase Angle depends on the differences between the circumferential angles due to the
differences in blade count.
l It may happen that harmonics of different origins have the same properties. In this case, the
harmonics having the same properties can be merged by using the fixed clocking position.
Then, the Number of aliases of a harmonic can be larger than one (alias could be understood
as 'name' of the harmonic). For example, a Stator-Rotor-Stator configuration with 36/41/36
blades will have a number of aliases greater than 1 if the simulation is done for only one set of
azimuthal positions of the stators (fixed clocking). Indeed, in this case, for one harmonic per
perturbation, in the central rotor the harmonic from the second stator has the same frequency
and phase angle as the harmonic from the first stator, because the two stators have identical
numbers of blades. So the harmonic from the first stator is an alias of the harmonic from the
second stator and there is only one harmonic to be resolved in the rotor, instead of two.
l Alias name gives the name of all the harmonics that have the same properties and are merged.
l The Base can be:
l -999: if the harmonic is a LONE TIME HARMONIC (no clocking impact at the frequency
of this harmonic).
l (-1)*Harmonic number: if the harmonic is a BASE TIME HARMONIC with associated
clocking harmonics.
l associated base time harmonic number: if the harmonic is a CLOCKING HARMONIC
(note that a particular case is zero, which means that the harmonic is associated with the
time-averaged flow).
Initial Solution
It is recommended to use a previous steady flow simulation as the initial solution. This can be
done by using the option from file in the Initial Solution page, or by setting the Number of
Steady Iterations in the Computation Steering / Control Variables page, as explained below.
Outputs
The Harmonics tab in the Outputs / Computed Variables page allows to output the harmonic
variables by the flow solver.
FIGURE 8.20
Harmonic outputs in case of multi-rank
In the Harmonics tab of the Outputs/Computed Variables page, the first group corresponds to
the harmonic variables:
l Static quantities: Temperature, Pressure, Density and Entropy
l Total quantities: Relative Pressure, Absolute Pressure, Relative Temperature and Absolute
Temperature.
l Velocity components:
,
,
If a box is checked, the Real & Imaginary parts and/or the norm (Amplitude) of the complex
amplitude of the harmonics of the variable, can be stored in the output ".cgns" file. The number of
harmonics is the maximum, over the whole flow field, of the total number of harmonics per group
(blade row).
A second group proposes the selection of the deterministic stresses.
If a stress is selected, each of its contribution per harmonic will be stored in the output ".cgns" file.
Reconstruction in Time/Space
The multi-rank harmonic simulations can be reconstructed in time or in space by Harmo2Time,
depending on the setting in the Flow Model page. Harmo2Time generates a run file named "_
unst.run" presenting the same format as for the result of an unsteady flow simulation. For more
information on Harmo2Time, see the CFView User Guide.
Control Variables
In the Computation Steering / Control Variables page, the user can impose a Number of
Steady Iterations. If the Number of Steady Iterations is larger than 0, a pseudo-steady-flow
computation will be performed on the fine mesh with the fixed iteration number. Then the NLH
computation will be initialized using the pseudo-steady-flow solution and launched.
NLH computations need more CPU time and memory, in comparison with a pseudo-steady-flow
mixing-plane method, due to the additional transport equations associated with each harmonic.
For the multi-rank NLH, a button Calculate CPU cost is available in the Computation Steering
/ Control Variables page. Clicking on this button will show the approximate CPU time ratio per
iteration between the NLH computation and the corresponding pseudo-steady-flow computation.
8.3.5
Expert Parameters
The following expert parameters related to the NLH simulation are accessible on the Control
Variables page by selecting the Expert Mode.
HARTCL (integer): When using the Cooling/Bleed model with NLH,
the time averaged
variables in the cooling/bleed are computed by taking into account the deterministic stresses and
the harmonic variables are computed by applying the non reflecting treatment. Adding the stresses
implies that the harmonic values are already known but their computations with the non reflective
treatment need the values of the time averaged variables. This is not a problem for the bleed as the
time averaged values are extrapolated from the first
inner cells. For the injectors, some
assumptions are used for the computations of stresses. The main assumption is that the injected
mass flow is constant with time. Moreover, the expert parameter HARTCL is used to impose the
fluctuations of temperature or total temperature (according to the specified characteristics of the
cooling).
l 0 (default): Harmonics of the temperature or total temperature are imposed to 0 in the injectors.
l 1: Harmonics of the temperature or total temperature are not imposed. Only the time averaged
value is imposed.
IFABCW (integer): On the wall, the velocity components, the pressure and the temperature in the
dummy cell are computed by extrapolating the value on the wall and in the first inner cell. The
corresponding density is computed in the dummy cell. The cooling will
introduce high
temperature gradient on the wall. The high temperature gradient may lead to unphysical
temperature in the dummy cell and consequently unphysical density in the dummy cell. The
expert parameter IFABCW allows to compute the density by extrapolating the density on the wall
and in the first inner cell. The extrapolation is used not only for the time averaged values but also
for the harmonic values.
l 0 (default): the density in the dummy cell is computed from the extrapolated pressure and
temperature in the dummy cell.
l 1: the density in the dummy cell is computed by extrapolating the density on the wall and in
the first inner cell.
IDECOU (integer): Controls the inclusion of the deterministic stress terms when solving the time
mean equations. The deterministic stress terms are intrinsic to the nonlinear harmonic method and
are responsible for the improvement of the time mean flow compared to simple linearization
methods. In some cases, the deterministic stress terms are so high that convergence problem may
appear. To reach the convergence, the deterministic stress terms can be removed from the time
mean equations. A result is thus obtained for the time mean flow with less accuracy because the
nonlinear term is removed.
l 0 (default): the deterministic stress terms are considered when solving the time- averaged
equations.
l 1: the deterministic stress terms will be removed when solving the time-averaged equations.
When setting IDECOU=1, there is still coupling between the time mean flow and the harmonic
variables through Rotor/Stator interfaces. Thus, the NLH time mean flow solution with IDECOU=1 is
still different from the steady state solution with non-reflecting boundary condition.
HAVMOD (integer): In some harmonic simulations, one may notice a strong gradient of the
harmonic of the pressure. To control such a gradient, the flow solver uses a harmonic pressure
sensor. This sensor defines the second-difference artificial dissipation that is applied to time-mean
equations and to harmonic equations.
l 0: no harmonic pressure switch.
l 1: using the following pressure sensor:
where
is a constant controlled by the expert parameter HARAV2 (default value 0.01) and
is the pressure of the harmonic. The second term of the denominator is to keep the
denominator different from zero and is chosen to be a percentage of the time-averaged static
pressure.
l 2 (default): using the following pressure sensor:
l 3: using the following pressure sensor:
l -1: using the following pressure sensor:
The superscript R and I refer to the Real and Imaginary part of the harmonic, respectively. The
number N is the number of harmonics. This pressure sensor should be activated in case of
shock wave oscillations or low Mach number flows with strong unsteady motion.
NDTHAR (integer): Controls the number of time steps (default: 20) used for the integration in
time of the entropy to get its time-averaged value. When the number of time steps is high, it may
take a long time to write the output. For example for a case with a common period equals to 0.8 s
and with a minimum period equal to 5e-05 s in the vibrating row, the number of time steps used
for the calculation of the entropy is equal to NDTHAR*0.8/5E-05=320000 leading to a long time
to write the solution file. In order to reduce this time, user can remove the entropy from the output
or decrease NDTHAR.
TDECOU (integer): Controls if considering the high order derivative when computing the
thermodynamic variables by using thermodynamic tables:
l 0 (default): High order derivative is considered for thermodynamic variables.
l 1: High order derivative is not considered for thermodynamic variables.
When the expert parameter IDECOU=1, the expert parameter TDECOU will be set to 1 automatically,
which means that high order derivative will not be considered for thermodynamic variables and the
deterministic stress terms will not be considered when solving the time-averaged equations.
PPRINI (real): Initializes the real and imaginary parts of the harmonic pressure. By default, the
real and imaginary parts of the harmonic pressure are set to 100 Pa. This is probably too high for
low speed flows and incompressible flows. Thus, it is suggested to set the value to (0,0) instead of
(100,100) in case that convergence problem appears or the solution near the Rotor/Stator
interfaces is not normal.
IUNSMF(integer): allows to output unsteady ".mf" file at each time step by Harmo2time. The
outputted ".mf" file has the same format with the one generated by the flow solver.
l 0 (default): does not output unsteady ".mf" file
l 1: output unsteady ".mf" file at each time step
The following limitations exist when using IUNSMF=1:
l Axial thrust, torque and power are assumed constant, and have the same values as in the steady
".mf" file.
l Specific heat and specific heat ratio for real gas and incompressible fluid are assumed constant,
and have the same values as in the steady ".mf" file.
l Mach number for real gas is calculated by using time-averaged speed of sound.
l Cooling and bleed mass flow are assumed constant, and have the same values as in the steady
".mf" file.
l IWRIT larger than 2 is not supported.
l OUTTYP equal 1 is not supported.
ICROSH(integer): By default, the transport equations for the unsteady perturbations are obtained
by retaining the first-order terms in the basic unsteady flow equations. Thus the influence of
harmonic crossing is omitted. The harmonic crossing terms can be included by setting the expert
parameter ICROSH to 1. Note, when using ICROSH=1, the CPU time will be much higher than
ICROSH=0.
l 0 (default): does not include harmonic crossing terms.
l 1: include harmonic crossing terms.
The following limitations exist when using ICROSH=1:
l Limited to perfect gas
l Limited to 1 perturbation
l Not compatible with preconditioning
l Not compatible with IVELSY = 0
l Not compatible with IDECOU = 1
l Not compatible with FSI
VUNS2 (real): coefficient controlling the unsteady preconditioning velocity of the Merkle
preconditioning in order to be able to run harmonic method for low speed flow applications. By
default, the value is set to 0. When convergence problem appears, the value can be changed to 1
or even more.
IDVTAY(integer): Controls the Taylor development for the state equation of perfect gas when
calculating the density or temperature.
l 0: Without Taylor development
l 1 (default): with Taylor development
SIGHRS(real): For compressible low Mach number applications, when initializing the solution
from a steady/harmonic computation, the value on the R/S interfaces may be not correct due to the
non-reflecting R/S treatment, and thus leads to a rapid divergence of the solver. The expert
parameter SIGHRS allows to under-relax the value on the R/S interfaces. By default, SIGHRS is
set to 1. In case of divergence, the user may reduce the value, for example 0.001.
8.4
COOLING/BLEED
The Cooling/Bleed model allows both the simulation of cooling flows injected through solid walls
into the flow or bleed flows where mass flow leaves the main flow through solid wall.
The adopted technique makes use of additional sources of mass, momentum and energy located at
given points or along given lines of the solid walls and does not require the meshing of the
cooling flow injection channels. The objective of this model is not to describe the details of the
cooling flow itself but rather to consider its effect on the main flow. The major hypothesis of the
model is that the injection/bleed surface is smaller than the local cell surface.
A Cooling/Bleed hole cannot be located in an Euler wall.
In the next sections the following information is given on the Cooling/Bleed model:
Cooling/Bleed Model in the FINE™/Turbo GUI describes how to set up a project involving the
Cooling/Bleed model under the FINE™/Turbo user environment.
Expert Parameters gives a summary of the available expert parameters related to cooling or bleed
flow.
Cooling/Bleed Data File: '.cooling-holes' provides the format of the Cooling/Bleed input data file.
8.4.1
Cooling/Bleed Model in the FINE™/Turbo GUI
The Cooling/Bleed model can be directly activated from the FINE™/Turbo interface by opening
the Cooling/Bleed page under Optional Models. The layout of the page is shown in FIGURE
8.21.
The list box on the top of the page (a) displays all the injectors (Cooling or Bleed) imported or
added by the user. The buttons below the list (b) enable to Preview , Add , Edit, Remove,
Import (more details on data file in Cooling/Bleed Data File: '.cooling-holes') injectors or Export
injectors definitions to a file. The list box (c) gives the informations of total cooling/bleed mass
flow. Clicking with the left mouse button on a selected injector will display its corresponding
parameters in the lower part of the page (d). Clicking with the right mouse button on a selected
injector will display a popup menu enabling to add/edit/remove the injector.
The button Spreading of the holes on the top of the page can be used to control the location and
spreading of the injector. When Spreading of the holes is switched off, the old algorithm of the
cooling/bleed model will be used. A hole will be included in one cell only, even when the
diameter of the hole exceeds the cell width. The hole center is the closest cell face center to the
defined point. When Spreading of the holes is switched on, the new algorithm will be used. The
position of the hole and slot is computed exactly. All cells included in the definition of the hole
and slot will be used. And the hole or slot can spread over a patch border to another patch.
The spreading of injector can only cross one border between patches.
The spreading of injector cannot cross a periodic boundary.
FIGURE 8.21
Cooling/Bleed page in FINE™/Turbo
For the Points type of holes,
two additional options are available: Number Of Periodic
Repetitions and View Hole Tubes. If the mesh in the project is generated by AutoGrid5™ and
includes multiple blade passages in one row, the user may create or input the Points type of holes
in one blade passage, then set the Number Of Periodic Repetitions to cover all the blade
passages. If the value of Number Of Periodic Repetitions is larger than 0, the direction of the
duplicated cooling holes is on the positive theta direction. Otherwise, the direction of the
duplicated holes will be on the negative theta direction. The button View Hole Tubes is used to
show the hole as a tube.
When the user defines holes in AutoGrid5™ template but does not mesh them, the hole line file or
the geomTurbo file created by AutoGrid5™ can be directly imported as a Points type of data file to
define the injector. The system automatically selects all the patches related for each holes definition.
To use this function, the grid configuration has to be activated when setting the information of the
mesh.
A.
Injector Sector Wizard
When adding an injector (Add Injector button), for each injection the following parameters need
to be specified through a wizard:
l injector name,
l injector role: Cooling or Bleed,
l injector solid patches location,
l definition of the geometry,
l position of the injector,
l flow parameters.
On the first page of this wizard the user can enter the name, the role, the geometry definition, the
type of positioning of the injector and the solid patches. If the option Use Grid Configuration
has been chosen when creating the project, the user can define the list of Solid Patches concerned
by the injectors by using the Solid Group coming from the grid configuration. In addition, the
groups can also be selected by giving filter keywords.
FIGURE 8.22
Injection Sector Wizard
Injection Sector Name
The name should be entered by moving the mouse to the text box for the Injector Name and to
type the name on the keyboard. By default a name is proposed like "injector_1".
It is strongly recommended to use only standard english letters, arabic numerals and underscore "_"
symbol when naming an injection sector. Non-standard characters may not be recognized or may be
misinterpreted when using the project on other computers.
Injection Sector Role
The role of the injector should be entered: Cooling if the flow is injected through solid walls into
the main flow or Bleed if part of the mass flow leaves the main flow through solid walls.
Injection Sector Geometry
Four types of injection sectors can be defined through the interface: Point, Line, Slot or Points.
l the Point type corresponds to a single cooling hole.
l the Line type stands for a series of cooling holes regularly distributed along a line with the
same geometrical and flow properties.
l a hub or shroud Slot is a continuous line of holes placed at constant radius and axial position
(typically used on the hub or shroud surface of a turbomachine). Slots are only defined along
axisymmetric surfaces.
In case a slot
configuration) all the patches should be selected and one single slot should be created.
(or a line) should traverse several patches (as for
instance in a HOH mesh
l For the Points type, the location of the cooling holes can be defined with a list of points
defined by the user. The definition of the holes will no longer be related to the topology of the
mesh, but to the geometrical entities including hub, shroud and blades.
Injection Sector Positioning
Four modes are available to place the holes:
l Relative mode: this mode is used for blade walls and is valid for AutoGrid™ meshes only. In
this case, the spanwise and streamwise positions of the hole (or of the 2 extremities in the case
of a line of holes) are specified.
l Space Cartesian mode: the user specifies the (X,Y,Z) Cartesian coordinates of the hole or of
the 2 extremities for a line. For a slot the user enters the radius and the Z-coordinate of one
point of the slot.
l Space Cylindrical mode: the user specifies the (R,θ,Z) cylindrical coordinates of the hole or
of the 2 extremities for a line. For a slot the user enters the radius and the Z-coordinate of one
point of the slot.
l Grid mode: the user specifies the (I,J,K) indices of the hole or of the 2 extremities of a line of
holes.
The injection sectors of type Slot cannot be presented in relative coordinates.
The combination of injector geometry and positioning can be summarized as follows:
FIGURE 8.23
Injector sector geometry/positioning combination & restriction
To cancel the modifications to the injector definition and close the wizard click on the Cancel
button.
Once the injector sector role, type and mode are correctly set, click on Next>> to go to the next
page of the wizard. On this page, depending of the role, type and mode of injector, the flow
parameters and geometry/positioning parameters have to be defined in the second page of the
wizard.
When defining a cooling or bleed using the Cartesian or cylindrical coordinates, no procedure is
implemented to check if the specified direction is correct.
Injection Sector Geometry/Positioning Parameters
As presented in FIGURE 8.23 , 12 combinations are available. As the transformation from
cylindrical to Cartesian coordinates is obvious, only 9 combinations will be described in more
detail.
Relative positioning for a single hole
The user specifies the diameter of the hole in case of a single hole. Each hole is circular. The
diameter of the hole is used to calculate the outgoing velocity.
As for the old algorithm, the holes are located by means of a spanwise and a streamwise relative
position. The algorithm can be applied to H, I or O-meshes generated by AutoGrid™. For O-
meshes the blade surface is divided in two different sub-patches (one for the pressure side and one
for the suction side). Therefore, the user has to select on which side of the blade (Side1/Side2) the
injection will be located. A button has been added in the interface in order to select the side. This
button is active only for O-meshes.
Only AutoGrid™ provided with FINE™/Turbo 6.1-1 (and later versions) can be used to generate the
mesh and this relative positioning is only available for blade surfaces.
FIGURE 8.24
Geometry parameters for relative positioning of a hole
The location is defined as a fraction of the arc length from hub to shroud and from the leading
edge to the trailing edge. Spanwise and streamwise coordinates are computed for each cell vertex.
The closest point found in this relative coordinate frame is the one that is concerned by the
injection.
An option has been set-up in order to use the axial chord (Axial Coordinates option) instead of
the arc length (only available for axial machines).
The relative positioning does not accept meshes with a blunt at the leading edge
A pop-down menu Select positioning patch is added in the interface. The user has to choose the
patch that the hole will be positioned.
Finally, three ways to impose the injection direction are proposed through the interface: Cartesian,
cylindrical or grid indices. For injection direction specified in Cylindrical coordinates two options
are available: it can be defined in the relative frame of reference or in the absolute frame of
reference.
FIGURE 8.25
. Relative positioning of a hole at 70% spanwise and 50% streamwise.
When Grid Indices is selected, the injection direction is provided by the user through 2 angles
expressed in degrees (depending of the units selected in the menu File/Preferences). Each angle
is measured with respect to the local normal and one of the 2 grid line directions tangent to the
wall. In case of an
= ct surface, the angles are measured with respect to the
grid lines respectively. FIGURE 8.25 illustrates the definition of angle βk for an I = cst surface.
FIGURE 8.26
Angle definition in the cooling flow page of the FINE™ GUI
Each angle is defined as:
For example, in order to make the velocity direction oriented along the normal, the two angles
should be set equal to 0. A 90 degrees angle is not allowed as it will induce a velocity vector
tangent to the corresponding grid line direction, with zero mass flow.
For holes located on the blade walls and when the mesh is generated with AutoGrid™, the K-
and J- lines are the two tangent directions along the blade wall, respectively oriented in the
streamwise and spanwise directions.
Relative positioning for a line of holes
The user specifies the diameter of the hole in case of a line of holes. Furthermore, the number of
holes has to be specified and will be uniformly distributed on the line. Each hole is circular. The
diameter of the hole is used to calculate the outgoing velocity.
As for the old algorithm, the line of holes is defined by two points (holes) that are located by
means of a spanwise and a streamwise relative position. The algorithm can be applied to H, I or
O-meshes generated by AutoGrid™. For O-mesh the blade surface is divided in two different
sub-patches (one for the pressure side and one for the suction side). Therefore, the user has to
select on which side of the blade (Side1/Side2) the injection will be located. A button has been
added in the interface in order to select the side. This button is active only for O-meshes.
For each point of the line the algorithm works as for the single hole positioning.
FIGURE 8.27
Geometry parameters for relative positioning of a line of holes
Only AutoGrid™ provided with FINE™/Turbo 6.1-1 (and later versions) can be used to generate the
mesh and this relative positioning is only available for blade surfaces.
The location is defined as a fraction of the arc length from hub to shroud and from the leading
edge to the trailing edge. Spanwise and streamwise coordinates are computed for each cell vertex.
The closest point found in this relative coordinate frame is the one that is concerned by the
injection.
A pop-down menu Select positioning patch is added in the interface. The user has to choose the
patch that the hole will be positioned. And an option has been set-up in order to use the axial
chord (Axial Coordinates option) instead of the arc length (only available for axial machines).
The relative positioning does not accept meshes with a blunt at the leading edge
Finally, three ways to impose the injection direction are proposed through the interface: Cartesian,
cylindrical or grid indices. When Grid Indices is selected, refer to the end of the section Relative
positioning for a single hole for more details. For injection direction specified in Cylindrical
coordinates two options are available: it can be defined in the relative frame of reference or in the
absolute frame of reference.
Cartesian positioning for a single hole
The user specifies the diameter of the hole in case of a single hole. Each hole is circular. The
diameter of the hole is used to calculate the outgoing velocity.
As for the old algorithm, the holes are located by means of the (X,Y,Z) Cartesian coordinates.
For a single hole, the cell that is concerned by the injection is the closest cell face centre to the
defined point. In case of repetition, the point is automatically transferred to the meshed patch
Furthermore, in order to ease the capture of the right coordinates, the button Get Coordinates
enables the user to interactively select the point in the mesh view after opening the mesh through
the menu Mesh/View On/Off or Mesh/Tearoff graphics (only available on Linux).
FIGURE 8.28
Geometry parameters for space Cartesian positioning of a hole
A pop-down manu Select positioning patch is added in the interface. The user has to choose the
patch that the hole will be positioned.
Finally, three ways to impose the injection direction are proposed through the interface: Cartesian,
cylindrical or grid indices. When Grid Indices is selected, refer to the end of the section Relative
positioning for a single hole for more details. For injection direction specified in Cylindrical
coordinates two options are available: it can be defined in the relative frame of reference or in the
absolute frame of reference.
Cartesian positioning for a line of holes
The user specifies the diameter of the hole in case of a line of holes. Furthermore, the number of
holes has to be specified. Each hole is circular. The diameter of the hole is used to calculate the
outgoing velocity.
As for the old algorithm, the line of holes is defined by two points (holes) that are located by
means of the (X,Y,Z) Cartesian coordinates.
For the two points defining the line, the cells that are concerned by the injection are the closest cell
face centre to the defined point. In case of a repetition, the point is automatically transferred to the
meshed patch
Furthermore, in order to ease the capture of the right coordinates, the button Get Coordinates
enables the user to interactively select the point in the mesh view after opening the mesh through
the menu Mesh/View On/Off or Mesh/Tearoff graphics (only available on Linux).
FIGURE 8.29
Geometry parameters for space Cartesian positioning of a line of holes
A line is drawn from those two points (this line does not necessarily follow the surface of the
patch, see FIGURE 8.30). The segment is then uniformly divided into N-1 sub-segments (where
N is the number of holes on this line). Each N-2 limits of the sub-segment is then projected on the
patch (the closest cell face centre is found). Those are the cells where the injection will be applied.
They are not necessarily uniformly distributed on the patch.
FIGURE 8.30
Construction of a line of holes on a turbine hub
For a mesh with a high clustering, or for a high number of points on the line, several projected points
could end on the same cell. This is taken into account in the algorithm. The mass flow injected is then
multiplied by the relevant factor. Therefore, one should be aware that the number of cells that are
highlighted in the interface should not strictly match the number of holes on the line
On the contrary for a mesh with a relatively poor spatial discretization, the location of the cell face
centres where the injection will be applied will not be strictly on a line. A limitation of this
algorithm is that the line does not necessarily follow the patch surface. Therefore, defining a line
of holes at the hub of a gap (upper surface of a rotor blade) could produce the problem presented
on the left side of FIGURE 8.31. The same problem can arise generally on a convex surface. In
order to solve this problem, the user can define a line of holes following a parametric surface
defined by the grid lines by activating Parametric Space. Therefore, a line of holes on a convex
surface could be more easily defined (right side of FIGURE 8.31).
FIGURE 8.31
Definition of a line of holes without or within the parametric space
One limitation of this option is that a line of holes cannot cross a connection. For instance defining a
line of holes (in the parametric space) close to the trailing edge of a O mesh will produce the result
sketched bellow.
FIGURE 8.32
Definition of a line of holes in the parametric space.
For turbomachinery configuration with periodic conditions, points could be located either on the
meshed passage or on one of its repetitions. Therefore, the injections are automatically transferred
to the meshed patch.
FIGURE 8.33
Two methods to respect repetition for a line of 3 holes.
In case of multi-patch selection the algorithm described above is applied independently for each
patch. Therefore, a direct definition of a line of holes crossing several patches is not possible. In
this case it is recommended to define as many lines as necessary . In order to
overcome this problem the multi- patch selection has been restricted to the slots defined by
Cartesian or cylindrical coordinates.
FIGURE 8.34
Example of definition of a line of 5 holes with multi-patch selection.
A pop-down manu Select positioning patch is added in the interface. The user has to choose the
patch that the hole will be positioned.
Finally, three ways to impose the injection direction are proposed through the interface: Cartesian,
cylindrical or grid indices. When Grid Indices is selected. For injection direction specified in
Cylindrical coordinates two options are available: it can be defined in the relative frame of
reference or in the absolute frame of reference.
Cartesian positioning for Points of holes
The user specifies the diameter of the hole in case of points of holes. Each hole is circular. The
diameter of the hole is used to calculate the outgoing velocity.
For the points type of holes, the positioning patches are not required any more. The user inputs
the center coordinates and the injection direction for each hole by means of the (X,Y,Z) Cartesian
coordinates. The button Add Hole allows to add a hole in the list. A double click will be
necessary to access the input of the center coordinates and the injection direction of the hole. The
button Remove Holes allows to remove the selected holes. Another button Reverse Axis will
reverse the injection direction for all the selected holes.
FIGURE 8.35
Geometry parameters for space Cartesian positioning of points of holes
Grid positioning for a single hole
The user specifies the diameter of the hole in case of a single hole. Each hole is circular. The
diameter of the hole is used to calculate the outgoing velocity.
The grid positioning used in the FINE™/Turbo solver depends on the grid indices of the centre of
the cell faces. It is different from the grid indices used in IGG™ and in CFView™. The grid
indices are directly used by the flow solver in order to introduce the flow of mass, momentum and
energy at this cell face.
FIGURE 8.36
Geometry Parameters for Grid positioning of a hole
A pop-down menu Select positioning patch is added in the interface. The user has to choose the
patch that the hole will be positioned.
Finally, three ways to impose the injection direction are proposed through the interface: Cartesian,
cylindrical or grid indices. When Grid Indices is selected, refer to the end of the section Relative
positioning for a single hole for more details. For injection direction specified in Cylindrical
coordinates two options are available: it can be defined in the relative frame of reference or in the
absolute frame of reference.
Grid positioning for a line of holes
The user specifies the diameter of the hole in case of a line of holes. Furthermore, the number of
holes has to be specified. Each hole is circular. The diameter of the hole is used to calculate the
outgoing velocity.
From the two cell face centres defined in the interface, two geometrical points are defined by their
(x,y,z) coordinates. Then, a line is constructed in the same way as for the Cartesian positioning
(Cartesian positioning for a line of holes). In this case there is no problem of repetition because the
two extremities of the line are located on the meshed patch.
Furthermore, concerning the Parametric Space option, refer to section Cartesian positioning for
a line of holes for more details.
FIGURE 8.37
Geometry parameters for Grid positioning of a line of holes
A pop-down manu Select positioning patch is added in the interface. The user has to choose the
patch that the hole will be positioned.
Finally, three ways to impose the injection direction are proposed through the interface: Cartesian,
cylindrical or grid indices. When Grid Indices is selected, refer to the end of the section Relative
positioning for a single hole for more details. For injection direction specified in Cylindrical
coordinates two options are available: it can be defined in the relative frame of reference or in the
absolute frame of reference.
Grid positioning for a slot
The user specifies the width of the slot. The width of the slot is used to calculate the outgoing
velocity.
From the grid indices a geometrical point is defined. Then the slot is defined in the same way as
for the Cylindrical positioning (Cylindrical positioning for a slot).
FIGURE 8.38
Geometry Parameters for Grid positioning of a slot
Finally, three ways to impose the injection direction are proposed through the interface: Cartesian,
cylindrical or grid indices. When Grid Indices is selected, refer to the end of the section Relative
positioning for a single hole for more details. For injection direction specified in Cylindrical
coordinates two options are available: it can be defined in the relative frame of reference or in the
absolute frame of reference.
Cylindrical positioning for a slot
The user has to specify the width of the slot. The width of the slot is used to calculate the
outgoing velocity.
In case of slots, the Solid Patches list is restricted to the patches, which can be used to define the
slot.
FIGURE 8.39
Geometry parameters for space Cylindrical positioning of a slot
For the positioning of the slot, the radius and axial position z are asked to the user. Then, the
closest cell face of the solid patches to this point is found. The radius and axial position of this cell
face center becomes the slot position in the (r,z) plane. It should be noted that this slot position is
not identical to the initial user input.
The algorithm that defines the cell faces that are concerned by this slot is illustrated in FIGURE
8.40. For each cell face of the patch, the two extremities in the (r,z) plane of this polygon (A,B
and A',B') are identified (i.e., the two vertices with the maximum distance in this plane). They
define the limits of the cell face in the (r,z) plane. If those two points are called A,B for cell 1 and
A',B' for cell 2, and S is the slot location specified by the user in the (r,z) plane through
FINE™/Turbo, as presented on FIGURE 8.40, S is only included in the domain of cell 1 limited
by A,B in the (r,z) plane, therefore, the cell 1 is the only cell concerned by the slot S.
FIGURE 8.40
Identification of the cells concerned by the slot S in the (r,z) plane. δ is the distance between A
and B.
On the contrary, S is not inside the domain defined by A',B'. Thus, the cell 2 will not be
concerned by the slot.
For O-meshes with small cells close to leading or trailing edges, this algorithm could leads to missing
cells. This problem is due to a (r,z) position specified by the user in FINE™/Turbo for the slot that is
not precise enough.
FIGURE 8.41
Definition of a slot for a O-mesh
Furthermore, in order to ease the capture of the right coordinates, the button Get Coordinates
enables the user to interactively select the point in the mesh view after opening the mesh through
the menu Mesh/View On/Off or Mesh/Tearoff graphics (only available on Linux).
Finally, three ways to impose the injection direction are proposed through the interface: Cartesian,
cylindrical or grid indices. When Grid Indices is selected, refer to the end of the section Relative
positioning for a single hole for more details. For injection direction specified in Cylindrical
coordinates two options are available: it can be defined in the relative frame of reference or in the
absolute frame of reference.
Flow Parameters
The user may specify the Mass flow or Mass flow relative to inlet. The specified mass flow is
actually the total mass flow through all the blades and through all the holes in the case of a line of
holes. Thus the mass flow through one hole is the specified mass flow divided by the number of
blades and the number of holes. The mass flow is often responsible for initialization troubles as it
might be too high. The FINE™/Turbo interface allows a tuning of the specified mass flow
through an expert parameter. This is described in the Expert Parameters section.
For cooling flow the mass flow specified in FINE™/Turbo will be considered as positive. The mass
flow is considered as negative for bleed flow.
When Mass flow relative to inlet is selected, a new pop-down menu appears. The user has to
choose an inlet patch (or group). The cooling/bleed mass flow is specified as a percentage value
of the inlet mass flow.
In case the user changes the inlet grouping in the Boundary Conditions page, a warning box will
appear if the patch/group that links to the injectors is changed. It is strongly advised to verify the
patches in the injectors definitions after performing inlet group/ungroup in the Boundary
Conditions page.
Since the injected flow is relative to an inlet mass flow, the injected flow can strongly varies with
iterations when Mass flow relative to inlet is selected. This can lead to unstable behavior if the
injected flow is important with respect to the inlet mass flow. In that case it should be recommended
to start from a previously converged solution.
FIGURE 8.42
Flow parameters for Bleed
FIGURE 8.43
Flow parameters for Cooling
Furthermore, the Arrows scaling factor parameter enables the user to control the shape of the
arrows representing the injection direction after opening the mesh through the menu Mesh/View
On/Off or Mesh/Tearoff graphics (only available on Linux).
For cooling additional parameters have to be defined:
l static or total temperature in absolute or relative frame of reference.
l turbulent kinetic energy and dissipation or turbulent intensity for the k-ε model.
l kinematic turbulent viscosity for the Spalart-Allmaras model.
The detail of mass flow through each injector and the maximum Mach number in the injector has
been added in the .mf file. The user can verify whether his/her data is acceptable.
B. Preview/Preview&Check Injector Sector
When adding an injection sector into FINE™/Turbo, the location (cell face are highlighted) and
the direction of the injection can be visualized. In order to be able to visualize, the user has to load
the mesh through the menu Mesh/View On/Off or Mesh/Tearoff graphics (only available on
Linux).
FIGURE 8.44
Injection sector visualization within FINE™/Turbo
The parameters area will then be overlapped by the graphic window, and the small control button
on the upper - left corner of the graphic window can be used to resize the graphics area in order to
visualize simultaneously the parameters and the mesh.
Select the injectors and Click-left on the Preview button, a vector will be shown at each hole
center if a line or a single hole is selected. If a slot is selected, the vectors are shown at the center
line of the slot and there is a vector for each cell crossed by that line.
When the Spreading of the holes is switched on, the color contour of the surface fraction is
represented on the mesh of the wall. This quantity corresponds to the surface fraction of each cell
that is "touched" by a hole. The color contour varies from blue to red as the fraction goes from 0
to 1. But if holes are overlapping in a cell, causing the cell fraction to exceed 1, the cell will be
displayed in white.
If the injection direction is imposed in cylindrical, whatever the reference frame selected (absolute or
relative), the arrows representing the injection direction is displayed as for the cylindrical relative
frame of reference.
When a Points type of holes is selected, the button Preview will be changed to Preview&check.
the holes location can be visualized and checked by pressing
After the mesh is loaded,
Preview&check. The selected holes in the list are highlighted. If a hole location is wrong, the GUI
prompts the user to remove it. If not, the wrong one is tagged as invalid in the list and displayed in
red.
Furthermore, new outputs have been added into FINE™/Turbo on the Outputs/Computed
Variables page under the tab Solid data in order to enable the visualisation in CFView™ of the
injected flow (in [kg/s]) and the injection direction (normalized [0 1]). The scale of the Injection
Direction vector is normalised by the ratio of the surface of the injector relative to the cell surface.
For example, 1 means that the cell is entirely covered by the injector and 0 means that there is no
injector in this cell. .
FIGURE 8.45
Injector sector outputs for CFView™
Within CFView™, the injection direction is always visualized in a relative frame of reference.
C. Multiple edit and copy of the injectors
By selecting many injectors, the user can modify their parameters at the same time. The user can
also copy injectors from one blade to another blade and use the Repetition display of the mesh in
order to verify the continuity of injectors lines.
Multiple select and edit
In the case of multiple selection, the buttons Add injector, Edit injector and Remove injector
injectors and Remove injectors (a). The
change their names to Duplicate injectors , Edit
information area in the lower part of the page (b) displays the number and the sum of cooling and
bleed mass flow of selected injectors. Clicking with the right mouse button on the selected
injectors will display a popup menu as shown in FIGURE 8.46 (c), which enables to
add/edit/remove the injectors or select all injectors through the position or role of the injectors.
Loading the mesh through the menu Mesh/View On/Off or Mesh/Tearoff graphics (only on
Linux), then selecting the injectors and Clicking-left on the Preview button will simultaneously
display the selected injectors in the graphic view.
FIGURE 8.46
Cooling/bleed page for multiple selection of the injectors
Multiple edit can only be used to modify the physical parameters. And it is allowed only for
injectors of the same type. A check is performed when the Edit injectors button is pressed and a
warning is displayed in case the selection contains injectors of different parameters:
Edit of multiple injectors is possible only for injectors of the same type (cooling or bleed).
Confirm the warning, a Edit Multiple Injection Sectors dialog box is given as shown in FIGURE
8.47 . The users can modify the flow parameters in this dialog box. The empty entries are
displayed for the quantities that have different values in the selected injectors. The empty entries
and choice buttons have different background color in order to be easily noticed by users.
FIGURE 8.47
Multiple edit for selected injectors
In order to see the different values in the selection for a parameter, the user has to click in the
empty entry and press the line down arrow key. A list box will be displayed below the empty
entry, which contains all the values of the parameter in the selectors. The user may click on one of
these values and it will be shown in the entry.
The button OK will store all parameters except those of the empty entries. The button Cancel
closes the Edit dialog box without saving any of the values.
Copy and Paste
When multiple injectors are selected, the selected injectors can be copied from one blade to
another. In order to copy injectors, the user has to select multiple injectors, then click-left on the
Duplicate Injectors button. A Wizard page will be displayed first:
The blades on which the selected injectors are located are highlighted with green color. The user
has to specify the new blade on which the injectors will be copied and a prefix to be added to the
names of the new injectors. The selected injectors will be copied to the selected blade if there are
not injectors at the specified position on the chosen blade and there are not injectors with the
specified new name (prefix+selected_injector_name).
Copy of injectors is possible only for injector defined on Relative on Blades.
8.4.2
Expert Parameters
COOLRT (real): in case some difficulties appear at the beginning of the simulation. The
robustness can be improved by reducing the imposed cooling/bleed mass flow with the expert
parameter COOLRT. The value of COOLRT (less than 1) corresponds to a constant factor
applied to all imposed cooling/bleed mass flow during the computation. The user should make
successive computations by progressively increasing this parameter (up to 1) in case of robustness
problems.
MAXNBS (integer): the maximum allowed number of injection sectors is controlled through the
expert parameter MAXNBS (the default value is 50). If the input file contains a higher number of
sectors the parameter should be modified.
8.4.3
Cooling/ bleed data file: '.cooling-holes'
A parser is used to find the data in this file, using keywords to locate the position of the data in the
file. The advantage of this technique is that the data do not have to be positioned at a given line in
the file, but only have to be followed by the appropriate keyword (the keywords can be written
with capitals or not).
The user specifies a series of 'injection sectors' in the file. An injection sector is either
l a single cooling hole
l a series of distributed cooling holes along a line (all holes having the same geometrical and
flow properties)
l a hub or shroud slot (continuous line of holes along a constant radius and axial position line)
l a points type of cooling holes
Each injection sector should respectively start and end with the keywords
Injection file format
This section describes the format and the keywords used to define any kinds of cooling/bleed. A
easy way to have an example of the file format for a specific type of cooling/bleed is to define a
cooling/bleed in FINE™/Turbo and export it into a file using the menu Export to file.
The header
The header of the file contains the injector file version to ensure future backward compatibility.
The current version is 1.0.
Multiple injector format
Each file can contain multiple injector definitions. Each injector must be delimited as following:
NI_BEGIN injector
<injector definition>
NI_END injector
NI_BEGIN injector
<injector definition>
NI_END injector
Injector name
NAME <injector name>
Injection geometry Type
Three types of injectors can be defined: point, slot and line. In addition, the line can be straight or
parametric (defined in the parametric space of the mesh patch).
GEOMETRY_TYPE point
GEOMETRY_TYPE straight line
GEOMETRY_TYPE parametric line
GEOMETRY_TYPE slot
GEOMETRY_TYPE points
Injection physical Type
Two types of injectors can be defined through the interface: Bleed and Cooling
PHYSICAL_TYPE Cooling
PHYSICAL_TYPE Bleed
Locations patches
The cooling/bleed must currently be defined on mesh patches identified by their indices.
LOCATION_PATCH_INDICES <b1> <f1> <p1>
LOCATION_PATCH_INDICES <b2> <f2> <p2>
where bi, fi and pi are the block, face and patch indices.
If the type is points, the user needs to specify the name of the location group instead of specifying
patches. The flow solver computes automatically the positioning patches. The flow solver
intersects the patches definition with the axis of the hole and chooses the closest one as the
positioning patch. If the loaded mesh is generated by AutoGrid5, the following keywords can be
identified:
LOCATION_GROUP <row name>
LOCATION_GROUP <blade(s)> or <hub> or <shroud>
The <row name> and <blade(s)> is used for holes defined on the blades. The <row name> and
<hub> is used for holes defined on the hub. The <row name> and <shroud> is used for holes
defined on the shroud.
Location patch index
The point and slot are defined with one anchor point, the line with two anchor point. The point
must be defined on one of the location patch specified by its position in the list of the location
patch.
POSITION_PATCH_INDEX_1 <location patch index>
Anchor point location
The anchor point can be defined using 4 types of coordinates:
l Patch coordinates: parametric normalized arc length along I and J direction of the mesh patch
STREAM_SPAN_POSITION_ON_BLADE_1 s(i) s(j) 0
STREAM_SPAN_POSITION_ON_BLADE_2 s(i) s(j) 0 #for line only
AXIAL_COORDINATES <0 or 1>
SIDE <0 or 1> #only for old AG4 mesh
l Cartesian coordinates X,Y,Z
XYZ1 <x1> <y1> <z1>
XYZ2 <x2> <y2> <z2> #for line only
l Cylindrical Relative R, theta and Z
RTHZ1 <r1> <theta1> <z1> # for slot, only r and z are important
RTHZ2 <r2> <theta2> <z2> # for line only
l Grid Coordinates: I, J indices on the mesh patch
IJ1 <i1> < j1>
IJ2 <i2> < j2> #for line only
Cooling direction (not for Bleed)
The injection direction can be defined in:
l Grid Angles: angles along the I, J cst lines of the mesh
IJ_ANGLES <beta1> <beta2> #radians
l Injection vector in cartesian coordinates
VXYZ <vx> <vy> <vz>
l Injection vector in cylindrical relative coordinates
RELATIVE_VRTHZ <vr> <vtheta> <vz>
l Injection vector in cylindrical absolute coordinates
ABSOLUTE_VRTHZ <vr> <vtheta> <vz>
Anchor point location and cooling direction (for points type only)
For the points type of holes, the anchor point location and the injection direction have to be
defined in one line in Cartesian coordinates:
SINGLE_HOLE <x1> <y1> <z1><vx> <vy> <vz>
Mass flow
The mass flow can be imposed using the following modes:
l Absolute value:
MASS_FLOW <kg/s>
l Percentage of the inlet mass flow:
MASS_FLOW_RELATIVE_TO_INLET <inlet group> <%>
Number of holes on a line
NUMBER_OF_HOLES <n>
Cooling/Bleed size
DIAMETER <d> #for point, line or points type only
WIDTH <w> #for slot only
Physical Properties
Temperature:
RELATIVE_TEMPERATURE <t> or
STATIC_TEMPERATURE <t> or
ABSOLUTE_TEMPERATURE <t>
Turbulent data:
TURBULENT_VISCOSITY <u> #for Spalart-Allmaras model only
TURBULENT_KE <k> <epsilon> or
TURBULENT_INTENSITY <i> #for k-ε model
Examples
Example 1 - Bleed Flow through a Hole defined in Grid Coordinates mode
Example 2 - Cooling Flow through a Line holes defined in Patch Coordinates mode
Example 3 - Cooling Flow through a Slot defined in Cartesian Coordinates mode
Example 4 - Cooling Flow through the points type of holes
8.5
AEROACOUSTICS
Acoustic noise, particularly in the aeronautical field, is of increasing importance in technological
development. The noise emitted by aircraft engines is mainly due to the fan. Sound waves are
created by the rotor and its interactions with the rectifier. In the single-flow turbojet or low bypass
ratio supersonic flight, the jet is the main sound source. Manufacturers must be able to predict the
noise to design quieter engines.
FINE™/Turbo has integrated an Aeroacoustics module, which allows the user to predict the
acoustic response around a turbomachinery component. The method is based on the Ffowcs
Williams and Hawkings (FW-H) equation and its integral solutions (Formulation 1A of Farassat),
which replaces a distributed flow interacting with the surfaces by monopole, dipole, and
quadrupole sources radiating in an undisturbed medium. As first step, only monopole and dipoles
sources will be considered in the current solver. The acoustic signal at the observer is directly
computed by evaluating the surface integrals on the specified surfaces by the user.
Time-accurate solutions of the flow-field variables (CFD sources) are required to evaluate the
surface integrals. Currently,
the solutions are coming from the NLH computation. Before
launching the FW-H solver, the user has to launch the flow solver firstly and get a converged
solution.
The limitations in the Aeroacoustics module are:
l The flow is subsonic;
l The sound is propagated into free space;
l The backward interaction of the acoustic waves on the fluid is neglected;
l The flow viscosity contribution to the noise is neglected.
l No parallel computation ability.
In the next sections, the detailed information on the Aeroacoustics module will be given:
Aeroacoustics in the FINE™/Turbo GUI
In order to access the Aeroacoustics module, the user needs to select the button Acoustic settings
in the Flow Model page, see FIGURE 8.48. This button is visible only in case of Harmonic
project configuration. Then the Aeroacoustics page can be accessed under the Optional Models
page.
FIGURE 8.48
The Acoustic settings in the Flow Model page
The user must activate the option Acoustic settings before launching the FINE™/Turbo flow solver.
Otherwise the FW-H solver can not be started.
If a NLH computation was performed by using the FINE™/Turbo flow solver before v8.9, the user
can load the project in FINE™/Turbo v8.9, activate the option Acoustic settings and restart the
computation with zero iteration. Then the FW-H solver can be started.
In addition, after the button Acoustic settings in the Flow Model page is activated, a tag Acoustic
Source will appear on all the boundary condition pages, see FIGURE 8.49. This button allows
the user to select any boundary as an acoustic source .
FIGURE 8.49
The Acoustic Source option on the Boundary Conditions page
The GUI for the Aeroacoustics module is shown in FIGURE 8.50.
FIGURE 8.50
Aeroacoustics GUI
The Aeroacoustics page is divided into 3 sections:
The global parameters
These parameters are needed by the FW-H solver:
l Far Field Density: the mean density between the source and the observer [kg/m³].
l Far Field Sound Speed: the mean sound speed between the source and the observer [m/s].
l Period: for which the acoustic response must be computed [s].
l Number of Time Steps.
l Sources on: specifies the location of the acoustic source surfaces. The sources are defined as a
cloud of points on a surface with some CFD fields (pressure harmonics, density harmonics,
etc.). Two kinds of sources can be used: solid sources and permeable sources.
In
FINE™/Turbo, the user can define the sources on:
l Mesh Bcs: the boundaries of the domain that are meshed and solved by the user. All the
boundaries existing in the Boundary Condition page can be selected as the acoustic
source surface.
l User Defined Curve: the source can be coming from an external permeable curve defined
in AutoGrid5™. A surface of revolution will be created by using the external permeable
curve. Please refer to the AutoGrid5™ manual for more information on how to create the
permeable curve.
l ZCst. Cut: the user may specify a constant Z value. Then a cut plane will be created on the
specified Z.
l Source velocity [m/s]: the constant translational velocity imposed to the sources.
The observer definition
The button Add Observer can be used to create a new observer. If an observer is selected when
adding a new observer, the new observer is a copy of the selected observer. The button Remove
Observers is used to remove all the selected observers from the list. Once the observer has been
created, the user is able to modify its name, its location and its velocity by double clicking on the
observer.
Please note, there should be at least one defined observer. Otherwise it is not possible to launch the
FW-H solver.
When multiple observers exist in the list, the user is able to impose the same velocity components
to all observers at once. If selecting one observer and right-clicking on it, a menu will appear and
allow the user to "Set Vx/Vy/Vz of selected to all observers". If selecting several observers and
right-clicking on them, a menu will appear and allow the user to "Set Vx/Vy/Vz of first selected
to all observers".
The buttons Import Settings and Export Settings are used to load or save all the parameters in this
page from/to a file.
Launch Solver and Post-processing
When the button Start FW-H is pressed, a new task is created and launched through the task
manager. This task calls the FW-H solver with the run file as input. The task manager shows the
progress status of the computation. The button Stop FW-H may be used to kill the running task.
After the FW-H solver has finished the task, the button Load Results can be used to read the .fwh
files and updates the available groups and field lists for selection. Multiple observers and groups
can be selected for visualisation.
Expert Parameters for Aeroacoustics
In the Expert mode, the additional parameters can be specified for the acoustic source surface.
when the sources on Zcst. Cut is selected, the user may select Orientation, which is used to
determine the orientation of the permeable FW-H surface.
The user may change the following settings for the FW-H solver:
l Number of harmonics: Number of harmonics used in acoustic computations (e.g. if it is set to
0, the mean CFD fields are used as input to the FW-H solver).
l Far Field pressure: the mean pressure between the source and the observer
l Epsilon Newton-Raphson: Level of accuracy that the Newton iterative solver has to reach
before stopping the iterations. This iterative solver is used to evaluate the retarded time.
8.6 GLOBAL CORRELATION TRANSITION
MODEL
Overview
The global correlation transition model allows the user to perform a laminar-transition simulation
in order to take into account the transition onset at a certain chord distance on a blade pressure and
suction sides. The transition location (transition line in 3D) should be imposed either through a
user input or via a separate guess. These transition terms will be activated in the turbulence
equations when the transition module is used.
The limitations using the global correlation transition model are:
l The global correlation transition model is only available for the Spalart-Allmaras, Yang-Shih
k-ε , k-ω and SST turbulence models using AutoGrid™ mesh. For the detailed compatibility
information, please refer to the Compatibility Matrix of FINE™/Turbo.
l Rotor/Stator interfaces should be correctly oriented (from upstream to downstream) and solid
walls of the blades should be adiabatic.
l When selecting the AGS model, only one upstream R/S interface of each blade is allowed.
Furthermore, there are no restrictions on the number of inlets. For example, the transition
model will not work for the Blade "B3" if positioning the R/S interface to the location
indicated by the red lines, as shown in FIGURE 8.51.
FIGURE 8.51
Only one upstream R/S interface directly linked to the blade is allowed
l The transition location imposed by the user through the Forced Transition option and by the
AGS Model is only appearing if it has been defined in a turbulent boundary layer.
l The AGS model only works for transition from laminar to turbulent boundary layers but not to
detached turbulent boundary layers. When detached flow is present, a forced transition at a
certain location should be used.
Another transition model (Generalized transition model) can also be used to perform transition
simulation in turbomachinery.
Global correlation transition model in the FINE™/Turbo GUI
When activating the button Transition Model in the Optional Models / Transition Model page
and selecting the button Global Correlation Transition Model, the layout of the page is shown,
see FIGURE 8.52.
A list of all the blades appears in the left box and the remaining area is divided into two boxes for
suction and pressure side, respectively. Four choices are possible:
l Fully Turbulent
l Fully Laminar
l Forced Transition
l Abu-Ghannam and Shaw (AGS) Model
FIGURE 8.52
Global Correlation Transition Model page in FINE™/Turbo
Furthermore, for Forced Transition, the user has to specify the position of the transition lines on
each side of each blade. It is based on the relative stream-wise position and it is defined as a line
on the blade pressure and/or suction sides from hub to shroud. The user specifies two anchor
points through which a straight line will be built by the solver. It should be noted that only blades
are transitional while wall ends are fully turbulent.
The intermittency is available on the Outputs/Computed Variables page under the category
Solid Data to visualize the intermittency on solid patches in CFView™.
Expert Parameters
INITRA (integer): control the number of multigrid iterations (default = 100) performed in fully
turbulent after the coarse grid initialization process. Thereafter, the blade pressure side and suction
side are identified and the transition line is defined. The computation pursue for the remaining
iterations in transitional mode. The transition line derived from the Abu-Ghannam and Shaw
model is computed at each iteration.
For starting or restarting a computation in transitional mode from a previous solution (fully turbulent
or in transitional mode) the expert parameter INITRA should be set to 0 (otherwise iterations will be
performed in fully turbulent mode).
INTERI (integer): control the type of intermittency distribution (0: binary or 1: from Dhawan and
Narasimah) (default = 0).
INTERL (integer): control the type of location used for forced transition (0: base on arc length or
1: based on axial chord) (default = 0).
FTURBT (real): control the proportion close to the trailing edge that is fully turbulent (default =
0.95).
FTRAST (real): prevents the transition to start in an area defined from the leading edge of the
mesh. The value set is a percentage of the chord upstream of which the transition is not allowed
(by default 0.05: 5%).
KETRAN (Integer): control the terms multiplied by intermittency in the equations of turbulence
model (default=1)
l 1: transition is activated for production of k
l 2: transition is activated for production and dissipation of k
l 3: transition is activated for production of k and epsilon
BLFACT (real): factor multiplying boundary layer momentum thickness to define distance from
the blade on which the transition model is applied (default=5).
ITRWKI (integer): switches on the wake induced transition model. When activated (ITRWKI
set to 1), the free stream turbulence intensity (defined at the inlet or at the rotor/stator interface)
and the turbulence intensity from the boundary layer edge are used to define the transition region.
When this parameter is not checked, only the free stream turbulence intensity is used.
8.7
PERFORMANCE CURVE
Introduction
Performance curve is a graphical representation showing the characteristics of a rotating
turbomachinary at various operating conditions. For example, the performance curve for a
compressor would include rotor speed for various inlet and outlet pressures versus gas flow rate
adjusted for temperature, density, viscosity, head, and other factors.
The FINE™/Turbo environment provides a dedicated module to create and manage performance
curve computations in an automatic way. The user imposes the number of the operating points
and the boundary conditions. FINE™/Turbo will automatically set-up a series of computations of
the operating points and give the performance curve.
The performance curve applies the following limitations:
l Currently, the performance curve is only applied to compressor application.
l The performance curve is not compatible with outlet BC defined by a profile.
The next sections will describe the way to set-up and manage the performance curve computation
in detail.
Performance Curve in the FINE™/Turbo GUI
Create and Edit Performance Curve
Before creating a performance curve computation,
the user has to create a starting point
computation, such as an operating point at design condition. Then the user needs to set the
parameters and launch the flow solver until obtaining a converged solution. This starting point
computation will be used as the design point to create and set the performance curve computation.
To create a performance curve computation, first select the starting point computation, then click
on the button Create Performance Curve on the Computations subpanel.
A performance curve definition window will appear, see FIGURE 8.53.
Here several parameters need to be inputted:
l Rotation Speed: impose the rotation speed for the rotating part in the project.
l Number of points in stall region: impose the number of the operating points in stall region.
l Number of points in choke region: impose the number of the operating points in choke
region.
l Stall area control: select the type of the outlet boundary condition. The user can specify the
outlet boundary condition with only pressure imposed in both stall and choke regions, or
combining mass flow imposed in stall region and pressure imposed in choke region.
l Pressure/Mass flow range in stall region: specify the varying range (%) of the pressure/mass
flow rate at outlet in stall region.
l pressure range in choke region: specify the varying range (%) of the pressure at outlet in
choke region.
l Initial Solution from: by default, the initial solution will be set as a restart from the previous
operating point, except for the design point.
FIGURE 8.53
Create a performance curve
After clicking on the button Create, multiple sub-computations will be automatically created with
the parameters that the user inputs.
The present implementation is dedicated to compressor.
After its creation, the performance curve may be edited to change the number of points and / or
the mass flow or pressure range. To edit a performance curve, just select the name of the
performance curve and click on the button Edit Performance Curve.
The parameters of each of the automatically generated sub- computations may be separately
modified. The flow solver may be separately started for each sub-computation.
As usual, the sub-computation can be operated through the button New Computation, Rename
and Remove. When a performance curve item is selected in the computations browser, the action
will be applied to all of the subcomputations. The user may change some parameters
simultaneously for all computations.
Launch performance curve computation
The performance curve computation can be launched in serial model or in parallel mode. When
selecting a performance curve item and clicking on the button Start Flow Solver, a window will
appear, see FIGURE 8.54.
FIGURE 8.54
Launch performance curve computation
Selecting Start Perfo Curve will launch all the sub-computations in serial mode. Selecting Start
Perfo Curve in Parallel, FINE™/Turbo will automatically switch to TaskManager and create a
new task with all the sub-computations. A Parallel settings window will appear. The user can set
the number of process and other parallel settings. All the settings will be applied to all subtasks.
If a performance curve has been started and afterwards stoped or killed, the user may choose
Continue from the Solver menu in order to continue computations from the first not finished
subcomputation. The Continue option may also be used in case that the user adds new sub-
computations to the existing performance curve in order to compute only the new sub-
computations.
Post-processing
The post processing of the performance curve is available in a separate page, see FIGURE 8.55.
Both pressure ratio and efficiency can be plotted. The user can also input the experimental data
for comparison or export
to file, a data file with the name
<Performance curve name>_ pressureratio_ efficiency.dat will be automatically created in the
project folder. The option User Axis Limit can be used to specify the range of the abscissa and
ordinate.
the results. If select Export
The file format used to imput the experimental data is:
l Line 1: Three strings defining the name of the variables.
l The next lines contain the variable values of each point.
Example 1:
Mass Flow Pressure Ratio Efficiency
10.3443179130554 1.30143475532532 0.839340686798096
10.5739312171936 1.29300808906555 0.844243705272675
10.8034386634827 1.28314805030823 0.847144782543182
11.0327978134155 1.27196598052979 0.848022699356079
11.2620959281921 1.25955402851105 0.846824049949646
......
FIGURE 8.55
Performance curve output
8.8
UNCERTAINTY QUANTIFICATION
Introduction
Nowadays, the analysis and design methods in aeronautical industry, particularly the aerodynamic
simulation tools relying on CFD and their multidisciplinary extensions are based on simulations
with a unique set of input data and model variables. In spite of that, the actual operating
conditions are a superposition of numerous operational and geometrical uncertainties, under
which the industrial products operate, representing a major source of risk in the design decision
process.
New methodologies are therefore required to incorporate the presence of uncertainties at the level
of the simulation tools in order to improve the predictive reliability of the simulation process. This
means that the simulation tools become non deterministic.
FINE™/Turbo provides a dedicated uncertainty quantification module for turbomachinery
application, which is using the non-intrusive probabilistic collocation method (NIPCM) and is
able to manage operational uncertainties. Furthermore, the non deterministic computation can be
combined with the performance curve to perform a non deterministic performance curve
computation.
The limitations for the uncertainty quantification module are:
l To create a non deterministic performance curve computation, the user has to create a non
deterministic computation first, then create a non deterministic performance curve computation.
l The menu Solver / Continue is not compatible with non deterministic performance curve
computations.
The next sections will describe the way to set-up and manage the non deterministic computation
in detail.
Uncertainty Quantification in the FINE™/Turbo GUI
Create non deterministic computation
Before creating a non deterministic computation,
the user has to create a deterministic
computation (normal FINE™/Turbo computation). Then, the non deterministic computation will
be created based on the deterministic computation.
The non deterministic module can be activated in the Optional Models / Non Deterministic
Data page. Select the button Non Deterministic Data to activate the non deterministic module,
then the user will be asked to select uncertainty for quantities in the Boundary Conditions page.
Go to the Boundary Conditions page, a button uncertainty will appear at the right side of each
boundary condition entry. Check the uncertainty button will select the corresponding boundary
condition as uncertainty.
FIGURE 8.56
Boundary Conditions page for non deterministic computation
After selecting the uncertainties in the Boundary Conditions page, switch back to the Optional
Models / Non Deterministic Data page, the settings for the non deterministic computation
appear, as shown in "Settings for non deterministic computation" (p. 358).
FIGURE 8.57
Settings for non deterministic computation
Before setting the uncertainty entries, the Cubature rule should be defined first. The cubature
rule corresponds to a multi-dimensional version of a quadrature rule, which controls how the
collocation points are calculated. The uncertainty propagation method used here being the Non-
Intrusive Probabilistic Collocation Method (Loeven, 2010), the collocation points are selected by
means of the Golub-Welsch algorithm (introduced by Golub and Welsch in 1968) for quadrature
of general probability density function (PDF) shapes. In order to combine several simultaneous
uncertainties the quadrature must be brought to the multi-dimensional case. Several strategies are
available in FINE™/Turbo via the cubature rule.
l Full tensorization : computing the tensor product of the maximal quadrature of each
uncertainty.
l Sparse grid: associating different tensor product based on different quadrature levels. The
number of points per uncertainty as a function of the level can have a:
l Linear growth rate: The number of points is equal to '(2*level)+1'.
l Exponential growth rate:The number of points is equal to '
'.
For more theory of the cubature rule, please see Uncertainty Quantification. In general, the sparse
grid is more efficient than the full tensorization for high number of uncertainties. the following
table gives an overview of the number of collocation points in a given level and dimension, where
all uncertainty entries have a Gauss distribution. From the table, if a given accuracy (for example
7 points per direction) is requested, the sparse exponential growth requires the lowest number of
points (red highlighted columns).
In the frame List of uncertainty entries, all the selected uncertainties are listed. Select one entry
from the list, its parameters will be shown in the right side. The user must set the parameters for
each uncertainty entry.
The Level is used to control the accuracy of the uncertainty quantification. The number of
collocation points depends on the used level and the cubature rule:
l For Full tensorization, the number of points for 1D quadrature is (Level+2). The total number
of points is the product of the number of points for 1-D quadrature of each uncertainty.
l For Sparse linear growth, the number of points for 1D quadrature is (2*Level+1).
l For Sparse exponential growth, the number of points for 1D quadrature is (
).
If the mean and variance are needed for any output quantity a level 1 produces sufficient accuracy. If
the skewness and kurtosis (For example the output PDF reconstruction) are needed a level 2 is
recommended.
Then the user should select the uncertainty type and set the corresponding parameters. Four
uncertainty types are available:
l Gauss: the Gaussian distribution is used to compute the collocation points.
l In case that the uncertainty entry is a constant, two parameters need to be specified, one is
the mean of the distribution (Average Value) and one is the Variance.
l In case that the uncertainty entry is a profile, only one parameter, Variance, needs to be
specified. For each point of the profile, the variance is common while the mean of the
distribution (Average Value) is set to the value of the point.
l Truncated Gauss: the truncated Gaussian distribution is used to compute the collocation
points.
l In case that the uncertainty entry is a constant, two parameters need to be specified, one is
the mean of the distribution (Average Value) and one is the Variance.
l In case that the uncertainty entry is a profile, only one parameter, Variance, needs to be
specified. For each point of the profile, the variance is common while the mean of the
distribution (Average Value) is set to the value of the point.
l Beta: the Beta distribution is used to compute the collocation points. Three parameters need to
be specified, the Minimum Value, the Maximum Value and the Most Likely Value.
l In case that the uncertainty entry is a constant, three parameters need to be specified, the
Minimum Value, the Maximum Value and the Most Likely Value.
l In case that the uncertainty entry is a profile, only two parameters need to be specified, the
Minimum Value and the Maximum Value. The Minimum Value and the Maximum Value
must be defined relative to a Most Likely Value of 0. For each point of the profile, the
Minimum Value, the Maximum Value and the Most Likely Value will be shifted based on
the value of the point.
l User defined: the user inputs a probability density function (PDF), which is used to compute
the collocation points. The format of the probability density function file can be found in User
defined PDF.
l In case that the uncertainty entry is a constant, the imported PDF is directly used to
compute the collocation points.
l In case that the uncertainty entry is a profile, the imported PDF must be defined relative to a
reference value of zero. Then, for each point of the profile, the PDF will be shifted based
on the value of the point. The shifted PDF is used to compute the collocation points of the
point of the profile.
The specified uncertainty probability density function will be plotted at the right side of the page.
The user can export the probability density function into a file by using the button export PDF.
For both the display and the export, the uncertainty probability density function is expressed in
normalized form.
At the bottom of the page, a bar named as Calculate Collocation Points is used to calculate the
collocation points and create the non deterministic computation. The total number of the
computations will also be shown in the bar. After setting the parameters for all the uncertainty
entries, click the bar Calculate Collocation Points to create the non deterministic computation.
The non deterministic computation is organized as shown in "Management of non deterministic
computation" (p. 361). Here, the computation "Ps110k" is the deterministic computation, which is
created before making the non deterministic computation. Five sub-computations are the non
deterministic computation runs.
FIGURE 8.58
Management of non deterministic computation
After creating the non deterministic computation, the user should not modify the sub-computations
any more. Otherwise, the results of the non deterministic computation may be changed.
Launch non deterministic computation
The deterministic computation and the non deterministic computation can be launched
individually. When selecting the deterministic computation and clicking on the button Start Flow
Solver, a window will appear, .
FIGURE 8.59
Launch non deterministic computation
Selecting Start Deterministic will launch the deterministic computation. Selecting Start Non
Deterministic, FINE™/Turbo will automatically switch to TaskManager and create a new task
with all the sub-computations (non deterministic computation runs). By default, each subtask will
be run in serial mode. The user can select a subtask and change the run mode. The modification
will be applied to all the subtasks.
Post processing
The results of the non deterministic computation can be found in the Post Processing / Non
Deterministic Results page, as shown in "Non deterministic computation results" (p. 363).
When selecting the deterministic computation, the .mf file of the deterministic computation will be
shown at the lower part of the page. At the left frame of the upper part, all available quantities are
listed. The user can choose the quantities and add them to the right frame. The option Selection
Filter is used to select multiple quantities at once by using their common string or select all
quantities by using the wildcard '*'. At the right frame, for all selected quantities, FINE™/Turbo
will show their Value from the deterministic computation,
their Mean Value , Variance ,
Skewness and Kurtosis from the non deterministic computation. In case that part of the
computations are re-run, the button Recompute can be used to refresh the non deterministic
results. When selecting a quantity from the list of selected quantities, an estimation of its
probability density function (PDF) is shown in the right-bottom frame. This PDF is reconstructed
by using the first four moments of the selected quantity. The user can export the probability
density function into a file by using the button export PDF . In order to get a good PDF
reconstruction, a minimum level of 2 is recommended.
When selecting a sub-computation (one of the non deterministic computation runs), the page will
show only the mf file of the selected sub-computation.
FIGURE 8.60
Non deterministic computation results
Build non deterministic performance curve
It
is possible to combine the non deterministic computation and the performance curve
computation to build a non deterministic performance curve computation. To build a non
the user should create a non deterministic
deterministic performance curve computation,
computation first, then create a non deterministic performance curve computation (Refer to
Performance Curve section on how to create a performance curve computation). The management
of the non deterministic performance curve computation is shown in the "Management of non
deterministic performance curve computation" (p. 364). The top level is the performance curve
computation. The second level is the operating points of the performance curve (deterministic
computation) together with their non deterministic computation runs (the third level).
FIGURE 8.61
Management of non deterministic performance curve computation
After creating the non deterministic performance curve computation, the user should not modify the
sub-computations (the second level and the third level) any more.
When selecting the non deterministic performance curve computation (top level) and clicking on
the button Start Flow Solver, a window will appear, .
FIGURE 8.62
Launch non deterministic performance curve computation
The user has two possibilities:
l Selecting Start Deterministic Perfo Curve will launch the deterministic performance curve
computation). FINE™/Turbo will
computation (as
automatically switch to TaskManager and create a new task with all the sub-computations at
the second level. A Parallel settings window will appear. The user can set the number of
process and other parallel settings. All the settings will be applied to all subtasks.
the normal performance
curve
l Selecting Start Non Deterministic Perfo Curve will launch the non deterministic performance
curve computation. FINE™/Turbo will automatically switch to TaskManager and create a
new task with all the sub-computations at the third level. A Parallel settings window will
appear. The user can set the number of process and other parallel settings. All the settings will
be applied to all subtasks.
After the non deterministic performance curve computation is finished, the results can be post-
processed in the Post Processing / Performance Curve page, as shown in "Non deterministic
performance curve" (p. 366). The non deterministic performance curve is plotted by using the
mean value of the non deterministic computation of each operating point. The bar represents the
], where σ is the standard deviation. The Display Factor is used to change the
range [-
,+
length of the bar.
FIGURE 8.63
Non deterministic performance curve
8.9
SUBPROJECT MANAGEMENT
8.9.1
Introduction
The FINE™/Turbo environment allows the partial
treatment of multistage turbomachinery
projects. Turbomachinery applications can be naturally decomposed into several domains, e.g.
rotor, stator... This natural decomposition can also be performed in FINE™/Turbo, by means of a
so-called SubProject.
After performing a first computation on the full turbomachine (Main Project), the user can create
SubProjects, containing only part of the machine. This allows a fast and easy optimization of the
geometry of each row. Afterwards, the results obtained on part of the machine can be merged
together again with the full turbomachine.
The access to the SubProject module requires a special license feature. Please contact our local
sales or support office for more information about how to obtain a license.
The next sections will describe the way to set-up and control the SubProjects in more detail.
8.9.2
Set-up of SubProjects in FINE™/Turbo
Grid Requirements
The SubProject module is available for projects of which the mesh has been created with IGG™
or AutoGrid™. Following requirements have to be respected when generating the mesh:
l Butterfly blocks in IGG™ is not compatible with sub-project management.
l All rotor-stator interfaces have to be defined in the absolute way. This can be defined in the
rotor-stator properties dialog box in AutoGrid™.
l The final mesh has to be saved in the _mesh directory of the main project.
Create SubProjects
Once the mesh of the main project has been created, the main project has to be set-up in the
FINE™/Turbo GUI. After creating the project and when the mesh is loaded for the first time, the
user has to activate Use Grid Configuration in the Grid Units and Project Configuration
dialog box, see FIGURE 8.64. When the mesh is loaded, the Grid Configuration subpad will
appear in the interface, see FIGURE 8.65.
FIGURE 8.64
Use Grid Configuration
FIGURE 8.65
Grid Configuration Subpad in the FINE™/Turbo GUI
Before creating a SubProject, the main project has to be executed first. The final solution of the
main project will be used as the initial solution for the SubProjects. Therefore the main project
should be run until satisfactory convergence is reached.
In the main project, all rotor- stator interfaces have to be defined as Full Non Matching Mixing
Plane . The type of several rotor- stator interfaces can be changed simultaneously by selecting one
rotor- stator interface, hold the <Shift> button and left- click on the desired type of rotor- stator
interface, see FIGURE 8.66. All settings, such as the ID Number, will be kept.
It is suggested to use initial solution for turbomachinery for the main project.
FIGURE 8.66
Rotor-Stator Interface Settings
After completion of the main project, a SubProject can be created in the following way:
l Go to the Grid Configuration subpad.
l Right-click on Main Project and select Duplicate. A new SubProject is created.
FIGURE 8.67
Create SubProject
l By left-clicking and holding the <Ctrl> button, several rows of the newly created SubProject
can be selected.
l Right-click allows to delete the selected rows from the SubProject, see FIGURE 8.68.
FIGURE 8.68
Delete Rows from SubProject
The settings for the SubProject are copied from the main project and adjusted if necessary.
l Boundary Conditions: Settings for in- and outlet are automatically changed if necessary. A
special boundary condition From Rotor/Stator has been created. This will transfer the
quantities from the rotor-stator of the main project as in- and/or outlet condition.
The From Rotor/Stator boundary condition is only available for SubProjects and is set by the
FINE™/Turbo GUI automatically. These settings should not be modified by the user.
l Initial Solution: The initial solution is set automatically to From File. The solution of the main
project will be used as an initial solution.
l Control Variables: The settings are identical to the main project.
Settings that are changed manually by the user when a SubProject
iterations, will be transferred to the main project.
is selected, e.g. number of
FIGURE 8.69
Boundary Conditions for SubProject
The SubProject can be executed in the same way as the main project. The computation will
continue until the maximum number of iterations is reached or the convergence criteria is satisfied.
Modify & Merge SubProjects
The SubProject module allows the user to change the geometry of the subproject. A computation
can be done on the changed geometry, before inserting it back in the main project.
Modify Geometry
The geometry can be modified in following way:
l Select the SubProject which contains the row of which the geometry needs to be changed
l Switch to AutoGrid™ by using the Modules menu.
If the mesh of the subproject has not been created yet, a warning message will appear informing the
user that the mesh of the main project will be loaded.
l Before being able to modify the geometry of the SubProject, the mesh of the SubProject has to
be saved separately. More information on this subject, can be found in the Grid
Configuration section of the AutoGrid™ user manual.
Only the geometry of the subproject can be modified. The topology of the mesh and the number of
grid points have to be kept equal to the main project.
l After generating and saving the mesh of the SubProject, switch back to the FINE™/Turbo
GUI by using the Modules menu. AutoGrid™ automatically saves the mesh of the SubProject
in a separate folder in the _mesh directory.
l The mesh of the SubProject will be automatically linked to the computation.
The computation of the modified SubProject can be launched in the exact same way as the main
project.
Merge SubProjects
When the computation of the SubProject is finished successfully, the modified geometry can be
transferred to the main project. This is done by means of a merge process. The rows of which the
geometry was modified in the SubProject, will replace those rows in the main project. Following
procedure has to be followed:
l Select the main project from the Grid Configuration subpad and switch to AutoGrid™.
l Execute the Merge process in AutoGrid™, more information can be found in the Grid
Configuration section of the AutoGrid™ user manual. When the merge process is completed,
switch back to the FINE™/Turbo GUI. AutoGrid™ automatically saves the mesh of the
merged project in a separate folder in the _mesh directory. More details can be found in the
next section.
l The merged project is now available from the Grid Configuration subpad in FINE™/Turbo.
FIGURE 8.70
Merged Project in Grid Configuration Subpad
The merged project will behave in the same way as a SubProject. The computation settings are
transferred from the main project, and adapted automatically if necessary.
File Structure
The files generated by the SubProject module are stored in following way (FIGURE 8.71):
l The mesh of the main project is stored in the _mesh directory, located in the project directory.
l The computations of the main project are stored in the project directory, with name <project_
name>_<computation_name>
l The mesh of a SubProject is stored in a separate folder in the _mesh directory, with name
<project_name>_<subproject_name>
l The results of the computations of a SubProject are stored separately for every SubProject in
the project directory. The name of the directory is equal to <subproject_name>. In every
SubProject directory, the results of each computation are saved separately.
FIGURE 8.71
SubProject File Structure
CHAPTER 9.
INITIAL SOLUTION
FINE™/Turbo provides the possibility to start a computation from an initial solution. The following
initial solution types are available:
l constant values,
l from file,
l for turbomachinery,
l from throughflow.
Each of these types is described in the next sections.
FINE™/Turbo allows to define a different initial solution type for each block or group of blocks. Such
a block dependent initial solution provides more flexibility in the restart of previously computed
solutions. The next section describes how to set up a block dependent solution.
In this section
9.1 Block Dependent Initial Solution
9.2 Initial Solution Defined by Constant Values
9.3 Initial Solution from File
9.4 Initial Solution for Turbomachinery
9.5 Throughflow-oriented Initial Solution
375
FINE™/Turbo 13.1 User Guide
376
378
379
9.1
BLOCK DEPENDENT INITIAL SOLUTION
This procedure permits to initiate the calculation of some of the blocks with the results of a
previous calculation, whereas the other blocks are started from a uniform flow. Another
possibility is to initiate one new calculation with the results of several previous calculations. This
is, for instance, the case if a multistage turbomachinery calculation is preceded by the calculation
of the separate stages.
The flow solver can start from files resulting from calculations performed on different grid levels.
Only the grid levels that are used in the multigrid cycle are considered here. For instance, a
computation of a three-stage turbine can start from three solutions for each stage, each one on a
different grid level.
Furthermore, the full multigrid cycle is automatically removed when at least one file is provided
on the finest grid level.
How to Define a Block Dependent Initial Solution
The Initial Solution page is divided in two parts. On the left, a tree displays the structure of the
groups of blocks. On the right, five ratio buttons allow the user to choose the type of initial
solution: constant values, restart from a solution file, turbomachinery oriented, technological effect
(AutoGrid™ effects) or restart from a throughflow file. At the bottom, three buttons allow
modifying the group(s). It is possible to create new groups of blocks in the same way as for the
groups of patches on the boundary conditions page. Different initial solutions can be assigned to
these groups of blocks. The Reset Turbo Groups button allows to retrieve the default grouping
proposed by AutoGrid™.
Two defaults are available depending on the mesh and the application type:
l The first one is dedicated to turbomachinery applications, meshed by AutoGrid™. The
Turbomachinery groups are automatically detected and proposed in the interface. These
groups are defined by the different rows (group named "ROWS") and the technological
effects. The static pressure has to be specified at the main inlet and the rotor-stator interfaces. If
the user modifies the groups, clicking on the button Reset Turbo Groups can restore the default
turbomachinery grouping.
l The second default is general. All the blocks are grouped in one group named "MESH" and
constant values are selected. In the constant values page, the toggle option Cylindrical is set
on.
FIGURE 9.1
Initial Solution default settings when loading AutoGrid™ mesh
Examples of the use of Block Dependent Initial Solution
The block dependent initial solution is helpful in many industrial cases. The following are two
scenarios in which this capability is very useful:
1. A solution has been calculated for a turbine including 10 stages. A new stage is added. Now
the turbine has 11 stages. The designer does not want to begin a computation from scratch for
the turbine with 11 stages. He can take advantage of the solution that has been found for the
10 first stages. The new computation will contain one group with the 10 stages and one group
with the last stage. The first group will be assigned to a from file initial solution and the
second group can be assigned to another type of initial solution.
2. A turbine includes 10 stages. Even with the turbomachinery-oriented initial solution, the code
does not succeed to converge properly. The designer could split the turbine in several parts and
calculate the solution for each of these parts. Then a global project is created. In the Initial
Solution page, a from file initial solution is assigned to each part of the project. The
computation will have a far better chance to succeed.
9.2
INITIAL SOLUTION DEFINED BY CONSTANT
VALUES
When selecting constant values on the Initial Solutions page, the user can modify the physical
values used for the initial solution. The physical values are uniformly used as an initial solution all
over the selected group of blocks, except on the boundaries. The variables for which initial values
need to be specified are the static pressure, the static temperature and the velocity components. In
case a 1- or 2-equations turbulence model is selected, the initial turbulence should be defined as
well . Note that the velocity components specified by the user
are the cartesian (cylindrical) ones for a cartesian (cylindrical) case.
Flow Direction: the lower part of the page allows for a further control of the initial field. First, for
both cartesian and cylindrical projects, the velocity direction can be fitted along the I, J or K mesh
lines. The reverse option determines whether the velocity vectors will point in the I (J or K)
increasing or decreasing direction. By default, no specific velocity direction is set and the input
box is set to None.
Velocity Fitting: for the cylindrical projects only, an option for the fitting method can be chosen.
to
The first option fits
, the meridional velocity (defined as
), and uses
set the azimuthal absolute velocity. The second option fits
mesh lines.
(default), the relative velocity, to the
Pressure Field: for the cylindrical projects only, it is also possible to act on the initial pressure
field. To this end, two options are available: constant pressure field (default) and a radial
equilibrium pressure gradient. In rotational machinery, for instance, a radial equilibrium pressure
gradient is often closer to the physics than a constant field. The radial equilibrium factor allows
adjusting the influence of the pressure gradient (its default value is 1.0).
Turbulent Quantities: in case a 1- or 2-equations turbulence model is selected, the initial value
of the turbulence must be imposed. The user can choose between several sets of turbulent
quantities. Given a 1-equation turbulence model, following turbulent quantities are available:
l Turbulent Viscosity
l Turbulent Viscosity Ratio
l Turbulent Intensity and Length Scale
l Turbulent Intensity and Hydraulic Diameter
l Modified Turbulent Viscosity
and given a 2-equations turbulence model:
l k and ε
l Turbulent Intensity and Viscosity Ratio
l Turbulent Intensity and Length Scale
l Turbulent Intensity and Hydraulic Diameter
l From Friction Velocity
The Modified Turbulent Viscosity is equal to the turbulent working variable described in
Spalart-Allmaras Model.
The From Friction Velocity option does not require the user’s input and generates the initial
turbulence automatically based on the initial flow field.
If the Turbulence Intensity is selected, a reference speed will appear on the screen which is equal
to the entered characteristic velocity in the Flow Model page. This velocity is part of the formula to
convert the turbulence intensity to the used quantity in the transport equation(s) of the turbulence
model.
9.3
INITIAL SOLUTION FROM FILE
General Restart Procedure
To continue on the result of a previous computation the user must simply select the solution.
Clicking on the Open Browser button will open a File Chooser window to select the ".run" (or
".cgns") file of a computation.
To restart from a solution the computation definition file with extension ".run" is not sufficient. It is
required that the solution file with extension ".cgns" is present, which contains all the saved and
requested quantities.
An initial solution from file can be used only for computations that have the same topology: same
blocks and same grid points distribution.
FIGURE 9.2
Restarting from a file
When activating the option Reset convergence history, the ".res" file, which contains all the
residuals from the previous computation, will be erased. The new residuals will be calculated with
respect to the first iteration of the new computation. If the from file solution is already very close
to the exact solution, the normalized residuals will decrease slowly, because the starting state is
already a good approximation of the solution.
By default, the option Reset convergence history is deactivated. In this case, the new residuals
are appended to the ".res" file and are calculated with respect to the first iteration of the old
computation. In order to keep the convergence history, the following limitation must be satisfied:
l All the blocks in the Initial Solution page must be grouped in only one group. If several
groups of blocks exist, the option Reset convergence history has to be activated manually by
the user.
As the initial pressure and temperature fields are block dependent, discontinuities in these
quantities can be present at block connections. The flow solver could have difficulties to
converge in such a case. Therefore boundary conditions should be carefully checked in order
to avoid any large discontinuities at block connections.
The flow solver can start from files resulting from calculations performed on different grid levels.
Only the grid levels that are used in the multigrid cycle are considered here. For instance, a
computation of a three-stage turbine on 0/0/0 with 3 grid levels can start from three solutions for
each stage, each one on a different grid level (0/0/0, 1/1/1, and 2/2/2). Furthermore, the full
multigrid cycle is automatically removed by the flow solver when at least one file is provided on
the finest grid level.
Restart in Unsteady Computations
To allow a second order restart for unsteady computations, it is necessary to set in the Control
Variables page Multiple Files in the Output Files. This parameter allows to have multiple
output files: for each saved time step also the solution of the previous time step is saved.
To perform a second order restart for an unsteady computation, select from file in the Initial
Solution page. Using the File Chooser select the solution file with extension ".cgns" at a certain
time step "ti" ("_ti.cgns"). The FINE™/Turbo solver will automatically find the solution of the
previous time step if present ("_ti-1.cgns"). If the FINE™/Turbo solver can not find the solution
of the previous time step a message will appear in the Task Manager to indicate that a first order
restart will be performed.
Note, in order to perform a second order restart for an unsteady computation, the option Reset
convergence history MUST be deactivated. Otherwise only a first order restart will be applied
automatically. Please refer to General Restart Procedure on how to deactivate the option Reset
convergence history.
Note, in order to keep the convergence history in the new computation (different from the initial
unsteady computation), the ".res", ".steering" and ".steering.binary" files need to be copied and
renamed in the new computation directory.
Expert Parameters for an Initial Solution from File
There is no current limitation to start a k-ε , k-ω or v²-f computation from a Baldwin-Lomax
solution. In this case, the turbulent quantities are estimated from the friction velocity if the expert
parameter INIKE is set to 2 (default value) or from the turbulent viscosity field μt if INIKE = 1. In
the latter case, the turbulent viscosity is initialized or read from file depending on the value of the
expert parameter IMTFIL (default value IMTFIL = 0 to initialized μt or IMTFIL = 2 to read μt
from file).
9.4
INITIAL SOLUTION FOR TURBOMACHINERY
The initial solution for turbomachinery is dedicated to the cylindrical rotating machinery. This
type of initial solution respects the inlet and outlet boundary conditions and assumes a constant
rothalpy along axisymmetric stream surfaces. Also, the velocity field is automatically aligned with
the blade passage.
The initial solution for turbomachinery can be applied for meshes generated in AutoGrid5™. If a
the initial solution for
mesh combines an AutoGrid5™ mesh and an IGG™ mesh,
turbomachinery can be applied only for the AutoGrid5™ mesh part.
The limitations using initial solution for turbomachinery are:
l Only available for internal flow.
l Supersonic inlet boundary condition at the main channel entrance is not allowed.
l Cartesian inlet boundary condition at the main channel entrance is not allowed.
l 2D profiles at the main channel entrance and exit are not supported.
l For a combined AutoGrid5™/IGG™ mesh, it is possible to use the initial solution for
turbomachinery on the AutoGrid5™ part. However, when the IGG™ mesh connects to the
original
inlet and/or outlet of the AutoGrid5™ mesh (for example, an impeller/volute
configuration), the initial solution for turbomachinery will be possible only if the connection
between the meshes is a Rotor/Stator interface.
Methodology
The initial solution for turbomachinery is computed on the 2D meridional view divided into
different parts named "meridional sectors". The control sections of the meridional mesh in
AutoGrid5™ that correspond to the main entrance, main outlet and rotor-stator interfaces define
these meridional sectors as shown in FIGURE 9.3. Note that the main entrance/exit could be a
rotor/stator interface when the main channel of the first/last row defined in AutoGrid5™ is
connected to a 3D effect meshed with IGG™. In a combined AutoGrid5™/IGG™ mesh, the
FINE™/Turbo interface and solver will detect the AutoGrid5™ mesh part depending on the 2D
meridional mesh.
FIGURE 9.3
Additional data necessary for computing the initial solution
The conservation of mass and rothalpy is applied on the streamlines of each meridional sector.
Then the initial solution computed in the meridional view is interpolated in the 3D mesh.
Such initial solution 'for turbomachinery' can also be used for the blocks defining technological
effects. For example, the axisymmetric elements such as seal leakages that are not included in the
general meridional view can be treated easily. If the cell centre is not located in the meridional
view, the pressure will be the pressure in the closest cell of the meridional mesh (idem for the
temperature). The components of the velocity will be set to zero. This special treatment can be
applied as well to the blocks included in 3D effects located in the main passage (cooling holes,
…). Selecting the page techno effects uses this initial solution.
Modifying the AutoGrid5™ mesh in IGG™ afterward, can lead to a mismanagement of the blocks
grouping. If some blocks are added, they are not included in the turbomachinery group, which is
detected automatically by the interface. If some blocks are removed or renamed, the initial solution
'for turbomachinery' will be stopped.
If the combined AutoGrid5™/IGG™ mesh results from a merging of existing meshes in IGG™, the
AutoGrid5™ mesh must be the first opened mesh to keep the 2D meridional mesh on which the
initial solution for turbomachinery is applied.
Interface for turbomachinery
FIGURE 9.4
Example of Turbomachinery-oriented initial solution
The turbomachinery- oriented page displays three major frames: one for the channel main
entrance, one for the Rotor/Stator interfaces and one for the channel main exit. On the left of each
frame, a tree shows by default the AutoGrid5™ grouping. If no patch name has been given in
IGG™, the default name will be a concatenation of the name of the block, the index of the face
and the index of the patch. These patches/groups cannot be modified in the Initial Solution page.
If these patches/groups need to be edited, the user must go back to the Boundary Conditions or
Rotating Machinery pages.
The Channel main entrance frame lists all the existing inlet patches/groups that belong to the
first row. The user has to specify the main entrance of the channel. Then, an input dialog box is
provided to select
the type of static pressure specification: constant distribution or radial
equilibrium. One or two input boxes are provided in order to define the static pressure value to be
the radius (in meters [m]) on which this radial
used and, if radial equilibrium is chosen,
equilibrium will be based. If the inlet of the first row is a rotor/stator interface, the ID number of
the rotor/stator interface is displayed. For this case, the user has to set all the estimated inlet
boundary conditions (static pressure, static temperature and velocity).
The Internal R/S connections frame lists all the existing rotor/stator interfaces between rows in
the main channel. The name of the internal R/S connections is based on the ID number given in
the Rotor-Stator tab of the Rotating Machinery page. For each connection, the user must select
it and set the corresponding parameters, depending on the selected type of static pressure
specification. The specified values will be shown in the Internal R/S connections frame.
The Channel main exit frame lists all the existing outlet patches/groups that belong to the last
row. The user has to specify the main exit of the channel. Nothing needs to be set for the exit if
this is an actual outlet. If the outlet of the last row is a rotor/stator interface, the ID number of the
rotor/stator interface is displayed. For this case, the user has to set the corresponding parameters at
the rotor/stator interface, depending on the selected type of static pressure specification. For a
bypass configuration, the fourth frame Channel main up exit appears, allowing the user to
specify the second exit of the bypass configuration.
When clicking
at the right side of the title Channel main entrance and Channel main exit,
an information dialog box will appear, which remind the user to specify the corresponding
boundary conditions at channel main entrance/exit. If the channel main entrance/exit contains a
few patches and they are not grouped, the user can select one of the patches and set the
corresponding parameters. The specified parameters will automatically be applied to the whole
main entrance/exit.
Turbulent Quantities: in case a 1- or 2-equations turbulence model is selected, the initial value
of the turbulence must be imposed. The user can choose between several sets of turbulent
quantities. Given a 1-equation turbulence model, following turbulent quantities are available:
l Turbulent Viscosity
l Turbulent Viscosity Ratio
l Turbulent Intensity and Length Scale
l Turbulent Intensity and Hydraulic Diameter
l Modified Turbulent Viscosity
and given a 2-equations turbulence model:
l k and ε
l Turbulent Intensity and Viscosity Ratio
l Turbulent Intensity and Length Scale
l Turbulent Intensity and Hydraulic Diameter
l From Friction Velocity
The Modified Turbulent Viscosity is equal to the turbulent working variable described in
Spalart-Allmaras Model.
The From Friction Velocity option does not require the user’s input and generates the initial
turbulence automatically based on the initial flow field.
If the Turbulence Intensity is selected, a reference speed will appear on the screen which is equal
to the entered characteristic velocity in the Flow Model page. This velocity is part of the formula to
convert the turbulence intensity to the used quantity in the transport equation(s) of the turbulence
model.
An inlet patch must be defined for the first row for which a for turbomachinery initial solution has
been chosen. If there is no inlet patch for the first row, a warning message is displayed in the
FINE™/Turbo interface asking the user either to check the orientation of the rotor/stator connections
or to change the type of initial solution.
The channel main exit frame does not appear in special configurations where the main channel exit is
connected to the main channel entrance by a Rotor/Stator interface (for example, a torque converter).
In this case, all boundary conditions are specified at the channel main entrance.
Expert Parameters
The initial solution for turbomachinery is used by default for AutoGrid5™ meshes. For
backward compatibility reasons, the initial solution for turbomachinery can also be used for
AutoGrid4™ meshes. This is controlled by the expert parameter INITRB. By default, the value
is set to 2 to use the method for meshes created with AutoGrid5™. If FINE™/Turbo detects that
a mesh created with AutoGrid4™ is loaded, the value is automatically set to 0 in order to use the
old methodology. In this case, the old interface appears, shown in FIGURE 9.5.
FIGURE 9.5
Interface for AutoGrid4™ meshes
When using a mesh created by AutoGrid4™, the axisymmetric stream surfaces are defined by the grid
surfaces and the initial solution is applied to each block. For this, the grid topology, orientation (I,J,K)
and the type of down- and upstream boundary conditions are taken into account.
9.5
THROUGHFLOW-ORIENTED INITIAL
SOLUTION
This type of initial solution, of interest in turbomachinery calculations, allows to get an initial field
on the basis of an axisymmetric throughflow solution. The initial solution is defined through an
external file created by the user. The file contains 2D data in the format described hereafter. The
solver will use this data to generate an initial throughflow-oriented solution.
The solver will create a virtual mesh based on the hub and shroud definitions, forcing points on
the data points. Two additional stations will be created, at the inlet and outlet, respectively. The
inlet data are extrapolated from the first streamwise station while the outlet data come from the last
station. It is therefore recommended that the inlet and outlet boundaries of the mesh lie outside the
meridional domain covered by the throughflow data.
The meridional velocity is based on the mesh direction.
File Format
The file will include three parts, that must be separated by a blank line:
l solution definition,
l hub definition,
l shroud definition,
Once it is created, the file is selected in the FINE™/Turbo interface through a File Chooser click
on the Open Browser button in the Initial Solution/from throughflow page.
Solution Definition
The first part of the file contains the values of the flow variables throughout a meridional
structured mesh covering the entire machine. For each node of the meridional mesh, the (R,Z)
coordinates are specified together with the pressure, temperature and velocity components.
An axial case is taken as an example:
There are 4 streamwise stations in this example (Z=-0.025, Z=0.0, Z=0.025 and Z=0.05), each
with 3 points in spanwise direction (R direction). The point order in a spanwise and streamwise
station goes respectively from hub to shroud and from inlet to outlet.
Each data line is made of the two (R,Z) coordinates (in m), the static pressure, the static
temperature , the meridional velocity and the tangential velocity. The unit for grid coordinates
remain alwyas in [m], the units for the other variables are dependent on the settings in the menu
File/Preferences.
Hub Definition
The hub definition uses the same format as for AutoGrid™. The first line must be HUB. The
second line specifies the type of coordinate (ZR or RZ) and the third line the number of hub
points. The next lines correspond to the hub coordinates.
Taking again the example of the case above:
HUB
RZ #Type of data (ZR or RZ are accessible)
2 #Number of points on hub
0.245 -0.02 #Point coordinates (in m)
0.245 0.051
The hub is described in increasing Z coordinate from -0.02 to 0.051. The first column contains the
R coordinate for each of the two points on the hub.
Shroud Definition
The shroud definition is similar to the hub definition, except for the first line that will be replaced
by SHROUD and the points coordinates.
SHROUD
RZ #Type of data (ZR or RZ are accessible)
2 #Number of points on hub
0.3 -0.02 #Point coordinates (in m)
0.3 0.051
FIGURE 9.6
Throughflow-oriented initial solution
CHAPTER 10.
OUTPUT
With the flow solver in the FINE™/Turbo environment the user has the possibility to specify the
content of the output generated by the solver. The output does not only contain the flow variables for
which the equations are solved (density, pressure, velocity components, temperature), but also other
variables such as total conditions, the Mach number, customized velocity projections, etc...
Furthermore CFView™ allows to calculate derived quantities, which permits to limit the memory size
of the output and to avoid re-launching the flow solver in case one quantity of interest is not available.
With this functionality the user can find the compromise between an acceptable memory size for the
output and the ease of having all flow quantities of interest immediately available for visualization.
In the next sections the way to control the output from the flow solver is described in more detail:
l field quantities: calculated at all the mesh nodes,
l solid data: calculated along the solid wall boundaries,
l customized averaged data:
l for turbomachinery applications, a pitchwise averaged output can be created for visualization,
l global performance output,
l additional output for the ANSYS code, a widely used finite element code for structural analysis).
The global performance output is written in an ASCII file with the extension ".mf". All other outputs,
generated by the solver, are written in one single ".cgns" file, compatible with the CFView™
visualisation software. It is also possible to request for the output to be written in Plot3D format.
In this section
10.1 Output in FINE™/Turbo
10.2 Expert Parameters
392
428
10.1 OUTPUT IN FINE™/TURBO
10.1.1
Computed Variables
Using the Outputs/Computed Variables page, the user can choose with the buttons Add and
Remove, which physical variables have to be included in the output generated by the flow solver,
see FIGURE 10.1 to FIGURE 10.6. All the selected variables will then be automatically available
when launching CFView™ in order to visualize the results.
Thermodynamics
FIGURE 10.1
Thermodynamics computed variables page (for cylindrical projects)
TABLE 10.1 and TABLE 10.2 give the formula used to calculate the thermodynamic quantities.
TABLE 10.1 Thermodynamics quantities generated by the FINE™/Turbo solver
Quantity
Cartesian and cylindrical cases
Incompressible
Perfect gas
Static temperature
Total temperature
Static pressure
Total pressure
Density
Entropy
Dynamic viscosity
Thermal conductivity
Quantity
Cartesian and cylindrical cases
Incompressible
Perfect gas
Heat capacity
Gamma
-
TABLE 10.2 Thermodynamic quantities generated by the flow solver in cylindrical cases
Cylindrical cases only
Incompressible
Perfect gas
Rothalpy
Relative total temperature
Relative total pressure
ω is the angular rotation speed and r is the distance from the rotation axis.
The term k only exists when the two or four equation turbulence models are applied.
The heat capacities cp and cv are function of the temperature for real gas, while they are constant
in case of perfect gas. When real gas is used, the total pressure and total temperature are computed
by the following equations:
Furthermore five definitions of the pressure coefficient are available for internal flow (inlet and
outlet boundary conditions available): CP1, CP*1, CP2, CP*2, CP3:
where X inlet corresponds to the mean value of the variable X on the inlet, and where U ref is
defined as:
l ωRLEN in cylindrical cases, with RLEN, the reference length given in the Flow Model page,
and ω, the rotational speed (defined block per block),
l UENTR (Cartesian case) to be specified in the expert parameters list of the Control Variables
page.
When the reference velocity Uref is set to 0, the value of CP1 and CP3 are undefined and set to 0.
Finally, when a condensable fluid is selected in the Fluid Model page, new quantities at the
bottom of the page will appear. Those variables are defined using the thermodynamic tables
defining the condensable fluid.
When the condensable fluid option is used, 6 flow variables are stored at all mesh cell centers
instead of 5 for a perfect gas or liquid. These variables are the following: density, velocity
). The static and total enthalpy
components, static pressure and total energy (
can easily be derived using:
l static enthalpy
l absolute total enthalpy
l relative total enthalpy
395
FINE™/Turbo 13.1 User Guide
.
The dryness fraction permits to evaluate the location of the local thermodynamic state with respect
to the saturation curve. For each value of the pressure an interpolation from the saturation table
("PSA.atab") permits to determine the saturated liquid (ρl) and gas (ρv) values of the density. The
dryness fraction is then computed by:
l dryness fraction
.
The generalised dryness fraction directly results from the above expression whereas the standard
dryness fraction is bounded in the [0,1] interval.
The presence of the saturation table ("PSA.atab") is required in order to calculate the dryness fraction,
although this table is not required by the solver itself (unless an inlet boundary condition based on
dryness fraction X is used).
Velocities
FIGURE 10.2
Velocities computed variables page (for cylindrical projects)
The velocity quantities that can be selected are described below.
Both for Cartesian and cylindrical cases
l Absolute velocities:
l Velocity projections:
, surface vector of the i surface,
l Absolute Mach Number, only for compressible fluids:
For cylindrical projects only
l Absolute velocities in the rotating frame:
,
,
:
l Relative velocities:
,
,
,
,
:
l Relative velocity projections:
, surface vector of the i surface,
.
l Relative Mach Number:
Vorticities
FIGURE 10.3
Vorticities computed variables page
The vorticity is calculated according to the following expression:
,
where
is the gradient operator. From the above expression, ζx, ζy, ζz, ζxyz and the magnitude
of ζ are available.
Residuals
FIGURE 10.4
Residuals computed variables page
The residuals are computed in FINE™/Turbo by a flux balance (the sum of the fluxes on all the
faces of each cell). The absolute value |RES| resulting from the flux balance is written as output
for each cell. The residuals for the following quantities can be selected:
l density ρ,
l energy E,
l velocity component
l velocity component
l velocity component
,
,
,
l turbulent kinetic energy k, for the k-ε , k-ω and v²-f turbulence models,
l turbulent energy dissipation rate ε , for the k-ε and v²-f turbulence models.
Solid Data
FIGURE 10.5
Solid data computed variables page
The solid wall data refer to quantities that are estimated at the solid boundaries:
l static pressure at walls 
l static temperature at walls 
l normalized tangential component of the viscous stress at walls,
is the viscous stress, V is the reference velocity and ρ is the reference density defined
where
in Flow Model page.
l heat flux at walls in general
and for the turbulent models with extended wall function 
l relative velocity at walls 
l viscous stress
at walls
l y+ (in first inner cell):
where y is the normal distance from the walls to the first inner cell center and
friction velocity.
is the wall
l heat transfer coefficient:
,
in which q w is the local heat flux, T wall the local temperature at the wall and T bulk the
reference temperature for convection. Tbulk is controlled by the expert parameter HTCDEF
(available in the expert parameters list of the Control Variables page). When setting
HTCDEF to 1 (default), Tbulk is equal to the absolute averaged total temperature at the inlet.
When setting HTCDEF to 2, T bulk is equal to the reference temperature defined in the
Configuration / Flow Model page.
l injection flow
l injection direction
l harmonic pressure (real and imaginary) at walls )
For Fluid/Structure Interactions (FSI) computation, additional outputs are available in Unsteady
and Harmonic mode:
l aerodynamic power:
The expert parameterVISPOW(integer) allows to include viscous effects in the local aerodynamic
power output. The default value is 1, meaning with viscous effects.
l components of the deformation velocity vector
and
l components of the deformation acceleration vector
and
and only for Harmonic FSI computations:
l harmonic aerodynamic power (real and imaginary)
l harmonic components of the deformation velocity vector (real and imaginary)
l harmonic components of the deformation acceleration vector (real and imaginary)
l normal surface vector
l harmonic components of the normal surface vector (real and imaginary)
Normal surface vectors are already available in CFView™ in Mechanics Quantities. For time
domain computation, it is correct. However, for FSI-NLH computation, as CFView calculates
linearization of normal surface vectors, actual (averaged) normal vectors to the surface may differ
due to their deformation.
Turbulence
FIGURE 10.6
Turbulence computed variables page.
The following quantities can be stored:
l y+ (3D field)
,
l wall distance (i.e. closest distance to the wall: ywall),
l turbulent viscosity (μT/μ),
l production of kinetic energy (Production),
l turbulent kinetic energy k, for the k-ε, k-ω and v²-f turbulence models,
l turbulent energy dissipation rate ε, for the k-ε and v²-f turbulence models,
l specific dissipation ω, for the k-ω turbulence models.
Harmonic
For the output specific for harmonic computations.
Deformation
FIGURE 10.7
Deformation computed variables page
These output variables are only accessed when the mechanical coupling module is activated.
The scalar variables Dx, Dy and Dz is the mesh deformation in X, Y and Z direction,
respectively. The variable Dxyz is the mesh deformation vector.
Mesh deformation output is not available when the mesh deformation is calculated in the cylindrical
coordinates (IMVCYL=1).
The section Harmonic of Deformation is only accessible when using the harmonic method.
Lagrangian
FIGURE 10.8
Outputs of the fluid-particle interaction model
The following quantities are calculated by the solver:
l the number concentration
where Ni is the number of particles of class i in the
cell of volume Ω,
l the mass concentration
(mass of particles per cell volume)
where
is the density of the particle of class i and volume
,
l the volume concentration
(volume of particles per cell volume),
l the components of the mass weighted absolute velocity vector (
,
,
)
l the weighted mass and weighted absolute or relative velocity vectors number,
l the components of the interphase force .
The solver automatically writes an output file (".tr" and ".tr.sum") containing the particle traces
that is read by the CFView™ post processing software.
10.1.2 Azimuthal Averaged Variables
The FINE™/Turbo environment provides the user with a specific turbomachinery output, i.e. the
two- dimensional meridional view of the circumferentially- averaged results. Note that
this
functionality is also available in CFView™.
Using the Azimuthal Averaged Variables page, the user can choose which physical variables
have to be included in the pitchwise-averaged output generated by the flow solver. This page is
therefore only accessible if the project is of the cylindrical type. The azimuthal averaging of the
variables is calculated at the end of the computation. The results will be displayed as a 2D case in
CFView™. The name of the file from which CFView™ can read which variables have been
averaged in the azimuthal direction has the extension ".me.cfv".
The choice is left to the user to apply Mass or Area averaging, and to merge the averaging
patches into one patch or not. This last option (Merging of meridional patches) simplifies the
meridional view but the patches are merged in increasing order one after another, which is not
suitable for all mesh topologies. All the patches of the project that will be merged should be
matching in spanwise direction.
If Surface of revolution mesh (Autogrid) option is activated, a specific algorithm will be applied
to enhance azimuthal averaging of the solution performed on revolution surfaces.
The "parameters area" is divided into five 'notebook pages' which can be selected by clicking on
one of the five corresponding tabs: Thermodynamics, Velocities, Vorticities, Residuals and
Turbulence in the same way as for the control variables.
FIGURE 10.9 shows an example of the corresponding information page for thermodynamics
variables.
At the bottom of FIGURE 10.9 in Expert Mode the user can define the meridional patches for
azimuthal averaging. By default meridional averaging patches are set.
Automatic setting of the meridional averaging patches only works if no manual action has been
performed (like renaming of some patches).
FIGURE 10.9
The thermodynamics azimuthal averaged variables page
10.1.3 Template manager
A new button "Template manager ... " was added on the top of each of the three output pages in
FINE (Computed variables, Surface averaged variables, and Azimuthal averaged variables). This
button invoke a pop-up window:
This new windows is the same for each of the three pages and it lets the user to Load, Save and
Remove stored output selections. Double click on a profile name also loads the selected profile.
The button Cancel close the window and the page will return to the its state before launching the
template manager. This gives the user the possibility to browse the existing profiles without
loosing his current outputs selection. To create a new outputs profile the user should click on
"Save". A new entry appears, asking for the name of the new profile:
When Enter is pressed, Fine checks if the entered name already exists:
When Enter is pressed, Fine checks if the entered name already exists:
The current outputs selection (the values of all check buttons in all tabs) in the current page is
stored in this new profile.
The button "Remove" deletes selected profile.
The profiles are stored in text format in the file .numeca/fine_output.def and are independent from
projects. Different users may exchange their profiles by means of this file.
10.1.4 ANSYS
The FINE™/Turbo environment provides the user with a specific ANSYS output. The objective
is to export results of the CFD computation on solid surfaces (nodes and elements) into ANSYS
as a boundary condition for the finite element model. This approach is called FEM loading
method for loading the CFD results on a Finite Element Model. The transferred results on the
interface fluid-structure can be the pressure field for a structural analysis and the temperature field
or the heat fluxes for a thermal analysis in the structure. The transferred pressure field can
comprise steady static pressure acting on the solid surface or harmonic blade loading, which is
specially interesting for fluid-structure interaction analyses.
The FEM approach needs to have the finite element mesh of ANSYS. If this mesh does not exist
before the CFD computation, it is impossible to create directly a file that can be imported in ANSYS
to apply the suitable boundary condition. Consequently the best way to manage the interface between
FINE™/Turbo and ANSYS can be a new post- processing tool. The post- processing tool is needed
with the specification of the ANSYS mesh, the common surfaces where the data must be interpolated
and the type of boundary condition on each surface. The transfer will be carried out through the
ANSYS file saved with the command CDWRITE ("project_ANSYS.cdb") in ANSYS. This file will
be modified and read again in ANSYS to impose the CFD results as boundary conditions .
FIGURE 10.10
Data transfer of CFD results into the ANSYS project
A. ANSYS Pre-Processing
Before completing the Outputs/ANSYSpages, the user must create a file "project_ANSYS.cdb"
with the command CDWRITE in ANSYS. Furthermore before the save in ANSYS, some
operations are needed to allow the identification of the common surface between the fluid model
and the structural model. The ANSYS project must be completely defined with a special
treatment for the surface loads that will be replaced by the interpolated CFD results. On each
common surface, a coded constant value is specified. The default coded values are given in the
TABLE 10.3 for the different types of boundary condition. The value is incremented by one for
each different surface so that for example the pressure imposed on the first surface is set to
1000001 and it is set to 1000002 on the second,...
TABLE 10.3 Default code for different type of boundary condition imposed from CFD results
Boundary Condition
Pressure field
Temperature field
Heat transfer coefficient
Heat flux
Code
1000001
2000001
3000001
4000001
The coded value can be modified in order to avoid confusion with physical values.
Note that the surface must be relatively flat or smooth (without sharp angle) so that the six surfaces
define a cube. Moreover a surface closed on itself, like a cylinder or a blade must be divided into two
parts if the conservative interpolation type is required.
The heat transfer coefficient can be computed only for non- adiabatic solid patches. The correct
physical bulk temperature must be specified on the surfaces with convection. It must be constant for
each surface.
If the coded values have been prescribed by using the solid model, the solid model must not be saved
in the original ".cdb" input file .
The ANSYS importation does not support a time profile of a quantity.
Validation tests are performed with ANSYS release v16. Please refer to ANSYS user manual for
more details on the ".cdb" file format
In order to transfer harmonic pressure data to ANSYS, the Harmonic Pressure (Real and Imaginary)
quantity has to be selected among the Solid Data available quantities in the Outputs/Computed
Variables page. In addition, the following limitations apply when transferring harmonic loads:
n In FINE™/Turbo:
◦ Only compatible for Harmonic computations with multi-rank harmonic method.
◦ Not compatible for FSI-Harmonic computation in a single row.
n In ANSYS:
◦ The mesh should be covered by special elements dedicated to complex (harmonic) pressure loads:
SURF153 (1D) or SURF154 (2D).
As one file can be generated for each frequency in each row, it is convenient that the studied structure is
included in one row meshed in the CFD part. If the fluid-structure surfaces go over a rotor-stator interface,
they have to be split at this interface. Then the user can import different files generated in the adjacent rows
by considering the right and common frequency.
B. Global Parameters
The user can complete the Outputs/ANSYS pages after the file "project_ANSYS.cdb" is ready
(refer to previous section for more details).
Firstly, the user needs to specify under the tab Global Parameters in Boundary Conditions
(FIGURE 10.11 - (1)) the coded constant value used in the file "project_ANSYS.cdb". The
default coded values are given in the TABLE 10.3 for the different types of boundary condition.
Furthermore, the user has to specify the required units of the data for each type of boundary
condition. The units will be specified next to the coded value.
Then, the user needs to load the file "project_ANSYS.cdb" (FIGURE 10.11 - (2)) created in
ANSYS in Input File.
The data transfer between the CFD mesh and the structural mesh requires matching common
boundaries. The following settings must be set correctly in order to have matching common
boundaries.
l Units: The units used in the ANSYS mesh must be specified in ANSYS Mesh Units. The
conversion Factor will be deduced automatically (FIGURE 10.11 - (3)).
l Reference system: The user must specify the used coordinate systems (FIGURE 10.11 - (3)).
For example, the original geometry can be rotated for the CFD model so that the axial
direction corresponds to the Z axis. The necessary conversion of coordinates will be done
through the specification of the position of the coordinate center of the ANSYS mesh in the
coordinate system of the CFD mesh and the specification of the location of three common
points in both meshes in Reference System.
FIGURE 10.11
General Parameters of ANSYS outputs
Note that these points cannot be located on a line or a plane including the zero point (not
linearly dependent).
The coordinates are specified in their respective units.
The origin of the ANSYS mesh must be at (0,0,0).
Finally in Output File, the user specifies the new output file "project_CFD.cdb" (FIGURE 10.11
- (4)) containing the transferred CFD results on the solid boundaries coded in ANSYS.
In order to create the new output file, the user has to complete the page under the Surface
Selection tab before clicking on the Create Output File button (FIGURE 10.11 - (5)).
C. Surface Selection
After completion of the page under Global Parameters tab page, the user has to complete the
Surface Selection page (refer to Global Parameters for more details) before creating the ANSYS
output file (Create Output File button).
When the ANSYS input file is read in Input File, the common surfaces on which the data must
be transferred are identified in the ANSYS mesh. The FINE™/Turbo interface lists each surface
with the corresponding coded value (FIGURE 10.12 - (1)).
When reading the ANSYS input file for the first time, automatically a new file with the extension
".ANSYSgeom" is created in the active computation directory. This file contains the geometry of
the related ANSYS surfaces and allows accelerating the next operations.
By clicking on Selected Surface Properties button ( FIGURE 10.12 - (2)), a new window
(FIGURE 10.13 ) allows the user to specify the solid patches from which the data will be
interpolated. Following interpolation parameters can also be defined: interpolation type (Interp
Type) and the allowed maximal distance (Max Dist).
Two different interpolation types ( Interp Type ) are proposed: a conservative and a non-
conservative. The suitable interpolation scheme is dependent on the type of boundary conditions.
The spatial field of pressure or temperature can be interpolated from cell faces to nodes whereas a
conservative transfer of the heat fluxes can be preferred.
Note that in the non- conservative approach, the local normal of the fluid mesh is used for the
projection of the ANSYS surface on the corresponding IGG™ solid patches. Whereas an averaged
local normal of the ANSYS mesh is used for the projection in the conservative approach. If the
geometry of the common surfaces does not match exactly between the IGG™ mesh and the ANSYS
mesh (e.g. if the fillet is not modeled in the fluid mesh), the result depends on the way to define the
surfaces in ANSYS, the selection of the IGG™ solid patches from which the interpolation is
performed and the choice of the interpolation type. A slight discontinuity can appear in the
interpolated field. In case the fillet is not modeled, the different ways to project the ANSYS surface
on the IGG™ solid patches imply that the conservative approach can fail if the ANSYS surfaces are
not approximately divided in the fillet where its normal intersects the edge separating the IGG™ solid
patches (blade and hub or shroud).
FIGURE 10.12
Surface Selection of ANSYS outputs
The CFD results are read from the ".cgns" file of the active computation. The non- conservative
approach needs to save the solid data on the IGG™ solid patches. For the conservative approach, only
the solid data Heat Flux is required for the computation of the heat transfer coefficient.
An allowed maximal distance (Max Dist) can be used to control the interpolation process by
ensuring that it is performed in the nearest element of the selected solid CFD patches.
The maximum distance of the ANSYS output on the surface selection page, is always expressed in
meters (independent from the mesh units or project preferences)
FIGURE 10.13
Add solid patches to ANSYS surface
Then, the user specifies the solid CFD patches in the list of Solid Patches by <Ctrl> or <Shift>
and left-click. To add or remove solid patches linked to the highlighted ANSYS surface, the
buttons Add Selection and Remove Selected are used respectively. When the solid patches are
well selected, the window has to be closed (Close) and the patches will appear in the list Selected
Solid Patches and Groups (FIGURE 10.12 - (3)).
A visualization of the active ANSYS surface and of the selected solid patches can help the user in
the selection process after opening the mesh through the menu Mesh/View On/Off or
Mesh/Tearoff graphics (only available on Linux). Moreover, the visualization allows checking
that the surfaces (ANSYS and IGG™ solid patches) are matching. A modification of the ANSYS
mesh unit or reference system is directly taken into account in the visualization when the user
refreshes the view by clicking again on any ANSYS surface.
To ensure a complete data transfer, the selected IGG™ solid patches have to completely overlap the
ANSYS surface.
The area of the selected IGG™ solid patches can be larger than the area of the ANSYS surface.
Since the IGG™ solid patches defining a periodic structure can be divided (FIGURE 10.14), a
periodic shift can be required to match the common ANSYS surface. This shift must be specified
for each solid patch, highlighted in Selected Solid Patches and Groups list, in Periodicity by
activating Rotation and Translation (FIGURE 10.12 - (4)). The rotation and translation shifts
are respectively specified in degrees and IGG™ mesh units.
FIGURE 10.14
Mesh differences IGG™ vs. ANSYS
Moreover one ANSYS surface can be covered by a group of solid patches and by the same group
which is rotated (or translated). Consequently, a duplication of the periodic solid patches is
possible by activating Duplicate patch(es) after applying a Rotation and Translation to the
highlighted solid patch (FIGURE 10.12 - (4)).
FIGURE 10.15
Duplicate Option Utility
It is possible that one rotation with copy option of the IGG™ patches is not sufficient to cover the
whole area of the ANSYS surface. Consequently increasing the number of periodic repetitions
may be necessary. This feature is possible by selecting a number higher than zero in the Number
of repetitions field, which will cause the options specified in Rotation and Translation to be
neglected. The original patch is automatically repeated on the left and the right sides by using its
block periodicity. For example, the whole row meshed in ANSYS can be covered by the CFD
results computed on one single passage by setting Number of repetition equal to (periodicity-
1)/2 or periodicity/2 in case of an even number of periodicity.
Finally, the new output file can be created by clicking on the Create Output File button (FIGURE
10.11 - (5)).
D.
Import Results in ANSYS
The new output file "project_CFD.cdb" (FIGURE 10.11 - (4)) containing the transferred CFD
results on the solid boundaries coded in ANSYS is now available. When reading this file in
ANSYS with the command CDREAD, following rules need to be respected:
l Only the FE model (file ".cdb") has to be imported.
l If the coded values have been prescribed by using the solid model, the solid model must not be
saved in the original ".cdb" input file . If the solid model is
saved, conflicting values are set on the fluid-structure boundaries and the initial coded values
will be kept. Moreover these artificial boundary conditions have to be removed in the ANSYS
project before importing the modified archive file with the suitable boundary conditions. If
they are not removed, the coded values will replace the transferred values.
When harmonic pressure information is selected to be transferred additional output files are
generated. This is due to the fact that harmonic responses in ANSYS are usually studied with a
field of harmonic external forces in a range of frequencies. On the other hand, FINE/Turbo™
provides different harmonic fields attached to different frequencies. Consequently, one file is
generated for each harmonic field (related to one frequency of the possible periodic perturbations
in the domain). Each file can be separately loaded in ANSYS on the corresponding surfaces.
These additional files use the path name specified for the time averaged field (.cdb file with
interpolated CFD results). The extension . cdb is removed from the specified output file and the
name is completed as follows:
name_SurfaceX_YYY.inp
With X as the surface number (based on the order of the detected ANSYS surfaces) and YYY as
the name of the harmonic in the domain. This harmonic name can be found in the harmonic
characteristics presented in the page Numerical Model. For example, the first harmonic generated
by the adjacent row named G3 will be 1G3, the second one (double frequency) 2G3. and so on.
In order to help the user, the frequency is reminded in the first lines of the files with the following
comments:
/COM, Harmonic pressure (real and imaginary parts)
/COM, Frequency 2100.0000 Hz
When comparing the exported harmonic data between softwares, it is important to notice that the
harmonic definition in ANSYS is not identical to the one used in FINE/Turbo™ solver. In
FINE/Turbo™, the complex conjugate is used to compute the unsteady value of a flow variable:
With
as the complex amplitude of the k-th harmonic of the p-th
periodic perturbation and
its complex conjugate. So the
harmonic perturbation amplitude is:
In ANSYS, the harmonic perturbation with frequency
is defined by its amplitude
and its
phase angle
:
With
. Consequently, when
the
harmonics values are defined by their real and imaginary parts, a correction factor of 2 is needed
to get the same unsteady perturbation between FINE/Turbo™ and ANSYS softwares.
Another correction of the harmonic values is needed when the IGG™ patch is rotated (with or
without repetition). It is the same adaptation that is carried out on the periodic patches. It is based
on the phase angle defined for each harmonic: for i-th harmonic of a periodic signal generated by
,
an adjacent row with periodicity
in a row with periodicity rotating
rotating at
at
the phase angle
is given by the following formula:
Then, if the IGG™ patch is rotated
times of its periodicity, the harmonics values are
modified as follows:
so that they are continuously provided on the repeated patches.
10.1.5 Global Performance Output
The main results for global performance are summarized in a file with the extension ".mf". Inlet
and outlet averaged quantities, pressure ratios and efficiency are computed and stored in this file.
The ".mf" file also provides global averages at each rotor-stator interface. All the variables in the
.mf file are mass-averaged, except the static pressure which is area-averaged.
If the project does not involve any of inlet, outlet or rotor-stator interfaces (e.g. for external flow),
the ".mf" file is empty.
A row-by-row and/or stage-by-stage analysis can be performed by using the expert parameter
RBRSBS. Depending on the value of the expert parameter RBRSBS, additional performances
will be stored in the ".mf" file.
Geometrical data
The geometrical data are computed at the inlet and outlet boundaries, and at each rotor-stator
interfaces.
When there are multiple inlets or outlets with different periodicities, only one "number of blades"
is reported in the .mf file, but there will be a minus (-) sign before this number to indicate that
there are also other inlets or outlets with different periodicities than reported.
Fluid properties
The specific heat and the specific heat ratio are computed at the inlet and outlet boundaries, and at
each rotor-stator interfaces.
Absolute/Relative velocities
Both absolute and relative velocities, including the flow angles, are computed at the inlet and
outlet boundaries. At each rotor-stator interface, only absolute velocities, including the flow
angles, are computed.
The relative and absolute flow angles are derived from the averaged velocity components:
Static/Total quantities
The density, the pressures and temperatures are computed at the inlet and outlet boundaries and at
each rotor-stator interface.
For turbomachinery cases, rothalpy is computed as well.
For condensable fluids, static/total enthalpy, entropy and dryness fraction are computed at the inlet
and outlet boundaries and at each rotor-stator interface; isentropic static/total enthalpy is computed
at the outlet.
Global Performance
Global performance data, available in the ".mf" file, are calculated using the results at the inlet and
outlet boundaries of the computational domain (index 1 and 2 refer to the inlet and outlet sections
respectively).
Global Performance Output for Incompressible Fluid
The outputted global performance is depending on the type of the fluid. In case of incompressible
fluid, the following data will be written:
l Static pressure rise:
l Absolute total pressure rise:
l Static Head:
l Absolute total Head:
l Static temperature rise:
l Absolute total temperature rise:
l Efficiency
For turbomachinery cases with a rotor, the expressions proposed below are used. Several
efficiency definitions are available, selected through the expert parameter EFFDEF (default: 1).
The pressure ratio shown in the convergence history is depending of the value of EFFDEF. It will
correspond to
otherwise.
if 2 or
TABLE 10.4 Efficiency definitions for incompressible flows
EFFDEF
Pumps
Turbines
Expressions involving the Torque in TABLE 10.4 are computed only if the user activates the option
Compute force and torque in the Boundary Conditions page devoted to solid surfaces.
For non rotating projects (pure stator), the following expression is used to define the efficiency:
Global Performance Output for Perfect Gas
In case of perfect gas, the following data will be written:
l Static pressure ratio:
l Absolute total pressure ratio:
l Static temperature ratio:
l Absolute total temperature ratio:
l Isentropic efficiency
l Polytropic efficiency
For turbomachinery cases with a rotor, several efficiency definitions are available, selected
through the expert parameter EFFDEF (default: 1).
The pressure ratio shown in the convergence history is depending of the value of EFFDEF. It will
correspond to
otherwise.
if 3 or
if 2,
TABLE 10.5 Isentropic and polytropic efficiency definitions for perfect gas
EFFDE
Compressors
Turbines
For non-rotating projects (pure stator), the expression used to define efficiency is the same as
incompressible fluid.
Global Performance Output for Real Gas & Condensable Fluid
In case of real gas & condensable fluid, the following data will be written:
l Static pressure ratio:
l Absolute total pressure ratio:
l Static temperature ratio:
l Absolute total temperature ratio:
l Isentropic total to total or total to static efficiency
For turbomachinery cases with a rotor, the efficiency definition is given in the following table. For
by using the isentropic relation:
real gas, the value of
is obtained from the temperature
.
TABLE 10.6 Isentropic efficiency definition for real gas and condensable fluid
EFFDEF
Compressors
Turbines
For non rotating projects (pure stator), the expression used to define efficiency is the same as
incompressible fluid.
Solid Boundary Characteristics
This part of the file gives the characteristics of the quantities that are estimated at the solid
boundaries. Those quantities are computed from the global force
exerted by the flow at a given point. This force can be estimated from the pressure and velocity
fields at each point. The calculated quantities for an internal configuration are:
l Axial thrust, i.e. the projection of the global force on the rotation axis:
.
l The projection of the torque along a given direction
, i.e. the couple exerted by the global
force
along direction
. This direction is given through the expert
parameter IDCMP, the default value of which is (0,0,1).
l Power, defined as the product of the torque and the angular velocity.
The power will not be outputted with 2 non-zero rotation speeds in the computation, i.e. a
counter-rotating turbomachinery.
Cooling/Bleed data
In case that the cooling/bleed module is used in the computation, the following additional
information is available for each injector: mass flow, maximum Mach number, absolute total
pressure and absolute total temperature.
The additional information for Cooling/Bleed is available only when the option Spreading of the
Holes is activated.
Furthermore, the isentropic efficiency with Cooling/Bleed can be computed by activating the
EFFCOO parameter. This parameter is independent of EFFDEF. By activating EFFCOO, two
lines will be added in the .mf and .xmf files (Isentropic_efficiency with cooling, total_to_total and
total_to_static). The EFFCOO parameter is also compatible with the RBRSBS parameter with the
new efficiency being computed for rotating rows and for stages with rotating rows.
Even if the new values of efficiency are computed,
convergence history.
the old formulation will be used in the
The EFFCOO parameter can take the following values as outlined in TABLE 10.7:
TABLE 10.7
EFFCOO
Definition
The efficiency with cooling will not be computed
The efficiency with the formulation based on all inlets/outlets
will be used
The efficiency with the formulation based on the power will be
used
Formulation based on all inlets/outlets
The formulation based on all inlets/outlets is defined in TABLE 10.8 for compressors and
turbines:
TABLE 10.8 Isentropic efficiency definitions for cooling
 Perfect
Gas
 Real or
Condensabl
e Gas
 Perfect
Gas
Real or
Condensabl
e Gas
Compressor
Turbines
with:
the total number of cooling/bleeding injectors
the current cooling/bleeding injector mass flow
the current cooling/bleeding injector temperature
the current cooling/bleeding injector total enthalpy
the total number of cooling injectors
the current cooling injector mass flow
the current cooling injector temperature
the current cooling injector pressure
the current cooling injector isentropic enthalpy
Formulation based on the power
The formulation based on the power uses ideal and actual power formulations, the actual power
being evaluated from the torque. The efficiency is defined as the ratio between the actual power
and the ideal power.
Actual
Power
Based on
torque
Ideal
Power
Turbine
Compressor
Efficiency
Definition
Turbine
Compressor
The formulation based on the power is valid only for perfect gas. When another gas formulation is
used, the EFFCOO parameter is automatically changed to 1 (formulation based on all inlets and
outlets).
10.1.6 Plot3D Formatted Output
On the Computed Variables page it is possible to select Plot3D output to be created according to
the file format described in File Formats. The user may select between an ASCII format or
Fortran unformatted format.
When selecting the Unformatted file (binary) option, use the corresponding option in CFView™ to
open the file: click on the File Format... button in the menu File/Open Plot3D Project... and
select Unformatted. Do not select Binary format. In CFView™ the user needs to select also low
endian or big endian formats. On PC platforms (Windows and Linux) select binary low endian and
on all other platforms select binary big endian (more details in CFView™ User Manual).
10.2 EXPERT PARAMETERS
Azimuthal Averaged Variables
In expert mode the user may specify on the bottom of the Azimuthal Averaged Variables page
the Averaging patches of the 3D mesh used to define the mesh surface that will be projected
onto the meridional plane in order to support the azimuthal averaged variables. A default selection
is automatically presented for AutoGrid™ meshes. Four input boxes are provided to enter the
number of patches, the index of the patch being defined, the block number and six indices to
define the patch. For instance, the six indices: 1 1 1 65 1 129, define a patch of a given block
corresponding to a face I = 1 and for J =1 to 65 and K=1 to 129.
The same system is used to define blade patches that will simply be projected in the meridional
plane to visualize the variables on the blade pressure side or suction side.
The indices must be defined on the finest mesh.
MERMAR(real): Safety margin for azimuthal averaged CFView™ solution. The mesh is shrunk
with a factor of 1 - MERMAR.
l 1st entry = axial safety margin
l 2nd entry = radial safety margin
The purpose of these two margins is to avoid points near the boundaries for which the azimuthal
averaging can not be performed. In general the azimuthal averaging is performed by taking a
point on the defined patch and to average the values for points in azimuthal direction starting from
this point. If there is not a sufficient amount of points in azimuthal direction the average is not
computed for that point and therefore the value for this point is not represented in CFView™. To
avoid such 'blank' points near the edges of the patches it may be necessary to take a certain
margin from the edges of the patches.
The default values for the safety margins are appropriate for meshes on surfaces of revolution. If
the mesh is not a mesh on surfaces of revolution, higher margins may be required. See the theory
guide for more detailed information on the methods available for azimuthal averaging and the use
of these margins.
Use of the 3rd and 4th entry is not supported.
MERTOL (float): This parameter controls the offset applied to the averaging process when
running parallel partitioned computation. MERTOL will multiply the DR and DZ between the
current vertex and the other vertex of the smallest diagonal of the surrounding cells. The
consequent offset is applied for the calculation of the azimuthal average.
The default value of the parameter MERTOL is 0 (no offset). In case of presence of unphysical
oscillation in the azimuthal average, the value of MERTOL can be increased. Higher value will
reduce the occurrence of unphysical oscillation but will also reduce the accuracy of the average at
wall. Values ranging from 0.001 to 0.02 have been used on different cases in order to get a
correct solution. However, the best value is case dependent.
Global Performance Output
To influence the type of output written in the file with extension ".mf" the following expert
parameters can be used:
EFFDEF (integer): Efficiency definition for projects with at least one rotating block. This
parameter is available only for incompressible fluid and perfect gas.
l 1 (default): total to total,
l 2: total to static,
l 3: static to static.
OUTTYP(integer): Select the type of output:
l 0 (default): torque and drag,
l 1: heat flux and energy,
IWRIT(integer): Add some additional output on all block faces such as mass flow through these
faces:
l 0 (default): deactivated,
l 1: mass flow through rotor/stator interfaces,
l 3: summarizes the mass flow through different boundary types (SOL, ROT, INL,...),
l 4: mass flow through all block faces.
RBRSBS(integer): Analyze the performance of every single element (row and/or stage) of a
multi-stage machine. The following additional outputs are available in the ".mf" file: the mass
flow in and out, the static and total pressure ratio/rise, the static and total temperature ratio/rise, the
isentropic and polytropic efficiency, the axial thrust, the torque and the power.
l 0 (default): no extra analysis
l 1: row-by-row analysis
l 2: stage-by-stage analysis (stage = stator + rotor)
l 3: row-by-row and stage-by-stage analysis (stage = stator + rotor)
l -2: stage-by-stage analysis (stage = rotor + stator)
l -3: row-by-row and stage-by-stage analysis (stage = rotor + stator)
The RBRSBS analysis is limited to the classical turbomachinery configurations with 1 upstream to 1
downstream in each Rotor/Stator interface. By-pass configurations are not supported.
The orientation of the Rotor/Stator interface must be defined correctly.
The number of Rotor/Stator interfaces must be larger than 0.
IDCDP(real): This parameter gives the direction (i.e. 3 values) on which the body force has to be
projected to give the axial thrust or the drag component. E.g. 1,0,0 means that the drag is the x-
component of the body force.
IDCLP(real): For flows around bodies this parameter gives the direction (i.e. 3 values) on which
the body force has to be projected to give the lift component. E.g. 1,0,0 means that the lift is the x-
component of the body force. For internal (IINT=1) cylindrical cases this parameter is not used.
IDCMP(real): This parameter gives the direction (i.e. 3 values) on which the moment vector on
the body has to be projected to give the moment. E.g. 1,0,0 means that the moment is the x-
component of the moment vector.
IXMP (real): Specifies the x,y,z coordinate of the point around which the moment has to be
calculated. The coordinates are expressed in meters.
IUNIMF(integer): When a units system is chosen in FINE™/Turbo, the .mf file can be written
using this units system or using the SI system (except that angles are always explained in degree).
l 0 (default): the .mf file is written using the SI system.
l 1: the .mf is written using the units system chosen in FINE™/Turbo GUI.
ADECMF(integer): The expert parameter ADECMF is used to adjust the precision of quantities
in .mf file. By default, the expert parameter ADECMF is set to 0. The value of the expert
parameter ADECMF can be set to 2 or 4 in order to have 2 or 4 additional decimal places.
Solid Data Output
ICGP3D(integer): When solid wall data is outputted, the grid coordinates of the solid patch(es)
can be written in the .cgns file or not.
l 0 (default): don't write the coordinates of the solid patch(es) in the .cgns file.
l 1: write the coordinates of the solid patch(es) in the .cgns file.
CHAPTER 11.
TASK MANAGER
Using the Solver menu in FINE™/Turbo, computations can be started, stopped or killed. For basic task
management these menu items are sufficient.
The Task Manager provides more advanced features for the management of (multiple) tasks. It allows
to manage tasks on different machines on a network, to define parallel computations or to delay tasks
to a given date and time.
Before using the Task Manager for the first time it is important to read the next section first. This
section provides important information for getting started with the Task Manager. Read this section
carefully to fully benefit of the capabilities of the Task Manager.
From FINE™/Turbo the Task Manager can be accessed through the Modules/Task Manager menu
item.
In The Task Manager Interface section the Task Manager interface is described in detail including a
description of all capabilities. The current limitations of the Task Manager are listed in the Limitations
section.
To manage tasks through the use of scripts is also possible and has the benefit that it is not necessary to
stay logged in on the machine on which the tasks are launched. See Task Management in Batch for
more detail on the scripts to use to launch NUMECA software.
In this section
11.1 Getting Started
11.2 The Task Manager Interface
11.3 Parallel Computations
11.4 Task Management in Batch
11.5 Limitations
433
438
460
467
501
11.1 GETTING STARTED
11.1.1
PVM Daemons
The Task Manager is based on the PVM library. It allows FINE™/Turbo to control processes and
communication between processes on all the machines available by the user. PVM works with a
virtual machine managed through a pvm daemon. In this section the way PVM daemons are
working and its limitations under Windows are described.
What PVM Daemons Do
If a user starts the FINE™/Turbo interface on a given computer where no PVM daemon is
running, FINE™/Turbo will start the process pvmd on this machine that becomes the virtual
machine server for the user. When adding a host in the Task Manager (on the Hosts definition
page) a pvmd is started on the remote computer that is added to the virtual machine. If after that
the user logs on the second computer and starts the FINE™/Turbo interface this second computer
belongs also to the virtual machine whose server is the first pvmd started.
If after that the user logs on a third computer on which no pvmd is running and starts the
FINE™/Turbo interface, FINE™/Turbo will start a pvmd that becomes the server of a new
virtual machine. When trying to add a host belonging the first virtual machine (containing the two
first computers), a warning message will be shown that it is not possible to connect to the virtual
machine because a pvmd is already running.
If the user wants to have the three computers in the same virtual machine, one of the virtual
machines must be shut down (on the Hosts definition page) and add the corresponding
computers from the second one.
Limitation under Windows
On windows only one pvmd can run and hence, only one single user can connect to the virtual
If another user wants to use the NUMECA software on the PC as server
machine.
(FINE™/Turbo) or as client (EuranusTurbo), the first one needs to shut down the pvm daemons
on this machine. To shut down go to the Hosts definition page and click on Shutdown button.
This will close the interface and it will remove all the pvm daemons on the machine. Remove the
files pvml.<userID> and pvmd.<userID> from the directory defined by the PVM_ TMP (by
default C:\tmp).
On Windows Server system, it is possible to run multiple parallel computations by different users at
the same time making use of task manager. For more information, please contact with your local sales
and support office.
11.1.2 Multiple FINE™/Turbo Sessions
During a FINE™/Turbo session all the tasks defined by the user are stored in the tasks file in the
NUMECA tmp directory. This is the .numeca/tmp directory in the home directory of the user. On
Linux the home directory corresponds to the HOME environment variable. This is also true on
Windows if this variable is defined and, if it is not the case, it is set to the concatenation of
HOMEDRIVE and HOMEPATH environment variables.
When FINE™/Turbo is started more than once at the same time, a warning indicates to the user
that FINE™/Turbo is already running and can enter in conflicts with the other FINE™/Turbo
sessions. The user can define tasks in both interfaces but the task definitions saved when exiting
FINE™/Turbo will be overwritten by the other sessions. Therefore, it is not advised to open
multiple FINE™/Turbo sessions when the Task Manager is used.
11.1.3 Machine Connections
The Task Manager allows the user to control processes on all the machines connected to the
network. The rsh command is used by the PVM library to access the machines. Before using the
Task Manager, the following actions must be done:
1. On Windows platforms the Numeca RSH Daemon has to be started. The user is referred to the
installation note for more details.
2. Modify the .rhosts file in the home directory (on Linux) or the rhosts.txt file in C:\WINDOWS
(on Windows) in all the machines which can be used by the Task Manager. i.e.: if the
machines machine1 and machine2 will be used by the users tasks from machine_master, the
file in machine1 and machine2 must be modified as follows:
line1: machine_master <login1>
where machine_master is the host name. login1 is optional. If the login on machine_master is
different from login1, the user in machine_master will be asked to supply a password when
connecting to machine1 and machine2.
The rhosts file needs to be ended by a blank line.
The file permission must be set to 'rw' (on Linux: chmod 600 ~/.rhosts).
3. Test the rsh command on the desired machine: an external check that the .rhosts file is set
correctly is to enter the following command line:
% rsh remote_host ls <Enter> when the remote host is Linux or rsh remote_host dir <Enter>
when the remote host is on Windows.
where remote_host is the name of the machine to connect to. If the login on the remote host is
not the same, ensure that the .rhosts file contains the line:
remote_host local_login
and in this case the command line is:
% rsh remote_host -l local_login ls when the remote host is Linux or rsh remote_host -l local_
login dir <Enter> when the remote host is on Windows.
If the rhosts file is set up correctly, a listing of the files is shown on the remote host.
On Windows,
DIRECTORY>/fine#/bin/
the
rsh.exe
executable
is
located
in < NUMECA_ INSTALLATION_
The ssh command can be used instead of the rsh command on Linux. To use this command, the user
has to define an environment variable NI_RSHCMD in the shell before starting FINE by typing the
following:
l for csh or tcsh:
setenv NI_RSHCMD ssh
l for bash or ksh:
export NI_RSHCMD = ssh
Of course the settings of the NI_RSHCMD can be added to the ".cshrc", ".tcshrc", ".bashrc" or
".profile" file of the user.
Due to a limitation of the PVM library, FINE™/Turbo can not be connected to a machine where
FINE™/Turbo has already been started. When PVM tries to establish the connection, it detects that a
server FINE™/Turbo is already running and/or pvm daemons are still running and finally refuses the
connection with a warning. To solve this problem, the PVM daemons must be stopped on the machine
on which FINE™/Turbo must be connected:
1. Log on the machine where the connection must be established.
2. Start FINE™/Turbo and open the Task Manager through Modules/Task Manager and use
the button Shutdown of the page Hosts definition. The button Shutdown can be used to switch
off all the PVM daemons of all the machines connected to FINE™/Turbo. This action will
stop all the daemons on all the machines connected, kill all the tasks and finally exit
FINE™/Turbo.
3. On Linux: remove all the /tmp/pvmd.<userID> and /tmp/pvml.<userID> files. On Windows
these files should be removed from the directory defined by PVM_ TMP (by default this
directory is C:\tmp).
4. Repeat this operation for all the machines on which the problems appear.
script
located
cleanpvmd
INSTALLATION_
The
DIRECTORY>/fine#/COMMON/, provided with the NUMECA software, will automatically
perform steps 2 and 3 on all machines listed in the .rhosts file. This script is only available for
Linux platforms. Performing the script cleanpvmd will kill all the PVM daemons on every
computer in the .rhosts file. This means that it will also kill the running computation that are
connected to these PVM daemons.
< NUMECA_
in
5. If PVM still has a problem to get the connection, it will print an error message either to the
screen, or in the log file /tmp/pvml.<userID> (on Linux) or in the directory defined by the
environment variable PVM_TMP (by default C:\tmp) in the log file called: pvml.<userID>.
Please send this log file to our local support office.
All these operations apply to the users daemons and users files. Multiple users can use the Task
Manager simultaneously. No interaction appears between PVM daemons and PVM log files of
different users.
On Windows, when the user stops the pvmd on a remote host (using Remove Host button on the
Hosts definition page) and immediately tries to restart it (using the Add Host ... button), a
message will appear stating that it is not possible to connect. This problem does not occur in
general since there is no need to remove a host and add it immediately after. When it occurs the
only solution is to wait until the host is available again (after 5 to 10 minutes). More details are
available in the installation note.
From time to time, when a user tries to connect on a remote host, an error message can appear
very briefly: "Can not connect to RSH Port!!!" This may happen on Windows connecting to a
host, disconnecting, and trying to reconnect again to the same host. There is a socket release time
parameter which keeps the connection for some time.
11.1.4
Remote Copy Features on Linux
All the tasks defined by the user are associated with files used or created by the NUMECA's
software. When the files are not visible from the machine on which the task must be launched (i.e.
the files are on the local disk of the host where FINE™/Turbo is running), the user can use the
remote copy feature proposed in the Task Manager. All the files needed by the tasks will be
transferred into a directory (specified by the user) of the remote machine and at the end all the
created or modified files are transferred back to the host machine from which the task has been
launched. By default, the available remote directories are "/tmp". The user can also specify any
other directory, as long as it is visible from the remote host and has writing permissions.
This feature uses by default the scp command (encapsulated in the nircp script) unless the
environment variable NI_RCPCMD is set to rcp or scp. In this case, the command defined by
this environment variable will be launched.
l for csh or tcsh:
setenv NI_RCPCMD rcp
l for bash or ksh:
export NI_RCPCMD = rcp
Before using the remote copy feature when the environment variable NI_RCPCMD is set to rcp,
it is advised to first check if the rcp command works correctly between the machines:
l First try the rsh command .
l Type the command: touch test;rcp -p -r test destination_machine:/tmp/test. If no error is
returned by the system, the remote copy works between the local host and the destination_
machine. Errors may appear if the .cshrc file contains an stty command. In order to be able to
use the remote copy feature, remove all the stty commands from the .cshrc file.
l If the login on the local host is different from the login on the remote host, type the command:
touch test;rcp -p -r test remote_login@destination_machine:/tmp/test.
11.2
THE TASK MANAGER INTERFACE
11.2.1 Hosts Definition
The Hosts definition page shows the host name, the operating system, the connection status and
the queuing system supported by FINE™/Turbo if any. For an explanation of the virtual machine
see PVM Daemons. If the connection is not OK, it means that the corresponding computer is not
in the virtual machine anymore. This may occur for example if the computer has been rebooted.
FIGURE 11.1
Hosts definition page
Add Host
When the user clicks on the Add Host... button, the interface asks for a host name and a login
name. The login name is optional. It is needed only if the login of the user on the local and remote
host are different.
When the user accepts (Accept), the host name appears in the host list, with type of operating
system and its connection status. At this point, the host is in the virtual machine, and is ready to
receive a task.
FIGURE 11.2
Add a Host
If the connection can not be established, check for more detail
Connections and Remote Copy Features on Linux.
in PVM Daemons , Machine
The reason that
the Task Manager freezes can be because FINE™/Turbo has been launched in
background using an additional & symbol behind the command line. You can unfreeze the Task
Manager with the <fg> command.
It is impossible to add a host on Fedora 3 and Windows Vista operating systems.
Remove Host
When the user clicks on the Remove Host button, the selected host is removed from the list, and is
not in the virtual machine anymore. This operation is not allowed when a task is running on the
host, to be removed, or when the selected host is the local one.
Shutdown
When the user clicks on the Shutdown button, all hosts in the virtual machine are removed.
FINE™/Turbo exits and the virtual machine halts. All running tasks are killed. This option is
useful when the user wants to change the machine on which FINE™/Turbo is running. See PVM
Daemons for more detail on virtual machines and when to change this.
11.2.2 Tasks Definition
A task is a collection of subtasks, where a subtask is one of the programs with its arguments
(".run" file for the FINE™/Turbo and FINE™/Design3D solver, template ".trb", geometry
".geomTurbo" and mesh ".igg" files for AutoGrid™ and macro file ".py" and ".run" file for
CFView™). The different subtasks of a given task can be run simultaneously if the output of one
subtask is not needed by other ones (for example: several CFView™ subtasks with different
macro ".py" files or several the FINE™/Turbo solver subtasks with different ".run" files started
on different computer). If the output of one subtask is needed by other ones, they must be run
sequentially. For example: AutoGrid™ generates the mesh that is used for starting an the
FINE™/Turbo solver computation whose output is used for starting CFView™.
A. Task List
In this section, the user can visualize the defined tasks and their status. To create a task, just click
on New Task button. The defaults task name can be modified by clicking on Rename Task button.
The selected task can be removed by clicking on Remove Task button.
After a subtask is defined, the Save button can be used to save all necessary files to start a parallel
computation in batch mode. When a queuing system is used, a set of default templates is available
in order to submit the job to the queue. New templates can also be created by the user.
Once a task is created and defined , it can be started or stopped just by
clicking respectively on the Start or Stop button.
The user can delay the start of a computation by clicking on Delay button. A dialog box will
appear where the user can set a task that will be launched at the specified date and time or after
another specified task has finished. The delayed task can be disabled using the button Cancel.
When the user validates the data, a little watch in the task list indicates that the task is scheduled:
FIGURE 11.3
Task List with Delay window to start a task at a later moment
When setting a task that will be launched after another specified task has finished, the reference task
should not be a computation launch from the FINE™/Turbo GUI. Otherwise the delayed task will not
start.
The task manager should not be closed once you delay one task. Otherwise, the delayed task will not
be started.
B. Task Definition
In this section the subtasks of the selected task are listed. A subtask is defined by its type
(FINE™/Turbo solver, AutoGrid™, CFView™ or Design3D), its status and the host on which
they are launched. To add a subtask click on the New button in Task Definition area. Select the
executable name (FINE™/Turbo solver, AutoGrid™, CFView™ or Design3D) and the host on
which the process should be started, from the two available lists. The host name list contains the
hosts that are in the virtual machine. They are set in the Host definition page.
C. Subtask Arguments
Definition of Input & Output
Once a subtask is created, input and/or output files must be defined in the Subtask Arguments &
characteristics section:
l The FINE™/Turbo solver and the FINE™/Design3D solver require one argument file: the
name of the ".run" file. This files is created using the menu File/Save Run Files in the
FINE™/Turbo GUI and FINE™/Design3D GUI.
l The mesh generation system AutoGrid™ requires three files as arguments: the ".trb" file, the
".geomTurbo" file and as output the grid file ".igg" 
When working on a remote host, the process still requires a valid display. On Windows platforms,
it is not possible to transfer the display, therefore the mesh generation has to be executed locally.
On Linux platforms, the command <xhost +> has to be executed on the local machine.
l The flow visualization system CFView™ requires two files: the ".run" file and a macro file
".py" 
When working on a remote host, the process still requires a valid display. On Windows platforms,
it is not possible to transfer the display, therefore the flow postprocessing has to be executed
locally. On Linux platforms, the command <xhost +> has to be executed on the local machine.
l The run file is automatically opened by CFView™ before starting the macro. The macro file
may open other ".run" files to perform flow comparisons .
Simultaneous or Sequential Mode
Moreover, a process can be executed simultaneously with the other subtasks (by selecting Run
Simultaneously with Previous Subtask ) or sequentially (by selecting Run After Previous
Subtask). In sequential mode, the process waits until the previous subtask is finished before
starting the next one. This is only available for AutoGrid™, Design3D and the FINE™/Turbo
solver subtasks. Only a certain amount of tasks can be performed at the same time depending on
the available licenses. The subtasks related to postprocessing with CFView™ are always
executed in sequential mode.
Remote Copy
The Remote copy to option allows the user to specify that the files are not visible from the remote
machine and must be transferred. This is only available for AutoGrid™, Design3D and the
FINE™/Turbo solver.
Launching Mode
The FINE™/Turbo solver has an integrated multiprocessor machine concept, which allows the
user to launch the flow solver in serial mode or parallel mode. FINE™/Turbo provides two
parallel versions of the flow solver: Parallel Computation relies on the existing block structure
and Parallel Partitioned Computation allows to automatically split the mesh in order to run the
computation on a massively parallel environment, see Parallel Computations for more
information.
Sequential Computation
By default, the FINE™/Turbo solver will be launched in sequential mode. Nothing is needed to
set a sequential computation.
Parallel Computation - MPI system
The option Parallel Computation can be selected to specify that the parallel version of the flow
solver has to be used for this computation.
Two types of license keys can be used to trigger parallel computations: either seat-locked type
(MPROC) whose associated cores cannot be shared between several simultaneous parallel
computations or flexible type (FFLEX) whose associated cores can be distributed between several
simultaneous parallel computations. The flow solver uses the seat- locked type in priority.
Checking the button Flexible Cores Type from License forces the flow solver to use the flexible
license key type in priority.
The button Parallel Settings gives access to the dialog box used to set up a parallel computation.
When the dialog box is opened, the block list displays all the blocks of the mesh. The user can
define new processes on all the available machines. Additionally, the load balancing can be
defined manually or automatically (by using the Automatic Load Balancing button).
The parallel processing can only be used on multiprocessor machine (shared memory mode) or on
machines with the same operating systems (homogenous distributed memory mode)
See Parallel Computations for more detailed information.
FIGURE 11.4
Parallel settings - load balancing
Parallel Computation - Queuing system
Within the Task Manager, the parallel computation can also be set-up on the Sun Grid Engine
batch system (SGE), the Portable Batch System (PBS) or the Load Sharing Facility (LSF).
When setting a parallel computation on a queuing system, the button Queuing system has to be
activated and the option Parallel Computation has to be selected.
Two types of license keys can be used to trigger parallel computations: either seat-locked type
(MPROC) whose associated cores cannot be shared between several simultaneous parallel
computations or flexible type (FFLEX) whose associated cores can be distributed between several
simultaneous parallel computations. The flow solver uses the seat- locked type in priority.
Checking the button Flexible Cores Type from License forces the flow solver to use the flexible
license key type in priority.
The button Parallel Settings gives access to the dialog box used to set up a parallel computation
on a queuing system.
After the dialog box is opened, the block list displays all the blocks of the mesh, . When a queuing system is used, the
number of processors and the system environment have to be specified. Depending on the number
of processors, the load balancing can be defined automatically (by using the Automatic Load
Balancing button) or manually.
FIGURE 11.5
Parallel settings - load balancing for SGE/PBS/LSF
SGE system
The SGE system includes the possibility to add a SGE type host and to define arguments needed
to launch the computation within the Task Manager.
Host Definition
In the page Hosts definition the user needs to add the host. When adding the host, automatic
checks are performed:
1.
2.
3.
it will detect if the "sge_qmaster" or "sge_execd" is running on the platform. If not, it means
that the platform does not have SGE capabilities.
it will detect all parallel environments defined in SGE.
it will detect all parallel environments,
the user is allowed to use. If no parallel
environment could be accessed by the user, his login should be added to the user list by the
SGE administrator.
that
When all checks are successful, the SGE capability of the added host is activated and the user can
see if the host added is a SGE platform within the Task Manager GUI (FIGURE 11.1).
Task Definition
If the user selects a SGE platform when launching an FINE™/Turbo solver task in parallel, the
Task Definition page gives access to the MPI or SGE system. When the SGE system is used, the
task can be defined as shown FIGURE 11.5. In the Parallel Settings dialog box, SGE templates
are available to run OpenMPI ("default_ompi") or IntelMPI ("default_impi") flow solver.
The user can change the block distribution but not the process host names since the SGE system only
asks for a number of processors.
See Parallel Computations for more detailed information on parallel computations.
Process Management
Once the process is starting, the ".run" file is modified automatically, depending on the number of
processors used. A script file (".sge") is also created at the same time as the ".p4pg" file, when
using MPI system.
The name of the SGE job is limited to 8 characters and the following format
is thus chosen
"comp####" where #### stands for any number depending of the number of SGE jobs already
running under the same environment.
Because the FINE™/Turbo solver is not
there is no
communication with the Task Manager. To test if a computation is running, the "qstat" command
with the job-ID number of the SGE job is used.
launched using the PVM daemon,
To save an intermediate solution of the SGE job, the user can create a ".save" file in the running
computation directory that will enable the FINE™/Turbo solver to save a solution at the next
iteration or after the full multigrid initialization without stopping the job.
To stop the SGE job, the user can use the Stop function of the Task Manager. It will create
automatically a ".stop" file in the running computation directory that will enable the
FINE™/Turbo solver to stop after saving the solution at the next iteration or after the full
multigrid initialization.
To kill the SGE job, the user can use the Kill function. The Task Manager will then use the
SGE’s function "qdel" to kill the computation without saving the solution.
To kill the FINE™/Turbo solver properly, the SGE’s "execd parameters" variable should be set to
"NOTIFY_KILL=TERM" and the "notify time" variable of nodes should be set to a sufficient value
to allow the FINE™/Turbo solver to exit properly (e.g. 120 seconds). In general, this variable should
be set to a value higher than the time required for 1 iteration. We advise the user to ask the SGE
administrator to check these variables.
PBS system
The PBS system includes the possibility to add a PBS type host and to define the arguments
needed to launch the computation within the Task Manager.
Host Definition
In the page Hosts definition the user needs to add the host. When adding the host, automatic
checks are performed:
1.
it will detect if the process "pbs_mom" is running on the platform. If not, it means that the
platform does not have PBS capabilities.
2.
it will detect all defined PBS environments.
When all checks are successful, the PBS capability of the added host is activated and the user can
see if the host added is a PBS platform within the Task Manager GUI (FIGURE 11.1).
Task Definition
If the user selects a PBS platform when launching an FINE™/Turbo solver task in parallel, the
Task Definition page gives access to the MPI or PBS system. When the PBS system is used, the
task can be defined as shown in FIGURE 11.5 . In the Parallel Settings dialog box, PBS
templates are available to run OpenMPI ("default_ ompi") or IntelMPI ("default_ impi") flow
solver.
The user can change the block distribution but not the process host names since the PBS system only
asks for a number of processors.
Process Management
Once the process is starting, the ".run" file is modified automatically, depending on the number of
processors used. A script file (".pbs") is also created at the same time as the ".p4pg" file, when
using MPI system.
is thus chosen
The name of the PBS job is limited to 8 characters and the following format
"comp####" where #### stands for any number depending of the number of PBS jobs already
running under the same environment.
Because the FINE™/Turbo solver is not
there is no
communication with the Task Manager. To test if a computation is running, the "qstat" command
with the job-ID number of the PBS job is used.
launched using the PVM daemon,
To save an intermediate solution of the PBS job, the user can create a ".save" file in the running
computation directory that will enable the FINE™/Turbo solver to save a solution at the next
iteration or after the full multigrid initialization without stopping the job.
To stop the PBS job, the user can use the Stop function of the Task Manager. It will create
automatically a ".stop" file in the running computation directory that will enable the
FINE™/Turbo solver to stop after saving the solution at the next iteration or after the full
multigrid initialization.
To kill the PBS job, the user can use the Kill function. The Task Manager will then use the PBS’s
function "qdel" to kill the computation without saving the solution.
the FINE™/Turbo solver properly,
to a
To kill
sufficiently high value to allow the FINE™/Turbo solver to exit properly (e.g. 120 seconds). In
general, this variable should be set to a value higher than the time required for 1 iteration. We advise
the user to ask the PBS administrator to check this variable.
the PBS variable "kill_ delay" should be set
LSF system
The LSF system includes the possibility to add a LSF type host and to define the arguments
needed to launch the computation within the Task Manager.
Host Definition
In the page Hosts definition the user needs to add the host. When adding the host, automatic
checks are performed:
1.
it will detect if the process "sbatchd" is running on the platform. If not, it means that the
platform does not have LSF capabilities.
2.
it will detect all defined LSF environments.
When all checks are successful, the LSF capability of the added host is activated and the user can
see if the host added is a LSF platform within the Task Manager GUI (FIGURE 11.1).
Task Definition
If the user selects a LSF platform when launching an FINE™/Turbo solver task in parallel, the
Task Definition page gives access to the MPI or LSF system. When the LSF system is used, the
task can be defined as shown in FIGURE 11.5 . In the Parallel Settings dialog box, LSF
templates are available to run OpenMPI ("default_ ompi") or IntelMPI ("default_ impi") flow
solver.
The user can change the block distribution but not the process host names since the LSF system only
asks for a number of processors.
Process Management
Once the process is starting, the ".run" file is modified automatically, depending on the number of
processors used. A script file (".lsf") is also created at the same time as the ".p4pg" file, when
using MPI system.
The name of the LSF job is limited to 8 characters and the following format
is thus chosen
"comp####" where #### stands for any number depending of the number of LSF jobs already
running under the same environment.
there is no
Because the FINE™/Turbo solver is not
communication with the Task Manager. To test if a computation is running, the "bjobs" command
with the job-ID number of the LSF job is used.
launched using the PVM daemon,
To save an intermediate solution of the LSF job, the user can create a ".save" file in the running
computation directory that will enable the FINE™/Turbo solver to save a solution at the next
iteration or after the full multigrid initialization without stopping the job.
To stop the LSF job, the user can use the Stop function of the Task Manager. It will create
automatically a ".stop" file in the running computation directory that will enable the
FINE™/Turbo solver to stop after saving the solution at the next iteration or after the full
multigrid initialization.
To kill the LSF job, the user can use the Kill function. The Task Manager will then use the LSF’s
function "bkill" to kill the computation without saving the solution.
To kill the FINE™/Turbo solver properly, the LSF variable "JOB_TERMINATE_INTERVAL" should
be set to a sufficiently high value to allow the FINE™/Turbo solver to exit properly (e.g. 120
seconds). In general, this variable should be set to a value higher than the time required for 1
iteration. We advise the user to ask the LSF administrator to check this variable.
Parallel Partitioned Computation - MPI system
The option Parallel Partitioned Computation can be selected to specify that the parallel
partitioned version of the flow solver has to be used for this computation.
Two types of license keys can be used to trigger parallel computations: either seat-locked type
(MPROC) whose associated cores cannot be shared between several simultaneous parallel
computations or flexible type (FFLEX) whose associated cores can be distributed between several
simultaneous parallel computations. The flow solver uses the seat- locked type in priority.
Checking the button Flexible Cores Type from License forces the flow solver to use the flexible
license key type in priority.
The button Parallel Partitioned Settings gives access to the dialog box used to set up a parallel
partitioned computation.
FIGURE 11.6
Parallel partitioned settings
For parallel partitioned computation, the mesh will be automatically partitioned. What the user
needs to do is to define the hosts with the number of processes and to specify the parameters used
to split and partition the mesh.
On the left side of the parallel partitioned settings dialog, the hosts can be added or removed. The
list shows all the defined hosts and its processes. The button New Process(es) on allows to add
the specified number of processes (left of the button) on the selected host (right of the button) to
the host list. The button Remove Selected Host And Its Processes allows to remove the selected
host from the list.
For the partition, the user needs to specify the Target load balance efficiency, which is a real
between ]0,1[. More the target load balance efficiency is close to 1, more the workload, the
communications,... will be properly balanced over the processes but more sub blocks will
compose the partition. In order to keep the computational efficiency, the maximum number of
blocks per process is limited to 8 in the parallel partitioned computation. So, if the user specify a
large target load balance efficiency, a partition will be proposed even if it does not raise the
expected balancing. Values between 0.8 and 0.9 have been shown to be easily attainable with
most models. If the option Split block into two subblocks (n subblocks otherwise) is activated,
the block will be split into two subblocks when splitting. Otherwise the block will be split into n
subblocks (depending on the case).
After setting the parameters, click-left on the button Apply Virtual Partitioning to launch the
symbolic partitioning and balancing algorithm. The status of the partitioning algorithm can be
checked by clicking on the button Partitioning Status>>.
The parallel processing can only be used on multiprocessor machine (shared memory mode) or on
machines with the same operating systems (homogenous distributed memory mode)
See Parallel Computations for more detailed information on parallel partitioned computations.
Parallel Partitioned Computation - Queuing system
Within the Task Manager, the parallel partitioned computation can be set-up on the Sun Grid
Engine batch system (SGE), the Portable Batch System (PBS) or the Load Sharing Facility
(LSF).
When setting a parallel partitioned computation on a queuing system, the button Queuing system
can be activated.
Two types of license keys can be used to trigger parallel computations: either seat-locked type
(MPROC) whose associated cores cannot be shared between several simultaneous parallel
computations or flexible type (FFLEX) whose associated cores can be distributed between several
simultaneous parallel computations. The flow solver uses the seat- locked type in priority.
Checking the button Flexible Cores Type from License forces the flow solver to use the flexible
license key type in priority.
The button Parallel Partitioned Settings gives access to the dialog box used to set up a parallel
computation on a queuing system, see FIGURE 11.5
FIGURE 11.7
Parallel settings - load balancing for SGE/PBS/LSF
The user must specify the Number of processors and the Target load balance efficiency. The
target load balance efficiency is a real number between ]0,1[. The closer to 1 the target load
efficiency is, the more well-balanced over the processes the workload will be. However, the
number of subblocks composing the partition will increase. In order to keep the computational
efficiency, the maximum number of blocks per process is limited to 8 in the parallel partitioned
computation. So, if the user specifies a large target load balance efficiency, a partition will be
proposed even if it does not reach the expected balancing. Values between 0.8 and 0.9 have been
shown to be easily attainable with most models. If the option Split block into two subblocks (n
subblocks otherwise) is activated, the block will be split into two subblocks when splitting.
Otherwise the block will be split into n subblocks (depending on the case).
After setting the parameters, click-left on the button Apply Virtual Partitioning to launch the
symbolic partitioning and balancing algorithm. The status of the partitioning algorithm can be
checked by clicking on the button Partitioning Status>>.
In addition, the user must select the queuing system environment and the template used to
submit the computation to the queuing system. Default templates are provided for each queuing
system to run OpenMPI ("default_ompi") or IntelMPI flow solver ("default_impi"). A customized
template can also be used.
When clicking on the Save button (FIGURE 11.3), a script (sge/pbs/lsf) file will be saved together
with the updated .run file in the computation folder. The user can launch the computation by click
the button Start (FIGURE 11.3) or by using the script file manually.
The name of the SGE job is limited to 8 characters and the following format
is thus chosen
"comp####" where #### stands for any number depending of the number of SGE jobs already
running under the same environment.
On queuing system,
communication with the Task Manager. To test if a computation is running:
the FINE™/Turbo solver is launched in batch mode. There is no
l for SGE system, use the "qstat" command with the job-ID number of the SGE job.
l for PBS system, use the "qstat" command with the job-ID number of the SGE job.
l for LSF system, use the "bjobs" command with the job-ID number of the LSF job.
To stop the computation, the user can use the Stop button of the Task Manager (FIGURE 11.3).
To kill the computation, the user can use the Kill button (FIGURE 11.3).
To kill the FINE™/Turbo solver properly, the SGE’s "execd parameters" variable should be set to
"NOTIFY_KILL=TERM" and the "notify time" variable of nodes should be set to a sufficient value
to allow the FINE™/Turbo solver to exit properly (e.g. 120 seconds). In general, this variable should
be set to a value higher than the time required for 1 iteration. We advise the user to ask the SGE
administrator to check these variables.
the FINE™/Turbo solver properly,
To kill
to a
sufficiently high value to allow the FINE™/Turbo solver to exit properly (e.g. 120 seconds). In
general, this variable should be set to a value higher than the time required for 1 iteration. We advise
the user to ask the PBS administrator to check this variable.
the PBS variable "kill_ delay" should be set
To kill the FINE™/Turbo solver properly, the LSF variable "JOB_TERMINATE_INTERVAL" should
be set to a sufficiently high value to allow the FINE™/Turbo solver to exit properly (e.g. 120
seconds). In general, this variable should be set to a value higher than the time required for 1
iteration. We advise the user to ask the LSF administrator to check this variable.
User-defined Templates on Queuing Systems
If the option Queuing system in the Task Definition page is activated, the user needs to select a
template in the Parallel settings dialog box in order to submit the computation to the queue. By
default, a set of templates is available for the supported queuing systems SGE, PBS and LSF
(with corresponding extension .sge, .pbs or .lsf).
The user can also create a new template to customize the settings: queuing system environment,
OpenMPI, IntelMPI, etc. In order to use a user-defined template, the user has to:
l name the new template using the extension .sge, .pbs or .lsf, corresponding to the queuing
system,
l copy the template to the queuing templates folder:
l On Linux systems:
"NUMECA_INSTALLATION_DIRECTORY/fine#/COMMON/queuing_templates/"
l On Windows systems:
"NUMECA_INSTALLATION_DIRECTORY\Fine#\bin\queuing_templates\"
It is strongly suggested to create a new template based on the existing templates. All the existing
templates can be found in the queuing templates folder mentioned above. FIGURE 11.5 shows
the contents of the default SGE template launching the single precision solver. Based on this
template, the user can customize the SGE environment, the OpenMPI or IntelMPI settings and the
command launching the computation. Please refer to sections How to Launch the flow solver in
Parallel using SGE on Linux and How to Launch the flow solver in Parallel using LSF on Linux
for the detailed explanation of the template contents.
The user must obey the following rules when creating a new template:
l Any line beginning with # (except #!, #$, #PBS and #BSUB) is a comment.
l The first blank line MUST be placed after the section defining queuing system environment
and before the section defining the OpenMPI/IntelMPI settings. Here, TaskManager will
define the queuing system environment variables (number of processors, name of the
computation, etc.) and the NUMECA variables (NI_VERSION_DIR and NUMECA_SOFT_
VERSION), depending on the user-settings in TaskManager.
l The comment line "# COMPUTATION SETTINGS" MUST be kept and placed before the
command launching the flow solver. Here, TaskManager will define the computation settings
(variables RUN_ FILE, STEERING1, STEERING2 and PREC), which are used in the
command launching the flow solver.
FIGURE 11.8
The default template launching the single precision solver for SGE (default.sge)
Solver executable choice
The solver executables available in FINE™/Turbo are accessible through the combo-box MPI
Library.
The following choices are proposed for parallel computations:
l On Windows:
l Intel compiler + IntelMPI library, interfaced as "IntelMPI" [default]
l MPICH2, interfaced as "MPICH2"
l On Linux:
l Portland compiler + OMPI library, interfaced as "Portland OMPI (PGI6)"
l Portland compiler + OMPI library, interfaced as "Portland OMPI (PGI17)"
l Portland compiler + IntelMPI library, interfaced as "Portland IMPI (PGI17)" [default]
l Intel compiler + IntelMPI library, interfaced as "Intel IMPI (ICC15)"
For serial computations, no combo-box is proposed on Windows (Intel compiler + IntelMPI by
default); on Linux, the user can access to the same choices than for parallel computations.
Note also that more combinations of compiler and MPI library are accessible through the batch
mode. More details can be found in "How to Launch the flow solver in Parallel using MPI on
Windows" (p. 486) (Windows) and "How to Launch the flow solver in Parallel using MPI on
Linux" (p. 478) (Linux).
Message Window
When a task is started, a Task Manager process is launched to take care about the task
management: process communication, automatic launching of the sequential and parallel subtasks.
A message window linked to the Task Manager is opened. In this window the user can follow the
evolution of the status of all the subtasks of the current task. In case the flow solver is launched,
the iterations are also displayed in this window as shown in FIGURE 11.8.
At the bottom of the Task Manager window a Refresh Rate can be chosen. This rate determines
how frequently the Task Manager window is updated. A higher refresh rate will update the
information in the window more frequently but will use more of the available CPU.
FIGURE 11.9
Task Manager information window
If the user quits FINE™/Turbo, all the message windows will stay open and the tasks will continue.
Closing a message window will immediately kill all the subtasks of the corresponding task.
11.3
PARALLEL COMPUTATIONS
Introduction
Parallel computations can be defined through the FINE™/Turbo interface as described in the
Subtask Arguments section. Parallel processing relies on the distribution of independent tasks
among several processors using communication protocols to transfer data from one processor to
another whenever this is necessary. This induces of course an acceleration of the computation
itself but it also offers the possibility to perform large computations, that would not fit on a single
processor.
The parallel version uses MPI (Message Passing Interface) libraries. MPI was chosen among
other tools such as PVM or Open MP for its high communication performances (high bandwidth,
low latencies). Although Open MP has better performance on shared memory configurations, i.e.
on a given computer with single global memory and several processors, it is not designed for
distributed memory configurations (several computers with their own memory).
The parallel version is implemented for Linux and Windows platforms . By default, FINE™/Turbo
uses the IntelMPI libraries v5.0.3 and v5.1.3 respectively on Windows and LINUX operating
systems.
Generally, each cluster has its own characteristics and we recommend to use a local version of
OpenMPI which has been compiled for supporting infiniband connection. This library is generally
provided by the cluster manufacturer. The OpenMPI provided in the installation package does not
support infiniband connection. For example in order to use a local version of OpenMPI, please refer
to Use an External OpenMPI Library on Linux.
On Windows, the UAC (User Account Control) should be disable for running the solver in parallel
otherwise it prevents mpiexec to record the encrypted login and password in the registry database and
the Task Manager remains open forever without any evolution.
The present MPI implementation is based on a host/slaves approach. One host process is
dedicated to input/output management. The host reads the mesh and input files, sends the data to
the computation processes (the slaves), receives the computation results from the slave processes
and writes the output files. FIGURE 11.10 shows the task distribution on a 4 processor (1 host +
3 slaves) configuration. Note that the host/slaves implementation will be replaced progressively as
parallel MPI input/output functionalities are now available.
FIGURE 11.10
Tasks in a parallel computation
FINE™/Turbo provides two kinds of parallel computation mode: Parallel Computation and
Parallel Partitioned Computation, see the Subtask Arguments section for the interface to set
Parallel Computation and Parallel Partitioned Computation.
Parallel Computation
For parallel computation, the parallel processing relies on the block structure of the mesh. Each
process is assigned a given number of blocks. As a consequence, the number of processors cannot
exceed the number of blocks in the mesh. Boundary data are exchanged between processors each
time an update of the flow solution is required.
Parallel Partitioned Computation
The objective of Parallel Partitioned Computation is to improve the capabilities of FINE™/Turbo
in a massively parallel environment, allowing the user to most effectively utilize the computational
resources (large clusters especially).
The parallel partitioned computation version of the flow solver integrates automatic pre- and post-
processing modules. The pre-processing module is used to automatically split the original mesh
and partition the mesh depending on the user defined Target load balance efficiency and the
number of processes, see the Subtask Arguments section. The post-processing module is used to
output the result based on the original mesh instead of on the thousands of split blocks.
The parallel partitioned computation is not compatible with the following modules:
l global correlation transition model
l R/S interface: Conservative Coupling by Pitchwise Row / Local Conservative Coupling
l phase lagged method
l 2D or axi-symmetric projects
l Lagrangian module
l Turbo machinery initial solution linked to AG4 mesh (expert parameter INITRB set to 0)
Management of Inter-Block Communication
The block structure of the solver allows to distribute blocks across processors or computers (in
case of a cluster). Each processor will handle an integer number of blocks. The treatment of the
boundary condition will be replaced by a message passing between the processors or remote
computers.
Communication optimization
The parallel version of the flow solver is optimized in order to minimize duplicated data as well as
the number and the volume of exchanged messages. A significant improvement of the code
performance was obtained by grouping small messages into larger buffers: the information
contained in small messages is usually shared by a large number of blocks, leading to frequent
messages of that type. This is the case for block edges data that are exchanged several times
during each iteration. Significant latency times are induced by these communication processes and
message grouping highly reduces the number of such messages.
Large message limitation
Very large messages are usually exchanged during initialization and at the end of the computation
between the nodes and the host. These also need to be avoided as they can cause important
memory needs and eventually lead to system failure. Messages are split into buffers of maximum
size MXBFSZ  in order to avoid excessive MPI memory requests.
How to Run a Parallel Computation
Configuring a parallel run using the FINE™/Turbo interface is described in the Tasks Definition
section.
Memory allocation
Memory allocation is performed as follows:
l The integer data structure is duplicated for all processes. Since the integer data structure size is
about a tenth of the real data structure, this does not lead to high memory overload when the
number of processes is less than 10.
l The real memory allocation is performed for each process. It should be set to the minimal
amount of memory necessary to hold the data structure on the process that has most grid
points. When the load is well balanced, the real memory overload is due to face and edge data
structures. These data need indeed to be duplicated when two processors are involved in the
same block connection.
The total memory need Mtotal for a parallel computation involving n (
estimated as:
) processors can be
where Mreal and Minteger are the real and integer memory needed for the same computation in
sequential mode.
From a practical point of view, the user does not specify the total memory needed but the integer
for the real
and real memory required per processor. This can be estimated as
memory and Minteger for the integer memory.
When doing a parallel calculation, the estimated real memory displayed by FINE™/Turbo on the
Control Variables page, shall not be followed but the formula shown above will be respected.
The following table states the total memory needed for a parallel computation using respectively
4 and 6 and 8 processors. The values of M real and M integer are set to 10 Mb and 1 Mb
respectively. The equivalent memory request on a single processor is thus 11Mb.
TABLE 11.1 Parallel memory request
Mtotal (Mb)
Parallel overhead (Mb)
20
20.4
21.7
9.4
10.7
In the present implementation, the presence of the host processor increases the global memory
request. It also reduces the overall speed-up of the computation as it is mainly dedicated to I/O
management and no computation is affected to it. Future versions of the FINE™/Turbo solver
will optimize this aspect by removing gradually the need of a host processor.
Message size limitation
During initialization and final steps, large messages are usually exchanged between the nodes and
the host process. In order to avoid any system failure, messages are split into buffers of maximum
size. This size is set to 100000 by default but the user can eventually tune this value through the
expert parameter MXBFSZ.
OpenMPI Options
The FINE™/Turbo solver uses the dafault OpenMPI options. The user can change the OpenMPI
options in order to get higher performance. In general, all the MCA parameters can be defined by
the user. The MCA parameters may be set in several different ways:
l add the options in the command line, see Launch the flow solver in Parallel Mode in Batch for
more details.
l set the options in the user profile ($HOME/.profile). For example:
l for csh or tcsh:
setenv OMPI_MCA_btl_sm_eager_limit 9192
l for bash or ksh:
export OMPI_MCA_btl_sm_eager_limit=9192
l create
file
".default_ mpi'"
under
the
DIRECTORY>/fine#/_ mpi/, where # is the FINE™/Turbo version. Then edit
".default_mpi" and set the options. For example:
folder <NUMECA_ INSTALLATION_
the file
l for csh or tcsh:
setenv OMPI_MCA_btl_sm_eager_limit 9192
l for bash or ksh:
export OMPI_MCA_btl_sm_eager_limit=9192
l create a file "default_mpi'" under the folder $HOME/.numeca/, where $HOME is the home
directory of the user account. Then edit the file "default_ mpi" and set the options. For
example:
l for csh or tcsh:
setenv OMPI_MCA_btl_sm_eager_limit 9192
l for bash or ksh:
export OMPI_MCA_btl_sm_eager_limit=9192
In case that the flow solver hangs, the user may check and change the settings of the following
OpenMPI options:
OMPI_MCA_btl_sm_eager_limit, e.g., set to 4096
OMPI_MCA_btl, e.g., set to tcp,self
The following MCA parameters may be required to tune:
l OMPI_ MCA_ mpi_ leave_ pinned : When mpi_ leave_ pinned is set
to 1, OpenMPI
aggressively leaves user memory registered with the OpenFabrics network stack after the first
time it is used with a send or receive MPI function. This allows OpenMPI to avoid expensive
registration / deregistration function invocations for each send or receive MPI function. When
the value is set to 0, it is disable. -1 (default) let the system decides. Setting this parameter to 0
has helped to performed a parallel partitioning on a cluster.
l OMPI_MCA_btl_###_eager_limit (### being tcp, openib,sm,...): This argument controls the
size of the message above which the processor must wait a confirmation from the other
processor that the message has been properly delivered. If the message is smaller than the
specified value, the message is sent and the processor does not wait any confirmation of
reception. If the message is bigger than this value, the message is split in sub-packets of fixed
size and each sub- packet is sent one by one and the processor waits a confirmation of
reception from the other processor before sending the next packet. By removing this
parameter, the size is reduced to the default one (4096 b= 4 Kb) and the processors must wait a
confirmation from the other processors in order to go on for all messages bigger than 4 Kb.
This may have an impact on the speed up but it secures the communication.
Use an External OpenMPI Library on Linux
By default, FINE™/Turbo uses the OpenMPI library v1.6 on Linux operation systems.
FINE™/Turbo also allows to use an external OpenMPI library, which may be a tuned,
customized or hardware specific OpenMPI library. In order to use an external library, the user has
to re-define the runtime environment, which can be done in two ways:
l create
file
".default_ mpi'"
folder <NUMECA_ INSTALLATION_
the
DIRECTORY>/fine#/LINUX/_mpi/, where # is the FINE™/Turbo version. Then edit the file
".default_mpi" and specify the external OpenMPI library in the file ".default_mpi" (here the
external library is located in /tmp/libs/OpenMPI/ompi1.6):
under
l for csh or tcsh:
setenv NI_MPI_DEFAULT ompi
setenv NUMECA_MPI_DIR /tmp/libs/OpenMPI/ompi1.6
l for bash or ksh:
export NI_MPI_DEFAULT=ompi
export NUMECA_MPI_DIR=/tmp/libs/OpenMPI/ompi1.6
In this way, the FINE™/Turbo flow solver will use the specified external library when
launching computations.
l create a file "default_mpi'" under the folder $HOME/.numeca/, where $HOME is the home
directory of the user account. Then edit the file "default_ mpi" and specify the external
OpenMPI
library is located in
/tmp/libs/OpenMPI/ompi1.6):
library in the file "default_ mpi" (here the external
l for csh or tcsh:
setenv NI_MPI_DEFAULT ompi
setenv NUMECA_MPI_DIR /tmp/libs/OpenMPI/ompi1.6
l for bash or ksh:
export NI_MPI_DEFAULT=ompi
export NUMECA_MPI_DIR=/tmp/libs/OpenMPI/ompi1.6
In this way, all the NUMECA flow solvers running in this user account will use the
specified external library.
Expert Parameters
The following expert parameters are related to parallel computations and parallel partitioned
computations:
IRSPAR (integer): For parallel partitioned computations, the Full Non Matching Rotor/Stator
(FNM-RS) connections is by default assigned to one process, which has limited the scalability of
rotating machinery cases to less than 1000 processes. In order to effectively use over 1000
processes, the FNMB-RS can be partitioned to a larger number of compute processes. This can be
activated by setting the expert parameter IRSPAR=1.
the size of the integer
EXCMTH (integer): For parallel/parallel partitioned computations,
allocation for the transmission of packed messages with MPI will grow exponentially with the
number of processes. The expert parameter EXCMTH can be used to reduce integer allocation by
setting it to 1.
IFNPPP(integer): The pre-processing of the Full Non Matching Boundaries (FNMB) and Full
Non Matching Rotor-Stator (FNM-RS) connections can be performed in serial or in parallel. The
parallelization of the FNMB/FNM- RS connections is based on the patches included in the
FNMB/FNM- RS connections. For parallel partitioned computations,
the distribution of the
FNMB connections is always performed in the virtually partitioned mesh. While the distribution
of the FNM-RS connections can be performed in the original mesh or the virtually partitioned
mesh, depending on the value of the expert parameter IFNPPP.
l 0: Serial pre-processing.
l 1: Parallel pre-processing. The FNM-RS connections will be distributed based on the original
mesh. And the full RS image mesh will be hosted in each node.
l 2 (default): Parallel pre-processing. The FNM-RS connections will be distributed based on the
original mesh. And minimal necessary portion of the image mesh will be hosted in each node
in order to reduce the memory requirement.
l 3: Parallel pre-processing. The FNM-RS connections will be distributed based on the virtually
partitioned mesh.
IRSPPA (integer): When running in parallel partitioned mode it is necessary to adapt the pre-
processed FNM-RS data from the unpartitioned to partitioned mesh topology. This adaptation
takes place during solver initialization after reading the FNM-RS data from the *.adf file. This
operation may be performed in serial or parallel.
l 0: Adaptation on the host process when reading FNM-RS data.
l -1: Adaptation on the nodes, use all available compute processes.
l >0: Adaptation on the nodes, use [IRSPPA] compute processes.
IFNSTD (integer): The FNMB and FNMB RS pre-processing will output a large amount of
information to the .std file. This output becomes meaningless during parallel preprocessing as
multiple processes write projection and intersection information to the .std file simultaneously. In
this case, the extra information output to the .std file can be suppressed.
l 0 (default): suppress extra information output.
l 1: output extra information.
The following expert parameters are related to parallel partitioned computations only:
NEWNMB(integer): When NMB connections exist in the computation, it is recommanded to set
the expert parameter NEWNMB to 1 to activate the metaNMB structure when running a parallel
partitionned computation.
BLEXCH(integer): defines non-blocking parallel exchanges or blocking parallel exchanges for
the local force steering output (including aerodynamic power). Non-blocking exchange may lead
to synchronization problems and corruption of the data in some special cases.
l 0: non-blocking parallel exchanges.
l 1 (default): blocking parallel exchanges.
Limitations
l The distributed memory mode is restricted to homogeneous system. It is recommended that
machines with the same speed are used, as all partitions are of equal size by default and
therefore, require the same computational cost.
l When running parallel computations, the path to the project has to be identical on both the
local and remote machines. For example, for distributed memory parallel computations, a
folder must be mounted on the remote machine and share the same disk, in order to store the
project directory that will be run in parallel on multiple hosts.
l The blank space is not allowed in the path name and the computation name.
11.4
TASK MANAGEMENT IN BATCH
This section provides the necessary information to launch NUMECA software from a shell,
without using the IGG™, AutoGrid™, FINE™/Turbo or CFView™ interfaces.
Every time the ".run" file of a FINE™/Turbo computation is saved, a script file is automatically
created. On Linux systems, the name of this file has the extension ".batch". On Windows the
extension is ".bat". Such files contain text lines with the commands to launch the software with
the appropriate command arguments. To launch a task from a shell simply execute the
automatically generated file by typing its name in a shell.
In the next sections the available commands to launch NUMECA software are described in more
detail.
The capability to launch in batch is currently not supported for the FINE™/Turbo solver in parallel
mode on PC.
11.4.1
Launch IGG™ in Batch
How to Launch IGG™ on Linux
To launch IGG™ without use of the interface the commands to perform must be written in a
macro script file. To create such a file:
1. Create a script file ".py". For more details on the commands that can be included in such a
script file see the IGG™ manual.
2. Launch the macro script in a shell by typing: "igg <script_path>/script.py -batch -niversion
<version>"
The command line to start the grid generator IGG™ contains its name, the full path of the script
".py" file (<script_path>) to launch and the IGG™ release (<version>) that will be used. The "-
batch" option avoids the display of the IGG™ graphical user interface.
When launched in batch, IGG™ does not open the graphical user interface but an access to the display
of the machine on which the process is launched, is still required.
How to Launch IGG™ on Windows
1. Create script file ".py". For more detailed information on the commands to include in a macro
script see the IGG™ manual.
2. Launch the macro script ".py" by typing in a DOS-shell: "<IGG_path>\iggx86_64.exe -
script <script_path>\script.py -batch"
The command line to start the grid generator IGG™ contains the full path name of the igg.exe
executable (<IGG_path>) and the full path of the script ".py" file (<script_path>) to launch. The
"-script" & "-batch" options respectively permit to launch the script and to avoid to display the
IGG™ graphical user interface. The igg.exe executable can be found in: "<NUMECA_install_
dir>\Fine#\bin64\"
When launched in batch, IGG™ does not open the graphical user interface but an access to the display
of the machine on which the process is launched, is still required.
Remarks:
l The full path of the executable (iggx86_64.exe) has to be specified.
l The full path of the script has to be specified.
l There can be a segmentation fault at exit (due to an uncontrollable "opengl" problem). It is
possible to avoid this message, by adding the option "-driver msw".
11.4.2 Launch AutoGrid5™ in Batch
How to Launch AutoGrid5™ on Linux
1. Create a template and geometry files (".trb" and ".geomTurbo") using the AutoGrid5™
interface.
2. Start AutoGrid5™ to create a mesh from these files by typing in a shell: "igg -batch -
- mesh
<path>/test.geomTurbo
<path>/test.trb
- geomTurbo
autogrid5
<path>/test.igg -niversion <version>"
- trb
The command line to start the grid generator AutoGrid5™ contains its name, the full path of the
template and geometry file (<path>), the full path of the mesh that will be saved and the IGG™
version that will be used. The "-batch" option avoids the display of the IGG™ graphical user
interface.
Multi-threading can be used with the additional argument -numproc <np>:
- batch
"igg
<path>/test.geomTurbo -mesh <path>/test.igg -niversion <version>"
- numproc <np> - trb <path>/test.trb
- autogrid5
- geomTurbo
When launched in batch, IGG™ does not open the graphical user interface but an access to the display
of the machine on which the process is launched, is still required.
How to Launch AutoGrid5™ on Windows
1. Create a template and geometry files (".trb" and ".geomTurbo") using the AutoGrid5™
interface.
2. Start AutoGrid5™ to create a mesh from these files by typing in a DOS-shell: "<IGG_
- batch - autogrid5 - trb <path>\template.trb - geomTurbo
path>\iggx86_ 64.exe
<path>/template.geomTurbo -mesh <path>/mesh.igg"
The command line to start the grid generator AutoGrid™ contains the full path of the igg.exe
executable (<IGG_path>), the full path of the template and geometry file (<path>) and the full
path of the mesh that will be saved. The "-batch" option avoids the display of the IGG™
graphical user interface. The iggx86_64.exe executable can be found in: "<NUMECA_install_
dir>\Fine#\bin64\".
Multi-threading can be used with the additional argument -numproc <np>:
"<IGG_path>\iggx86_64.exe -batch -autogrid5 -numproc <np> -trb <path>\template.trb -
geomTurbo <path>/template.geomTurbo -mesh <path>/mesh.igg"
When launched in batch, IGG™ does not open the graphical user interface but an access to the display
of the machine on which the process is launched, is still required.
11.4.3
Launch FINE™ in Batch
The user has the possibility to set up a computation, without opening the FINE™/Turbo interface,
through the finebatch program. In batch mode, FINE™/Turbo will create a computation file
(.run) from an existing project (.iec) and mesh (.igg) file. This method can be used to set up
sequential or parallel computations.
To get help about the finebatch command, type the following command in shell:
fine -niversion <version> -batch -help -print on Linux
<finebatch_path>\finebatchx86_64.exe -help -print on Windows
The user can also launch finebatch in interactive mode. In this case, the user needs to type all
parameters following the instruction of finebatch. To launch finebatch in interactive mode, type
the following command in shell:
fine -niversion <version> -batch -interactive on Linux
<finebatch_path>\finebatchx86_64.exe -interactive on Windows
The use of the interactive mode is advised for beginning users as it helps to familiarize with the
necessary input parameters. The outcome of both interactive and non-interactive modes is the
same.
In case that the mesh topology has been changed, it is strongly advised to use the FINE™/Turbo
interface to set up the computation. When a new/modified mesh is linked to an existing project file,
an automatic merge will be performed. This merge will reset the physical parameters to their default
values for the modified parts of the mesh. If, for example, blocks have been added, the rotation speed,
solid conductivity and initial solution of these blocks will be set to the default values.
The user must have read and write permissions in the project directory.
The required memory selected by default for the considered computation is shown in the interactive
mode of finebatch; the user may refer to this value to adjust it if necessary.
The parameters order is not important for the good execution of the command entered int the shell.
Create a ".run" file (sequential computation)
To create a ".run" file from an existing project, the finebatch program can be launched with
following command:
fine -niversion <version> -batch on Linux
<finebatch_path>\finebatchx86_64.exe on Windows
-project <project_path>/project.iec
-mesh <mesh_path>/mesh.igg (optional)
-computation <computation_path>/computation.run (optional)
-index <computation_index> (optional)
-nbint # (optional)
-nbreal # (optional)
-print (optional)
l -project followed by the full path of the input project file (.iec)
l -mesh followed by the full path of the input mesh file (.igg). This is an optional argument. If
the argument is not specified, the mesh linked to the existing project will be used.
l -computation followed by the full path of the output computation file (.run). This is an
optional argument. If the argument is not specified, the computation name corresponding to the
selected computation (-index) in the project will be used.
l -index followed by the index (0 for the first computation, 1 for the second one, ...) of the
computation in the project file. This is an optional argument. If the argument is not specified,
the first computation will be used.
l -nbint followed by the required integer memory size (MB). This is an optional argument. The
automatic memory estimation is always performed. If this argument is specified, the specified
value will overwrite the automatic estimated one.
l -nbreal followed by the required real memory size (MB). This is an optional argument. The
automatic memory estimation is always performed. If this argument is specified, the specified
value will overwrite the automatic estimated one.
l -print. This is an optional argument. If the argument is specified, the output information will
be printed on the screen.
The output of the program contains the following files:
l Modified computation file (.run)
l Script file to launch the computation (.bat in Windows, .batch in Linux)
l The steering files (.steering and .steering.binary) (if not already existing)
An option ("merge mesh") is available in the interactive mode of finebatch to merge the mesh
linked to a project, with a new one.
The finebatch executable can be found in "<NUMECA_install_dir>\fine#\bin64\".
Set up a parallel computation
To set up a parallel computation, the finebatch program can be launched with following
command:
fine -niversion <version> -batch -parallel on Linux
<finebatch_path>\finebatchx86_64.exe -parallel on Windows
-computation <computation_path>/computation.run
-nproc #
-machine_file <machine_file_path>/machine_file (optional)
-nbint # (optional)
-nbreal # (optional)
-sge/-lsf /-pbs <queuing_environment_path>/queuing_environment_file (optional)
-template <template_path>/template_file (optional)
-print (optional)
l -computation followed by the full path of the computation file (.run). This is the input and
also the output file. The computation file (.run) will be modified after executing finebatch.
l -nproc followed by the number of the required processes. The distribution of blocks per
processor is performed automatically.
l -machine_file followed by the full path of the machine file, which specifies the machine
information regarding the various processes. This is an optional argument. If this argument is
not specified, the current machine will be used. In case of a queuing system (-sge or -lsf or -
pbs), this argument should not be defined. Note that the number of processors defined with the
argument -nproc will not be taken into account if a .machines file is used (even if the only
machine name specified in the .machine file is the local machine); this file should be written as
below to be fully effective:
An example of a machine file
hostname1 4
hostname2 2
where 4 slave processes on hostname1 and 2 slave processes on hostname2.
For each machine, a line must be added consisting of the machine name (the machine hostname)
and the number of processes to run on the machine,
hostname <n_processes>
When generating the parallel computation files, the p4pg file generated uses the local machine as
master process and the machines specified in the machine file as computing processes (the .p4pg is
only used under Linux with finebatch).
Note also that on Windows, the use of the argument -parallel with the argument -machine_file or -
proc, will have for effect to define all the processes (the master process and all the slave processes)
on the local machine.
l -nbint followed by the required integer memory size (MB). This is an optional argument. The
automatic memory estimation is always performed. If this argument is specified, the specified
value will overwrite the automatic estimated one.
l -nbreal followed by the required real memory size (MB). This is an optional argument. The
automatic memory estimation is always performed. If this argument is specified, the specified
value will overwrite the automatic estimated one.
l - sge / - lsf / - pbs followed by the used queuing system environment. This is an optional
argument. By default, if no queuing system is specified, the parallel computation will be
created using MPI (OpenMPI by default).
l - template followed by the path of the used template, which must be one of the name
appearing in the interface. This is an optional argument. If this argument is specified, the
default template provided in the package will be used. This argument should only be used in
case of a queuing system (-sge/-lsf/-pbs).
l -print. This is an optional argument. If the argument is specified, the output information will
be printed on the screen.
The output of the program contains the following files:
l Modified computation file (.run)
l Script file to launch the computation(.bat in Windows, .batch in Linux)
l The steering files (.steering and .steering.binary) (if not already existing)
l Host definition file (.p4pg)
l Script file to submit the computation on queuing system, in case a queuing environment has
been specified
Set up a parallel partitioned computation
To set up a parallel partitioned computation, the finebatch program can be launched with
following command:
fine -niversion <version> -batch -partition on Linux
<finebatch_path>\finebatchx86_64.exe -partition on Windows
-computation <computation_path>/computation.run
-nproc #
-load_balancing #
-machine_file <machine_file_path>/machine_file (optional)
-nbint # (optional)
-nbreal # (optional)
-sge/-lsf /-pbs <queuing_environment_path>/queuing_environment_file (optional)
-template <template_path>/template_file (optional)
-print (optional)
l -computation followed by the full path of the computation file (.run). This is the input and
also the output file. The computation file (.run) will be modified after executing finebatch.
l -nproc followed by the number of the required processes.
l -load_balancing followed by the value of the load balancing, which is a real number ranging
in ]0,1[. If this argument is not specified, a default value of 0.8 is applied. For more details see:
"Parallel Partitioned Computation - MPI system" (p. 452) .
l -machine_file followed by the full path of the machine file, which specifies the machine
information regarding the various processes. This is an optional argument. If this argument is
not specified, the current machine will be used. In case of a queuing system (-sge or -lsf or -
pbs), this argument should not be defined. Note that the number of processors defined with the
argument -nproc will not be taken into account if a .machines file is used (even if the only
machine name specified in the .machine file is the local machine); this file should be written as
below to be fully effective:
An example of a machine file
hostname1 4
hostname2 2
where 4 slave processes on hostname1 and 2 slave processes on hostname2.
For each machine, a line must be added consisting of the machine name (the machine hostname)
and the number of processes to run on the machine,
hostname <n_processes>
When generating the parallel computation files, the p4pg file generated uses the local machine as
master process and the machines specified in the machine file as computing processes (the .p4pg is
only used under Linux with finebatch).
Note also that on Windows, the use of the argument -parallel with the argument -machine_file or -
proc, will have for effect to define all the processes (the master process and all the slave processes)
on the local machine.
l -nbint followed by the required integer memory size (MB). This is an optional argument. The
automatic memory estimation is always performed. If this argument is specified, the specified
value will overwrite the automatic estimated one.
l -nbreal followed by the required real memory size (MB). This is an optional argument. The
automatic memory estimation is always performed. If this argument is specified, the specified
value will overwrite the automatic estimated one.
l -sge/-lsf/-pbs followed by the used queuing system environment. This is an optional argument.
By default, if no queuing system is specified, the parallel computation will be created using
MPI (OpenMPI by default).
l - template followed by the path of the used template, which must be one of the name
appearing in the interface. This is an optional argument. If this argument is specified, the
default template provided in the package will be used. This argument should only be used in
case of a queuing system (-sge/-lsf /-pbs).
l -print. This is an optional argument. If the argument is specified, the output information will
be printed on the screen.
The output of the program contains the following files:
l Modified computation file (.run)
l Script file to launch the computation (.bat in Windows, .batch in Linux)
l The steering files (.steering and .steering.binary) (if not already existing)
l Host definition file (.p4pg)
l Script file to submit the computation on queuing system, in case a queuing environment has
been specified
11.4.4 Launch the flow solver in Sequential Mode in Batch
To stop a computation in batch mode, the user can create a ".stop" file with the same computation
name in the running computation directory, which will enable the FINE™/Turbo solver to stop after
saving the solution at the next iteration or after the full multigrid initialization.
To save intermediate solution without stopping a computation in batch mode, the user can create a
".save" file with the same computation name in the running computation directory, which will enable
the FINE™/Turbo solver to save the intermediate solution at the next iteration or after the full
multigrid initialization.
How to Launch the flow solver in Sequential mode on Linux
1. Create a script file (for example, with the name "batch.sh"). Such a script file (e.g. "batch.sh")
must be created with permission for execution, to launch a series of computations. An example
of a "batch.sh" file for a series of sequential computations on Linux:
#! /bin/csh
euranusTurbo <project_path>/computation_1/computation_1.run -niversion <version>
-seq
euranusTurbo <project_path>/computation_2/computation_2.run -niversion <version>
-seq
or
#! /bin/csh
euranusTurbo<version> <project_path>/computation_1/computation_1.run -seq
euranusTurbo<version> <project_path>/computation_2/computation_2.run -seq
The script is started in a C-shell, which is obtained by the first line: " #! /bin/csh ". The
command line, to start the FINE™/Turbo solver, contains its name, the full path of the ".run"
file to launch (<project_path>), the FINE™/Turbo release that will be used (<version>) and
the sequential mode selection.
2. Set Permission for execution for the script file "batch.sh" by typing the command: "chmod
755 batch.sh".
3. Create an input file (".run") for each computation. To create those files through the
FINE™/Turbo interface, click on the File/Save Run Files menu in order to save the ".run"
file of the activated computation, after opening the corresponding project.
4. Launch the script "batch.sh" by typing: "./batch.sh".
When saving the ".run" file of the computation ( File/Save Run Files ), a script "computation_
name.batch" is automatically created in the corresponding computation subfolder. This script enables
the user to launch the same computation in batch.
How to Launch the flow solver in Sequential under Windows
1. Create script file ".bat". An example of ".bat" file for a series of sequential computations on
Windows:
"<NUMECA_
install_
path>\computation\computation.run" -seq
dir>\fine<version>\bin64\euranusx86_
64.exe
<project_
The command line, to start the FINE™/Turbo solver, contains the full path of the flow solver
executable, the full path of the ".run" file to launch and the sequential mode selection.
2. Set permission for execution of the ".bat" file.
3. Create an input file (".run") for each computation. To create those files through the
FINE™/Turbo interface, click on the File/Save Run Files menu in order to save the ".run"
file of the activated computation, after opening the corresponding project.
4. Launch the script ".bat" by typing the script file name: "batch.bat" in a shell or double click
on the ".bat" file from the Windows Explorer.
When saving the ".run" file of the computation ( File/Save Run Files ), a script "computation_
name.bat" is automatically created in the corresponding computation subfolder. This script enables the
user to launch the same computation in batch.
11.4.5
Launch the flow solver in Parallel Mode in Batch
To stop a computation in batch mode, the user can create a ".stop" file with the same computation
name in the running computation directory, which will enable the FINE™/Turbo solver to stop after
saving the solution at the next iteration or after the full multigrid initialization.
To save intermediate solution without stopping a computation in batch mode, the user can create a
".save" file with the same computation name in the running computation directory, which will enable
the FINE™/Turbo solver to save the intermediate solution at the next iteration or after the full
multigrid initialization.
A. How to Launch the flow solver in Parallel using MPI on
Linux
1. Create a script file batch.sh with permission for execution.
An example of a batch.sh file for a parallel computation on Linux
using OpenMPI flow solver:
#! /bin/csh
euranusTurbo_
path>/computation/computation.run
path>/computation/computation.p4pg -fullflex
parallel
131
-
mca=btl=openib,sm,self
-
p4pg
<project_
<project_
The script is started in a C-shell, which is obtained by the first line: #! /bin/csh. The command
line, to start the FINE™/Turbo solver in parallel, contains the name and the release to use, the
OpenMPI options that configures the used OpenMPI library or runs the runtime tools, the full
path of the .run file to launch (<project_path>) and the full path of the file .p4pg containing
the definition of the machines that will be used to launch the computation in parallel. The
argument -fullflex is optional, which forces the flow solver to use the FFLEX-type license keys
in priority (For more details, see Flexible Cores Type from License).
The name of the executable is different from the one for sequential computations.
Without arguments, the OpenMPI flow solver (libraries v1.6.5) compiled Portland PGI6 is used.
To run the flow solver executables compiled with Intel ICC15:
l the argument -intel should be added in the command line to start the OpenMPI flow solver
(libraries v1.10.4),
l the argument -intel -intelmpi should be added in the command line to start the IntelMPI flow
solver (libraries v5.1.3).
To run the flow solver executables compiled with Portland PGI17:
l the argument -pgi should be added in the command line to start the OpenMPI flow solver
(libraries v1.10.4),
l the argument - pgi - intelmpi (default) should be added in the command line to start the
IntelMPI flow solver (libraries v5.1.3).
The OpenMPI options can be used to configure OpenMPI. In general, all the MCA options
can be imposed in the script.
Please note, when the OpenMPI options are following the NUMECA executable euranusTurbo_
parallel<version>, the spaces in the original MCA parameters MUST be replaced by: =.
If OpenMPI is built with the support of CPU affinity, it is possible to configure this feature
through the script by adding the option -rf=<rankfile>, with a rankfile written like described in
http://www.open-mpi.org/faq/?category=tuning#using-paffinity.
The OpenMPI options can also be used to call the runtime tools that permit to scan the host
machine, get runtime information, etc. For example, the following options can be added in the
command line to obtain the corresponding information:
-param=btl=openib to run ompi_info --param btl openib;
-param=btl=all to run ompi_info --param btl all;
-param=mpi=all to run ompi_info --param mpi all;
-param=all=all to run ompi_info --param all all;
etc.
All the runtime information is written in a hidden file located in the working directory, with the
extension .rtm (.rtm<rank> in case of parallel computation).
2. Create hosts definition file .p4pg . A file needs to be created to define the hosts (e.g.
computation.p4pg ). This file specifies the machine information regarding the various
processes.
Examples of computation.p4pg files
Example 1
hostname1 4 euranusTurbo<version>
hostname2 2 euranusTurbo<version>
where the master host is on hostname1, 4 processes on hostname1 and 2 processes on
hostname2.
Example 2
hostname1 0 euranusTurbo<version>
hostname2 2 euranusTurbo<version>
where the master host is on hostname1, there is no process on hostname1 and two processes
on hostname2.
For each machine, a line must be added consisting of the machine name (the machine
hostname), the number of processes to run on the machine, the name of the executable and the
FINE™/Turbo release:
hostname <nr_processes> euranusTurbo<version>
If additional machines are to be used, subsequent lines are required for each one. If the number
of processors is set to 0 for the first machine (first line of the .p4pg file), only the master host
process will run on that machine while the nodes will run on the next machines declared in the
following lines.
The first machine (hostname) specified in the .p4pg file has to be the one, on which the script will
be launched.
The total number of processes defined in the .p4pg file should be equal to the number of nodes
running.
3. Set permission for execution of the script batch.sh by using the command: chmod 755
batch.sh
The input file .run to launch the computation has to be created. The parallel settings of the
computational file (.run) are managed by the Task Manager. Therefore before launching the
parallel computation script, the following steps must be performed through the FINE™/Turbo
interface:
4. Create the computation input file (.run ) by activating the corresponding computation and
clicking on the File/Save Run Files menu in the interface.
5. To set the final parallel settings:
l create a task in the Task Manager,
l define the parallel settings of the FINE™/Turbo solver subtask (parallel computation),
l Save the task through the Task Manager by clicking on Save button.
These operations are mandatory in order to have all the parallel settings correctly imposed in
the computation file (.run). They can also be performed in batch, with the finebatch command,
see How to Launch finebatch on Linux.
6. Launch the script batch.sh by typing the script file name: ./batch.sh.
When saving the .run file of the computation (File/Save Run Files) and clicking the save button
.batch and a .p4pg file are automatically created in the
( Modules/Task Manager ), a script
to launch the same parallel
corresponding computation subfolder. These files enable the user
computation in batch.
General Purpose Graphical Processing Unit (GPGPU) acceleration
FINE™/Turbo solver can be accelerated using a General Purpose Graphical Processing Unit
(GPGPU). GPGPU-accelerated computing offloads compute-intensive portions of the application
to the graphics processing unit, leaving the remainder of the calculations running on the CPU.
Due to their massively parallel architecture, the use of graphics processing units together with
CPUs can provide valuable savings in computational time.
Hardware considerations
The performance of the GPGPU-accelerated FINE™/Turbo solver is hardware dependent. Any
CUDA 3.0 - CUDA 8.0 enabled NVIDIA® graphics processing unit may be used, which
includes all GPUs from the Pascal, Kepler and Maxwell architecture, along with many from the
Fermi line.
When purchasing a GPU enabled system for FINE™/Turbo the customer should consider the
following factors, listed in order of importance:
1. The speed of the PCI bus is paramount. PCIe3 x16 is recommended.
2. The GPU performance will be best if the processing unit has sufficient memory to hold the entire
FINE™/Turbo computation. For a steady, double precision simulation it is recommended that the
GPU has 1.5 GB of onboard memory for every million nodes in the mesh.
3. Most workstations will pair a single multi-core CPU with a single GPU. An excessive number of
CPU cores concurrently offloading work to the GPU will negatively impact performance. Thus,
systems with low core count CPUs (8 or less) will benefit the most from GPU acceleration.
4. Both commercial graphics cards (NVIDIA® GeForce®) and professional compute cards
(Quadro® or Tesla®) are supported and have been shown to offer good performance. The
dedicated compute cards avoid contention from other graphical applications which will yield more
consistent performance.
Mesh considerations
When constructing a mesh for a GPGPU-accelerated computation it is important to consider the
impact of the mesh topology on the solution speed. Graphical processing units are most effective
if they are able to simultaneously process thousands of concurrent calculations. Meshes with
large, evenly sized blocks will typically result in better speedup than heavily partitioned meshes or
meshes with large differences in block sizes. If possible, avoid creating meshes with blocks
containing less than 100k cells for GPGPU-accelerated computations.
How to launch GPGPU-accelerated computations FINE™/Turbo
The GPGPU acceleration in FINE™/Turbo can be activated through the use of the integer expert
parameters ACCCTL and CPUBRB (only when CPU Booster is also active) and subsequent
launching of the computation in batch mode with the -pgi flag appended to end of the launch
arguments. The settings of these expert parameters are:
l ACCCTL: Acceleration controls. Integer list of 5 values:
o ACCCTL[0]: Primary GPU acceleration toggle:
n 0 = disabled (default);
n 2 = enabled.
o ACCCTL[1]: Intermediate OpenACC data regions:
n 0 = disabled, for debugging purposes only;
n 1 = enabled (default).
o ACCCTL [2]: Acceleration auto-tuning used to automatically determine the appropriate
intervention
acceleration flags for each routine/block/grid level without direct user
regardless of the hardware or computation configuration:
n 0 = disabled;
n 1 = enabled (default).
o ACCCTL[3]: Grid level filtering to skip acceleration on the coarse grids (only considered if
auto-tuning is disabled):
n 1 = only the finest grid level accelerated;
n N = acceleration applied on N finest grid levels.
o ACCCTL[4]: GPU memory management mode:
n 0 = high performance mode. Permanently allocate as much memory as possible on the
graphics processing unit, minimizing data transfer and allocation time. Naturally, this
requires a high-end GPU with large amount of onboard memory.
n 1 = low GPU memory mode. Temporarily allocate the necessary GPU memory at the
entrance to each accelerated region. This limits the amount of necessary onboard
memory but increases the amount of time needed for data transfer and allocation.
l CPUBRB: GPU-accelerated CPU Booster scheme:
o 0 = legacy implementation with limited GPU acceleration.
o 1 = updated implementation with full GPU acceleration (for Spalart Allmaras turbulence
model only).
The recommended settings
in
FINE™/Turbo with typical configurations is ACCCTL = 21100 and CPUBRB = 1 (if CPU Booster is
active and for Spalart Allmaras turbulence model only).
ideal performance of GPGPU- accelerated computations
for
The GPGPU-accelerated version of the CPU Booster utilizes a thread-safe implementation which is
not numerically identical to the standard CPU Booster. Both methods have been shown to converge to
the same solution, but minor differences in the residual history are to be expected.
The integer expert parameter NITER (default = 2) controls the number of inner solver iterations used
in the CPU Booster
to 3 or 4) may improve the
implementation. Increasing its value (e.g.
convergence rate when GPGPU-accelerated computations with CPU Booster are considered.
An example of launching a GPGPU-accelerated computation in FINE™/Turbo in
parallel
1. Set up the computation in FINE™/Turbo;
2. In the Control Variables page, modify the expert parameters ACCCTL (e.g. set ACCCTL =
21100) and CPUBRB (e.g. set CPUBRB = 1 if CPU Booster is active for a computation with
Spalart Allmaras turbulence model);
3. Create the computation input file (.run ) by activating the corresponding computation and
clicking on the File/Save Run Files menu in the interface;
4. Go to the menu Modules/Task Manager;
5. Create a task, a corresponding subtask and link the .run file of the computation;
6. Define the parallel settings (Parallel Computation or Parallel Partitioned Computation) of the
FINE™/Turbo solver subtask with the desired number of processes;
7. Save the task by clicking on Save button;
8. Edit the .batch script which was automatically created in the corresponding computation
subfolder. Add the following flag to the end of the launch arguments: -pgi. This option is
already present in the script if one of the Portland PGI17 compilers was already selected in the
Task Manager page, i.e. Portand OMPI (PGI17) or Portland IMPI (PGI17).
9. Save the .batch script and launch it by typing ./ followed by the script file name in a command
shell;
10. The
can
solution
of
GPGPU acceleration is shown in the .std file generated once the computation starts. An extract
of the .std file from a GPGPU-accelerated computation in FINE™/Turbo is shown below.
be monitored
information
activation
regarding
and
the
The GPGPU acceleration in FINE™/Turbo can also be launched in sequential mode (by instead
selecting Sequential Computation in step 6 shown in the example above).
Limitations
The GPGPU acceleration in FINE™/Turbo is currently only supported on Linux operating
systems. Other limitations and incompatibilities of the GPGPU acceleration can be found under
the What's New? section in the Compatibility Matrix file. In addition, the following features are
still untested:
l NLH steady initialization;
l Unsteady initialization;
l Moving mesh;
l CPUBooster steady initialization.
B. How to Launch the flow solver in Parallel using MPI on
Windows
1. Create a script file "batch.bat" with permission for execution. An example of a "batch.bat" file
for a parallel computation on Windows using IntelMPI flow solver (libraries v5.0.3):
"<NUMECA_install_dir>\fine<version>\bin64\mpiexec.exe -n # -machinefile <project_
install_
path>\computation\computation.machines
dir>\fine<version>\bin64\euranusx86_
<project_
path>\computation\computation.run" -fullflex
<NUMECA_
64.exe
The command line, to start the FINE™/Turbo solver in parallel, contains the full path to the
script that enables parallel computations (mpiexec.exe), the number of the processors, the full
path of the ".machines" file containing the definition of the machines that will be used to
launch the computation in parallel, the full path to the flow solver (euranusx86_64.exe) and the
full path of the ".run" file to launch. The argument -fullflex is optional, which forces the flow
solver to use the FFLEX-type license keys in priority (For more details, see Flexible Cores
Type from License).
By default the IntelMPI flow solver is used starting FINE™/Turbo v11.1. To run the MPICH2
flow solver, rename the flow solver executable in the ".bat" file to respectively "euranus_
mpich2x86_64.exe" or "euranusdp_mpich2x86_64.exe" to run in single or double precision.
2. Create hosts definition file ".machines". A file needs to be created to define the hosts (e.g.
"computation.machines"). This file specifies the machine information regarding the various
processes.
An example of a "computation.machines" file:
hostname1:5
hostname2:2
where master host on hostname1 and 4 processes on hostname1; 2 processes on hostname2.
For each machine, a line must be added consisting of the machine name (the machine
hostname) and the number of processes to run on the machine. If the number of processors is
set to 1 for the first machine (first line of the ".machines" file), only the master host process
will run on that machine while the nodes will run on the next machines declared in the
following lines.
The first machine (hostname) specified in the ".machines" file has to be the one, on which the
script will be launched.
The total number of processes defined in the ".machines" file should be equal to the number of
nodes running.
3. Set permission for execution "batch.bat"
The input file ".run" to launch the computation has to be created. The parallel settings of the
computational file (".run") are managed by the Task Manager. Therefore before launching the
parallel computation script, the following steps must be performed through the FINE™/Turbo
interface:
4. Create computational file (".run") by activating the corresponding computation and clicking on
the File/Save Run Files menu in the interface.
5. To set the final parallel settings:
l create a task in the Task Manager,
l define the parallel settings of the FINE™/Turbo solver subtask (parallel computation),
l Save the task through the Task Manager by clicking on Save button.
These operations are mandatory in order to have all the parallel settings correctly imposed in
the computation file (".run").
6. Launch the script ".bat" by typing the script file name: "batch.bat" in a DOS-shell or double
click on the ".bat" file from the Windows Explorer.
When saving the ".run" file of the computation (File/Save Run Files) and clicking the save button
( Modules/Task Manager ), a script ".bat" and a ".p4pg" file are automatically created in the
corresponding computation subfolder. These files enable the user
to launch the same parallel
computation in batch.
C. How to Launch the flow solver in Parallel using SGE on
Linux
1. Create a script file "batch.sge" with permission for execution. An example of a "batch.sge" file
for a parallel computation on Linux using OpenMPI flow solver:
#!/bin/sh
#$ -S /bin/sh
#$ -notify
#$ -pe mvapich 4
#$ -N ahmed
#$ -o /tmp/ahmed/ahmed_computation_1/ahmed_computation_1.std -j y
NI_VERSIONS_DIR=/home/fine<version>
export NI_VERSIONS_DIR
NUMECA_SOFT_VERSION=<version>
export NUMECA_SOFT_VERSION
TMP_DIR=~/.numeca/tmp/
NUMECA_DIR=${NI_VERSIONS_DIR}/fine$NUMECA_SOFT_VERSION
export NUMECA_DIR
NUMECA_BIN=${NUMECA_DIR}/LINUX
export NUMECA_BIN
MPIR_HOME=${NUMECA_BIN}/_mpi/_ompi1.6/
export MPIR_HOME
OPAL_PREFIX=$MPIR_HOME
export OPAL_PREFIX
PATH=${MPIR_HOME}/bin:${PATH}
export PATH
LD_LIBRARY_PATH=$MPIR_HOME/lib64:$MPIR_HOME/lib:${NUMECA_BIN}/_
lib_sx86_64:${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH
ompi_options=
BIN=${NUMECA_BIN}/euranus/euranusTurbox86_64_ompi
RUN_FILE=/tmp/ahmed/ahmed_computation_1/ahmed_computation_1.run
STEERING_FILE=/tmp/ahmed/ahmed_computation_1/ahmed_computation_1.steering
ompi_info
$MPIR_HOME/bin/mpirun --display-map --display-allocation ${ompi_options} -np
$NSLOTS -hostfile $TMPDIR/machines ${BIN} $RUN_FILE -steering $STEERING_
FILE -fullflex
where:
#$ -S /bin/sh requires Bourne shell to be used by SGE for job submission and hence, only the
".profile" file of the user is executed if exists on each computation host. There is nothing
specific to NUMECA software that must be written in the ".profile" file.
#$ -notify gives a delay between the send of the SIGKILL signal and SIGUSR2 signal. The
delay is defined in the SGE interface.
#$ -pe mvapich 4 requests 4 slots (processors) to the SGE system for executing the job using
the mvapich parallel environment. This must correspond to NTASK +1 where NTASK is the
number of computation processes (partitions) in the ".run" file, the "+1" being the host process
that manages inputs/outputs.
#$ -N ahmed is the name of the job given to SGE and that will be seen when monitoring the
job with the graphical monitoring utility qmon (Job Control button) or with the qstat SGE
command. SGE has a limitation of 8 characters for the job name.
#$ -o /tmp/ahmed/ahmed_computation_1/ahmed_computation_1.std -j y tells SGE system
that the standard output has to be redirected in the ".std" in the computation directory, the
option "-j y" indicates that the standard error is redirected into the same file.
NI_VERSIONS_DIR=/home/fine<version>
export NI_VERSIONS_DIR
NUMECA_SOFT_VERSION=<version>
export NUMECA_SOFT_VERSION
specifies
FINE™/Turbo.
the installation directory (e.g.
/home/fine131) and version (e.g. 131) of
MPIR_HOME=${NUMECA_BIN}/_mpi/_ompi1.6/
export MPIR_HOME
OPAL_PREFIX=$MPIR_HOME
export OPAL_PREFIX
PATH=${MPIR_HOME}/bin:${PATH}
export PATH
LD_LIBRARY_PATH=$MPIR_HOME/lib64:$MPIR_HOME/lib:${NUMECA_BIN}/_
lib_sx86_64:${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH
are the environment variables indicating respectively the OpenMPI directory (FINE™/Turbo
allows to use an external OpenMPI library, which may be a tuned, customized or hardware
specific OpenMPI libraries.) and the library directories that are used in the command launching
the flow solver.
ompi_options= specifies the OpenMPI options. If nothing is specified, OpenMPI will choose
the most efficient parameters supported by the pointed library (OPAL_PREFIX). In general,
all the MCA options can be imposed in the script.
ompi_info provides detailed information about the OpenMPI installation. It can be useful for at
least three common scenarios: 1) Checking local configuration and seeing how OpenMPI was
installed. 2) Submitting bug reports / help requests to the OpenMPI community. 3) Seeing a list
of installed OpenMPI plugins and querying what MCA parameters they support. Refer to
http://www.open-mpi.org/doc/v1.6/man1/ompi_info.1.php for more details.
Independently of OpenMPI, the following commands can be used in the sge script:
ldd - v $NUMECA_ BIN/euranus/euranusTurbox86_ 64_ ompi
environment is loaded before launching the flow solver.
to check which runtime
/lib64/libc.so.* or /lib/libc.so.* to get the version of the libc.
etc.
$MPIR_HOME/bin/mpirun --display-map --display-allocation ${ompi_options} -np
$NSLOTS -hostfile $TMPDIR/machines ${BIN} $RUN_FILE -steering $STEERING_
FILE -fullflex
is the command to launch the parallel computation. --display-map --display-allocation is the
OpenMPI options that are used to display the process map before launching the job and the
allocation being used by this job. $NSLOTS is the number of slots (processors) that have been
allocated by SGE for the job. $TMPDIR is generated by SGE for providing the machines file
used by the mpirun script. ${BIN} is the single precision solver compiled with the OpenMPI
library. $RUN_FILE -steering $STEERING_FILE are the arguments to the flow solver.
The argument -fullflex is optional, which forces the flow solver to use the FFLEX-type license
keys in priority (For more details, see Flexible Cores Type from License).
For sequential runs, the line "#$ -pe mvapich 4" must be removed and the final command must
be: ${BIN} $RUN_FILE -steering $STEERING_FILE -seq
Some options should be avoided in the script, such as "-sync yes" that prevents the TaskManager
from detecting that a computation has finished.
2. Set permission for execution "batch.sge" by using the command: "chmod 755 batch.sge"
Create input files ".run" to launch the computation. The parallel settings of the computational
file (".run") are managed by the Task Manager. Therefore before launching the parallel
computation script,
the following steps must be performed through the FINE™/Turbo
interface:
3. Create computational file (".run") by activating the corresponding computation and clicking on
the Project/Save Run Files menu in the interface.
4. To set the final parallel settings:
l create a task in the Task Manager,
l define the parallel settings of the FINE™/Turbo solver subtask (parallel computation),
l Save the task through the Task Manager by clicking on Save button.
These operations are mandatory in order to have all the parallel settings correctly imposed in
the computation file (".run"). They can also be performed in batch, with the finebatch
command, see How to Launch finebatch on Linux.
5. Launch the script "batch.sge" by typing the script file name: "./batch.sge".
When saving the ".run" file of the computation (File/Save Run Files) and clicking the save button
(Modules/Task Manager), a script ".sge" is automatically created in the corresponding computation
subfolder that enables the user to launch the same computation in batch and in parallel.
D. How to Launch the flow solver in Parallel using PBS on
Linux
1. Create a script file "batch.pbs" with permission for execution. An example of a "batch.pbs"
file for a parallel computation on Linux using OpenMPI flow solver:
#!/bin/sh
#PBS -r n
#PBS -o /tmp/ahmed/ahmed_computation_1/ahmed_computation_1.std -j oe
#PBS -N ahmed
#PBS -q workq -lselect=3:ncpus=1
NPROCS=`wc -l < $PBS_NODEFILE`
NI_VERSIONS_DIR=/home/fine<version>
export NI_VERSIONS_DIR
NUMECA_SOFT_VERSION=<version>
export NUMECA_SOFT_VERSION
TMP_DIR=~/.numeca/tmp/
NUMECA_DIR=${NI_VERSIONS_DIR}/fine$NUMECA_SOFT_VERSION
export NUMECA_DIR
NUMECA_BIN=${NUMECA_DIR}/LINUX
export NUMECA_BIN
MPIR_HOME=${NUMECA_BIN}/_mpi/_ompi1.6/
export MPIR_HOME
OPAL_PREFIX=$MPIR_HOME
export OPAL_PREFIX
PATH=${MPIR_HOME}/bin:${PATH}
export PATH
LD_LIBRARY_PATH=$MPIR_HOME/lib64:$MPIR_HOME/lib:${NUMECA_BIN}/ _
lib_sx86_64:${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH
ompi_options=
BIN=${NUMECA_BIN}/euranus/euranusTurbox86_64_ompi
RUN_FILE=/tmp/ahmed/ahmed_computation_1/ahmed_computation_1.run
STEERING_FILE=/tmp/ahmed/ahmed_computation_1/ahmed_computation_1.steering
ompi_info
$OPAL_PREFIX/bin/mpirun --display-map --display-allocation ${ompi_options} -v -np
$NPROCS -machinefile $PBS_NODEFILE ${BIN} $RUN_FILE -steering
$STEERING_FILE -fullflex
where:
All lines beginning with #PBS are PBS commands.
#! /bin/sh requires Bourne shell to be used by PBS for job submission and hence, only the
.profile file of the user is executed if exists on each computation host. There is nothing specific
to Numeca software that must be written in the .profile file.
#PBS -r n specifies that the job is not rerunnable. That means that the job cannot be stopped
and put back again in the waiting queue.
#PBS -o /tmp/ahmed/ahmed_computation_1/ahmed_computation_1.std -j oe tells the PBS
system that the standard output has to be redirected in the ".std" in the computation directory,
the option "-j oe" indicates that the standard error is also redirected into the same file.
#PBS -N ahmed is the name of the job given to PBS and that will be seen when monitoring
the job with qstat PBS command. PBS has a limitation of 8 characters for the job name.
#PBS - q workq - lselect=3:ncpus=1 requests 3 slots (processors) to the PBS system for
executing the job using the workq queue. This must correspond to NTASK +1 where
NTASK is the number of computation processes in the ".run" file, the "+1" being the host
process that manages inputs/outputs.
NPROCS=`wc -l < $PBS_NODEFILE` The NPROCS variable contains the total number of
processors allocated for the computation and will be used by the mpirun executable.
NI_VERSIONS_DIR=/home/fine<version>
export NI_VERSIONS_DIR
NUMECA_SOFT_VERSION=<version>
export NUMECA_SOFT_VERSION
specifies
FINE™/Turbo.
the installation directory (e.g.
/home/fine131) and version (e.g. 131) of
MPIR_HOME=${NUMECA_BIN}/_mpi/_ompi1.6/
export MPIR_HOME
OPAL_PREFIX=$MPIR_HOME
export OPAL_PREFIX
PATH=${MPIR_HOME}/bin:${PATH}
export PATH
LD_LIBRARY_PATH=$MPIR_HOME/lib64:$MPIR_HOME/lib:${NUMECA_BIN}/ _
lib_sx86_64:${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH
are the environment variables indicating respectively the OpenMPI directory (FINE™/Turbo
allows to use an external OpenMPI library, which may be a tuned, customized or hardware
specific OpenMPI libraries.) and the library directories that are used in the command launching
the flow solver.
ompi_options= specifies the OpenMPI options. If nothing is specified, OpenMPI will choose
the most efficient parameters supported by the pointed library (OPAL_PREFIX). In general,
all the MCA options can be imposed in the script.
ompi_info provides detailed information about the OpenMPI installation. It can be useful for at
least three common scenarios: 1) Checking local configuration and seeing how OpenMPI was
installed. 2) Submitting bug reports / help requests to the OpenMPI community. 3) Seeing a list
of installed OpenMPI plugins and querying what MCA parameters they support. Refer to
http://www.open-mpi.org/doc/v1.6/man1/ompi_info.1.php for more details.
Independently of OpenMPI, the following commands can be used in the pbs script:
ldd - v $NUMECA_ BIN/euranus/euranusTurbox86_ 64_ ompi
environment is loaded before launching the flow solver.
to check which runtime
/lib64/libc.so.* or /lib/libc.so.* to get the version of the libc.
etc.
OPAL_PREFIX=$NUMECA_DIR/LINUX/_mpi/_ompi1.6
export OPAL_PREFIX
LD_LIBRARY_PATH=$OPAL_PREFIX/lib64:$OPAL_PREFIX/lib:$NUMECA_
DIR/LINUX/_lib_sx86_64:${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH
are the environment variables indicating respectively the OpenMPI directory (FINE™/Turbo
allows to use an external OpenMPI library, which may be a tuned, customized or hardware
specific OpenMPI libraries.) and the library directories that are used in the following
command:
$OPAL_PREFIX/bin/mpirun --display-map --display-allocation ${ompi_options} -v -np
$NPROCS -machinefile $PBS_NODEFILE ${BIN} $RUN_FILE -steering
$STEERING_FILE -fullflex
is the command to launch the parallel computation. --display-map --display-allocation is the
OpenMPI options that are used to display the process map before launching the job and the
allocation being used by this job. $PBS_NODEFILE is generated by PBS for providing the
machines file used by the mpirun script. ${BIN} is the single precision solver compiled with
the OpenMPI library. $RUN_FILE -steering $STEERING_FILE are the arguments to the
flow solver. The argument -fullflex is optional, which forces the flow solver to use the
FFLEX-type license keys in priority (For more details, see Flexible Cores Type from License).
2. Create computational file (".run") by activating the corresponding computation and clicking on
the File/Save Run Files menu in the interface.
3. To set the final parallel settings:
l create a task in the Task Manager,
l define the parallel settings of the FINE™/Turbo solver subtask (parallel computation),
l Save the task through the Task Manager by clicking on the Save button.
These operations are mandatory in order to have all the parallel settings correctly imposed in
the computation file (".run"). They can also be performed in batch, with the finebatch
command, see How to Launch finebatch on Linux.
4. Submit the PBS script to the queue by using the command line: "qsub batch.pbs".
When saving the ".run" file of the computation (File/Save Run Files) and clicking the save button
(Modules/Task Manager), a script ".pbs" is automatically created in the corresponding computation
subfolder that enables the user to launch the same computation in batch and in parallel.
E. How to Launch the flow solver in Parallel using LSF on
Linux
1. Create a script file "batch.lsf" with permission for execution. An example of a "batch.lsf" file
for a parallel computation on Linux using OpenMPI flow solver:
#BSUB -L /bin/sh
#BSUB -J comp1875
#BSUB -q priority -n 3
#BSUB -oo /tmp/ahmed/ahmed_computation_1/ahmed_computation_1.std -eo
/tmp/ahmed/ahmed_computation_1/ahmed_computation_1.std
NI_VERSIONS_DIR=/home/fine<version>
export NI_VERSIONS_DIR
NUMECA_SOFT_VERSION=<version>
export NUMECA_SOFT_VERSION
TMP_DIR=~/.numeca/tmp/
NUMECA_DIR=${NI_VERSIONS_DIR}/fine$NUMECA_SOFT_VERSION
export NUMECA_DIR
NUMECA_BIN=${NUMECA_DIR}/LINUX
export NUMECA_BIN
MPIR_HOME=${NUMECA_BIN}/_mpi/_ompi1.6/
export MPIR_HOME
OPAL_PREFIX=$MPIR_HOME
export OPAL_PREFIX
PATH=${MPIR_HOME}/bin:${PATH}
export PATH
LD_LIBRARY_PATH=$MPIR_HOME/lib64:$MPIR_HOME/lib:${NUMECA_BIN}/_
lib_sx86_64:${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH
ompi_options=
BIN=${NUMECA_BIN}/euranus/euranusTurbox86_64_ompi
RUN_FILE=/tmp/ahmed/ahmed_computation_1/ahmed_computation_1.run
STEERING_FILE=/tmp/ahmed/ahmed_computation_1/ahmed_computation_1.steering
computation_file=`basename $RUN_FILE`
directory_name=`dirname $RUN_FILE`
MACHINE_FILE=`echo ${directory_name}/${computation_file}.machine_file`
rm -f $MACHINE_FILE
TOTAL_NUM_PROC=0
FLAG=""
HOST=""
nb_host=0
for TOKEN in $LSB_MCPU_HOSTS
do
if [ "$FLAG" == "" ] ; then
HOST="$TOKEN"
FLAG="1"
host_list[$nb_host]=$host
nb_host=`expr$nb_host+1`
else
TOTAL_NUM_PROC='expr ${TOTAL_NUM_PROC} + ${TOKEN}'
echo 'expr "$HOST" : '\([^\.]*\).*'`:$TOKEN >> $MACHINE_FILE
FLAG=""
fi
done
ompi_info
$OPAL_PREFIX/bin/mpirun --display-map --display-allocation ${ompi_options} -np
$TOTAL_NUM_PROC -hostfile $MACHINE_FILE ${BIN} $RUN_FILE -steering
$STEERING_FILE -fullflex
where:
All lines beginning with #BSUB are LSF commands.
#BSUB -L /bin/sh requires Bourne shell to be used by LSF for job submission and hence,
only the .profile file of the user is executed if exists on each computation host. There is nothing
specific to Numeca software that must be written in the .profile file.
#BSUB -J comp1875 is the name of the job given to LSF. LSF has a limitation of 8
characters for the job name.
#BSUB -q priority -n 3 sets the queue on which the computation will run (here the queue
name is priority) and the number of processors (here 3 processors).
/tmp/ahmed/ahmed_ computation_ 1/ahmed_ computation_ 1.std
#BSUB - oo
- eo
/tmp/ahmed/ahmed_computation_1/ahmed_computation_1.std tells the LSF system that the
standard and error output has to be redirected in the ".std" in the computation directory.
NI_VERSIONS_DIR=/home/fine<version>
export NI_VERSIONS_DIR
NUMECA_SOFT_VERSION=<version>
export NUMECA_SOFT_VERSION
specifies
FINE™/Turbo.
the installation directory (e.g.
/home/fine131) and version (e.g. 131) of
MPIR_HOME=${NUMECA_BIN}/_mpi/_ompi1.6/
export MPIR_HOME
OPAL_PREFIX=$MPIR_HOME
export OPAL_PREFIX
PATH=${MPIR_HOME}/bin:${PATH}
export PATH
LD_LIBRARY_PATH=$MPIR_HOME/lib64:$MPIR_HOME/lib:${NUMECA_BIN}/_
lib_sx86_64:${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH
are the environment variables indicating respectively the OpenMPI directory (FINE™/Turbo
allows to use an external OpenMPI library, which may be a tuned, customized or hardware
specific OpenMPI libraries.) and the library directories that are used in the command launching
the flow solver.
ompi_options= specifies the OpenMPI options. If nothing is specified, OpenMPI will choose
the most efficient parameters supported by the pointed library (OPAL_PREFIX). In general,
all the MCA options can be imposed in the script.
Then the script uses the LSF environment LSB_MCPU_HOSTS to create a machine file,
which will be used by the command launching the flow solver.
ompi_info provides detailed information about the OpenMPI installation. It can be useful for at
least three common scenarios: 1) Checking local configuration and seeing how OpenMPI was
installed. 2) Submitting bug reports / help requests to the OpenMPI community. 3) Seeing a list
of installed OpenMPI plugins and querying what MCA parameters they support. Refer to
http://www.open-mpi.org/doc/v1.6/man1/ompi_info.1.php for more details.
Independently of OpenMPI, the following commands can be used in the lsf script:
ldd - v $NUMECA_ BIN/euranus/euranusTurbox86_ 64_ ompi
environment is loaded before launching the flow solver.
to check which runtime
/lib64/libc.so.* or /lib/libc.so.* to get the version of the libc.
etc.
$OPAL_PREFIX/bin/mpirun --display-map --display-allocation ${ompi_options} -np
$TOTAL_NUM_PROC -hostfile $MACHINE_FILE ${BIN} $RUN_FILE -steering
$STEERING_FILE -fullflex
is the command to launch the parallel computation. --display-map --display-allocation is the
OpenMPI options that are used to display the process map before launching the job and the
allocation being used by this job. ${BIN} is the single precision solver compiled with the
OpenMPI library. $RUN_FILE -steering $STEERING_FILE are the arguments to the flow
solver. The argument -fullflex is optional, which forces the flow solver to use the FFLEX-type
license keys in priority (For more details, see Flexible Cores Type from License).
2. Create computational file (".run") by activating the corresponding computation and clicking on
the File/Save Run Files menu in the interface.
3. To set the final parallel settings:
l create a task in the Task Manager,
l define the parallel settings of the FINE™/Turbo solver subtask (parallel computation),
l Save the task through the Task Manager by clicking on Save button.
These operations are mandatory in order to have all the parallel settings correctly imposed in
the computation file (".run"). They can also be performed in batch, with the finebatch
command, see How to Launch finebatch on Linux.
4. Submit the LSF script to the queue by using the command line: "bsub < batch.lsf".
When saving the ".run" file of the computation (File/Save Run Files) and clicking the save button
(Modules/Task Manager), a script ".lsf" is automatically created in the corresponding computation
subfolder that enables the user to launch the same computation in batch and in parallel.
11.4.6 Launch CFView™ in Batch
How to Launch CFView™ on Linux
1. Create a macro file ".py". For more details see the CFView™ for more detailed information on
the format of a macro file and the commands that can be included in a macro file.
2. Launch the macro ".py" by typing: "cfview -macro <macro_ path>/macro.py -batch -
niversion <version>"
The command line to start CFView™ contains its name, the full path of the macro ".py" file
(<macro_path>) to launch and the CFView™ release that will be used (<version>). The "-
batch" option avoids the display of the CFView™ graphical user interface.
When launched in batch, CFView™ does not open the graphical user interface but an access to the
display of the machine on which the process is launched, is still required.
How to Launch CFView™ on Windows
1. Create a macro file ".py". For more details see the CFView™ for more detailed information on
the format of a macro file and the commands that can be included in a macro file.
2. Launch the macro ".py" by typing: "<cfview_ path>\cfview.exe - macro <macro_
path>\macro.py -batch"
The command line to start CFView™ contains the full path name of the cfview.exe executable
(<cfview_path>) and the full path of the macro ".py" file (<macrp_path>) to launch. The "-
macro" & "-batch" options respectively permit to launch the macro and to avoid to display the
CFView™ graphical user interface. The cfview.exe executable can be found in: "<NUMECA_
install_dir>\Fine#\bin\"
When launched in batch, CFView™ does not open the graphical user interface but an access to the
display of the machine on which the process is launched, is still required.
Command Line Arguments
The command cfview may be followed by a set of command line arguments. Those command
line arguments allow to override some system defaults (used driver, display, double-buffering and
update abort options) or to specify files to be loaded immediately (project, macro, defaults
settings, macro module). The supported command line arguments are:
-help prints a summary of the command line arguments,
-version prints the CFView™ version number,
-date prints the CFView™ version date,
-defaults <file name> starts CFView™ with the default settings from the specified file,
-project <file name> starts CFView™ and opens immediately the specified project,
-macro <file name> starts CFView™ and execute the specified macro script,
-macromodule <file name> starts CFView™ and load the specified macro module,
-display <display name> starts CFView™ on the specified display device,
-doublebuffering on (off) activates (disables) double buffering,
-updateabort on (off) activates (disable) update aborting ,
-driver <driver name> starts CFView™ with the specified graphics accelerator,
-reversevideo on (off) starts CFView™ with black (white) background color ,
- facedisplacement <n> starts CFView™ with the specified face displacement ,
-loaddata all (none, ask) when opening a project the quantities fields are loaded in the computed
memory (are not loaded, a specific dialog box is raised where the user choose the field variables
to be loaded). The defaults is to load all field quantities. ,
-nob2b on: starts CFView™ and allows to avoid the hub and shroud projections process when
loading a turbomachinery solution file,
-batch on (off) starts CFView™ without graphical user interface. This mode can be used in
combination with the -macro command line option in order to perform the execution of a macro
script without user interaction,
-hoops_relinquish_memory off this option disables the hoops garbage collection feature that is
activated when CFView™ is idle during a long period of time.
11.5
LIMITATIONS
The task manager have some limitations due to the current PVM and MPI libraries:
l The remote copy works only if there is enough disk space on the remote machine. Currently,
no check is performed to identify the available disk space and the flow solver crashes with
"undifined reason".
l Parallel computation with distributed memory are only available on homogenous
Linux/Windows platforms.
l When a user launches FINE™/Turbo on different machines, the connection between these
machines is not allowed.
l The directory installing FINE™/Turbo must be the same in order to be able to run distributed
memory parallel computation with OpenMPI.
CHAPTER 12.
COMPUTATION STEERING & MONITORING
This chapter is completely dedicated to the monitoring tools available in FINE™/Turbo to monitor the
global solution during and after a computation. The Computation Steering pages and the additional
tool Monitor are described:
l Computation Steering/Control Variables page
l Computation Steering/Convergence History and Task Manager/Convergence History
l Monitor
l In the Best Practice for Computation Monitoring , advice is provided on how to use the
monitoring tools in analysing the progress of a computation.
In this section
12.1 Control Variables
12.2 Convergence History
12.3 Monitor
12.4 Best Practice for Computation Monitoring
503
506
517
522
12.1 CONTROL VARIABLES
Control Variables in the FINE™/Turbo GUI
The Computation Steering/Control Variables page, see FIGURE 12.1, allows to define some
global parameters for the selected computation:
l the Maximum Number Of Iterations on the finest grid level (i.e. not including the iterations
performed during the coarse grid initialization process).
l the Convergence Criteria corresponding to the (negative) number of orders of magnitude the
norm of the residuals must decrease before stopping the calculation. If this criterion is not
reached the calculation proceeds until the maximum number of iterations is performed.
l the frequency for saving output (Save Solution Every): every x iterations the solver saves the
flow solution and creates the output files to be read in CFView™ (where x is the number of
iterations defined in the FINE™/Turbo interface).
l when the option Minimum output is selected the full solution is only saved at the last
iteration.
l the type of residuals: exported per group when the option Residuals per group is checked,
and per block when the option is unchecked. Each group is composed by the blocks having:
l the same rotational speed and being comprised between the same rotor-stator interfaces
and/or,
l the same block type (solid/fluid) separated by an FNMB connection.
The composition of each group can be found in the .std file.
The following picture illustrates the composition of each group in a cylindrical case (left) and
in a Cartesian case (right).
l the Solver Precision: single or double. For most cases, the single precision solver (much less
demanding in memory consumption) will be sufficiently accurate. However, some certain
types of problem, such as very long thin pipe and conjugate heat transfer problems, may
benefit from the double precision solver.
l the Memory Requirements for the computation. By default an estimate is given for the
required memory. Depending on the parameters defining the computation, additional memory
may be needed. For example, more memory is required when full non-matching connections
or a k-ε turbulence model is used. Also the amount of selected output may require more
memory. To allocate more memory for the computation activate the option Set the requested
memory. This will allow to define the amount of memory in Mb used for reals and integers.
For unsteady computations the Control Variables page is updated to give access to additional
parameters as described in Interface for Unsteady Computation and Best Practice on Time
Accurate Computations sections.
FIGURE 12.1
The Control Variables page
In expert mode, this page contains two lists of expert parameters: Int parameters and Double
parameters. Each list can be sorted by Name or Status (default or expert). The value of an expert
parameter can be changed by entering a new value in the field Value (s) , with parameters
highlighted in blue when number(s) other than their default(s) are entered.
Each list can be searched by entries in their respective search fields. If the entry starts with '*' the
search will be performed for expert parameter names containing the string typed after '*',
otherwise the search consists of expert parameter names starting by the string typed. The Clear
button can be used to clear the search request and display the full list of expert parameters sorted
by the initial sorting criterion used.
Only the expert parameters that are described in the manual are supported. Use of the other
parameters is not recommended. For a summary of all supported expert parameters see the List of
Expert Parameters.
Expert Parameters
MNGDBL(integer): The geometrical data (Wall distances and FNMB data) are usually computed
one time and stored in the files linked to the project (or the mesh). It is possible that some data are
corrupted by a lack of precision. This is obvious for the wall distance computation in single
precision when the difference of the absolute coordinates needs more than 8 significant digits. In
the flow solver, the wall distances are computed and stored (.cgns file) in the specified precision
for real. However, the FNMB data is always computed in the double precision and stored (.adf
file) in the specified precision for real. So the FNMB data is less sensitive to the selected solver
precision than the wall distances.
The expert parameter MNGDBL is used to manage the reading or the computation of the wall
distances and FNMB data when using the double precision solver:
l 0: Read all stored values.
l 1 (default): Compute the wall distances again if they are stored in the single precision.
l 2: Compute the wall distances and FNMB data again if they are stored in the single precision.
FSTOUT(integer): toggle output of the CGNS file before the first iteration on fine mesh.
l 0: Not output the CGNS file before the first iteration on fine mesh. Note, set FSTOUT=0 only
if you are sure that the requested integer and real memory allocations are sufficient. Otherwise,
the computation may crash without saving results.
l 1 (default): Output the CGNS file before the first iteration on fine mesh.
12.2 CONVERGENCE HISTORY
12.2.1 Convergence History in the FINE™/Turbo GUI
The Computation Steering/Convergence History
or Task Manager/Convergence
Historypage allows the user to define quantities to be followed during the convergence process of
the FINE™/Turbo solver. This page is divided in 5 areas as shown in FIGURE 12.2:
FIGURE 12.2
The five areas of the Convergence History page
1. If the computation is running in batch, the user can view the steering by activating the button
Auto update while running in batch (only available through the Computation
Steering/Convergence History page).
2. The available variables (Available Variables).
3. The parameters (Parameters type).
4. The selected variables (Selected Variables).
5. The graphics view (Convergence History).
When the FINE™/Turbo solver is invoked, a communication is automatically established with
FINE™/Turbo allowing the user to monitor the selected quantities. Two representations of the
quantities are currently available: the convergence curves displayed in the area 5 and the quantity
value at the last iteration in the area 4. All these data are stored in files with extension ".steering"
and ".steering.binary". These files are created and managed automatically by FINE™/Turbo
If the communication between the flow solver and FINE™/Turbo is interrupted (i.e.: network
problem), parts of the convergence curves can be lost.
The FINE™/Turbo solver allows to read and write the steering files in batch mode. The name of
the ".steering" file is given through the arguments of the solver ("- steering computation_
name.steering"). The solver reads the "steering" file when reading the ".run" file. The solver will
also read the ".steering.binary" file if the ".run" is a restart.
When running in batch mode, the ".steering.binary" file is updated only when the solver saves the
solution.
When the steering is being written by the flow solver in batch mode and the user is checking
the convergence history in GUI, the user must not start the flow solver again from the GUI.
Otherwise the GUI may overwrite the steering data.
Steering Files Selection & Curves Export
Different modes exist for the selection of the current steering results stored in the steering files:
1. When a project is opened, the active computation steering file is automatically selected and
appears in the Add or select computations window (a) appearing when clicking on Select
Computations button. Each time a new computation is selected, the associated steering file is
automatically loaded and becomes the active one.
FIGURE 12.3
Steering files selection area
2. All the steering files already loaded can be selected by <Ctrl>-left click and <Shift>-left click
in the list of available computations.
3. The file can also be loaded manually using the Add Computation button (c). A file chooser
prompts the user to select the file.
4. The Remove Computation button (d), allows the user to remove the selected computation from
the memory (the file is not removed from the disk and remains available for selection).
5. Additionally, when a task is started, the steering file of the active computation is automatically
loaded and becomes available in the list of computations (b).
The Export Curves To File... button enables the user to save all the curves plotted in the Graphics
View in an ASCII file ".cvh".
Available Quantities Selection
The available quantities selected by default depend on the type of computation. For example,
when launching a turbomachinery computation, the global residual, the inlet and outlet mass flow,
the efficiency, the pressure ratio, the axial thrust and the Torque are computed during the
convergence process. The Available Quantities list (b) allows the user to select and add (c) new
quantities to the computed list, see FIGURE 12.4.
.
FIGURE 12.4
Available quantities selection area
All the quantities can be added before or during the computation.
When a quantity has been added, it appears in the selection list and becomes the selected quantity.
If the flow solver is running, the value and the convergence curve of the new quantities is
displayed after a few seconds. The convergence curve begins at the iteration corresponding to the
moment when the new quantity has been added in the Selected Variables list.
When a quantity is added for selection it appears in the selection list with a number behind the
name. This number is only added to avoid to have two times the same variable name in the list.
This is especially necessary when, for example, the static pressure is monitored at two different
points in the domain.
FINE™/Turbo allows the user to monitor the evolution of force (force X, Y, Z), torque (torque
is the
X, Y, Z) and aerodynamic power (defined by
, where
velocity of the wall deformation) on more than one set of solid patches. For projects older than
v12.1, the expert parameter SOLSTE must be set to 1. To add these quantities among the list of
monitored variables, the patch/group of patches considered for the monitoring should be selected
in the drop-down menu shown in the area (3) in FIGURE 12.2.
To be operational, the addition of a new variable should be performed as follows:
1. Selection of the quantity
2. Selection of the patch/group of patches
3. Click on button “Add for Selection”
The patch/group of patches on which a quantity has been monitored can be retrieved in the entry
"GroupName" by clicking on the variable on the right-menu shown in the area (4) on FIGURE
12.2.
Only the patch/group of patches on which the option "compute force and torque" is activated may be
selected.
The force and torque outputs are computed for one blade only. The periodicity of the blade is not
used.
Monitoring aerodynamic power is restricted to MpCCI and modal computations.
New Quantity Parameters Definition
When a new quantity has been added, it becomes available for selection in the Selected
Variables list (area 4 in FIGURE 12.2). The user can select the way the flow solver computes the
quantity through the parameter type area (area 2 in FIGURE 12.2). Several types of parameters
can be chosen through the parameter type list box ((a) in FIGURE 12.5). The available types
depends on the the selected parameter.
The available types of parameters that can be defined to compute the selected quantities:
1. global: the computed variable is averaged over all the domain.
2.
local 3d grid point: the user specifies the grid point indices (I,J,K) and the block index (block
id) where the quantity will be computed.
3.
4.
time curve for 3d grid point: the user specifies the grid point indices (I,J,K) and the block index
(block id) where the quantity will be reconstructed in time.
local 3d grid point harmonic: the user selects the real or imaginary part and specifies the grid
point indices (I,J,K), the block index (block id) and the harmonic index (harmonic number)
where the quantity will be computed.
5. rotor- stator data: the user specifies the ID of the rotor- stator where the quantity will be
computed.
6. patch group data: the user specifies the name of the patch/group where the quantity will be
computed.
7. Patch group data harmonic: the user specifies the name of the patch/group where the quantity
will be reconstructed in time.
FIGURE 12.5
Parameter type definition
Care should be taken when using the steering of a parameter on a local 3d grid point. It should be
carried out in the following way:
l select the parameter (relative velocity u, static pressure...).
l add it for selection. It becomes available for the selected variables.
l set the block id and the I,J,K indices of the grid point on which the evolution of the selected
parameter will be visualized.
All modifications (I,J,K indices...) can also be performed (and modified) during the computation.
The time reconstruction (Patch group data harmonic) of load and aerodynamic power in steering is
only compatible with FSI-NLH computation.
Quantity Selection Area
When a quantity has been added, it becomes available for selection in the Selected Variables list.
The list is divided in 3 columns as shown in FIGURE 12.6: the variable name (a) which can be
changed using the button rename (d), the quantity value (b) which displays the last computed
value and the units (c) of the variable. The button remove (e) is used to remove the first selected
variable.
FIGURE 12.6
Selected variables area
When a quantity is not yet computed, the value indicated is undefined.
Selecting a quantity will show its history in the graphics view as described in the next paragraph.
To select multiple quantities click on them (with the left mouse button) in the list while holding
the <Ctrl> or <Shift> key. To select quantities that are next to each other in the list simply click on
the first one and keep the mouse button pressed while moving to the last variable.
Definition of Global Residual
The residuals are computed by the FINE™/Turbo solver as the imbalance in the linearised system
of discrete equation (the sum of the imbalance of the discrete equation (residual R(U)) in each
cell):
.
The root mean square of the residuals is computed with the following formula:
,
and the maximum of the residuals in the same way:
,
with log the logarithm to the base ten.
On the Computation Steering/Convergence History or Task Manager/Convergence History
page, the global root mean square of the residuals normalized by its value at the first iteration is
shown. These values are stored in the files with extension ".steering" and ".steering.binary". By
default, the global residual of the density is monitored. The quantity to be monitored can be
changed by modifying the value of the expert parameter NRRES.
The residuals can either be exported per block or per group . When the option
"Residuals per group" is activated in Computation Steering>Convergence History, the residuals are
redefined by considering the rms and the maximum residuals values over all the blocks composing
the group (i.e the row).
When working with harmonic method, a global residual called 'global residual harmonics' will be
available in addition of the 'global residual'. The 'Global residual' is linked to the time averaged
solution while the 'global residual harmonics' is linked to the time fluctuations.
Additionally the global residuals are shown in numerical values in the Task Manager window
(3rd column). The RMS value listed in the Task Manager window is the global root mean square
normalized by its value at the first iteration: RMSRES-(RMSRES)it=1. The maximum value (4th
column) is the maximum residual at a certain iteration normalized by the RMS residual at the first
iteration: MAXRES-(RMSRES)it=1.
The values of the global residuals depend on the used initial solution. If the initial solution is already
quite close to the final solution, the obtained residual values are not as low as they would have been
when the initial solution is far from the final solution.
FIGURE 12.7
Task Manager window
The Graphics View
The convergence history of the selected curves are displayed inside the graphics view.
In the Computation Steering/Convergence History page, the color of the curves is different (up
to 8 selected quantities). The automatic chosen curves colors are also used for the displayed value
(a). Additionally, the relative error between the two first selected quantities is also indicated (b).
This is especially important for checking the difference between the mass flow at inlet and outlet
are
(FIGURE 12.8). The relative error is computed as follows:
, where
and
the first and second selected quantities, respectively.
FIGURE 12.8
Graphics view area in Computation Steering/Convergence History page
In the Task Manager/Convergence History page, the color of the curves is the same (but with
different markers) if related to the same computation. The color is different for each curve if
related to different computations (up to 9 selected quantities controlled by the user if necessary -
File/Preferences menu, see Main Menu Bar).
FIGURE 12.9
Graphics view area in Task Manager/Convergence History page
12.2.2 Expert Parameters
IINT(integer): Type of flow:
l 0: external flow,
l 1 (default): internal flow.
For external cases the following output will be monitored in the Convergence history page:
l Drag, projection of the global force in a chosen direction:
.
l Lift, projection of the global force in a chosen direction, generally perpendicular to that used
for the Drag:
.
l Momentum, projection of the torque in a chosen direction:
.
In the above equations, S is the surface of the selected patch(es).
are normalized
vectors used for the Drag, Lift and Momentum and defined through the expert parameters
IDCDP, IDCLP and IDCMP. Their default value is (0., 0., 1.). r is the distance from the
reference point IXMP (default value: 0., 0., 0.). The parameters mentioned here can be changed in
the Control Variables page in Expert Mode.
NRRES(integer): controls which variable will be applied for the global residual:
l 1 (default): density,
l 2:
l 3:
l 4:
,
,
,
l 5: energy,
l 6: the turbulent working variable
if Spalart-Allmaras model or k if k-ε models,
l 7: ε if k-ε models or ω if k-ω models.
NBLRES(integer): In some cases, especially for unsteady simulations, the .res may be very large.
The expert parameter NBLRES allows the user to output only limited information in this file.
l -1: output only the global residual
l 0 (default): output information for all blocks.
l N (>0): output information for the first N blocks. For example, NBLRES=10, outputs only the
information for the first 10 blocks.
IASTWL (integer): In each iteration,
the force and torque are outputted before multigrid
correction in the .steering and .res files. However, the force and torque are outputted after
multigrid correction in the .mf, .wall and .cgns files. If the convergence is not fully reached, the
force and torque may be different in these files. The expert parameter IASTWL allows to output
the force and torque after multigrid correction in all files.
l 0 (default): output the force and torque before multigrid correction in the .steering and .res files
but after multigrid correction in the .mf, .wall and .cgns files.
l 1: output the force and torque after multigrid correction in all files.
12.3 MONITOR
12.3.1
Introduction
Monitor can be launched independently from FINE™/Turbo in order to facilitate the batch mode
control. It is a separate graphic control window in which the user can visually monitor the
convergence history of one or several computations ( Convergence history ). This section
describes the functionalities of the convergence history display.
On Linux platforms type: monitor -niversion <version> -print <Enter>
When multiple versions of FINE™/Turbo are installed, the installation note should be consulted for
advice on how to start Monitor in a multi-version environment.
On Windows click on the Monitor icon in Start/Programs/NUMECA software/fine131 .
Alternatively FINE™/Turbo can be launched from a dos shell by typing:
<NUMECA_INSTALLATION_DIRECTORY>\fine#\bin64\monitorx86_64.exe <Enter>
12.3.2 The Monitor GUI
FIGURE 12.10
The Monitor window
Monitor allows multi- process analyses. Therefore,
the convergence histories of multiple
(running) projects can be visualized at the same time. It is also possible to compare the
convergence history associated with different computational parameters for the same project.
The monitored variables are displayed as a x-y graph in the upper part of the window (a). The x-
axis represents the number of multigrid cycles or work units achieved by the flow solver. The y-
axis is a logarithmic axis representing the power of ten of the residual values. The user can choose
the residual of any of the equations solved and some global parameters using the buttons visible in
the lower right part of the graphic control window (b) as shown in FIGURE 12.10.
The lower part of the graphic control window contains four boxes. The small box (c) located on
the left side contains a Quit button (which allows to close the Monitor window). The two other
boxes are described in the next sections.
The Residual File Box
Three buttons are provided in this box to Add, Remove or Activate residual files through a file
chooser. The residual files describe the iteration process of previous or current computations. For
internal flow, they contain the history of the axial thrust, mass flow, torque, efficiency, pressure
ratio (lift, drag and momentum coefficients for external flow), the residuals of five (seven or six if
respectively the k-ε , k-ω or the Spalart-Allmaras turbulence model is used) physical variables and
the harmonic variables (density, Vx, Vy, Vz, pressure).
The activation of a part of the residual files ".res" has the effect of deactivating the other loaded
residual files. When a residual file is deactivated, its associated convergence history is not
displayed. The selective activation of residual files allows thus to display only the convergence
histories of some of the loaded residual files ".res".
The input boxes File and Block (or Group starting from FINE™/Turbo v12.1, following the
possibility to export the residual curves per group or per block ), visible
just below the three buttons Add, Remove and Activate, allow to select for which file and block
the choice of the monitored variables performed in the Quantities to display menu should be
applied. The box Block (or Group) is changed from one to the other depending on the last loaded
computation: Group will appear if the computation has been set up to display the residuals per
group, while Block will be displayed if the option has not been activated . The indexation of the residual curves is also adapted depending on the type of
residual output chosen: the index "g" will appear when monitoring the residuals per group, while
"b" will appear when the monitoring is based on the blocks.
Quantities to Display
Residuals
Buttons are provided to select the type of residuals: rms or maximum as shown in FIGURE 12.10
on the right. The residuals relative to all transport equations of the problem are available: these are
the continuity, the momentum, the energy, and eventually the turbulent kinetic energy k and the
turbulent dissipation ε (if the turbulent computation is using a k-ε or v²-f model, e.g. not for
Baldwin Lomax), and the turbulent kinematic viscosity nu (if the Spalart-Allmaras model is used).
While the Computation Steering/Convergence history or Task Manager/Convergence
History page displays only the global residual, Monitor gives the RMS and maximum values per
block. Computation of the RMSRES and MAXRES values is done according to the Definition of
Global Residual. The values shown in Monitor for the RMS are normalized by the value of
RMS RES at the first iteration: RMS RES-(RMS RES)it=1. The values shown for the maximum
residuals are normalized by the maximum residual at the first iteration: MAXRES-(MAXRES)it=1.
Since the RMS and maximum residuals are normalized differently it may occur that the RMS value
shown in Monitor is higher than the maximum residual.
Global Quantities
Several buttons are provided to visualize the additional global quantities available under the
environment FINE™/Turbo:
l Internal flow problems (expert parameter IINT=1): The axial thrust, the (inlet and outlet) mass
flows, torque, pressure ratio, and efficiency.
l External flow problems (expert parameter IINT=0): The drag, the lift and the momentum
coefficients. The user has to specify the axis that has to be taken into account for these global
quantities as described in the Expert Parameters section.
If several computations are performed at the same time, the curves associated with the different
projects are drawn in different colors. The buttons of the present box act only on the curves of the
file and block selected through the File and Block menu.
Harmonic Quantities
FIGURE 12.11
The Monitor window - Harmonic quantities
Several buttons are provided to visualize the real and imaginary part of the harmonic quantities
available in the FINE™/Turbo environment: Density, Vx, Vy, Vz and Pressure.
If several computations are performed at the same time, the curves associated with the different
projects are drawn in different colors. The buttons of the present box act only on the curves of the
file and block selected through the File and Block menu.
The option Show curve allows to plot the curve in the Monitor window.
Display Options
The Legend option is used to display which files are currently activated. In addition, if the mass
flow button is activated, the relative errors between the inlet and the outlet are indicated.
The Work Unit option is provided to set the type of unit used on the horizontal axis in the
Monitor window: multigrid cycles or work units. If the Cycles option is chosen (the Work Unit
option will be deactivated), the abscissa will show the number of iterations. The Work Unit
option will adapt the values on the horizontal axis with respect to the grid levels (if 3 grid levels
are used, one iteration on 222 and 111 is taking respectively 1/64s and 1/8s considering that one
iteration on 000 is taking 1s.
The Update now button updates the graph for the active residual file and the selected block.
The Auto update option can be switched on to follow the iteration processes automatically. It is
however a rather time-consuming option and this button is not active by default.
Zooming Option
This option allows to interactively zoom in and out:
1. In the drawing window, press the left mouse button to initiate a zooming operation,
2. Then drag the mouse to the left or to the right to zoom in, the zooming window number is
displayed on the screen,
3. Click again on the left button when finished,
4. To zoom out, click on the right button of the mouse.
12.4 BEST PRACTICE FOR COMPUTATION
MONITORING
Introduction
Several tools are available in the FINE™/Turbo package to follow the evolution of a calculation:
l the Convergence History page available in FINE™/Turbo and in the Task Manager module,
which allows to follow the evolution of a calculation easily and to globally compare the
evolution of multiple computations.
l Another useful tool is Monitor to compare per equation and per block, the evolution of
multiple computations.
l CFView™ to enter even into more detail.
Each of them has its own specific features, but they are very complementary. This section
describes how to use those tools to monitor a computation. For a detailed description on the use of
CFView™ see the CFView™ User Manual.
When a computation has just been launched for the first time, and initialization steps have been
properly passed, the solver writes a first solution file. In fact it is not yet a solution but only the
result of the initialization. Still this first output is interesting to check if all boundaries conditions
have been set correctly. Especially think to have a look at the rotating elements of the machine,
the profiles of velocities at inlet and at outlet. This operation aims to detect a user mistake, which
could cause a loss of time, like for example, a forgotten patch. To check this first output use
CFView™. To check the rotating part of the machine, select the rotating walls (hub or shroud for
rotating walls) using the menu item Geometry/Select Surfaces and select for the quantity the
velocity. Using the Representation menu the velocity will be displayed on the selected patches
and this will be the rotation speed everywhere.
Convergence History
The global residual on the Convergence History page allows to see quickly whether or not the
computation is iterating properly. The residuals should go down first on the coarser grid levels of
the Full Multigrid strategy as shown in FIGURE 12.12. See Numerical Scheme chapter for more
details on Full Multigrid. When going to a finer grid level the global residual increases suddenly
to decrease immediately after. When the computation reaches the finest grid, the curve of the
global residual should normally decrease gradually. In general a fall of 3 orders with a
stabilization of this curve is considered as a good convergence. But it is important to check if
other global quantities like mass flow, efficiency, pressure ratio are also stabilized and to compare
the differences between mass flow at inlet and outlet (in general a difference of less than 0.5% is
acceptable).
FIGURE 12.12
Example of convergence history for global residuals
Additionally for a deeper analysis, FINE/Turbo has given the user ability to investigate the
convergence history of the local flow field, which can be accessed by the following methods:
l Add local 3d grid point in the Convergence History page 
l Add "ControlPoints" through the external file
In the second method, the characteristic quantities can be track from iteration to iteration by so
called "ControlPoints". The location of these control points is specified in I,J,K coordinates
through an external data file with extension ".ControlPoints" and the same base name as the other
computation files. The user has to put this input file in the computation directory.
The I,J,K coordinates should correspond to the finest grid level on which the computation will be run
(Current grid level specified into the Numerical Model page). If for example a computation is
run on 111 as finest grid level, then the I,J,K coordinates should be specified for the 111 grid level.
After the computation is started, the FINE™/Turbo solver will create a separate output file for
every point defined in the ".ControlPoints" file. These output files have the extension ".P#.DAT"
and can be found in the computation directory, where # stands for the serial number of the control
point in the input file.
The format of the input and output files is given in the following parts.
l Contents of the input file (.ControlPoints):
Line 1: Number of control points
Line 2: Block Nr. I-Location J-Location K-Location (control point 1)
Line 3: Block Nr. I-Location J-Location K-Location (control point 2)
......
Example
5 17 33 21
2 10 15 18
7 33 45 11
Every line has to be ended by a <return> carriage.
The maximum number of control points that users can define is limited to 180.
l Contents of the output file (.P#.DAT), for each line:
l Iteration number (steady) or Time step (unsteady)
l Density
l Relative Cartesian Velocity (
,
,
)
l Pressure (without preconditioning) or Pressure - Reference pressure (with preconditioning),
where Reference pressure is defined in the Flow Model page.
l Nu~ (for Spalart-Allmaras model only)
l k and ε (for k-ε model only)
l Real and imaginary parts of Density, Absolute Cartesian Velocity and Pressure for each
harmonic. (for NLH computations only)
l Temperature (for perfect gas with preconditioning only)
For solid blocks, only the two first columns of the output file are relevant: the iteration number
and the static temperature.
Monitor
Monitor follows the same quantities as the Convergence History, but its main interest is to offer
the possibility to follow the convergence block by block. Thus, one can localize problems and, if
necessary, modify the mesh in the region associated to the block, or change a boundary condition.
Finally, coming back to the Task Manager, it is possible to get a deeper control, locally, by adding
control points (local 3d grid point). These points allow to track in important parts of the domain,
the speed,
the pressure and turbulent quantities, which sometimes could be a requested
information. In the case of steady computations, the values associated to these points should
converge to a constant value.
One additional advice is to use CFView™ during the computation with intermediate and non-
converged solutions. When having convergence problems for example CFView™ may be used
to look for the zones were the residuals have too high values compared to other regions or an
incorrect turbulence field. To know in which block(s) the residuals start to increase first in case of
divergence problem, Monitor may already give a first indication. Combining the information
from Monitor and CFView™ allows to find the cause of convergence problems in the
computations.
Analysis of Residuals
In some cases it may occur that Monitor shows high RMS and maximum values of the residuals
in a certain block while CFView™ shows high residuals in a different block. This difference
between the two tools is caused by the different ways of representing the residuals. In CFView™
the absolute values of the residuals resulting from the flux balance are directly plotted for each
cell. In CFView™ the residuals are not scaled with the cell volumes and no normalization with
values at the first iteration is applied. This explains why some high maximum residuals in scaled
mode can be invisible in CFView™ because they occur in small cells. Also the fact that the
residuals are computed on the cell centers in the solver and shown in CFView™ on the cell
corners may lead to some, minor, interpolation differences.
CHAPTER 13.
PYTHON SCRIPT
FINE™/Turbo provides a new powerful scripting tool that enables the user to automate project settings
for applications. More details on the python commands are available in the files "FT.py" provided in
the NUMECA distribution after installation (i.e. under Windows, the file is available in "~/_python/_
fine/_turbo/").
All actions for which a python command exists will be automatically recorded in FINE™/Turbo. The
menu File/Script/Edit... can be used to edit
the current record of the commands. The menu
File/Script/Save All... can be used to save the current record of the commands.
Script files can be run from the graphical user interface or from the command line.
l From the interface, the option is accessed with the File/Script/Execute... menu. It opens a file
is executed by
chooser prompting to select a ".py" script file. After acceptation,
FINE™/Turbo.
the script
l From the command line, a script can be run by launching FINE™/Turbo with the -script option.
For example:
fine -niversion <version> -script my_script.py
FINE™/Turbo will execute the script and then open the graphical user interface.
When running a script from the command line, it is possible to execute a process in batch mode,
avoiding to open the GUI. To do so, the -batch option should be specified:
on LINUX: fine -niversion <version> -script my_script.py -batch in a terminal,
on Windows: <NUMECA_install_dir>\fine<version>\bin64\finex86_64.exe - script <path>\my_
script.py -batch in a DOS-shell.
When using Python scripts to set up a project, neither the modules compatibility nor the physical sense of the
specified values is checked.
In this section
13.1 Python Language Overview
13.2 FINE™/Turbo Script Commands
528
533
13.1
PYTHON LANGUAGE OVERVIEW
Scripts are available in FINE™/Turbo through the object-oriented Python language. Python is a
popular scripting language designed to be easily extendible to a specific application. It provides
the major functionalities classically found in languages such as C or C++, in a dynamic,
interpreted environment.
By default, French accents cannot be included in a script except if the string # coding=utf-8 is added
as first line of the script.
This section provides a brief overview of the basic features of the Python language. Interested
readers should consult the tutorial documents or the systematic description of the language
available on the Python web site (http://www.python.org).
Scripts are evaluated line by line. However, line evaluation continues on the next line if the
character '\' is the last character of the line.
Adding Commented Lines
The '#' character specify that the rest of the line is a comment and will be skipped while the macro
is executed.
Support for Mathematical Operations
l the operators +, -, * and / are defined,
l parenthesis can be used and nested to any level,
l functions abs(x), int(x), floor(x), ceil(x) and sqrt(x) for square root are available,
l trigonometric functions sin(x), cos(x), tan(x), acos(x), asin(x), atan(x) are available, atan2(x,y)
returns atan(x/y),
l logarithmic functions log(x) for neperian logarithm, log10(x) for base 10 logarithm, exp(x),
sinh(x), cosh(x), tanh(x), asinh(x), acosh(x) are available,
l x to the power y is obtained by the function pow(x,y),
l boolean values are returned by the operators >, <, <=, >=, ==, !=, and, or,
l the constants pi and e are predefined.
String Handling
Strings are handled in Python in the following way:
l they are enclosed in single <'> or double <"> quotes,
l concatenation is obtained with the operator +,
l duplication is obtained by the multiplication by an integer (operator *),
l access to the ie element is obtained by the suffix '[i]' and access to a substring is obtained by
the suffix [i:j] for a substring starting from the ie character to the je,
l numerical values contained in variables can be inserted in a string by enclosing the variable
name with reverse quotes (') or by using a formatting specification:
Example:
s = 'The Value of x is' +'x'
s = 'The Value of x is %3d' %(x)
The formatting symbols are interpreted as follows:
l %d formats in an integral value (rounded if necessary)
l %nd (where n is an integer) in an integral value having a length of exactly n characters
(space characters are inserted on the left if necessary)
l %n.mf (where n and m are integers and n>m) formats into a floating point value having at
most n characters length and a fractional part of m characters exactly
l %n.me(where n and m are integers and n>m) formats into a scientific representation having
at most n characters length and a fractional part of m characters exactly
l stripping of the leading or trailing white spaces is obtained by the function strip.
Example:
myStrippedString = strip(myString)
Lists Handling
A list is an ordered set of items.
l a list is defined by enclosing the comma separated items by square brackets. A list may be
empty,
Example:
my_list = [a,b]
empty_list = []
Note that list definition can be extended over several lines without the '\' terminating character.
l an item is accessed by adding the suffix [i] to the list name (ex: my_list[1]). Note that list
indices start at 0,
l lists can be nested to any level,
l appending is obtained by the operator + (ex: my_list + my_list2) or by the function append
(ex:my_list.append([c, d])),
l multiplication (appending oneself n times) is obtained by the multiplication operator (ex: my_
list*3),
l the functions insert(index, value) inserts value at position index, the elements at upper position
are shifted,
l the function index(value) returns the index of the first item of which the value is value,
l the function remove(value) removes the first item of which the value is value,
l the functions sort(), reverse() and len() are, respectively, sorting, reversing the elements and
returning the number of elements in the list.
Control Flow
The body part of these instructions is defined by the indented lines and the specific control lines
are terminated by a colon. The end of the loop body is marked by the first line that does not start
by a tab character. Nested loop are obtained by heading lines with multiple characters.
l if statement:
Example:
if x < 0 :
print 'x is negative'
elif x==0 :
print 'x is null'
else :
print 'x is positive'
elif and else clauses may be omitted.
l loop statements: the for loop iterates on the elements of a list and the while loop iterates as long
as the condition is met. A break statement may be inserted to step out of the loop.
Example:
for x in a[:] :
for x in range(0,10) :
while x>0 :
where the range function returns a list of integers starting from the first argument value to the
second argument value with a step indicated by the third argument if existing (default value is
1).
Function Definition
Function definition starts with the standard header:
def function_name (arg1, arg2, arg3 = default_value, ...)
where def is a reserved keyword. The arguments can be of any type (it is a user responsibility to
provide meaningful ones) and last arguments may have a default value (as arg3 in the above
example).
Each line of the function's body is indented with a TAB character. The function definition ends
with the first line which is not indented by a TAB character.
All arguments are passed by value. Thus, if an argument value is modified, the new value is not
available to the caller.
A returned value may be specified using the 'return' statement followed by the name of the
variable or by a value. In any case, a value is returned and not a reference on a local variable or
object. The type of the returned value is a list, this means that appending a new element in the
returned list is obtained by the statement 'return.append(x)'.
Global scope variable can be accessed if they are declared as such by a statement 'global' (e.g.
'global x' specifies that the x variable is a global variable for the current function).
File Handling
Files can be opened for reading and writing. A file is associated to a variable which is initialized
at its opening:
f = open(fileName, mode, bufferSize)
where fileName is the full file name including its path. The parameter mode is a character string of
which the value may be:
l 'r' or 'rb': file opened for reading,
l 'w' or 'wb': file opened for writing, creates it if not existing or the previous content is discarded,
l 'a' or 'ab': file opened for appending, creates if not existing or writes at the end of the file.
The 'b' character is used only on Windows systems to indicate that the file is in binary mode, on
Linux system, it is neglected. The parameter bufferSize is the integer value of the size of the
buffer, the system default size is chosen if the value is negative, the file is opened in the
unbuffered mode if the value is 0, a value of 1 specifies a line-buffered mode.
The following functions can be used to handle the file content:
l f.close(): closes file,
l f.flush(): flushes file's internal buffer,
l f.read(n): reads at most n bytes from the file and returns as a string. If n is omitted, reads to the
end of the file,
l f.readline(): reads one entire line,
l f.readlines():reads until the end of the file and returns a list of lines,
l f.seek(offset, whence=0): sets file position, if whence =0 or is omitted, offset is the absolute
position, if whence=1 offset is relative to the current position and if whence = 2, offset is
relative to the file end,
l f.tell(): returns file current position,
l f.write(string): writes string to file.
Error Handling
FINE™/Turbo performs continuous checks during the running of a script to insure that functions
can be normally executed, check of arguments validity during calls to functions or object access.
When a check fails, FINE™/Turbo raises an exception which stops the execution of the script.
Create & Use Modules (library of functions)
The python language provides the concept of module for grouping a set of functions in a same
file. The module name is the name of the file containing the functions.
The functions can be made available into a script in a similar way to the large set of utility
functions provided with FINE™/Turbo. If a set of functions is defined in a file called
MyModule.py, and the file is located in the directory /people/myself/open_scripts, they can be
made available in another
sys.path.append
('/people/myself/open_scripts')
through the following instructions:
script
This declares to the system that some python files are available in that directory. Then, two
different ways can be used to import the functions: from MyModule import * or import MyModule
The first one sets all the functions defined in MyModule directly available, while the second form
makes them available with the MyModule. prefix (e.g. if a function f is defined in MyModule, it is
invoked by the command MyModule.f()).
The standard python modules may be imported with both of the above mentioned forms. The
directory declaration is not necessary.
13.2 FINE™/TURBO SCRIPT COMMANDS
All FINE™/Turbo commands are available from the FT module (under INSTALL_ DIR/_
python/_fine/_turbo/). This means that they can be accessed by default by using the FT prefix.
Example:
import FT
FT.open('myfile.iec')
Alternatively, the prefix can be omitted by using the statement "from FT import *". However, in
that case, the user must insure that no other module contains a same command being used.
Example:
from FT import *
open('myfile.iec')
13.2.1 Global functions
A. Project management
l create_project(project_name)
Create directory structure on disk:
project_name/
project_name/_mesh/
project_name/project_name.iec
l open_project(project_name)
Open an existing project.
l save_project()
Save the current project.
l save_project_as(new_project_name, duplicate_results)
Save the current project as new_project_name.
If duplicate_results is set to 0, computations directories are not duplicated.
If duplicate_results is set to 1, computations directories are duplicated.
B. Project management
l create_project(project_name)
Create directory structure on disk:
project_name/
project_name/_mesh/
project_name/project_name.iec
l open_project(project_name)
Open an existing project.
l save_project()
Save the current project.
l save_project_as(new_project_name, duplicate_results)
Save the current project as new_project_name.
If duplicate_results is set to 0, computations directories are not duplicated.
If duplicate_results is set to 1, computations directories are duplicated.
C. Mesh properties
l link_mesh_file(mesh_filename, use_config)
Link a mesh to the project.
If use_config is set to 0, mesh configuration is not used.
If use_config is set to 1, mesh configuration is used. Applicable only for meshes generated by
AutoGrid5™.
l get_mesh_file()
Return the full pathname of the mesh.
l get_unit_ratio()
Return the mesh unit ratio.
l set_unit_ratio(ratio)
Set the mesh unit ratio. The parameter 'ratio' can be any real. The following constants can be
used as 'ratio':
METER (ratio=1.0)
CENTIMETER (ratio=0.01)
MILLIMETER (ratio=0.001)
INCH (ratio=0.0254)
Example:
set_unit_ratio(MILLIMETER)
l view_mesh()
Visualize the mesh in GUI, not available in batch mode.
l unload_mesh()
Unload mesh from computer memory.
Block properties
l get_nb_blocks()
Return the number of blocks.
l get_block_names()
Return the names of all blocks.
l get_block_name( index )
Return the name of the block, specified by its global index.
l get_block_old_name( index )
Return the old name of the block, specified by its global index. (For CFView conversion
syntax)
l get_block_imax( index )
Return the IMAX of the block, specified by its global index.
l get_block_jmax( index )
Return the JMAX of the block, specified by its global index.
l get_block_kmax( index )
Return the KMAX of the block, specified by its global index.
Turbomachinery Configuration
Rows definition:
l get_nb_rows()
Return the number of rows.
l get_row( value )
Return the row from value. The argument value is the name of the row, or its index.
The row definition is stored in an object of type "Row".
Blades definition:
l get_nb_blades()
Return the total number of blades.
l get_blade( value )
Return the blade from value. The argument value is the name of the blade, or its index.
The blade definition is stored in an object of type "Blade".
D. Computation management
l new_computation(computation_name)
Create a new computation, which name is computation_name. The new computation will be
automatically selected. All its parameters take the same value as the computation previously
selected.
l get_nb_computations()
Return the number of computations.
l get_computation_name( index )
Return the computation name, from its index.
l get_computation_filename( index )
Return the computation name with full path, from its index.
l get_active_computations()
Return the list of selected computation(s)
l set_active_computations( indexList )
Set the list of selected computation(s)
Example: set_active_computations([0,2,3])
l set_computation_name(index, name)
Modify the name of the computation specified by its index (0<= index <nb of computations).
l save_selected_computations()
Save the selected computations.
E. Fluid model
l select_fluid_from_database(fluid_name, fluid_type)
Select a fluid from the fluid database. Both fluid name and fluid type must be specified. The
fluid type can be "Perfect Gas", "Incompressible", "Real Gas", or "Condensable Gas".
l get_fluid_properties()
Return the properties of the selected fluid.
l set_fluid_name(name)
Set the fluid name.
Example: set_fluid_name("my_fluid")
l add_new_fluid(new_fluid_name,db_choice)
Add a new fluid in the database.
To be effective, this command should be combined with the other commands, as described in
the example below:
Example when adding a new fluid called "Test":
FT.add_new_fluid("new_fluid_1",0)
FT.select_fluid_from_database("new_fluid_1","Real Gas")
FT.set_fluid_name("Test")
Limitation: only the user database (db_choice=0) is available.
l set_fluid_type(type)
Set the fluid type. The following arguments can be used:
l "Perfect Gas"
l "Real Gas"
l "Incompressible"
l "Condensable Gas"
Example: set_fluid_type("Perfect Gas") to set the type of a fluid to perfect gas.
l set_R_gas_constant(value)
Set the real gas constant R.
l set_reference_temperature(value)
Set the reference temperature.
l set_reference_pressure(value)
Set the reference pressure.
l set_fluid_viscosity_law_choice(value)
Set the fluid viscosity law definition. The value can be set to:
l 1 = Constant
l 2 = Profile
l 3 = Formula
l 4 = Sutherland law
l 9 = From thermodynamic tables
Example: set_fluid_viscosity_law_choice(value) to set the viscosity of fluid to constant.
l set_fluid_conductivity_law_choice(value)
Set the fluid heat conductivity law definition. The value can be set to:
l 1 = Constant
l 2 = Profile
l 3 = Formula
l 6 = Prandtl
l 9 = From thermodynamic tables
l set_fluid_cp_law_choice(value)
Set the fluid heat capacity law definition. The value can be set to:
l 1 = Constant
l 2 = Profile
l 3 = Formula
l 9 = From thermodynamic tables
l set_fluid_density_law_choice(value)
Set the fluid density law definition. The value can be set to:
l 0 = Constant
l 1 = Profile
l 2 = Formula
The following commands apply when choosing the Sutherland law for the fluid viscosity
definition
l set_infinite_temperature(value)
Set the infinite temperature used in the viscosity definition with the Sutherland law.
l set_Sutherland_temperature(value)
Set the temperature used in the viscosity definition with the Sutherland law.
l set_Sutherland_density(value)
Set the Sutherland density in the viscosity definition.
l set_thermo_tables_path(path)
Set the path to link a fluid to a thermodynamic table. The absolute path should be specified.
The following commands apply for constant value of the physical parameter to be set:
l set_fluid_viscosity(is_dynamic,value)
Set the fluid viscosity value. is_ dynamic can either be the kinematic viscosity (0) or the
dynamic viscosity (1).
Example: set_fluid_viscosity(0,100) to set the kinematic viscosity to 1.2e-5 m²/s.
l set_fluid_heatConductivity(value)
Set the fluid heat conductivity value.
l set_fluid_density(value)
Set the fluid density value.
l set_fluid_heatCapacity(value)
Set the fluid heat capacity value.
l set_fluid_Prandtl(value)
Set the Prandlt number of the fluid.
l set_fluid_compressibility(value)
Set the fluid compressibility value.
l set_fluid_dilatation(value)
Set the fluid dilatation value.
l set_fluid_Gamma(value)
Set the value of gamma for the fluid considered.
The following commands apply for physical parameters to be defined with a formula:
l set_reference_temperature_min(value)
Set the minimum reference temperature for the physical value define with a formula.
l set_reference_temperature_max(value)
Set the maximum reference temperature for the physical value define with a formula.
l set_reference_pressure_min(value)
Set the minimum reference pressure for the physical value define with a formula.
l set_reference_pressure_max(value)
Set the maximum reference pressure for the physical value define with a formula.
l set_fluid_viscosity_formula(is_dynamic,viscosity_polynom)
Set the fluid viscosity definition with the coefficients of a polynom.is_dynamic can either be
the kinematic viscosity (0) or the dynamic viscosity (1).
Example: set_fluid_viscosity_formula(0,1,3,1,4,-2,0,6,1). The first argument ("0") corresponds
to the type of viscosity defined (kinematic), while the other arguments are the coefficients of a
polynom, ranked from the lowest to the highest order. For the viscosity, the dependent variable
is the temperature, and the order goes from -3 to +4 (this range is the same for all variables
defined with a formula).
l set_fluid_heatConductivity_formula(heatConductivity_polynom)
Set the fluid heat conductivity definition with the coefficients of a polynom (temperature-
dependent).
l set_fluid_density_formula(barotropicDensity_polynom)
Set the fluid density definition with the coefficients of a polynom (pressure-dependent).
l set_fluid_heatCapacity_formula(heatCapacity_polynom)
the fluid heat capacity definition with the coefficients of a polynom (temperature-
Set
dependent).
l set_fluid_Gamma_formula(Gamma_polynom)
Set the definition of the gamma coefficient of the fluid with the coefficients of a polynom
(temperature-dependent).
The following commands apply for physical parameters to be defined with a profile:
l set_fluid_viscosity_profile(is_dynamic,viscosity_profile)
Set the fluid viscosity definition with a temperature-dependent profile. is_dynamic can either
be the kinematic viscosity (0) or the dynamic viscosity (1).
Example: set_fluid_viscosity_profile([2,[[273,1.5E-5,0],[300,2.5E-5,0]]]). The first argument
("2") corresponds to the number of sampling points; each sampling point is defined by its
positions over X (temperature),Y (fluid viscosity) and Z.
l set_fluid_heatConductivity_profile(heatConductivity_profile)
Set the fluid heat conductivity definition with a temperature-dependent profile.
l set_fluid_density_profile(barotropicDensity_profile)
Set the fluid density definition with a pressure-dependent profile.
l set_fluid_heatCapacity_profile(heatCapacity_profile)
Set the fluid heat capacity definition with a temperature-dependent profile.
l set_fluid_Gamma_profile(Gamma_profile)
Set the fluid gamma definition with a temperature-dependent profile.
F. Flow model
l get_time_configuration()
Return the time configuration. The following constants are used
l STEADY = 0
l UNSTEADY = 1
l HARMONIC = 2
l set_time_configuration(value)
Set the time configuration specified by the value
Example:
set_time_configuration(UNSTEADY)
This parameter is global: it applies to all blocks.
l get_mathematical_model()
Return the mathematical model.
l set_mathematical_model(model)
Set the mathematical model.
Following constants can be used as model:
l EULER
l LAMINAR
l BALDWIN_LOMAX
l SPALART_ALLMARAS
l SPALART_ALLMARAS_EXT_WALL_FUNCTION
l K_EPS_EXT_WALL_FUNCTION
l K_EPS_LOW_RE_CHIEN
l K_EPS_LOW_RE_LAUNDER_SHARMA
l K_EPS_LOW_RE_YANG_SHIH
l V2_F
l SST
l K_OMEGA_WILCOX
l SST_EXT_WALL_FUNCTION
l EARSM
l EARSM_EXT_WALL_FUNCTION
Example:
set_mathematical_model(SPALART_ALLMARAS)
l get_gravity_flag()
Return the gravity activation flag (0: off / 1: on)
l set_gravity_flag( flag )
Set the gravity activation flag (0: off / 1: on)
l get_gravity_vector()
Return the gravity vector (type Vector)
l set_gravity_vector( value )
Set the gravity vector (type Vector)
l get_preconditioning()
Return the preconditioning activation flag (0: off / 1: on)
l set_preconditioning( value )
Set the preconditioning activation flag (0: off / 1: on)
l get_tracer()
Return the number of tracers.
l set_tracer( value )
Set the number of tracers. value = 0 means no tracer.
l get_reference_length()
Return the reference length.
l set_reference_length( value )
Set the reference length.
l get_reference_velocity()
Return the reference velocity.
l set_reference_velocity( value )
set the reference velocity.
l get_reference_density()
Return the reference density.
l set_reference_density( value )
Set the reference density.
l get_reference_temperature()
Return the reference temperature
l set_reference_temperature( value )
Set the reference temperature
l get_reference_pressure()
Return the reference pressure
l set_reference_pressure( value )
set the reference pressure
G. Rotating machinery
l get_phase_lagged()
Return the phase lagged activation flag.
l set_phase_lagged( value )
Set the phase lagged activation flag.
l get_nb_rotating_block_groups()
Return the number of rotating block groups. A block group can be a group of blocks, or a
single block.
l get_rotating_block_group( value )
Return the block group from value. value can be the block group index, or the block group
name.
The block group is stored in an object of type "RotatingBlockGroup".
l create_rotating_block_group( name, value )
Create a block group.
name is the name the group.
value is either the list of blocks (specified by index) to be grouped, either a pattern to get the
blocks with matching name (example: "*gap" returns all blocks which name ends by "gap").
l ungroup_rotating_block_group( value )
Ungroup a block group.
value is either the name of a block group, either the index of a block group.
H. Boundary conditions
l get_nb_bc_groups(BCType)
Return the number of group of patches (BCGroup) for the specified boundary type. A
BCGroup can be a single patch, or a group of patches.
BCType can be:
l "INLET"
l "OUTLET"
l "SOLID"
l "EXTERNAL"
l "ROTOR-STATOR"
l get_bc_group( value )
Return the BCGroup from value.
value can be:
l a B.C. type and a group index. Example: get_bc_group("INLET",0)
l a B.C. type and a group name. Example: get_bc_group("INLET","row1_inlet_1")
l a BCPatch 
The BCGroup is stored in an object of type "BoundaryConditionGroup".
l create_BC_group(name, value )
Create a new BCGroup.
name: name of the group
value: list of the patches to be grouped. it can be either the list of patches (list of BCPatch
objects) to be grouped, or a pattern to get the patches with matching name (example: "*inlet"
will group all patches which name ends by "inlet").
l ungroup_BC_patches(bc_type,group_name)
Remove all patches from the group specified from its name and B.C. type bc_type.
l get_nb_bc_patches(BCtype )
Return the number of patch (BCPatch object), of specified BCtype.
l get_bc_patch_by_index(BCType, index)
Return BCPatch object from patch index
l get_bc_patch(blockID, faceID, patchID)
Return BCPatch object from (blockID,faceID,patchID) indices (starting from 0).
l get_bc_patch_by_name(BCType, name)
Return BCPatch object from patch name
The BCPatch is stored in an object of type "BoundaryConditionPatch".
I. Numerical model
l get_CFL_number()
Return the CFL number
l set_CFL_number( value )
Set the CFL number
l get_cpubooster()
Return CPU booster activation flag (0:off / 1:on)
l set_cpubooster( value )
Set CPU booster activation flag (0:off / 1:on)
l get_current_grid_level()
Return 6 values: ni, nj, nk, ni_max, nj_max, nk_max (respectively current number of grid
levels in directions I, J, K and maximum number of grid levels in directions I, J, K).
l set_current_grid_level( ni, nj, nk )
Set the current grid level in directions I, J and K.
l get_MG_level_number()
Return the number of multigrid levels.
l set_MG_level_number(ngrid)
Set the number of multigrid levels.
l get_MG_flag()
Return the multigrid activation flag (0:off / 1:on)
l set_MG_flag( value )
Set the multigrid activation flag (0:off / 1:on)
l get_MG_sweeps_definition()
Return the sweeps definition.
l set_MG_sweeps_definition(value )
Set the sweeps definition.
The sweeps definition must be one of following values:
l 1 : Linear progression
l 2 : Increase on higher level
l 3 : User-defined
l get_MG_number_of_sweeps()
Return the number of sweeps. A list of 10 values is returned.
l set_MG_number_of_sweeps(values)
Set the number of sweeps (10 values).
l get_MG_number_of_cycles()
Return the maximum number of cycles per grid level
l set_MG_number_of_cycles(value )
Set the maximum number of cycles per grid level
l get_MG_convergence_criteria()
Return the convergence criteria on each grid level.
l set_MG_convergence_criteria(value )
Set the convergence criteria on each grid level.
l get_CPUBooster_FMG_parameters()
Return a list with two values. Only available when CPU Booster is activated in the
computation. The first value is the status of CPU Booster during the coarse grid initialization:
0-deavtivated, 1-activated. The second value is the CFL number used during the coarse grid
initialization.
l set_CPUBooster_FMG_parameters(activation, CFL)
Set the CPU Booster parameters during the coarse grid initialization. Only available when
CPU Booster is activated in the computation. The first value "activation" sets the status of
CPU Booster during the coarse grid initialization: 0-deavtivated, 1-activated. The second value
"CFL" sets the CFL number used during the coarse grid initialization.
l get_preconditioning_model()
Return the preconditioning model
l set_preconditioning_model( value )
Set the preconditioning model.
The preconditioning model can be one of the following constants:
l HAKIMI
l MERKLE
l get_preconditioning_model_params()
Return 2 values: beta coefficient, local velocity scaling activation flag
l set_preconditioning_model_params(beta, localScalingFlag):
Set the beta coefficient, and the local velocity scaling activation flag
l get_spatial_discretization_scheme()
Return the spatial discretization scheme (0: "Central" / 1: "Upwind")
l set_spatial_discretization_scheme( val )
Set the spatial discretization scheme (0: "Central" / 1: "Upwind")
l get_spatial_discretization_upwind_order()
Return the upwind scheme order (1: "1st order" / 2: "2nd order")
l set_spatial_discretization_upwind_order( value )
Set the upwind scheme order (1: "1st order" / 2: "2nd order")
l get_spatial_discretization_upwind_scheme()
Return the 2nd order upwind scheme choice:
l 1: "Flux difference splitting"
l 2: "Symmetric TVD"
l set_spatial_discretization_upwind_scheme( value )
Set the upwind 2nd order scheme choice:
l 1: "Flux difference splitting"
l 2: "Symmetric TVD"
l get_spatial_discretization_upwind_linear_field_limiter()
Return the limiter type for the linear field for upwind 2nd order scheme:
l 1: "Min Mod"
l 2: "Van Albada"
l 3: "Van Leer"
l 4: "Super Bee"
l set_spatial_discretization_upwind_linear_field_limiter( value )
Set the limiter type for the linear field for upwind 2nd order scheme:
l 1: "Min Mod"
l 2: "Van Albada"
l 3: "Van Leer"
l 4: "Super Bee"
l get_spatial_discretization_upwind_nonlinear_field_limiter()
Return the limiter type for the non-linear field for upwind 2nd order scheme:
l 1: "Min Mod"
l 2: "Van Albada"
l 3: "Van Leer"
l 4: "Super Bee"
l set_spatial_discretization_upwind_nonlinear_field_limiter( value )
Set the limiter type for the non-linear field for upwind 2nd order scheme:
l 1: "Min Mod"
l 2: "Van Albada"
l 3: "Van Leer"
l 4: "Super Bee"
l get_time_stepping_technique()
Return the time stepping choice (0: "Local or dual time stepping" / 1: "Global time stepping")
l set_time_stepping_technique()
Set the time stepping choice (0: "Local or dual time stepping" / 1: "Global time stepping")
l get_dual_time_step_convergence_criteria()
Return the convergence criteria for dual time stepping
l set_dual_time_step_convergence_criteria(value)
Set the convergence criteria for dual time stepping
l get_dual_time_step_max_number_of_iteration()
Return the maximum number of iterations for dual time stepping
l set_dual_time_step_max_number_of_iteration(value)
Set the maximum number of iterations for dual time stepping
The following commands are used to defined inner perturbations.
l add_harmonic_inner_perturbation(blockGroupInd)
Add an inner perturbation in the block blockGroupInd
l remove_harmonic_inner_perturbation(blockGroupInd)
Remove the latest inner perturbation defined in the block blockGroupInd
l set_harmonic_inner_perturbation_params(blockGroupInd, pertInd, freq, mode)
Set the parameters defining the pertInd-th inner perturbation in the block blockGroupInd: the
frequency (freq), and the spatial mode (mode)
l get_harmonic_inner_perturbation_params(blockGroupInd, pertInd)
Get the parameters defining the pertInd-th inner perturbation in the block blockGroupInd
l get_nb_harmonic_inner_perturbations(blockGroupInd)
Get the number of harmonics defined for the block blockGroupInd
J.
Initial solution
l get_initial_solution_nb_groups()
Return the number of group of blocks (BlockGroup) for initial solution settings.
A BlockGroup can be a single block, or a group of blocks. An InitialSolution object is
attached to this group.
l get_initial_solution( blockGroupID )
Return the object
InitialSolution, see InitialSolution.
InitialSolution from blockGroupID. For more details of
the class
l get_restart_mode()
Return the convergence history reset flag. (0: import conv. hist. 1: reset conv. hist.)
l set_restart_mode( flag )
Set the convergence history reset flag. (0: import convergence history. 1: reset convergence
history)
Following constants can be used as value for flag:
l IMPORT_CONVERGENCE_HISTORY ( flag = 0 )
l RESET_CONVERGENCE_HISTORY ( flag = 1 )
l create_initial_solution_block_group( name, value )
Create a block group for initial solution settings.
name is the name the group.
value is either the list of blocks (specified by index) to be grouped, or a pattern to get the
blocks with matching name (example: "*gap" returns all blocks which name ends by "gap").
l ungroup_initial_solution_block_group( value )
Ungroup a block group.
value is either the name of a block group, or the index of a block group.
l reset_initial_solution_turbo_groups()
Set default grouping, for "FOR_TURBOMACHINERY" initial solution mode.
K. Outputs
l get_output_flag( varCode )
Return the output flag (0:off / 1:on), for the variable corresponding to varCode code.
l set_output_flag(varCode, value)
Set the output flag (0:off / 1:on), for the variable corresponding to varCode code.
The list of codes associated to output quantities are listed in below table:
Output Variable Name Variable Code
# Thermodynamics quantities
Static Temperature 0
Relative Total Temperature 1
Absolute Total Temperature 2
Static Pressure 3
Relative Total Pressure 4
Absolute Total Pressure 5
Rothalpy 44
Entropy 45
Density 46
CP1 60
CP*1 61
CP2 62
CP*2 63
CP3 64
Dynamic viscosity 69
Massflow 76
Static enthalpy 175
Absolute total enthalpy 176
Relative total enthalpy 177
Dryness fraction 178
Generalised dryness fraction 179
Heat transfer coefficient 1081
Static Energy 1082
Absolute Energy 1083
Relative Energy 1084
Rotary Energy 1085
Static enthalpy 1086
Absolute total enthalpy 1087
Relative total enthalpy 1088
Absolute Kinetic Energy 1089
Relative Kinetic Energy 1090
Rotary Kinetic Energy 1091
Thermal Conductivity 1096
Gamma 1097
HeatCapacity 1098
# Velocities quantities
Vx 6
Vy 7
Vz 8
Vxyz 9
Magnitude of V 10
Vr 11
Vt 12
Vm 13
Wx 15
Wy 16
Wz 17
Magnitude of W 18
Wxyz 19
Wr 20
Wt 21
Wm 22
Magnitude of Vi 24
Magnitude of Vj 25
Magnitude of Vk 26
Vi 27
Vj 28
Vk 29
Vis 30
Vjs 31
Vks 32
Magnitude of Wi 33
Magnitude of Wj 34
Magnitude of Wk 35
Wi 36
Wj 37
Wk 38
Wis 39
Wjs 40
Wks 41
Absolute Mach Number 42
atan(Vt/Vm) 48
Relative Mach Number 65
asin(Wr/Wm) 66
atan(Wt/Wm) 67
# Vorticities quantities
Vorticity_x 71
Vorticity_y 72
Vorticity_z 73
Vorticity vector 74
Vorticity 75
# Residuals quantities
Residual d 51
Residual Vx 52
Residual Vy 53
Residual Vz 54
Residual E 55
Residual k 56
Residual epsilon 57
# Solid data quantities
Static pressure 92
Static temperature 93
Cf 94
Heat transfer (wall to fluid) 95
Relative velocity 96
Viscous stress (wall to fluid) 97
Intermittency 171
Injection Flow 172
Injection Direction 173
y+ 174
# Turbulence quantities
k 49
epsilon 50
Wall Distance 58
Y+ 59
Turbulent Viscosity (Mut/Mu) 68
Production 70
omega 1080
intermittency 1099
Transition Reynolds_theta 1100
# Harmonics quantities, (1<= ith <= 20) for each following quantities.
Harmonic Pressure Real - ith harmonic 180+3*(ith-1)+0
Harmonic Pressure Imaginary - ith harmonic 180+3*(ith-1)+1
Harmonic Pressure Amplitude - ith harmonic 180+3*(ith-1)+2
Harmonic Density Real - ith harmonic 240+3*(ith-1)+0
Harmonic Density Imaginary - ith harmonic 240+3*(ith-1)+1
Harmonic Density Amplitude - ith harmonic 240+3*(ith-1)+2
Harmonic Vx Real - ith harmonic 300+3*(ith-1)+0
Harmonic Vx Imaginary - ith harmonic 300+3*(ith-1)+1
Harmonic Vx Amplitude - ith harmonic 300+3*(ith-1)+2
Harmonic Vy Real - ith harmonic 360+3*(ith-1)+0
Harmonic Vy Imaginary - ith harmonic 360+3*(ith-1)+1
Harmonic Vy Amplitude - ith harmonic 360+3*(ith-1)+2
Harmonic Vz Real - ith harmonic 420+3*(ith-1)+0
Harmonic Vz Imaginary - ith harmonic 420+3*(ith-1)+1
Harmonic Vz Amplitude - ith harmonic 420+3*(ith-1)+2
Harmonic Entropy Real - ith harmonic 480+3*(ith-1)+0
Harmonic Entropy Imaginary - ith harmonic 480+3*(ith-1)+1
Harmonic Entropy Amplitude - ith harmonic 480+3*(ith-1)+2
Harmonic (RhoVx)'Vx' - ith harmonic 540+12*(ith-1)+0
Harmonic (RhoVx)'Vy' - ith harmonic 540+12*(ith-1)+1
Harmonic (RhoVx)'Vz' - ith harmonic 540+12*(ith-1)+2
Harmonic (RhoVy)'Vx' - ith harmonic 540+12*(ith-1)+3
Harmonic (RhoVy)'Vy' - ith harmonic 540+12*(ith-1)+4
Harmonic (RhoVy)'Vz' - ith harmonic 540+12*(ith-1)+5
Harmonic (RhoVz)'Vx' - ith harmonic 540+12*(ith-1)+6
Harmonic (RhoVz)'Vy' - ith harmonic 540+12*(ith-1)+7
Harmonic (RhoVz)'Vz' - ith harmonic 540+12*(ith-1)+8
Harmonic (RhoVz)'H' - ith harmonic 540+12*(ith-1)+9
Harmonic (RhoVz)'H' - ith harmonic 540+12*(ith-1)+10
Harmonic (RhoVz)'H' - ith harmonic 540+12*(ith-1)+11
Harmonic Temperature Real - ith harmonic 780+3*(ith-1)+0
Harmonic Temperature Imaginary - ith harmonic 780+3*(ith-1)+1
Harmonic Temperature Amplitude - ith harmonic 780+3*(ith-1)+2
Harmonic Rel. Ptot Real - ith harmonic 840+3*(ith-1)+0
Harmonic Rel. Ptot Imaginary - ith harmonic 840+3*(ith-1)+1
Harmonic Rel. Ptot Amplitude - ith harmonic 840+3*(ith-1)+2
Harmonic Abs. Ptot Real - ith harmonic 900+3*(ith-1)+0
Harmonic Abs. Ptot Imaginary - ith harmonic 900+3*(ith-1)+1
Harmonic Abs. Ptot Amplitude - ith harmonic 900+3*(ith-1)+2
Harmonic Rel. Ttot Real - ith harmonic 960+3*(ith-1)+0
Harmonic Rel. Ttot Imaginary - ith harmonic 960+3*(ith-1)+1
Harmonic Rel. Ttot Amplitude - ith harmonic 960+3*(ith-1)+2
Harmonic Abs. Ttot Real - ith harmonic 1020+3*(ith-1)+0
Harmonic Abs. Ttot Imaginary - ith harmonic 1020+3*(ith-1)+1
Harmonic Abs. Ttot Amplitude - ith harmonic 1020+3*(ith-1)+2
# Deformation quantities
Dx 1092
Dy 1093
Dz 1094
Dxyz 1095
(1<= ith <= 20) for each following quantities
Harmonic Dx Real - ith harmonic 1101+3*(ith-1)+0
Harmonic Dx Imaginary - ith harmonic 1101+3*(ith-1)+1
Harmonic Dx Amplitude - ith harmonic 1101+3*(ith-1)+2
Harmonic Dy Real - ith harmonic 1161+3*(ith-1)+0
Harmonic Dy Imaginary - ith harmonic 1161+3*(ith-1)+1
Harmonic Dy Amplitude - ith harmonic 1161+3*(ith-1)+2
Harmonic Dz Real - ith harmonic 1221+3*(ith-1)+0
Harmonic Dz Imaginary - ith harmonic 1221+3*(ith-1)+1
Harmonic Dz Amplitude - ith harmonic 1221+3*(ith-1)+2
# Throughflow quantities
Blockage b 77
grad(b)/b - 1st component 78
grad(b)/b - 3st component 79
Lean Vector 80
Shape function for beta or wtheta 81
Loss coefficient 82
Blade force 83
Friction force 84
Unit stream vector 85
atan(Wt/Wm.USV) 86
Effective streamtube thickness 87
Magnitude of blade force 88
Magnitude of friction force 89
W_theta target 90
Beta target 91
# Lagrangian quantities
Number concentration 98
Mass concentration 99
Volume of particle per cell volume 100
Presence(1) or absence(0) of particles in cells 101
Vx: x-component of mass-weighted velocity 102
Vy: y-component of mass-weighted velocity 103
Vz: z-component of mass-weighted velocity 104
Mass-weighted relative velocity vector 105
Number-weighted relative velocity vector 106
Mass-weighted absolute velocity vector 107
Number-weighted absolute velocity vector 108
Interphase force vector 109
l set_output_flags_from_file(file, profile_name)
The file contains all the output variable codes whose flags will be set to "on". The file can be
defined by GUI (stored in the file ~/.numeca/fine_output.def) or defined manually.
Since several profiles can be defined in the file, the profile_name is used to specify the used
profile.
l select_output(keyname)
Select the output identified as keyname.
Example: select_output("_GAMMA_") to select the Laplace coefficient.
Example: select_output("_TURB_YPLUS_") to select y+.
Example: select_output("_HARMO_STATIC_PRESSURE_R&I_") to select the real and
imaginary part of the static pressure for harmonic computations.
l unselect_output(keyname)
Unselect the output identified as keyname.
For these last two commands, the arguments to be used as keyname are fully listed in the file
euranus_ outputs.def , available in <install_ dir>/fine<version>/COMMON/ on Linux, or
<NUMECA_ install_ dir>\fine<version>\bin on Windows. The user can also access the
different keynames by selecting the corresponding outputs in the GUI, and checking the
FINE™/Turbo shell via File> Script...>Edit.
L. ANSYS module
l set_ANSYS_pressure_code( code )
Sets the Pressure Field identification code.
l get_ANSYS_pressure_code()
Returns the Pressure Field identification code.
l set_ANSYS_temperature_code( code )
Sets the Temperature Field identification code.
l get_ANSYS_temperature_code()
Returns the Temperature Field identification code.
l set_ANSYS_heat_transfer_coefficient_code( code )
Sets the Heat Transfer Coefficient identification code.
l get_ANSYS_heat_transfer_coefficient_code()
Returns the Heat Transfer Coefficient identification code.
l set_ANSYS_heat_flux_code( code )
Sets the Heat Flux identification code.
l get_ANSYS_heat_flux_code()
Returns the Heat Flux identification code.
l set_ANSYS_pressure_unit( unit )
Sets the Pressure Field units system. Conversion factor is computed internally.
unit =1: [Pa] factor: 1.0
unit =3: [lbf/ft2] factor: 47.88025898
unit =4: [psi] factor: 6894.757293
l get_ANSYS_pressure_unit()
Returns the Pressure Field units system and conversion factor.
l set_ANSYS_temperature_unit( unit )
Sets the Temperature Field units system. Conversion factor is computed internally.
unit =1: [K] factor: 1.0
unit =3: [R] factor: 0.555555555
l get_ANSYS_temperature_unit()
Returns the Temperature Field units system and conversion factor.
l set_ANSYS_heat_transfer_coefficient_unit( unit )
Sets the Heat Transfer Coefficient units system. Conversion factor is computed internally.
unit =1: [W/(m2.K)] factor: 1.0
unit =3: [lbf/(s.ft.R)] factor: 26.269025
unit =4: [lbf/(s.in.R)] factor: 315.2283
l get_ANSYS_heat_transfer_coefficient_unit()
Returns the Heat Transfer Coefficient units system and conversion factor.
l set_ANSYS_heat_flux_unit( unit )
Sets the Heat Flux units system. Conversion factor is computed internally.
unit =1: [W/m2] factor: 1.0
unit =3: [lbf/(s.ft)] factor: 14.59390294
unit =4: [lbf/(s.in)] factor: 175.1268352
l get_ANSYS_heat_flux_unit()
Returns the Heat Flux units system and conversion factor.
l set_ANSYS_input_filename( filename )
Sets the ANSYS input file name. This filename is read to initialize the surface parameters.
l get_ANSYS_input_filename()
Returns the ANSYS input file name.
l set_ANSYS_output_filename( filename )
Sets the ANSYS output file name. This filename will be created afterwards by the solver.
l get_ANSYS_output_filename()
Returns the ANSYS output file name.
l set_ANSYS_grid_units( unit )
Sets the grid units.
unit =0: Millimeters
unit =1: Centimeters
unit =2: Meters
unit =3: Inches
unit =4: User-defined scale factor
l get_ANSYS_grid_units()
Returns the grid units.
l set_ANSYS_scale_factor( factor )
Sets the scale factor. Used if User-defined scale factor is selected as ANSYS Mesh Units.
l get_ANSYS_scale_factor()
Returns the scale factor. Used if User-defined scale factor is selected as ANSYS Mesh
Units.
l set_ANSYS_fluid_mesh_reference_system( orig, pnt1, pnt2, pnt3 )
Sets the Reference System : Fluid Mesh (Origin, Point 1, Point 2, Point 3).
l get_ANSYS_fluid_mesh_reference_system()
Returns the Reference System : Fluid Mesh (Origin, Point 1, Point 2, Point 3).
l set_ANSYS_solid_mesh_reference_system( orig, pnt1, pnt2, pnt3 )
Sets the Reference System : Structural Mesh (Origin, Point 1, Point 2, Point 3).
l get_ANSYS_solid_mesh_reference_system()
Returns the Reference System : Structural Mesh (Origin, Point 1, Point 2, Point 3).
l connect_ansys_solid_face_to_patch( *args )
Sets list of connected patches to a given ANSYS surface.
*args may be: sID,b,f,p with
sID: ANSYS surface id
b: block index
f: face index
p: patch index
The patch (b,f,p) is added to the patches connected to the ANSYS surface "sID".
l clear_ansys_surfaces( sID )
Clears list of solid patches connected to ANSYS surface "sID".
l get_ANSYS_connected_fluid_patch_nb_repet(surfID, patchID)
Returns the Number of repetitions of patch "patchID" connected to ANSYS surface
"surfID".
l set_ANSYS_connected_fluid_patch_nb_repet(surfID, patchID, nb_repet_)
Sets the Number of repetitions of patch "patchID" connected to ANSYS surface "surfID".
l set_ANSYS_connected_fluid_patch_periodic_flag( surfID, patchID )
Sets the Periodicity:Rotation and Translation flag of patch "patchID" connected to ANSYS
surface "surfID": 0:off/1:on.
l get_ANSYS_connected_fluid_patch_periodic_flag( surfID, patchID )
Returns the Periodicity:Rotation and Translation flag of patch "patchID" connected to
ANSYS surface "surfID": 0:off/1:on.
l set_ANSYS_connected_fluid_patch_rotation_angle( surfID, patchID )
Sets the rotation angle around Z [degree] of patch "patchID" connected to ANSYS surface
"surfID".
l get_ANSYS_connected_fluid_patch_rotation_angle( surfID, patchID )
Returns the rotation angle around Z [degree] of patch "patchID" connected to ANSYS surface
"surfID".
l set_ANSYS_connected_fluid_patch_translation_vector( surfID, patchID,vector )
Sets the translation vector of patch "patchID" connected to ANSYS surface "surfID".
l get_ANSYS_connected_fluid_patch_translation_vector( surfID, patchID )
Returns the translation vector of patch "patchID" connected to ANSYS surface "surfID".
l set_ANSYS_connected_fluid_patch_partial_flag( surfID, patchID,flag )
Sets the Duplicate patch(es) flag of patch "patchID" connected to ANSYS surface "surfID".
flag = 0/1 if off/on.
l get_ANSYS_connected_fluid_patch_partial_flag( surfID, patchID )
Returns the Duplicate patch (es) flag of patch "patchID" connected to ANSYS surface
"surfID": 0:off/1:on.
l get_ANSYS_solid_surface_list()
Returns the list of ANSYS surfaces.
l set_ANSYS_solid_surface_interpolation_type( sID, interpType )
Sets the interpolation type of ANSYS surface "sID".
interpType =0 for "non-conservative"
interpType =1 for "conservative"
l get_ANSYS_solid_surface_interpolation_type( sID )
Returns the interpolation type of ANSYS surface "sID".
l set_ANSYS_solid_surface_maximum_distance( sID, maxDistance )
Sets the maximum distance of ANSYS surface "sID".
l get_ANSYS_solid_surface_maximum_distance( sID )
Returns the maximum distance of ANSYS surface "sID".
M. Control variables
l get_nb_iter_max()
Return the maximum number of iterations
l set_nb_iter_max(value)
Set the maximum number of iterations
l get_convergence_criteria()
Return the convergence criteria.
l set_convergence_criteria(value)
Set the convergence criteria.
l get_output_writing_frequency()
Return the output writing frequency.
l set_output_writing_frequency(value)
Set the output writing frequency.
l get_min_output_choice()
Return the minimum output activation flag (2:off / 0:on)
l set_min_output_choice(2:off 0:on)
Set the minimum output activation flag
l get_residuals_per_row()
Get the status of the option "Residuals per group"
Parameters: None
Returns: Integer (0: Off / 1: On)
l set_residuals_per_row(value)
Set the status of the option "Residuals per group"
Parameters: value (integer). value = 0 : option deactivated; value = 1 : option activated
Example: set_residuals_per_row(1) to activate the option
l get_automatic_memory_estimation()
Return the automatic memory estimation activation flag (0:off / 1:on)
l set_automatic_memory_estimation(value)
Set the automatic memory estimation activation flag (0:off / 1:on)
l get_user_memory_estimation()
Return the number of reals and number of integers for memory allocation
l set_user_memory_estimation(nbR,nbI )
Set the number of reals and number of integers for memory allocation
l get_user_solver_precision()
Get the precision of the flow solver (0-single, 1-double)
l set_user_solver_precision(precision)
Set the precision of the flow solver (0-single, 1-double)
l get_expert_parameter(name)
Get the value of the expert parameter specified by its name.
l set_expert_parameter(name,value)
Set the value of the expert parameter specified by its name. For example, set_expert_parameter
('MUCLIP',50000)
The following command is only applicable for unsteady computation:
l get_unsteady_time_step_choice()
Return the time step choice for unsteady computation (0: time step / 1: period):
l set_unsteady_time_step_choice(timeStepChoice)
Set the time step choice for unsteady computation (0:time step / 1:period)
l get_number_of_angular_positions()
Return the number of angular positions
l set_number_of_angular_positions(n)
Set the number of angular positions
l get_time_averaged_output_flag()
Return the time-average output flag (0:off / 1:on)
l set_time_averaged_output_flag(flag)
Set the time-average output flag (0:off / 1:on)
l get_physical_time_step()
Return the physical time step
l set_physical_time_step(physTimeStep)
Set the physical time step
l get_nb_of_time_steps()
Return the number of physical time steps
l set_nb_of_time_steps(nb )
Set the number of physical time steps
l get_nb_of_steady_iterations()
Return the number of steady iterations
l set_nb_of_steady_iterations(nb )
Set the number of steady iterations
l get_output_unsteady_writing_frequency()
Return the unsteady output writing frequency
l set_output_unsteady_writing_frequency(value )
Set the unsteady output writing frequency
N. Cavitation model
l get_cavitation_model()
get the cavitation model flag (2:on; 0:off)
l set_cavitation_model (flag)
set the cavitation model flag (2:on; 0:off)
l get_cavitation_coefficients()
get the coefficients PVAPS and AMIN
l set_cavitation_coefficients (pvaps,amin)
set the coefficients PVAPS and AMIN
l get_cavitation_vapor_parameters()
the vapor parameters density RHOV, dynamic viscosity MUGAS, Prandtl number
get
PRTLV and heat capacity CPVREF
l set_cavitation_vapor_parameters (rhov, mugas, prtlv, cpvref)
set the vapor parameters density RHOV, dynamic viscosity MUGAS, Prandtl number PRTLV
and heat capacity CPVREF
l set_cavitation_vapor_density (rhov)
set the vapor parameter density RHOV
l set_cavitation_vapor_dynamic_viscosity (mugas)
set the vapor parameter dynamic viscosity MUGAS
l set_cavitation_vapor_prandtl_number (prtlv)
set the vapor parameters Prandtl number PRTLV
l set_cavitation_vapor_heat_capacity (cpvref)
set the vapor parameters heat capacity CPVREF
l get_cavitation_liquid_density ()
get the liquid parameter density RHOL
l set_cavitation_liquid_density (rhol)
set the liquid parameter density RHOL
l get_cavitation_liquid_dynamic_viscosity ()
get the liquid parameter dynamic viscosity MULIQ
l set_cavitation_liquid_dynamic_viscosity (MULIQ)
set the liquid parameter dynamic viscosity MULIQ
l get_cavitation_liquid_prandtl_number ()
get the liquid parameter Prandtl number PRREF
l set_cavitation_liquid_prandtl_number (prref)
set the liquid parameter Prandtl number PRREF
l get_cavitation_liquid_heat_capacity ()
get the liquid parameter heat capacity CPLREF
l set_cavitation_liquid_heat_capacity (CPLREF)
set the liquid parameter heat capacity CPLREF
O. Cooling/ bleed
l get_nb_solid_patches():
Get the number of solid patches in the computation.
l get_solid_patches():
Return a list. The list is composed by: the number of solid patches and then the name, the
block index, the face index, the patch index of each solid patch.
l get_nb_injectors():
Get the number of existing injectors.
l get_injector_spreading ():
Get the status of the button Spreading of the holes (Activated : 3, Deactivated : 2).
l set_injector_spreading (spreading):
Set the status of the button Spreading of the holes (Activated : 3, Deactivated : 2).
l remove_all_injectors():
Remove all injectors from the computation.
l remove_cooling_bleed_injector(name):
Remove the injector specified by its name.
l read_cooling_holes_file (filename, prefix):
Read a injector data file. The argument prefix will be used in the name of the imported
injectors as a prefix. For the structure of the data file, please refer to Cooling/Bleed data file.
l write_cooling_holes_file (filename):
Write all injectors to a file specified by its name. This command will not be recorded by GUI.
l write_selected_injectors_to_cooling_holes_file (filename,nb,list_names):
Write the selected injectors to a file specified by it name. nb is the number of injectors and list_
names is the name list of the selected injectors.
When defining a cooling or bleed, the following parameters can be used:
Type (integer): Line = 0, Point = 1, Slot = 2, Points = 3;
Mode (integer): Relative (blades)= 0, Spatial coordinates Cartesian = 1, Spatial coordinates
Cylindrical = 3, Grid coordinates = 2;
Role (string): Cooling or Bleed;
Injection direction (integer): Grid Indices = 0, Cartesian = 1, Cylindrical Relative = 2;
Index (integer): index of the injector in the existing injector list (starting from 0).
l add_new_injector (name,type,mode,role,direction_choice,index):
Add a new injector. The user should specify the name of the new injector, its type, its mode,
its role, its injection direction and the index of the existing injectors. The new injector will be a
copy of the indexed one (position and all other parameters of the second wizard page). If the
indexed one does not exist, all parameters will be put to the default.
l get_injector_index (name):
Get the index of the injector specified by its name.
l get_injector_name (index):
Get the name of the injector specified by its index.
l set_injector_name(old_name, new_name):
Change the injector name.
l store_injector_patch (name,b,f,p):
Store the patch defined by its block index (b), face index (f) and patch index (p) for the injector
specified by its name.
l get_patches_in_cooling_bleed_injector(name):
Return a list containing the patches where the injector is located. The list is composed by: the
number of the solid patches and then the name, the block index, the face index, the patch index
of each solid patch.
l get_injector_type (name):
Get the type of the injector specified by its name.
l set_injector_type(name, type):
Set the type of the injector specified by its name.
l get_injector_role (name):
Get the role of the injector specified by its name.
l set_injector_role(name, role):
Set the role of the injector specified by its name.
l get_injector_mode (name):
Get the mode of the injector specified by its name.
l set_injector_mode(name, mode):
Set the mode of the injector specified by its name.
l get_injector_direction_choice (name):
Get the injection direction of the injector specified by its name.
l set_injector_direction_choice(name, direction_choice):
Set the injection direction of the injector specified by its name.
The following commands are used to set the sector geometry of the injector.
l get_injector_diameter (name):
Get the diameter of the injector specified by its name. Available for the injector type Point,
Line and Points.
l set_injector_diameter(name, diameter):
Set the diameter of the injector specified by its name. Available for the injector type Point,
Line and Points.
l get_injector_number_holes (name):
Get the number of the holes in the injector specified by its name. Available for the injector type
Line.
l set_injector_number_holes(name, number_holes):
Set the number of the holes in the injector specified by its name. Available for the injector type
Line.
l get_injector_slot_width (name):
Get the slot width of the injector specified by its name. Available for the injector type Slot.
l set_injector_slot_width (name, slot_width):
Set the slot width of the injector specified by its name. Available for the injector type Slot.
The following commands are used to set the positioning of the injector.
l get_injector_coordinates (name):
l set_injector_coordinates (name,x1,y1,z1,x2,y2,z2):
The two commands above are used to get/set the coordinates of the injector specified by its
name. Depending on the mode and the type of the injector, the required coordinates is different
(1 point/2 points and 2D/3D). In case of 1 point (Point type), the x2/y2/z2 will be ignored. In
case of 2D (Relative mode), the z1/z2 will be ignored.
l get_injector_side_one_or_two (name):
Get the side where the injector is located in case of O-type mesh. (Side 1 - 1, Side 2 - 2).
Available only for the injector mode Relative.
l set_injector_side_one_or_two (name, side_one_or_two):
Set the side where the injector is located in case of O-type mesh. (Side 1 - 1, Side 2 - 2).
Available only for the injector mode Relative.
l get_injector_axial_coordinates (name):
Get the status of the button Axial Coordinates (Deactivate - 0, Activate - 1). Available only
for the injector mode Relative and axial turbomachinery.
l set_injector_axial_coordinates (name, axial_coordinates):
Set the status of the button Axial Coordinates (Deactivate - 0, Activate - 1). Available only
for the injector mode Relative and axial turbomachinery.
l get_injector_positioning_patch(name):
Get the patch where the injector specified by its name is located.
l set_injector_positioning_patch(name,patch):
Set the patch where the injector specified by its name is located.
l get_injector_first_angle (name):
l set_injector_first_angle (name, first_angle):
l get_injector_second_angle (name):
l set_injector_second_angle (name, second_angle):
l get_injector_third_angle (name):
l set_injector_third_angle (name, third_angle):
The six commands above are used to get/set the injection direction. When the injection
direction type is Grid Indices, only the first two angles need to be defined. When the injection
direction type is Cartesian or Cylindrical Relative, the three components of the direction should
be defined.
The following commands are used to set the flow parameters of the injector.
l get_injector_mass_flow_choice (name):
Get the mass flow choice of the injector specified by its name. Mass flow : 0, Mass flow
relative to inlet : 1.
l set_injector_mass_flow_choice (name, mass_flow_choice):
Set the mass flow choice of the injector specified by its name. Mass flow : 0, Mass flow
relative to inlet : 1.
l get_injector_mass_flow (name):
Get the mass flow of the injector specified by its name. Available only in case that the mass
flow choice is set to Mass flow.
l set_injector_mass_flow (name, mass_flow):
Set the mass flow of the injector specified by its name. Available only in case that the mass
flow choice is set to Mass flow.
l get_injector_mass_flow_factor (name):
Get the mass flow of the injector specified by its name. Available only in case that the mass
flow choice is set to Mass flow relative to inlet.
l set_injector_mass_flow_factor (name, mass_flow_factor):
Set the mass flow of the injector specified by its name. Available only in case that the mass
flow choice is set to Mass flow relative to inlet.
l get_injector_inlet_group_name (name):
Get the inlet group name that is used to compute the relative mass flow of the injector specified
by its name. Available only in case that the mass flow choice is set to Mass flow relative to
inlet.
l set_injector_inlet_group_name (name, inlet_group_name):
Set the inlet group name that is used to compute the relative mass flow of the injector specified
by its name. Available only in case that the mass flow choice is set to Mass flow relative to
inlet.
l get_injector_temperature_choice (name):
Get the temperature choice of the injector specified by its name. Relative total temperature : 0,
Static temperature : 1, Absolute total temperature : 2.
l set_injector_temperature_choice (name, temperature_choice):
Set the temperature choice of the injector specified by its name. Relative total temperature : 0,
Static temperature : 1, Absolute total temperature : 2.
l get_injector_temperature (name):
Get the temperature of the injector specified by its name.
l set_injector_temperature(name, temperature):
Set the temperature of the injector specified by its name.
l get_injector_viscosity (name):
Get the inlet viscosity of the injector specified by its name. Available only for 1-equation
turbulence model.
l set_injector_viscosity (name, viscosity):
Set the inlet viscosity of the injector specified by its name. Available only for 1-equation
turbulence model.
l get_injector_turbulence_choice (name):
Get the inlet turbulence choice (K-epsilon : 0, Intensity : 1) of the injector specified by its
name. Available only for 2-equation turbulence model.
l set_injector_turbulence_choice (name, turbulence_choice):
Set the inlet turbulence choice (K-epsilon : 0, Intensity : 1) of the injector specified by its
name. Available only for 2-equation turbulence model.
l get_injector_k (name):
Get the value of inlet turbulent kenetic energy (k) of the injector specified by its name.
Available only when using 2-equation turbulence model and the turbulence choice is set to K-
epsilon.
l set_injector_k(name, k):
Set the value of inlet turbulent kenetic energy (k) of the injector specified by its name.
Available only when using 2-equation turbulence model and the turbulence choice is set to K-
epsilon.
l get_injector_epsilon (name):
Get the value of inlet turbulent dissipation rate (ε) of the injector specified by its name.
Available only when using 2-equation turbulence model and the turbulence choice is set to K-
epsilon.
l set_injector_epsilon(name, epsilon):
Set the value of inlet turbulent dissipation rate (ε) of the injector specified by its name.
Available only when using 2-equation turbulence model and the turbulence choice is set to K-
epsilon.
l get_injector_intensity (name):
Get the value of inlet turbulent intensity of the injector specified by its name. Available only
when using 2-equation turbulence model and the turbulence choice is set to Intensity.
l set_injector_intensity (name, intensity):
Set the value of inlet turbulent intensity of the injector specified by its name. Available only
when using 2-equation turbulence model and the turbulence choice is set to Intensity.
The following commands are used only for the injector type Points.
l get_injector_pointsdata (name):
Get the hole data on the points type injector specified by its name. The returned data is a list
with 7 sub-lists. The first sub-list gives the X coordinate of each hole. The following sub-lists
gives Y, Z, Vx, Vy, Vz and validity (0/1) of each hole.
l add_injector_pointsdata(name,index):
Add a hole for the injector specified by its name. The hole is a copy of the hole selected hole
(index, starting from 0). If no hole exists in the injector, the index is -1.
l set_injector_pointsdata (name,index,x,y,z,Vx,Vy,Vx):
Set the coordinates and injection direction for the hole (index, starting from 0) in the injector
specified by it name.
l injector_reverseHolesAxis(name,nb_selected_holes,list_of_selected_holes_indices):
Reverse the injection direction for the selected hole in the injector specified by it name.
l injector_remove_pointsdata(name,nb_selected_holes,list_of_selected_holes_indices):
Remove the selected holes in the injector specified by it name.
l get_injector_pointsrepet(name):
Get the number of periodic repetitions of the injector specified by its name. Available only for
the type Points.
l set_injector_pointsrepet(name,nb_repetition):
Set the number of periodic repetitions of the injector specified by its name. Available only for
the type Points. The number of periodic repetition is a general parameter. If the value is set for
one injector with the type Points, it is common for all injectors with the type Points.
Here is an example that adds one injector on a blade pressure surface:
script_version(2.1)
# add one injector with the properties: Injector name = injector_2, Type = Line, Mode =
Relative (blades), Role = Cooling, Injection direction = Grid Indices, Index = 7.
FT.add_new_injector("injector_2",0,0,"Cooling",0,7)
# store the patches (both pressure side and suction side sufaces).
FT.store_injector_patch("injector_2",3,5,1)
FT.store_injector_patch("injector_2",3,5,2)
# set injector sector geometry
FT.set_injector_number_holes("injector_2",10)
FT.set_injector_diameter("injector_2",0.0006)
# set injector positioning
FT.set_injector_positioning_patch("injector_2","row_1_flux_1_Main_Blade_skin_blade_
(aap-ps)")
FT.set_injector_coordinates("injector_2",0.2,0.05,0,0.2,0.95,1)
FT.set_injector_first_angle("injector_2",0)
FT.set_injector_second_angle("injector_2",0.78)
# set flow parameters
FT.set_injector_mass_flow_choice("injector_2",1)
FT.set_injector_mass_flow_factor("injector_2",0.01)
FT.set_injector_inlet_group_name("injector_2","Inlet")
FT.set_injector_temperature_choice("injector_2",1)
FT.set_injector_temperature("injector_2",350)
FT.set_injector_viscosity("injector_2",0.001)
P. Transition model
l set_transition_model(model)
Set the transition model. The following constants can be used as model:
TRANSITION_OFF = 0
GLOBAL_CORRELATION_TRANSITION = 1
GENERALIZED_TRANSITION = 2
Example: set_transition_model(GENERALIZED_TRANSITION) to set up the generalized
transition model.
Example: set_transition_model(0) to deactivate the transition model.
l get_transition_model()
Get the transition model.
l ungroup_blades(groupIndex)
Ungroup the blade group identified by the index of the group.
Example: ungroup_blades(0) to ungroup the first group of blades.
l create_blade_group(group_name,value)
Create blade group called group_name, from list of blade indices or a name pattern (value).
Example: value = [0,1,2] or value = *_Main_Blade*.
Example: FT.create_blade_group("stator","*_Main_Blade")
The following commands are only applicable with the Global Correlation Transition model; the
following constants can be used as modelSS and modelPS:
FULLY_TURBULENT = 1
FULLY_LAMINAR = 2
FORCED_TRANSITION = 3
AGS_MODEL = 4
l set_blade_modelPS(groupID,modelPS)
Set the pressure side model of the blade or the group of blades identified by the index
groupID.
Example: set_blade_modelPS(0,FULLY_LAMINAR)
Example: FT.set_blade_modelPS(0,3)
l set_blade_modelSS(groupID,modelSS)
Set the suction side model of the blade or the group of blades identified by the index groupID.
l get_blade_modelPS(groupID)
Get the pressure side model of the blade or the group of blades identified by the index
groupID.
l get_blade_modelSS(groupID)
Get the suction side model of the blade or the group of blades identified by the index
groupID.
The following commands are relevant when the Forced Transition option is chosen:
l set_blade_hubPS(groupID,hubPS)
Set the position, in term of span (0 - 100%) starting from the hub, of the transition line on the
pressure side of the blade or the group of blades identified by the index groupID.
Example: set_blade_hubPS(0,50)
l set_blade_shroudPS(groupID,shroudPS)
Set the position, in term of span (0 - 100%) starting from the shroud, of the transition line on
the pressure side of the blade or the group of blades identified by the index groupID.
l get_blade_hubPS(groupID)
Get the position, in term of span (0 - 100%) starting from the hub, of the transition line on the
pressure side of the blade or the group of blades identified by the index groupID.
l get_blade_shroudPS(groupID)
Get the position, in term of span (0 - 100%) starting from the shroud, of the transition line on
the pressure side of the blade or the group of blades identified by the index groupID.
l set_blade_hubSS(groupID,hubPS)
Set the position, in term of span (0 - 100%) starting from the hub, of the transition line on the
suction side of the blade or the group of blades identified by the index groupID.
Example: set_blade_hubSS(0,50)
l set_blade_shroudSS(groupID,shroudPS)
Set the position, in term of span (0 - 100%) starting from the shroud, of the transition line on
the suction side of the blade or the group of blades identified by the index groupID.
l get_blade_hubSS(groupID)
Get the position, in term of span (0 - 100%) starting from the hub, of the transition line on the
suction side of the blade or the group of blades identified by the index groupID.
l get_blade_shroudSS(groupID)
Get the position, in term of span (0 - 100%) starting from the shroud, of the transition line on
the suction side of the blade or the group of blades identified by the index groupID.
Q. Harmonic model
l get_time_configuration()
Return the time configuration. The following constants are used
STEADY = 0
UNSTEADY = 1
HARMONIC = 2
l set_time_configuration(value)
Set the time configuration specified by the value
Example:
set_time_configuration(UNSTEADY)
This parameter is global: it applies to all blocks.
l get_harmonic_configuration_type()
Return the used harmonic method. The following constants are used
BASIC = 0
CLOCKING = 1
MULTIRANK = 2
l set_harmonic_configuration_type( value )
Select the harmonic method specified by the value.
Example:
set_harmonic_configuration_type(BASIC)
l get_acoustic_configuration()
Return the acoustic activation flag (0:off / 1:on)
l set_acoustic_configuration (value )
Set the acoustic activation flag (0:off / 1:on)
The following commands are used for the basic and clocking harmonic methods.
l get_nb_harmonic_frequencies()
Return the number of frequencies per perturbation.
l set_nb_harmonic_frequencies(value )
Set the number of frequencies per perturbation.
l get_nb_harmonic_perturbations_per_blade_row()
Return the maximum number of perturbations per blade row.
l set_nb_harmonic_perturbations_per_blade_row(value )
Set the maximum number of perturbations per blade row.
l get_clocking_type()
Return the clocking type (0:variable / 1:fixed)
l set_clocking_type(type )
Set the clocking type (0:variable / 1:fixed)
The following commands are used for the multi-rank harmonic methods.
l get_harmonic_maximum_rank()
Return the maximum number of the rank.
l set_harmonic_maximum_rank(value )
Set the maximum number of the rank.
l get_nb_harmonics_of_rank(Idrank)
Return the number of harmonics used in the rank specified by Idrank (0:rank-1 / 1:rank-2).
l get_nb_harmonics_of_rank(NbHarmonics, Idrank )
Set the number of harmonics used in the rank specified by Idrank (0:rank-1 / 1:rank-2). Note,
the maximum number of Nbharmonics is 40 for rank 1. The maximum number of
NbHarmonics for rank 2 should be no more than the value for rank 1.
l get_clocking_type()
Return the clocking type (0:variable / 1:fixed)
l set_clocking_type(type )
Set the clocking type (0:variable / 1:fixed)
l get_harmo_multi_rank_interaction()
Return the status of the harmonic interaction (0:No interaction / 1:Interaction)
l set_harmo_multi_rank_interaction(value)
Set the status of the harmonic interaction (0:No interaction / 1:Interaction)
l get_harmo_max_order_interaction()
Return the max order in interaction.
l get_harmo_max_order_interaction(value)
Set the max order in interaction.
R. Mechanical coupling
l set_global_mechalical_coupling(value)
Activate the mechanical coupling flag (0:off / 1:on).
l get_global_mechalical_coupling()
Return the mechanical coupling flag (0:off / 1:on).
l set_rigid_motion()
Activate the rigid motion flag.
l set_elastic_deformation()
Activate the elastic deformation flag.
l get_rigid_motion_or_elastic_deformation()
Return either Rigid_motion either Elastic_deformation.
l set_rigid_motion_oscillating_body()
Activate the Oscillating Body type in Rigid Motion.
l set_rigid_motion_off_centered_rotor()
Activate the Off Centered Rotor type in Rigid Motion.
l set_rigid_motion_generalized_motion()
Activate the Generalized Motion type in Rigid Motion.
l set_rigid_motion_type(value)
Set the Rigid Motion type (0: Oscillating Body, 1: Off Centered Rotor and -1: Generalized
Motion).
l get_rigid_motion_type()
Return the Rigid Motion type: Oscillating_body, Off_centered_rotor or Generalized_motion.
l set_elastic_deformation_MPCCI()
Activate the MPCCI type in Elastic Deformation.
l set_elastic_deformation_Modal()
Activate the Modal type in Elastic Deformation.
l set_elastic_deformation_type(value)
Set the Elastic Deformation type: (0: MPCCI and 1: Modal).
l get_elastic_deformation_type()
Return the type of Elastic Deformation: MPCCI or Modal.
l get_mechanical_coupling_number_of_groups()
Return the total number of groups of solid patches.
l apply_mechanical_coupled(group_ind, value)
Activate the Coupled option (0:off / 1:on) for the specified group_ind (group_ind is the index
of the selected group of solid patches, starting from 0).
l get_mechanical_coupled(group_ind)
Return the Coupled option flag (0:off / 1:on) for the specified group_ind.
l set_structure_id_to_patch(group_ind, structure_id_value)
Set the structure ID to the specified group_ind.
l get_structure_id_to_patch(group_ind)
Return the structure ID of the specified group_ind.
l set_modal_damping_coefficient(group_ind, mode, damping_value)
Set the Damping Coefficient for the specified group_ind and mode.
l get_modal_damping_coefficient(group_ind, mode)
Return the value of the Damping Coefficient of the specified group_ind and mode.
l set_mechanical_coupling_structureID(group_ind, structureID_value)
Set the mechanical coupling Structure ID value for the specified group_ind.
l get_mechanical_coupling_structureID(group_ind)
Return the value of the mechanical coupling Structure ID of the specified group_ind.
l set_mechanical_coupling_structureName(group_ind, structure_name)
Set the Structure Name for the specified group_ind.
l get_mechanical_coupling_structureName(group_ind)
Returns the Structure Name of the specified group_ind.
l set_mechanical_coupling_structureFile(group_ind, path_structure_file)
Set the path to the Structure File for the specified group_ind.
l get_mechanical_coupling_structureFile(group_ind)
Return the path of the Structure File of the specified group_ind.
l set_mechanical_coupling_isForced(group_ind, value)
Set the type of the modal deformation method: 0 for Coupling and 1 for Forced Motion.
l get_mechanical_coupling_isForced(group_ind)
Return the type of modal deformation method: 0 for Coupling and 1 for Forced Motion.
l set_mechanical_coupling_numberOfModes(group_ind, number_of_modes)
Set the Number of Modes for the specified group_ind.
l get_mechanical_coupling_numberOfModes(group_ind)
Return the Number of Modes of the specified group_ind.
l set_generalized_displacement_type(group_ind, mode, type)
Set the Generalized Displacement type for the specified group_ind and mode. The type can be
set to "Constant Value", "fct(time)" or "fct(frequency)".
l get_generalized_displacement_type(group_ind, mode)
Return the Generalized Displacement type for the specified group_ind and mode: "Constant
Value", "fct(time)" or "fct(frequency)".
l set_generalized_displacement_value(group_ind, mode, value)
Set the Generalized Displacement value for the specified group_ind and mode.
l get_generalized_displacement_value(group_ind, mode)
Return the Generalized Displacement value of the specified group_ind and mode.
The following commands are specific to unsteady computations:
l set_generalized_displacement_profile(group_ind, profile_points_list, mode)
Set the Generalized Displacement profile for the specified group_ind and mode.
Example: FT.set_generalized_displacement_profile(2,[[1,1],[2,2],[3,3]],1)
l get_generalized_displacement_profile(group_ind, mode)
Return the Generalized Displacement profile for the specified group_ind and mode.
The following commands are specific to harmonic computations:
l set_generalized_displacement_NLH_frequency(group_ind, mode, frequency_value)
Set the Generalized Displacement Frequency for the specified group_ind and mode.
l get_generalized_displacement_NLH_frequency(group_ind, mode)
Return the Generalized Displacement Frequency of the specified group_ind and mode.
l set_generalized_displacement_NLH_IBPA(group_ind, mode, ibpa_value)
Set the Generalized Displacement IBPA for the specified group_ind and mode.
l get_generalized_displacement_NLH_IBPA(group_ind, mode)
Return the Generalized Displacement IBPA of the specified group_ind and mode.
l set_generalized_displacement_NLH_mean(group_ind, mode, mean_value)
Set the Generalized Displacement Mean value for the specified group_ind and mode.
l get_generalized_displacement_NLH_mean(group_ind, mode)
Return the Generalized Displacement Mean value of the specified group_ind and mode.
l get_generalized_displacement_NLH_harmonics_number()
Return the number of Harmonics for the Harmonic Generalized Displacement (note that this
number cannot be set).
l set_ generalized_ displacement_ NLH_ harmonics_ real_ value (group_ ind, mode, harmonic_
number, real_value)
Set the Harmonic Generalized Displacement real value for the specified group_ind, mode and
harmonic number.
l get_ generalized_ displacement_ NLH_ harmonics_ real_ value (group_ ind, mode, harmonic_
number)
Return the Harmonic Generalized Displacement real value of the specified group_ind, mode
and harmonic number.
l set_ generalized_ displacement_ NLH_ harmonics_ imaginary_ value (group_ ind, mode,
harmonic_number, imaginary_value)
Set the Harmonic Generalized Displacement imaginary value for the specified group_ ind,
mode and the harmonic number.
l get_ generalized_ displacement_ NLH_ harmonics_ imaginary_ value (group_ ind, mode,
harmonic_number)
Return the Harmonic Generalized Displacement imaginary value of the specified group_ind,
mode and the harmonic number.
S. Task Manager
l add_host(name, type, opt)
Adds the host in the hosts list with hostname name <type 'str'>, with login opt <type 'str'> and
operating system type <type 'str'>. The options for type are "WINDOWS" and "UNIX".
Example: add_ host("my_ machine","WINDOWS","lo=my_ name" ) for the hostname "my_
machine", login "my_name" on a Windows machine.
l get_hosts()
Gets hosts names and architectures. Returns output <type 'list'> with output[0] <type 'str'> and
output[1] <type 'str'>.
l remove_host(name)
Removes the host with name name <type 'str'> from the hosts list. Note that this operation is
not allowed when a task is running on the host or when the selected host is the local one.
l task_manager_shutdown()
Removes all hosts in the virtual machine.
l task(index)
Returns the task class object output <type 'str'> of the task with index index <type 'int'>.
l get_task_number()
Gets the total number of tasks. Returns output <type 'int'>.
l new_task()
Creates a new task.
l new_task(index)
Creates a new task as a copy of the task with index index <type 'int'>.
l get_task_index(name)
Gets the index of the task with name name <type 'str'>. Returns output <type 'str'> or -1 if
there is no task with the given name.
T. Convergence History
l steering_add(steeringFile, name, values)
Adds the variable name <type 'str'> to the steeringFile <type 'str'>. The argument values <type
'int'> or <type 'str'> should include extra necessary inputs for some available variables.
Example: FT.steering_ add ( "my_ folder/DemoCase_ 6_ computation1.steering",
"static
pressure", 2, 3, 4, 1), where values is input as 2,3,4,1, representing point coordinates I, J, K
and block id number, respectively.
l steering_remove(steeringFile, name)
Removes the variable name <type 'str'> from the steering file steeringFile <type 'str'>.
l steering_set_parameters(steeringFile, name, values)
Changes the parameters' value for variable name <type 'str'> from steeringFile <type 'str'>.
The argument values <type 'int'> or <type 'str'> should include extra inputs necessary for some
available variables.
Example: FT.steering_ add ( "my_ folder/DemoCase_ 6_ computation1.steering", "relative
velocity u", 3,3,3,2), where values is input as 3,3,3,2, representing point coordinates I, J, K and
block id number, respectively.
l steering_rename(steeringFile, name, newName)
Changes the name of variable name <type 'str'> to newName <type 'str'> from the steering file
steeringFile <type 'str'>.
l steering_get_group_names(iecFile)
Get group names from iecFile <type 'str'> file for some parameters (e.g. for 'patch group data'
parameters). Returns output <type 'list'>.
l steering_export_to_file(cvhFile, steeringFile, variables)
Saves the steering curves of variables <type 'str'> from steeringFile <type 'str'> to the cvhFile
<type 'str'>.
Example: FT.steering_ export_ to_ file ( "my_ folder/my_ file.cvh", "my_ folder/DemoCase_ 6_
computation1.steering", "inlet mass flow", "outlet mass flow" ). Note: Available in the
Convergence History page of the Task Manager module only.
l steering_selected_get_count(steeringFile)
Gets the count of 'Selected Variables' from the steering file steeringFile <type 'str'>. Returns
output <type 'int'>.
l steering_selected_set_type(steeringFile, name, typeName)
Changes the type of parameter name <type 'str'> to typeName <type 'str'> from steeringFile
<type 'str'>.
Example: FT.steering_selected_set_type( "my_folder/DemoCase_6_computation1.steering",
"torque","local 3d grid point").
l steering_selected_get_type(steeringFile, name)
Gets the type of parameter name <type 'str'> from steeringFile <type 'str'>. Returns output
<type 'str'>.
l steering_selected_get_name(steeringFile, index)
Gets the name of parameter with index index <type 'int'> from steeringFile <type 'str'>.
Returns output <type 'str'>.
Note: this command is the inverse of the steering_selected_get_index(steeringFile, name)
command.
l steering_selected_get_index(steeringFile, name)
Gets the index of parameter with names name <type 'str'> from steeringFile <type 'str'>.
Returns output <type 'int'>.
Note: this command is the inverse of the steering_selected_get_name(steeringFile, index)
command.
l steering_available_get_count()
Gets the count of 'Available Variables'. Returns output <type 'int'>.
l steering_available_get_type(name)
Gets the type of the available parameter with name name <type 'str'>. Returns output <type
'str'>.
l steering_available_get_name(index)
Gets the name of the available parameter with index index <type 'int'>. Returns output <type
'str'>.
Note: this command is the inverse of the steering_available_get_index(name) command.
l steering_available_get_index(name)
Gets the index of the available parameter with name name <type 'str'>. Returns output <type
'int'>.
Note: this command is the inverse of the steering_available_get_name(index) command.
13.2.2 Classes
A. Fluid Properties
This class contains following methods to access the fluid definition:
l get_name()
Return the fluid name.
l get_type()
Return the fluid type.
l get_specific_heat_law()
Return the specific heat law definition, which value is one of the following constants:
CONSTANT_CP_AND_GAMMA
CP_T_AND_GAMMA_T_PROFILE
CP_T_AND_GAMMA_T_FORMULA
CP_T_PROFILE_AND_R
CP_T_FORMULA_AND_R
GAMMA_T_PROFILE_AND_R
GAMMA_T_FORMULA_AND_R
l get_heat_conduction_law()
Return the heat conduction law definition, which value is one of the following constants:
CONSTANT_K
K_T_PROFILE
K_T_FORMULA
PRANDTL
l get_viscosity_law()
Return the viscosity law definition, which value is one of the following constants:
CONSTANT_VISCOSITY
VISCOSITY_T_PROFILE
VISCOSITY_T_FORMULA
SUTHERLAND
l get_density_law()
Return the density law definition, which value is one of the following constants:
BOUSSINESQ
BAROTROPIC_FORMULA
BAROTROPIC_PROFILE
l get_compressibility()
Return the compressibility coefficient.
l get_dilatation()
Return the dilatation coefficient.
l get_R_const()
Return the gas constant 'R' value.
l get_Prandtl()
Return the Prandtl number
l get_viscosity()
Return the viscosity value.
The returned value is a list of three elements:
value[0] : viscosity definition
"CONSTANT",
"POLYNOM"
"PROFILE"
value[1] : viscosity value
1 real number in case of "CONSTANT"
a list of 7 real numbers in case of "POLYNOM"
a list of points (x,y) in case of "PROFILE"
value[2] : viscosity type
DYNAMIC_VISCOSITY
KINEMATIC_VISCOSITY
l get_density()
Return the density value.
The returned value is a list of two elements:
value[0] : density definition
"CONSTANT"
"POLYNOM"
"PROFILE"
value[1] : density value
1 real number in case of "CONSTANT"
a list of 7 real numbers in case of "POLYNOM"
a list of points (x,y) in case of "PROFILE"
l get_cp()
Return the Cp value.
The returned value is a list of two elements:
value[0] : Cp definition
"CONSTANT"
"POLYNOM"
"PROFILE"
value[1] : Cp value
1 real number in case of "CONSTANT"
a list of 7 real numbers in case of "POLYNOM"
a list of points (x,y) in case of "PROFILE"
l get_gamma()
Return the gamma value.
The returned value is a list of two elements:
value[0] : gamma definition
"CONSTANT"
"POLYNOM"
"PROFILE"
value[1] : gamma value
1 real number in case of "CONSTANT"
a list of 7 real numbers in case of "POLYNOM"
a list of points (x,y) in case of "PROFILE"
l get_conductivity()
Return the conductivity value.
The returned value is a list of two elements:
value[0] : conductivity definition
"CONSTANT"
"POLYNOM"
"PROFILE"
value[1] : conductivity value
1 real number in case of "CONSTANT"
a list of 7 real numbers in case of "POLYNOM"
a list of points (x,y) in case of "PROFILE"
l get_thermo_tables_path()
Return the directory name containing the tables of a condensable fluid.
B. RotatingBlockGroup
This class contains the following methods to access / modify the block group:
l get_group_name()
Return the block group name.
l get_nb_blocks()
Return the number of blocks contained in the block group.
l get_block_index( index )
Return the global index of the block, from the local index of the block group.
l get_streamwise_direction()
Return the streamwise direction of the block group.
l set_streamwise_direction( dir )
Set the streamwise direction of the block group. dir can be one of following constants:
DIR_I
DIR_J
DIR_K
l get_spanwise_direction()
Return the spanwise direction of the block group.
l set_spanwise_direction( dir )
Set the spanwise direction of the block group. dir can be one of following constants:
DIR_I
DIR_J
DIR_K
l get_azimuthal_direction()
Return the azimuthal direction of the block group.
l set_azimuthal_direction( dir )
Set the azimuthal direction of the block group. dir can be one of following constants:
DIR_I
DIR_J
DIR_K
l get_rotational_speed()
Return the rotational speed of the block group.
l set_rotational_speed( value )
Set the rotational speed of the block group.
C. BoundaryConditionGroup
The BCGroup class contains following methods to access / modify the boundary conditions
settings:
l BCGroup(BCType, index )
Construct a BCGroup object from BCType and group index.
BCType can be:
"INLET"
"OUTLET"
"SOLID"
"EXTERNAL"
"ROTOR-STATOR"
l get_type()
Return B.C type
l get_index()
Return group index
l get_bc_type()
Return the B.C. definition.
l set_bc_type(value)
Set the B.C. definition, which can be one of the following constants or codes:
INLETs:
Boundary type
SUBSONIC_CYLINDRICAL_ANGLE_FROM_AXIAL_DIRECTION
SUBSONIC_CYLINDRICAL_ANGLE_FROM_AXIAL_DIRECTION_V_
EXTRAPOLATED
SUBSONIC_CYLINDRICAL_TOTAL_ENTHALPY_DRYNESS_FRACTION_
CONDENSABLE_GAS_ANGLE
SUBSONIC_CYLINDRICAL_TOTAL_ENTHALPY_DRYNESS_FRACTION_
CONDENSABLE_GAS_VELOCITY
SUBSONIC_CYLINDRICAL_ANGLE_FROM_AXIAL_DIRECTION_VZ_
EXTRAPOLATED
Code
[124, 1]
[124, 2]
[124,22]
[124,24]
[124, 3]
SUBSONIC_CYLINDRICAL_VELOCITY_DIRECTION_V_EXTRAPOLATED
SUBSONIC_CYLINDRICAL_TANGENTIAL_VELOCITY_AND_MERIDIONAL_
ANGLE_VM_EXTRAPOLATED
SUBSONIC_CYLINDRICAL_FLOW_ANGLE_AND_TOTAL_COND_UPSTREAM_
ROT_FRAME_VM_EXTRAPOLATED
[124, 4]
[124, 8]
[124, 9]
SUBSONIC_CYLINDRICAL_ANGLE_FROM_MERIDIONAL_DIRECTION_STATIC_
PRESSURE_EXTRAPOLATED
[124, 5]
SUBSONIC_CYLINDRICAL_VELOCITY_COMPONENTS_STATIC_PRESSURE_
EXTRAPOLATED
[124, 7]
SUBSONIC_CYLINDRICAL_STATIC_QUANTITIES_DISTRIBUTION_HARMONIC
[324, 4]
SUBSONIC_CYLINDRICAL_FROM_ROTOR_STATOR
SUBSONIC_CARTESIAN_STATIC_PRESSURE_EXTRAPOLATED
SUBSONIC_CARTESIAN_MACH_NUMBER_EXTRAPOLATED
SUBSONIC_CARTESIAN_MAGNITUDE_OF_ABSOLUTE_VELOCITY_
EXTRAPOLATED
SUPERSONIC_CARTESIAN_VELOCITY_COMPONENTS_IMPOSED
SUPERSONIC_CYLINDRICAL_TOTAL_QUANTITIES_VELOCITY_
COMPONENTS_IMPOSED
SUPERSONIC_CYLINDRICAL_STATIC_QUANTITIES_VELOCITY_
COMPONENTS_IMPOSED
SUBSONIC_CYLINDRICAL_MERIDIONAL_FLOW_ANGLE_AND_TANGENTIAL_
VELOCITY
SUBSONIC_CYLINDRICAL_VELOCITY_DIRECTION
SUBSONIC_CARTESIAN_VELOCITY_DIRECTION
[ 49, 1]
[ 24, 1]
[ 24, 2]
[ 24, 3]
[ 23, 0]
[ 23, 1]
[ 23, 2]
[ 28, 1]
[ 28, 2]
[ 28, 3]
OUTLETs:
Boundary type
SUBSONIC_STATIC_PRESSURE_IMPOSED
SUBSONIC_AVERAGED_STATIC_PRESSURE
SUBSONIC_RADIAL_EQUILIBRIUM
SUPERSONIC_EXTRAPOLATION
SUBSONIC_VELOCITY_SCALING
SUBSONIC_PRESSURE_ADAPTATION
Code
[ 25,10]
[ 27,40]
[125,10]
[ 22, 0]
[ 27,20]
[ 27,30]
SUBSONIC_ABSOLUTE_MACH_NUMBER_WITH_PRESSURE_ADAPTATION [ 27,50]
SUBSONIC_RELATIVE_MACH_NUMBER_WITH_PRESSURE_ADAPTATION [ 27,60]
SUBSONIC_RIEMANN_INVARIANT
SUBSONIC_FROM_ROTOR_STATOR
SUBSONIC_MASSFLOW_PRESSURE_ADAPTATION
SOLIDs:
Boundary type
NS_CYLINDRICAL_ADIABATIC_CONSTANT_ROTATION_SPEED
EULER_EULER_SOLID_WALL
NS_CYLINDRICAL_ADIABATIC_AREA_DEFINED_ROTATION_SPEED
NS_CYLINDRICAL_HEAT_FLUX_IMPOSED_CONSTANT_ROTATION_SPEED
[ 29, 1]
[ 49, 2]
[ 27, 30]
Code
[113, 0]
[ 16, 0]
[113, 1]
[110, 0]
NS_CYLINDRICAL_HEAT_FLUX_IMPOSED_AREA_DEFINED_ROTATION_SPEED [110, 1]
NS_CYLINDRICAL_TEMPERATURE_IMPOSED_CONSTANT_ROTATION_SPEED [114, 0]
[114, 1]
[ 13, 0]
[ 10, 0]
[ 14, 0]
[114,
20]
[113, 2]
[13, 2]
[16, 2]
NS_CYLINDRICAL_TEMPERATURE_IMPOSED_AREA_DEFINED_ROTATION_
SPEED
NS_CARTESIAN_ADIABATIC
NS_CARTESIAN_HEAT_FLUX_IMPOSED
NS_CARTESIAN_TEMPERATURE_IMPOSED
NS_CYLINDRICAL_CHT_CONNECTION_CONSTANT_ROTATION_SPEED
NS_CYLINDRICAL_ROTATION_SPEED_ACOUSTIC_IMPEDANCE
NS_CARTESIAN_ACOUSTIC_IMPEDANCE
EULER_ACOUSTIC_IMPEDANCE
EXTERNALs:
Boundary type
EXTERNAL_STATIC_QUANTITIES
Code
[ 21, 1]
EXTERNAL_CONSTANT_WIND_INCIDENCE_RELATIVE_Z [ 21, 2]
ROTOR-STATORs:
Boundary type
Code
RS_CONSERVATIVE_COUPLING_PITCHWISE_ROW [ 43, 1]
RS_LOCAL_CONSERVATIVE_COUPLING
RS_FULL_NON_MATCHING_MIXING_PLANE
RS_FULL_NON_MATCHING_FROZEN_ROTOR
RS_NON_REFLECTING_1D
[ 44, 1]
[ 45, 1]
[ 46, 1]
[ 48, 1]
RS_NON_REFLECTING_2D
RS_DOMAIN_SCALING
RS_PHASE_LAGGED
l get_group_name()
Return the name of the group
l get_nb_patches()
[ 48, 2]
[ 47, 1]
[ 47, 2]
Return the number of patches contained in the group
l get_patch( index )
Return patch (BCPatch object) of group, from its local index.
l get_patches_names()
Return the list of patches (names) of the group
l get_parameter_value( name )
Return the parameter value, specified by its name. The name must be the same as the one
shown in the interface. The situation is different for the Turbulent Quantities for which the
name of the interface must be followed by the chosen turbulence model: '(S-A)' in case of a 1-
equation turbulence model and '(k-e)' in case of a 2-equation turbulence model. Examples are:
''Turbulent Intensity (S-A)'' or ''Turbulent Intensity (k-e)''. It is important to note that the
names of the turbulent quantities Turbulent Viscosity, k, and Epsilon are exceptional as they
do not need to be followed by the turbulence model, e.g. ''Epsilon'' or ''k''.
l set_parameter_value(name,value )
Set the parameter value, specified by its name. The name must be the same as the one shown
in the interface.The situation is different for the Turbulent Quantities for which the name of
the interface must be followed by the chosen turbulence model: '(S-A)' in case of a 1-equation
turbulence model and ' (k- e)'
in case of a 2- equation turbulence model. Examples are:
''Turbulent Intensity (S-A)'' or ''Turbulent Intensity (k-e)''. It is important to note that the
names of the turbulent quantities Turbulent Viscosity, K, and Epsilon are exceptional as they
do not need to be followed by the turbulence model, e.g. ''Epsilon'' or ''k''. The choice of the
specified turbulent quantity is performed by setting the value of the 'name' parameter
"Turbulent Quantities (S-A)" or "Turbulent Quantities (k-e)" according to the turbulence
model. The value must be set to an integer between 0 and 3 corresponding to the order in the
choice list, starting from 0.
l set_bc_profile_from_file(name, type, filename)
Set the profile definition for the specified parameter name. The name must be the same as the
one shown in the interface.
type is the profile definition:
1: "space-time"
2: "space"
3: "time"
l get_force_and_torque()
Return the force and torque computation flag (0:off / 1:on)
l set_force_and_torque(value)
Set the force and torque computation flag (0:off / 1:on)
D. BoundaryConditionPatch
The class BCPatch contains following methods to access patch properties:
l BCPatch( b, f, p )
Construct a BCPatch object from (blockID,faceID,patchID) indices (starting from 0).
l get_bc_name()
Return B.C type of the patch
l get_patch_name()
Return the name of the patch
l get_block_face_patch()
Return the block/face/patch indices
E.
InitialSolution
This class InitialSolution contains following methods to access / modify the initial solution
settings:
l get_group_name ()
Return the name of the group of blocks, to which this object is attached.
l get_nb_blocks()
Return the number of blocks of the group to which this object is attached.
l get_block_index( idx )
Return the index of the block, from its local index idx in the group.
l get_block_names()
Return the list of blocks of the group.
l get_mode()
Return the initial solution mode.
l set_mode( mode )
Set the initial solution mode, which can be one of the following constants:
const : for CONSTANT_VALUES
file : for FROM_FILE
turbo : for FOR_TURBOMACHINERY
auto : for TECHNO_EFFECTS
through : for FROM_THROUGHFLOW
The following methods are available only in case of 'Constant' initial solution:
l get_coord_system()
Return the coordinate system.
l set_coord_system( cs )
the
Set
COORDSCYLINDRICAL_COORDS
coordinate
system.
It
can
be
cartesian
or
cylindrical.CARTESIAN_
l get_pressure()
Return the initial pressure.
l set_pressure( P )
Set the initial pressure.
l get_temperature()
Return the initial temperature.
l set_temperature( T )
Set the initial temperature.
l get_velocity()
Return the initial velocity (Vector type).
l set_velocity( v )
Set the initial velocity. v is a Vector which components are (vx,vy,vz) or (vr,vt,vz).
l get_turbulent_computation_method()
Return the selected Turbulent Quantity as a number between 0 and 4.
l set_turbulent_computation_method( method )
Set the Turbulent Quantity as a number between 0 and 4.
l get_turbulent_viscosity()
Return the initial value of the turbulent viscosity.
l set_turbulent_viscosity( viscosity )
Set the initial value of the turbulent viscosity.
l get_turbulent_viscosity_ratio()
Return the initial value of the turbulent viscosity ratio.
l set_turbulent_viscosity_ratio( ratio )
Set the initial value of the turbulent viscosity ratio.
l get_turbulent_intensity()
Return the initial value of the turbulent intensity.
l set_turbulent_intensity( intensity )
Set the initial value of the turbulent intensity.
l get_turbulent_length_scale()
Return the initial value of the turbulent length scale.
l set_turbulent_length_scale( length )
Set the initial value of the turbulent length scale.
l get_hydraulic_diameter()
Returnthe initial value of the hydraulic diameter.
l set_hydraulic_diameter( diameter )
Set the initial value of the hydraulic diameter.
l get_modified_turbulent_viscosity()
Return the initial value of the modified turbulent viscosity.
l set_modified_turbulent_viscosity( modVisc )
Set the initial value of the modified turbulent viscosity.
l get_k()
Return the initial value of k.
l set_k( k )
Set the initial value of k .
l get_epsilon()
Return the initial value of epsilon.
l set_epsilon( epsilon )
Set the initial value of epsilon.
l get_flow_direction()
Return the initial flow direction
l set_flow_direction( dir )
Set the initial flow direction. dir can be 'None', 'I', 'J', 'K', 'Reverse I', 'Reverse J' or 'Reverse K'
l get_velocity_fitting()
Return the initial velocity fitting.
l set_velocity_fitting( val )
Set the initial velocity fitting. The value of val must be: 'W', or 'Vm'
l get_pressure_field()
Return the initial pressure field.
l set_pressure_field( val )
Set the initial pressure field. The value of val must be 'Constant', or 'Radial equilibrium with
factor'
l get_radial_equilibrium_factor()
Return the radial equilibrium factor.
l set_radial_equilibrium_factor( val )
Set the radial equilibrium factor.
The following methods are available only in case of 'From File' initial solution:
l get_restart_filename()
Return the filename of the computation for a restart.
l set_restart_filename( filename )
Set the filename of the computation for a restart.
The following methods are available only in case of 'From Throughflow' initial solution:
l get_throughflow_filename()
Return the data filename for an initial solution from throughflow.
l set_throughflow_filename( filename )
Set the data filename for an initial solution from throughflow.
The following methods are available only in case of 'For Turbomachinery' initial solution. In the
following methods, BCtype is the B.C type (example: "INLET"), and BCGroupName is the
name of the patch (or group of patches) on which the parameters apply.
l get_turbo_patch_pressure_type( BCtype, BCGroupName )
Return the pressure type (0=constant, 1=radial equilibrium).
l set_turbo_patch_pressure_type( BCtype, BCGroupName, value )
Set the the pressure type (0=constant, 1=radial equilibrium)
l get_turbo_patch_pressure( BCtype, BCGroupName )
Return the constant pressure.
l set_turbo_patch_pressure( BCtype, BCGroupName, value )
Set the the constant pressure.
l get_turbo_patch_radius( BCtype, BCGroupName )
Return the radial equilibrium value.
l set_turbo_patch_radius( BCtype, BCGroupName, value )
Set the the radial equilibrium value.
l get_turbulent_computation_method()
Return the selected Turbulent Quantity as a number between 0 and 4.
l set_turbulent_computation_method( method )
Set the Turbulent Quantity as a number between 0 and 4.
l get_turbulent_viscosity()
Return the initial value of the turbulent viscosity.
l set_turbulent_viscosity( viscosity )
Set the initial value of the turbulent viscosity.
l get_turbulent_viscosity_ratio()
Return the initial value of the turbulent viscosity ratio.
l set_turbulent_viscosity_ratio( ratio )
Set the initial value of the turbulent viscosity ratio.
l get_turbulent_intensity()
Return the initial value of the turbulent intensity.
l set_turbulent_intensity( intensity )
Set the initial value of the turbulent intensity.
l get_turbulent_length_scale()
Return the initial value of the turbulent length scale.
l set_turbulent_length_scale( length )
Set the initial value of the turbulent length scale.
l get_hydraulic_diameter()
Return the initial value of the hydraulic diameter.
l set_hydraulic_diameter( diameter )
Set the initial value of the hydraulic diameter.
l get_modified_turbulent_viscosity()
Return the initial value of the modified turbulent viscosity.
l set_modified_turbulent_viscosity( modVisc )
Set the initial value of the modified turbulent viscosity.
l get_k()
Return the initial value of k.
l set_k( k )
Set the initial value of k.
l get_epsilon()
Return the initial value of epsilon.
l set_epsilon( epsilon )
Set the initial value of epsilon.
F. Row
This class contains the following methods to access the row configuration:
l get_name()
Return the name of the row.
l get_nb_blocks()
Return the number of blocks contained in the row.
l get_block_name( index )
Return the name of the block, from the local index of the block group.
l get_rotation_speed()
Return the rotation speed of the row.
l get_nb_blades()
Return the number of blades of the row.
l get_repetition()
Return the repetition.
G. Blade
This class contains following methods to access the blade configuration:
l get_name()
Return the name of the blade.
l get_group_name()
Return the name of the group.
l get_leading_edge()
Return the leading edge definition of the blade:
Number of blocks defining the leading edge.
imin, imax, jmin, jmax, kmin, kmax, block_name for each block.
l get_trailing_edge()
Return the trailing edge definition of the blade:
Number of blocks defining the trailing edge.
imin, imax, jmin, jmax, kmin, kmax, block_name for each block.
l get_pressure_side()
Return the pressure side definition of the blade:
Block index of the pressure side.
imin, imax, jmin, jmax, kmin, kmax
l get_suction_side()
Return the suction side definition of the blade:
Block index of the suction side.
imin, imax, jmin, jmax, kmin, kmax
l get_row()
Return the parent row (of type Row) of the blade.
H. Task
Methods of the class task are described below. There are two examples on how they can be used
(e.g. For the 'new' command):
1. FT.task(index).new()
2. my_task = FT.task(index)
my_task.new()
l remove()
Removes the current task.
l rename(name)
Sets name <type 'str'> as the new name of the current task.
l save()
Saves the current task.
l start()
Starts the current task.
l kill()
Kills the current task.
l delay_time(time)
Sets time <type 'int'> as the time for start of the current task. Use -1 as time in order to remove
a task delay request.
l delay_after_task(task)
Sets a task to start after the task with name task <type 'str'>.
l get_status()
Gets the status of the current task. Returns output <type 'str'> as running or pending.
l get_name()
Gets the name of the current task. Returns output <type 'str'>.
l get_subtask_number()
Gets the count of subtasks of the current task. Returns output <type 'int'>.
l subtask(subindex)
Returns the subtask class object output <type 'str'> of the subtask with index subindex <type
'int'>.
l new_subtask()
Creates a new subtask for the current task.
l new_subtask(index)
Creates a new subtask for a task with index index as a copy of the current subtask.
As indexing goes from zero, every index argument should be from 0 to (number of tasks - 1). In
addition, subindex should be from 0 to (number of subtasks - 1) of the corresponding task.
I.
Subtask
Methods of the class subtask are described below. There are two examples on how they can be
used (e.g. For 'new' command):
1. FT.task(index).subtask(subindex).new()
2.
task = FT.task(index)
my_subtask = task.subtask(subindex)
my_subtask.new()
l remove()
Removes the current subtask from its task.
l kill()
Kills the current subtask.
l stop()
Stops the current subtask.
l set_executable(type)
Sets the executable of the current subtask as of type type <type 'str'>. The argument should be
one from the combo box list, e.g. euranusTurbo, cfview, autoGrid, design3d.
l get_executable()
Gets the executable type of the current substask. Returns output <type 'str'> as euranusTurbo,
cfview, autoGrid or design3d.
l set_hostName(name)
Sets the host with name name <type 'str'> for the current subtask.
l get_hostName()
Gets the host of the current subtask. Returns output <type 'str'>.
l set_run_file(path)
Sets the run file from path path <type 'str'> for the current subtask.
Example: FT.task(0).subtask(0).set_run_file("/documents/Tutorial1/Tutorial1_steady.run")
l get_run_file()
Gets the run file of the current subtask. Returns output <type 'str'>.
l set_macro_file(path)
Sets the macro file from path path <type 'str'> for the current subtask.
l get_macro_file()
Gets the macro file of the current subtask. Returns output <type 'str'>.
l set_template_file(path)
Sets the template file from path path <type 'str'> for the current subtask.
l get_template_file()
Gets the template file of the current subtask. Returns output <type 'str'>.
l set_geometry_file(path)
Sets the geometry file from path path <type 'str'> for the current subtask.
l get_geometry_file()
Gets the geometry file of the current subtask. Returns output <type 'str'>.
l set_mesh_file(path)
Sets the mesh file from path path <type 'str'> for the current subtask.
l get_mesh_file()
Gets the mesh file of the current subtask. Returns output <type 'str'>.
l set_condition(condition)
Sets the condition for the current subtask. The input condition <type 'int'> can be 0
(corresponding to the option 'Run Simultaneously with Previous Subtask') or 1 (corresponding
to 'Run After Previous Subtask').
l get_condition()
Gets the condition of the current subtask. Returns output <type 'int'> as 0 (corresponding to the
option 'Run Simultaneously with Previous Subtask') or 1 (corresponding to 'Run After
Previous Subtask').
l set_parallel_mode(parallel_mode)
Sets the parallel computing type for the current subtask. The input parallel_mode <type 'int'>
can be 0 (corresponding to 'Sequential Computation' run mode), 1 (corresponding to 'Parallel
Computation' run mode) or 2 (corresponding to 'Parallel Partitioned Computation' run mode).
l get_parallel_mode()
Gets the parallel computing type for the current subtask. Returns output <type 'int'> as 0
(corresponding to 'Sequential Computation'
run mode), 1 (corresponding to 'Parallel
Computation' run mode) and 2 (corresponding to 'Parallel Partitioned Computation' run mode).
l set_licence_type(license_type)
Sets the license type of the current computation. The input license_type <type 'int'> can be 0
(corresponding to 'MPROC' license key type) or 1 (corresponding to 'FFLEX' ;license key
type).
l get_licence_type()
Gets the license key type of the current subtask. Returns output <type 'int'> as 0
(corresponding to 'MPROC' license key type) or 1 (corresponding to 'FFLEX' license key
type).
l set_compiler(compiler)
Sets the compiler type for the current subtask. The input compiler <type 'int'> can be 0
(corresponding to 'Portland OMPI (PGI6)' library compiler on LINUX), 1 (corresponding to
'Intel IMPI (ICC15)' or 'IntelMPI' library compiler respectively on LINUX or Windows), 2
(corresponding to 'MPICH2' library compiler on Windows), 3 (corresponding to 'Portland
OMPI (PGI17)' library compiler on LINUX) or 4 (corresponding to 'Portland IMPI (PGI17)'
library compiler on LINUX).
l get_compiler()
type of
Gets the compiler
the current subtask. Returns compiler <type 'int'> as 0
(corresponding to 'Portland OMPI (PGI6)' library compiler on LINUX), 1 (corresponding to
'Intel IMPI (ICC15)' or 'IntelMPI' library compiler respectively on LINUX or Windows), 2
(corresponding to 'MPICH2' library compiler on Windows), 3 (corresponding to 'Portland
OMPI (PGI17)' library compiler on LINUX) or 4 (corresponding to 'Portland IMPI (PGI17)'
library compiler on LINUX).
Commands related to the 'Queuing System' checkbox:
l set_queuing_system(system_mode)
Sets the 'Queuing System' mode status for the current substask. The input system_mode <type
'int'> can be 0 (corresponding to 'Queuing System' mode deactivated) or 1 (corresponding to
'Queuing System' mode activated).
l get_queuing_system()
Gets the 'Queuing System' mode status of the current substask. Returns system_mode <type
'int'> as 0 (corresponding to 'Queuing System' mode deactivated) or 1 (corresponding to
'Queuing System' mode activated).
l set_number_queuing_system_processors(number)
Sets the number of processors as number <type 'int'> for the current subtask when the
'Queuing System' mode is activated.
l get_number_queuing_system_processors()
Gets the number of processors for the current subtask when the 'Queuing System' mode is
activated. Returns output <type 'int'>.
l set_queuing_system_environment(environment)
Sets the environment of the current subtask as environment <type 'str'> when the 'Queuing
System' mode is activated.
l get_queuing_system_environment()
Gets the environment of the current subtask. Returns output <type 'str'>.
l get_queuing_system_environment_list()
Gets the list of possible environments of the current subtask. Returns output <type 'list'>.
l set_queuing_system_template(template)
Sets the template of the current subtask as template <type 'str'>.
l get_queuing_system_template()
Gets the template of the current subtask. Returns output <type 'str'>.
l get_queuing_system_template_list()
Gets the list of possible templates of the current subtask. Returns output <type 'list'>.
Commands related to the 'Parallel Computation' settings:
l parallel_processes_get_count(host)
Gets the number of processes on the host named as host <type 'str'> for the current subtask.
l parallel_processes_add(host)
Adds a new process on the machine host <type 'str'> for the current subtask.
l parallel_processes_remove(process_index)
Removes the processes with index process_index <type 'int'> in the current subtask.
l parallel_processes_change_host(process_index, host)
Changes the host to host <type 'str'> for process with index process_index <type 'int'> in the
current subtask.
l parallel_automatic_load_balancing()
Automatically balances the load of processes in the current subtask.
l parallel_set_static_requested_memory(flag)
Sets the requested memory option to flag <type 'int'>, which can be 1 (corresponding to static
requested memory) or 0 (corresponding to automatic requested memory).
l parallel_get_static_requested_memory()
Gets the requested memory option. Returns output <type 'int'> as 1 (corresponding to static
requested memory set) or 0 (corresponding to automatic requested memory set).
l parallel_set_requested_memory(real_memory, int_memory)
Sets the requested memory option to static, allocates the required real memory to real_memory
<type 'int'> in Mb and sets the required integer memory to int_memory <type 'int'> in Mb for
the current subtask. More information regarding parallel computation memory allocation can
be found here.
l parallel_get_requested_memory()
Gets the requested real and integer memory values in Mb. Returns output <type 'list'> with
output[0] <type 'int'> corresponding to the requested real memory and output[1] <type 'int'>
corresponding to the requested integer memory.
l parallel_automatic_requested_memory()
Sets the requested memory option to automatic and automatically sets the required values of
real and integer memory for the current subtask.
l parallel_processes_get_block_count()
Gets block count for the current subtask. Returns output <type 'int'>.
l parallel_processes_set_process_for_block(block_index, process_index)
Sets process_index <type 'int'> as the process for block with index block_index <type 'int'> for
the current subtask.
l parallel_processes_get_process_for_block(block_index)
Gets the process' index for block with index block_index <type 'int'> of the current subtask.
Returns output <type 'int'>.
Commands related to the 'Parallel Partitioned Computation' settings:
l parallelpart_processes_get_count(host)
Gets the number of processes on the host named as host <type 'str'> for the current subtask.
l parallelpart_processes_add(count, host)
Adds count <type 'int'> new process on the machine host <type 'str'> for the current subtask.
l parallelpart_processes_change_host(oldHost, newHost)
Replaces host oldHost <type 'str'> by host newHost <type 'str'> for all processes of the current
subtask.
l parallelpart_processes_remove(host)
Removes the host host <type 'str'> from the list in the current subtask.
l parallelpart_set_balanceEfficiency(efficiency)
Sets the 'Target load balance efficiency' of the current subtask to the value of efficiency <type
'double'> (expressed in decimals, e.g. 0.8)
l parallelpart_get_balanceEfficiency()
Gets the 'Target
'double'>.
load balance efficiency' of the current subtask. Returns output <type
l parallelpart_set_split_block(split_block)
Sets the type of splitting for the blocks. The input split_block <type 'str'> can be INTO_TWO_
SUB_BLOCKS (corresponding to splitting blocks into two sub-blocks) or INTO_N_SUB_
BLOCKS (corresponding to splitting blocks into n sub-blocks).
l parallelpart_get_split_block()
Gets the type of splitting for the blocks. Returns output <type 'str'> as INTO_TWO_SUB_
BLOCKS (corresponding to splitting blocks into two sub-blocks) or INTO_N_SUB_BLOCKS
(corresponding to splitting blocks into n sub-blocks).
l parallelpart_automatic_load_balancing()
Balances the load of processes for the current subtask. It is equivalent to the button 'Apply
virtual partitioning' in the 'Parallel Partitioned Settings' dialog window.
l parallelpart_set_static_requested_memory(flag)
Sets the requested memory option to flag <type 'int'>, which can be 1 (corresponding to static
requested memory) or 0 (corresponding to automatic requested memory).
l parallelpart_get_static_requested_memory()
Gets the requested memory option. Returns output <type 'int'> as 1 (corresponding to static
requested memory set) or 0 (corresponding to automatic requested memory set).
l parallelpart_set_requested_memory(real_memory, int_memory)
Sets the requested memory option to static, allocates the required real memory to real_memory
<type 'int'> in Mb and sets the required integer memory to int_memory <type 'int'> in Mb for
the current subtask. More information regarding parallel computation memory allocation can
be found here.
l parallelpart_get_requested_memory()
Gets the requested real and integer memory values in Mb. Returns output <type 'list'> with
output[0] <type 'int'> corresponding to the requested real memory and output[1] <type 'int'>
corresponding to the requested integer memory.
As indexing goes from zero, every index argument should be from 0 to (number of tasks - 1). In
addition, subindex should be from 0 to (number of subtasks - 1) of the corresponding task.
CHAPTER 14.
FILE FORMATS
This chapter describes the files used by FINE™/Turbo and the flow solver. It is divided in two parts.
The first one gives the file format information needed to use FINE™/Turbo, while the second one
describes the format of the files used and produced by the FINE™/Turbo solver. As FINE™/Turbo is
intended to handle the file treatment for the user, knowing the exact format of all the files used in a
simulation process is not required. This chapter is therefore written for advanced users only.
In the following description, it is assumed that all the files are related to a generic project called
'project'. The chapter is divided in five sections:
l files produced by IGG™,
l files produced and used by FINE™/Turbo,
l files produced and used by the FINE™/Turbo solver,
l files used as data profile,
l resource files used to control
the layout and which contain default values and reference
information.
To simplify the notations, it is assumed that the related mesh has a topology of one block.
White spaces should be avoided in the file name.
In this section
14.1 Files Produced by IGG™
14.2 Files Produced by the FINE™/Turbo GUI
14.3 Files Produced by the FINE™/Turbo solver
14.4 Files Used as Data Profile
14.5 Resource Files
604
605
606
618
624
14.1
FILES PRODUCED BY IGG™
This section describes the files produced by the grid generator
FINE™/Turbo:
IGG™ and used by
l the identification file "project.igg",
l the binary file "project.cgns",
l the boundary conditions file "project.bcs",
l the geometry file "project.geom",
l the configuration file "project.config".
The Identification File '.igg'
This file contains all the mesh geometric and topologic information. It is used by FINE™/Turbo
to identify the mesh topology. A complete description of this file is given in the IGG™ User
Manual.
The Binary File '.cgns'
When the mesh is created and saved in IGG™, the binary file "project.cgns" containing the grid
point coordinates is created. Later on, the solver will store the wall distances used for the different
turbulence models in the same file.
The Geometry File '.geom'
When the mesh is created and saved in IGG™, the geometry file "project.geom" containing the
whole geometry (curves, surfaces and Cartesian points) is created.
The Boundary Condition File '.bcs'
inside IGG™ while the physical boundary condition parameters are set
As described in "Boundary Conditions" (p. 107), the settings of the boundary condition type have
to be set
in
FINE™/Turbo. The settings of IGG™ are stored in the file "project.bcs". This files is used by
FINE™/Turbo to initialize the boundary condition types for each patch. They are updated each
time the boundary condition type is changed inside IGG™.
The Configuration File '.config'
This file contains all the mesh patches and boundary conditions. It is used by FINE™/Turbo for
the SubProject management. It is also used to automatically create groups to set-up the boundary
conditions. A description of this file is given in the IGG™ User Manual.
14.2 FILES PRODUCED BY THE FINE™/TURBO
GUI
This section describes the files produced and used by FINE™/Turbo (or used by the flow solver
launched from FINE™/Turbo). Please note that FINE™/Turbo acts as a file manager between
different software systems. Therefore, it is important that the read, write and execute permissions
are set properly for all the files and directories used by FINE™/Turbo.
Manual modification of these files is not supported since it may corrupt the file or provide incorrect
results. Such a modification should only be done on explicit advice of our local support office.
The Project File '.iec'
This file contains all the information related to the project. It is used by FINE™/Turbo to save and
recover all the user settings. This file is subdivided into several blocks. Each block contains data
and/or other blocks. The beginning of the blocks is identified by the key word NI_BEGIN and by
a name and the end of the block is identified by the key word NI_END and by the name of the
block.
File Header
The file always has the following header containing the version number and the project type:
NUMECA_PROJECT_FILE VERSION 8.2
PROJECT_TYPE STRUCTURED
After the header, 3 new lines are used to store the name of the files linked to the project:
GRID_FILE /usr/_turnkey_tutorials/_rotor37/rotor37/_mesh/rotor37.igg
TRB_FILE /usr/_turnkey_tutorials/_rotor37/rotor37/rotor37.trb
GEOMETRY_FILE /usr/_turnkey_tutorials/_rotor37/rotor37.geomTurbo
These are respectively the mesh, the template and the geometry files. The template and the
geometry files are not used by FINE™/Turbo and are only there for backward compatibility
reasons.
The Computation Block
The project file contains the settings of all
computation block is identified by the following keywords:
the computations defined by the user. Each
NI_BEGIN computation
...
NI_END computation
The computation block contains the following subblocks:
l The Solver Parameters Section block containing all the parameters of the flow solver.
l The Initial Solution & Boundary Condition Section block containing the initial solution and
the boundary conditions.
l The Grid Parameters Sectionblock containing the topology of the mesh.
l The Fluid Properties Sectionblock containing the fluid properties.
The Computation File '.run'
When the solver is started, FINE™/Turbo creates a new directory using the name of the active
computation. A computational file (".run" extension) containing the settings of the active
computation is saved into this new directory. This file is used as input by the flow solver and by
the flow visualization system CFView™.
The menu File/Save Run Files enables to save the ".run" file without starting the flow solver.
14.3 FILES PRODUCED BY THE FINE™/TURBO
SOLVER
This section describes the files produced and used by the FINE™/Turbo solver. The flow solver
uses most of the files described above and produces the following files:
14.3.1 The Binary Solution File '.cgns'
The FINE™/Turbo flow solver writes a ".cgns" file (binary) at the end of the simulation and also
during intermediate savings, depending on the user input. It writes several bases, which are
described hereafter according to their name. This "cgns" file contains information that is necessary
to restart a simulation from the solution previously obtained, together with information read by
CFView™. The first base, fluid_solution, is mandatory. The other bases are optional and not
always present.
Each string written in the ".cgns" file is limited to 32 characters.
l fluid_solution. This base contains all the information necessary to restart a simulation from the
solution already saved. Only this base is written during intermediate savings and when the
option Minimum output is selected in the Computation Steering/Control Variables page.
l project3d . This base contains all the 3D fields that have been selected as output for
CFView™ in the Outputs/Computed Variables page.
l project3d_solid_data. This base contains all the solid data that have been selected as output
for CFView™ in the Outputs/Computed Variables page under the tab Solid data.
l Project2d_meridional. This base contains all the meridional averaging data that have been
selected as output for CFView™ in the Outputs/Azimuthal Averaged Variables page.
l tools_base. This base contains information for post processing and some other information for
CFView™. This information is for internal use in the FINE™/Turbo chain only.
FIGURE 14.1
The structure of the .cgns file
Fluid_solution
FIGURE 14.2
The fluid_solution base
This base contains all the information necessary to restart a simulation from the solution already
computed. It contains all the basic flow variables (density, velocity, pressure, temperature,
turbulent quantities, harmonic variables, etc…) for each control volume of the computational
domain and for the dummy cells (two rows of dummy cells are added on each side of the block in
order to ensure a proper block connectivity). These variables are located at cell center, i.e. at the
exact location where they are computed. It should be mentioned that the mesh is not included in
this base.
The first input of the base is a zone called scalars including the reference pressure (this reference
pressure is set to zero for non-preconditioned simulations).
Then the base includes a series of zones for each domain. The name of each zone is "domain#", #
being the block index in the grid generator. The original block name can be found in the user
defined data "blockName". The node "sol1" contains all the 3D tables with the cell centered final
solution of the simulation. It should be noted that the gauge pressure is stored. The gauge pressure
is based on the reference pressure already stored in the fluid_solution base. Furthermore, only the
solution on the finest grid level of the computation is stored in this base.
In case of unsteady computations, the last input of the base is a zone called TimeIterValues
including the value of the time.
Project3d
FIGURE 14.3
The project3d base
This base contains all the 3D fields that have been selected as output for CFView™ in the
Outputs/Computed Variables page. It includes a series of zones for each domain. The name of
the zone is similar to the one of the base fluid_solution. For each block, the 3D grid is stored
together with the variables that have been selected in the interface. Each zone contains the (x,y,z)
coordinates and all the 3D variables for each vertex of the computational domain. These variables
are located at cell corners, i.e. they are derived from an interpolation of the variables at cell center.
Furthermore, a node zoneGridConnectivity is also stored in order to be able to connect blocks
together (mandatory for CFView™). The node RepetitionData contains the information related
to the periodicity of the domain, as well as the number of repetition considered in the CFD
simulation for that domain. The information related to the axis point and the axis direction of the
domain are also written in this node. If a Non-Linear-Harmonic simulation is performed, a user
defined data called HarmonicData is also created in order to store real information related to
harmonic simulations (for instance frequencies and inter-blade phase angles of the harmonics).
Only the solution on the finest grid level of the computation is stored in this base. If an
intermediate saving is done during full-multigrid procedure, the data is prolongated onto the finest
grid level of the computation.
Project3d_solid_data
FIGURE 14.4
The project3d_solid_data base
This base contains all the solid data that have been selected as output for CFView™ in the
Outputs/Computed Variables page under the tab Solid data. By default, the grid coordinates
on the faces are not stored in this base (ICGP3D=0, see Expert Parameters for more details). In
this case, the grid coordinates can be derived from the coordinates in the project3D base.
This base includes a series of zones for each solid face. The name of the zone is set according to
the following procedure. The name is bI_sJ_pK, where letters b, s, p stand for block, surface, and
patch, respectively. The indices I, J, and K are block, surface, patch numbers, respectively. In
order to define the J index the following method is used:
l Face Imin: J=1
l Face Jmin: J=2
l Face Kmin: J=3
l Face Kmax: J=4
l Face Jmax: J=5
l Face Imax: J=6
Each zone contains all the solid data for each vertex of the solid patches. These variables are
located at cell corners.
Only the solution on the finest grid level of the computation is stored in this base. If an
intermediate saving is done during full-multigrid procedure, the data is prolongated onto the finest
grid level of the computation.
Project2d_meridional
FIGURE 14.5
The project2d_meridional base
This base contains all the meridional averaging data that have been selected as output for
CFView™ in the Outputs/Azimuthal Averaged Variables page.
The structure of this base is similar to the one of the project3D except that data are stored in a 2D
structure. The number of zones in this base corresponds to the number of patches selected in the
Outputs / Azimuthal Averaged Variables page in FINE™/Turbo. Each zone is named
"domain#", # being the index of the patch in the list of selected patches.
Only the solution on the finest grid level of the computation is stored in this base. If an
intermediate saving is done during full-multigrid procedure (coarse grid initialization), the data is
prolongated onto the finest grid level of the computation.
The Size of the ".cgns" File
The size of the ".cgns" file can be estimated based on the used flow models and the number of the
outputted variables. Assuming the size of the solid data and the meridional averaging data is small
(compare with 3D field) and can be neglected, the size of the ".cgns" file per million points can be
estimated as:
MB/million points
where
is the number of the saved variables for turbulence models (1 for 0-equation and 1-
equation models, 2 for 2-equation models, 4 for 4-equation model);
is the number of the
outputted 3D fields selected in the Outputs / Computed Variables page.
In case of NLH simulations, the size of the ".cgns" file per million points can be estimated as:
MB/million points
where
is the number of frequencies per perturbation;
is the number of perturbation per
blade row.
The actual size of the ".cgns" file will be slightly bigger than the estimated value above due to the
existing of the solid data and the meridional averaging data.
14.3.2 The Global Solution File '.mf'
This ASCII file contains averaged quantities over the inlet, outlet and Rotor/Stator interfaces. If
the project does not involve any of inlet/outlet or Rotor/Stator interfaces (e.g. for external flow),
the ".mf" file is empty.
14.3.3 The Global Solution File '.xmf'
All data stored in ".mf" file are also stored in an XML database (".xmf" file). XML is a markup
language for text documents. Data are included in XML documents as strings of text and are
surrounded by text markup that describes the data. The main interest of XML is his flexibility.
The user's parser will still work without any change even if data are modified in the ".xmf" file.
XML elements used in this database are as follows:
1. Station element
Station elements contain data at a given position (inlet, rotor/stator interface or outlet)
Data written in mf file in section <GLOBAL RESULTS AT INLET AND OUTLET> are
now split into two parts. These data are stored in two "Station" elements called "inlet" and
"outlet".
Data written in mf
INTERFACE ID *> are now stored in a "Station" element.
file in section <GLOBAL RESULTS AT ROTOR/STATOR
Station elements have one attribute "name".
2. Row element
Data written in mf file in section <GLOBAL RESULTS FOR ROW *> are now stored in a
"Row" element. In "Row" elements, two "Reference" elements are added, they refer to
relative inlet and outlet of the row.
Row elements have one attribute "name".
3. Stage element
Data written in mf file in section < GLOBAL RESULTS FOR STAGE *> are now stored in
a "Stage" element. In "Stage" elements, two "Reference" elements are added, they refer to
rotor+stator or stator+rotor constituting the stage according to expert parameter "RBRSBS"
value.
Stage elements have one attribute "name".
4. Reference elements
Reference elements have three attributes "name", "type" and "value". Reference elements refer
to elements defined previously. Attribute "type" can be "station" or "row" according to the
elements referred. Attribute "value" is the name of station or the row referred.
5. Other elements
Elements MeshData, FluidProperties, WeightFactorsFor Averaging, GeometricalData,
Velocity, Condition, MassFlow and Performance contain same data as mf sections.
14.3.4 The Residual File '.res'
This file contains the residual values for all blocks for each iteration of a computation. It is
continuously updated during the computation. It is used by Monitor to visualize the convergence
history.
The format of this file is the following:
l line 1: Version line.
l line 2: Number of blocks or number of groups when the option Residuals per group is
checked in the Computation Steering/Control Variables page.
l line 3: 3D or 2D.
l line 4: NO-K-EPS or K-EPS or SPL-ALM.
l line 5: Number of chemistry species (not used, for backward compatibility only).
l line 6: Number of harmonics and their name.
l line 7: Type of residuals: 0 if residuals per block or 1 if residuals per group (when the option
Residuals per group is checked in the Computation Steering/Control Variables page).
l line 8: STEADY or UNSTEADY.
l line 9: TURBO (not used, for backward compatibility reasons only).
l For iteration i=1 to itmax
Iteration number, Total iteration number (for unsteady computations only), Work unit, CPU time,
Physical time (for unsteady computations only), Lift, Drag, Torque, Qmax, Tmax, Mass flow in
and out.
For block j = 1 to n:
First the maximum and then the RMS residual is given for the density ρ, the 3 momentum
components (ρvx, ρvy, ρvz), the energy e, the turbulent variables k, ε (for k-ε model only) and ν
(for S-A model only).
You might expect that after the first line for each iteration, you have one line for each block. But this
is not the case. When looping over all the blocks, the values are written to the .res file in columns of
10. So all the values for one block cover more than one line.
Where:
Iteration number = the number of iterations. For unsteady computations it includes the number of
iterations performed in stationary mode to initialize the unsteady computation.
Total iteration number = the total number of iterations including the dual-time step sub-iterations
and the initial stationary iterations.
Work unit: for single grid computations, one work unit is equal to one iteration, while in multigrid,
the work unit corresponds to the computing effort of the multigrid run to the single grid run. For
3D cases it is computed as follow: WU = 1 + n2(1/2)³ + n3(1/2)6 +...
While for 2D: WU = 1 + n2(1/2)² + n3(1/2)4 +...
where nx is the number of iteration done on the xth multigrid level
The maximum and the RMS residual are defined.
Physical time = the physical time step.
Lift, Drag and Torque are scalar values corresponding respectively to the projection of the force
vector along a lift direction (IDCLP), a drag direction (IDCDP) and a torque direction (IDCMP).
These directions are controlled by the real expert parameters "IDCLP", "IDCDP", "IDCMP" in
FINE™/Turbo (on the Computation Steering/Control Variables page in Expert Mode) .
For internal flows (expert parameter IINT=1):
l Qmax = efficiency between inlet and outlet,
l Tmax = total pressure ratio between inlet and outlet in case of compressible fluid, or total
pressure difference between inlet and outlet in case of incompressible fluid.
For external flows (expert parameter IINT=0):
l Qmax = maximum heat flux on surface = k*Grad T*n,
l Tmax = maximum static temperature.
Mass flow in/out = total mass flow for both inlet and outlet boundaries. When no inlet or outlet is
present in the computation, the corresponding mass flow is set to zero.
Finally, the ".res" file is given with the CPU time included. For sequential computation, the CPU
time is the total CPU time at each iteration which includes the CPU time of previous iterations.
For parallel computations the wall clock time will be given instead of the CPU time.
14.3.5 The LOG File '.log'
This ASCII file contains all the information related to the current computation. It contains a
summary of the computation variable as well as warnings and error messages. If the flow solver
encounters a problem, the latter will be described in the ".log" file or in the ".std" file. This file is
for support purposes only. When a problem appears please send this file together with the ".std"
file and a detailed problem description to our local support office.
14.3.6 The STD file '.std'
This ASCII file contains all the information related to the current computation. It contains the
whole content of the Task Manager window as well as warnings and error messages. If the flow
solver encounters a problem, the latter is described in the ".std" file and in the ".log" file. This file
is for support purposes only. When a problem appears please send this file together with the
".log" file and a detailed problem description to our local support office.
14.3.7 The Wall File '.wall'
This self-explained ASCII file gives information about forces and torques on the patches for
which the Compute force and torque option is activated on the Boundary Conditions page in
the Solid tab.
14.3.8 The AQSI File '.aqsi'
This ASCII temporary file is created and read by the code to ensure a smooth restart in the
presence of quasi-steady rotor-stator interfaces.
14.3.9 The ADF File '.adf'
This file contains the FNMB data and is saved in mesh directory. This file is created once and
read afterwards by the code to ensure a faster start- up of following computations. The
creation/reading of the FNMB data of R-S interfaces in this file can be controlled separately
through the expert parameter IFRSFI. The creation/reading of all other FNMB data can be
controlled through another expert parameter IFNMFI.
14.3.10 The Plot3D Files
The Plot3D output module of the FINE™/Turbo solver creates 4 files:
l The "project_computation.g" file contains the grid data.
l The "project_computation.q" file contains the conservative variables.
l The "project_computation.f" file contains additional variables.
l The "project_computation.name" file contains the names of the additional variables.
The first 3 files can be written in ASCII or binary format, the binary format being the Fortran
unformatted format. The ".name" file is always written in ASCII.
When the Unformatted file (binary) FORTRAN format is selected in FINE™/Turbo: the user has
to make sure that the file format is also correctly defined in CFView™. When opening the Plot3D
project in CFView™ through the menu File/Open Plot3D Project..., click on the File Format...
button and select Unformatted. Do not select Binary as it corresponds to binary files generated by
C programs. Once this is done, the user also needs to check the binary low endian or binary big
endian format on the same page. On PC platforms (Windows or Linux) make sure to use binary low
endian format whereas binary big endian is mandatory on all other platforms.
1. The "project_computation.g" file format:
l Line1: number of blocks,
l Line2: the 3 dimensions of each block,
l for each block, the coordinates of the mesh points.
2. The "project_computation.q" file format:
l Line1: number of blocks,
l Line2: the 3 dimensions of each block,
l for each block:
the free stream mach number, the flow angle, the Reynolds number and the time,
the 5 conservative unknowns: density, the 3 momentum components and energy.
3. The "project_computation.f" file format:
l Line1: number of blocks,
l Line2: for each block, the 3 dimensions and the number of additional variables selected by the
user,
l for each block: the additional flow variables.
4. The "project_computation.name" file format:
This file contains the names of the additional variables stored in the ".f" file, one name per line. If
the quantity is a vector, it will be written on 3 different lines like in the following example:
Velocity-X
Velocity-Y
Velocity-Z
14.3.11 The Meridional File '.me.cfv'
This ASCII file contains data required for the visualization of the meridional averaged output
under CFView™. It is created whenever the user specifies variables in theOutputs/Azimuthal
Averaged Variables page of the FINE™/Turbo interface.
14.3.12 The Unsteady Time Step File '.unst'
This ASCII file is used to give informations about unsteady run to CFView. It contains three
lines: the two first lines indicate the index number of the first and last time step stored, the third
line gives the index interval between two consecutive time steps.
14.4 FILES USED AS DATA PROFILE
This section describes the files created by the user and used as input data for the boundary
conditions and for the fluid model. Once these files are read by the interface, they are imported in
the ".iec" file. The flow solver does not read these files, it retrieves the profiles from the
computation definition file with extension ".run". Profiles may also be specified by entering the
coordinates directly into the profile viewer.
The imported values will be interpreted in the current project units. These values would change (in
the database) if the user changes the corresponding units. Therefore all values will be converted for
the FINE™/Turbo solver in SI system units (in radians for the angles).
The values for 1D profiles should be given in increasing order of the abscissa. For example, when
entering a profile of temperature as a function of R, FINE™/Turbo checks whether the two first
points are in increasing order. If this is not the case, the profile will be inverted automatically in
order to ensure compatibility with the flow solver. The next time the Profile Manager (
) is
opened, the profile will be shown in increasing order, contrary to what was initially entered.
For 2D profiles there is no such constraint except for profiles as a function of r-θ. A profile as a
function of r-θ must be structured. The profiles must be given at stations of constant θ for
increasing r. Also θ must be increasing going from one station to the next in the file.
The minimum difference between two θ positions should be greater than 1e-4 radian.
14.4.1 Boundary Conditions Data
When defining the inlet (or outlet) boundary condition parameters, the user has the option of
specifying one or several input files containing each a data profile. These profiles are used to
compute by interpolation the corresponding physical variables at the inlet (or outlet).
The file containing the profile must be created by the user and its name must possess the ".p"
extension or could be exported from CFView™ with a ".dat" extension. The values of the
physical variable stored in this file can come from any source: experiments, previous
computations, etc.
File format ".p"
The format used to create this file contains:
l Line 1: Two strings defining the name of the coordinate axes.
l Line 2: Type of interpolation and number of points of the profile curve.
The types are: 0 for data given at each cell centre
1,2,3,4 and 5 for 1D interpolation respectively along x, y, z, r and θ.
51 for 2D interpolation along x and y.
52 for 2D interpolation along x and z.
53 for 2D interpolation along y and z.
54 for 2D interpolation along r and θ.
55 for 2D interpolation along r and z.
56 for 2D interpolation along θ and z.
The theta angle is defined as θ = arctg (y/x). The θ profile should cover the patch geometry, so it may
take negative values. For unsteady calculations with profile rotation the θ profile must be given form
0 to 2π.
l The next lines contain the coordinate(s) of each point with the associated physical value.
Example 1:
r pressure
4 5
0.5 101000
0.6 102000
0.6 103000
0.7 102000
0.8 101000
This example is related to the interpolation of the pressure along the radius. There are 5 point
coordinates in the file. This is a space profile.
FINE™/Turbo uses the same file formats to import space, time, and space and time profiles. Thus
if there is only one profile in the file, it will be interpreted as a space profile, if a second profile
exists, FINE™/Turbo will recognize it as a time profile. Following is an example of a space and
time profile:
Example 2:
R Pt
4 6
.3 95600.13
.251765 98913.46
.248412 100909.6
.24445 101527.6
.240182 101740.4
.23622 101811.4
1 10
.216713 101811.4
.210922 101872.1
.205435 101872.1
.199644 101872.1
.195682 101872.1
.191414 101872.1
.187452 101872.1
.18349 101740.4
.179222 99946.98
.1 99946.98
The two profiles are separated by an empty line. If this file is imported with the profile viewer
invoked as fct(space) - only the first part will be taken into account. If fct(time) is specified - only
the second part will be read by the flow solver. Both profiles will be imported if fct(space-time) is
specified for the variable type.
Example 3:
x Pt
1 0
1 3
0 1500
0.05 2000
0.1 2500
If only input the time profile, the user has to define an empty space profile with 0 point and then
input the time profile in the file. The type of the time profile is set to 1.
If there are less coordinates supplied than the number of points specified, FINE™/Turbo will put
zero for the missing coordinates.
File format ".dat"
Single or multiple 1D and 2D profiles can be exported from CFView™ in a ".dat" file. When
multiple profiles in the same ".dat" file, empty lines are separating the different profiles.
For 1D profile coming from the Cartesian plot within CFView™, the format used contains:
l Line 1: Three values and a string defining the number of geometrical coordinates, the number
of quantities, the number of points followed by the quantity name.
l The next lines contain the coordinate(s) of each point with the associated physical value.
If the Cartesian plot has been created from the meridional averaged view within CFView™, the "X Y
Z" coordinates are replaced by "Z R 0".
When exporting a curve from the Cartesian plot within CFView™, an additional ".dat" file is
generated and contains only the abscissa of the Cartesian plot instead of X Y Z.
l Line 1: Two values and a string, defining the number of quantities, the number of points
followed by the quantity name.
l The next lines contain the abscissa of each point with the associated physical value.
For 2D profile, the format used contains:
l Line 1: The patch name.
l Line 2: Three values and a string defining the number of geometrical coordinates, the number
of quantities, the number of points followed by the quantity name.
l The next lines contain the coordinate(s) of each point with the associated physical value.
More details are available into the CFView™ User Guide: Cartesian Plot for 1D profile and
Geometry/Export Active Surfaces... menu for 2D profile.
14.4.2 Fluid Properties
Fluid properties like Cp or Gamma or the viscosity can be inputted in the solver as constant but
can also be inputted as variables in function of the temperature.
The format used is the following:
l Line 1: Comment line.
l Line 2: Contains two integers:
l the first number is the type of interpolation: 11 for Temperature and 12 for Pressure
(barotropic profiles only),
l the second one defines the number of points on the profile curve.
l The next lines list the data of each point: temperature and the fluid property.
Example 1:
T Mu
11 5
270 6e-5
275 3e-5
280 2e-5
290 1.5e-5
300 0.9e-5
It is recommended to cover the whole temperature range of the considered problem.
The format for the Cp and Gamma profiles is slightly different because the two profiles are
specified in the same file (with extension ".heat_capacity"). It is as shown in the example below:
Example 2:
T Cp
11 4
295 1004.9
298 1005.3
301 1010.8
318 1011.0
11 3
296 1.31
298 1.34
303 1.36
The first set of points is for the Cp profile, the second is for the Gamma profile as functions of the
temperature.
14.4.3 Solid Properties
Solid properties heat conductivity can be inputted in the solver as constant but can also be
inputted as variables in function of the temperature.
The format used is the following:
l Line 1: Comment line.
l Line 2: Contains two integers:
l the first number is the type of interpolation: 11 for Temperature,
l the second one defines the number of points on the profile curve.
l The next lines list the data of each point: temperature and the fluid property.
Example 1:
T k
11 5
300.0 12.8638
350.0 13.8726
400.0 14.8814
450.0 15.8902
500.0 16.899
It is recommended to cover the whole temperature range of the considered problem.
14.4.4 User defined PDF
The format of the user defined PDF is the following:
l Line 1: Contains one string and one integer:
l the string is "number_of_points",
l the integer defines the number of points on the PDF.
l The next lines list the data of each point: variable and its function.
Example 1:
number_of_points 100
0 0
0.010101010101010102 1.4613474490780709e-005
0.020202020202020204 0.00011601194732412229
0.030303030303030304 0.00038850903048303503
0.040404040404040407 0.00091370627391922316
0.050505050505050511 0.0017704751368160471
0.060606060606060608 0.0030349384765434905
......
14.5 RESOURCE FILES
All the resource files are located in the same directory, which is ~/COMMON under Linux and
~\bin under Windows. It is not possible to start FINE™/Turbo if any of these files is missing.
14.5.1 Boundary Conditions Resource File: 'euranus_bc.def'
This file contains the default values for all parameters of the available boundary conditions. The
same file is also used to create the graphical layout of the page Boundary Conditions in
FINE™/Turbo. FINE™/Turbo only reads from this file so this file is not modified while using
FINE™/Turbo.
14.5.2 Fluids Database File: 'euranus.flb'
This file contains all
the data relative to the fluids created by the users in the page
Configuration/Fluid Model. This file is overwritten each time a user quits FINE™/Turbo after
modifying the fluids database (add, remove, or modify a fluid). All the users should have read and
write permissions for this file. It is not recommended to modify this file manually.
14.5.3 Units Systems Resource File: 'euranus.uni'
This file contains the conversion factors for all physical quantities used in FINE™/Turbo for all
possible combinations between existing systems of units. To add a new units system the user
should add the corresponding conversion factors following the existing format shown in the
extract below:
...
# new units can be added by respecting the format
# for UNITS NAMES AND CONVERSION FACTORS
# NOTE: VALUE_UNITS_NAME value should NOT begin with capital letter !
# -----------------------------------------------------------------------
# -----------------------------------------------------------------------
# these are the names of the systems
# used to change all the quantities at the same time
DEFAULT_SYSTEM SI
DEFAULT_SYSTEM Default
DEFAULT_SYSTEM British 1
DEFAULT_SYSTEM British 2
# -----------------------------------------------------------------------
# -----------------------------------------------------------------------
# this is the system that will be taken as default
# when creating a new project
NEW_PROJECT_DEFAULT_SYSTEM Default
# -----------------------------------------------------------------------
# --------------------- UNITS NAMES AND CONVERSION FACTORS ---------------
NI_BEGIN UNITS_RECORD
NUMBER_OF_SYSTEMS 4
VALUE_UNITS_NAME length
UNITS_NAME 1 [m]
CONV_FACTOR 1 2 1.
CONV_FACTOR 1 3 3.280839895
CONV_FACTOR 1 4 39.37007874
UNITS_NAME 2 [m]
CONV_FACTOR 2 1 1.
CONV_FACTOR 2 3 3.280839895
CONV_FACTOR 2 4 39.37007874
UNITS_NAME 3 [ft]
CONV_FACTOR 3 1 0.3048
CONV_FACTOR 3 2 0.3048
CONV_FACTOR 3 4 12.
UNITS_NAME 4 [in]
CONV_FACTOR 4 1 0.0254
CONV_FACTOR 4 2 0.0254
CONV_FACTOR 4 3 0.08333333333
NI_END UNITS_RECORD
NI_BEGIN UNITS_RECORD
NUMBER_OF_SYSTEMS 4
VALUE_UNITS_NAME mass
UNITS_NAME 1 [kg]
CONV_FACTOR 1 2 1.
CONV_FACTOR 1 3 0.06852176586
CONV_FACTOR 1 4 0.005710147155
UNITS_NAME 2 [kg]
CONV_FACTOR 2 1 1.
CONV_FACTOR 2 3 0.06852176586
CONV_FACTOR 2 4 0.005710147155
UNITS_NAME 3 [lbf s2/ft]
CONV_FACTOR 3 1 14.59390294
CONV_FACTOR 3 2 14.59390294
CONV_FACTOR 3 4 0.08333333333
UNITS_NAME 4 [lbf s2/in]
CONV_FACTOR 4 1 175.1268352
CONV_FACTOR 4 2 175.1268352
CONV_FACTOR 4 3 12.
NI_END UNITS_RECORD
......
If, for example, a new system is added on the fifth position, the user should supply the factors to
convert the physical quantities from all the existing systems (1, 2, 3, and 4) to the fifth, and back
from the fifth to all the others as shown below:
NI_BEGIN UNITS_RECORD
NUMBER_OF_SYSTEMS 5
VALUE_UNITS_NAME length
UNITS_NAME 1 [m]
CONV_FACTOR 1 2 1.
CONV_FACTOR 1 3 3.280839895
CONV_FACTOR 1 4 39.37007874
CONV_FACTOR 1 5 new_factor_value_from_1_to_5
UNITS_NAME 2 [m]
CONV_FACTOR 2 1 1.
CONV_FACTOR 2 3 3.280839895
CONV_FACTOR 2 4 39.37007874
CONV_FACTOR 2 5 new_factor_value_from_2_to_5
UNITS_NAME 3 [ft]
CONV_FACTOR 3 1 0.3048
CONV_FACTOR 3 2 0.3048
CONV_FACTOR 3 4 12.
CONV_FACTOR 3 5 new_factor_value_from_3_to_5
UNITS_NAME 4 [in]
CONV_FACTOR 4 1 0.0254
CONV_FACTOR 4 2 0.0254
CONV_FACTOR 4 3 0.08333333333
CONV_FACTOR 4 5 new_factor_value_from_4_to_5
UNITS_NAME 5 [new_units_name]
CONV_FACTOR 5 1 new_factor_value_from_5_to_1
CONV_FACTOR 5 2 new_factor_value_from_5_to_2
CONV_FACTOR 5 3 new_factor_value_from_5_to_3
CONV_FACTOR 5 4 new_factor_value_from_5_to_4
NI_END UNITS_RECORD
The default units system can be changed by modifying the line
NEW_PROJECT_DEFAULT_SYSTEM Default
with the name of the desired system.
The first (SI) and the second (default) systems are identical except for the rotational speed units
(RPM vs. radian).
CHAPTER 15.
LIST OF EXPERT PARAMETERS
On the Control Variables page under Expert Mode a list of non- interfaced expert parameters is
available. As stated in the interface these parameters should not be used unless explicitly stated in this
manual. This chapter contains a list of all non-interfaced expert parameters that are described in this
manual. For each parameter a reference is given to the corresponding section. If more information is
desired on another parameters please contact our local support office.
In this section
15.1 List of Integer Expert Parameters
15.2 List of Float Expert Parameters
630
633
15.1
LIST OF INTEGER EXPERT PARAMETERS
ACCCTL: general purpose graphical processing unit acceleration controls
BCKFLO: control of backflow at outlet
BCKFLU: control of backflow at inlet
BLEXCH : defines non- blocking parallel exchanges or blocking parallel exchanges during
parallel transfer
CFFNMB: FNMB algorithm
CLASID: class of particles for CFView™ output
CLIPCG: the computing method of the thermodynamic tables
CORMOD: force the mode shapes to be zero for connections between rigid and moving surfaces
CPUBRB: CPU Booster scheme for general purpose graphical processing unit acceleration
EFFDEF: efficiency definition
EQWSPA: control relative spanwise locations
EXCMTH: reduce integer allocation
FLXRS: toggles mass flux correction at the Rotor/Stator interfaces of NLH or Non reflecting
1D/2D steady computations
HTCDEF: definition of heat transfer coefficient
I2DLAG: simplification of Lagrangian module
IARTV2: type of computing of VIS2
IARTVS: type of computing of artificial dissipation
IATFRZ: multigrid parameter for Baldwin Lomax
IASTWL: control output of force and torque
IBOTH: time discretization
IBOUND: reflection treatment of particles on solid wall
ICAV: control the initialization of the cavitation
ICGP3D: output grid coordinates for solid patches
ICYOUT: overwrite results in unsteady computations
IDEBUG: exports image meshes in the computation directory.
IDISTN: wall distance algorithm
IFACE: spatial discretization
IFNMB: transform PERNM boundaries in FNMB
IFNMFI: reading/writing full non-matching data from file
IFNPPP: parallelization of FNMB/FNM-RS pre-processing
IFNSTD: suppress output in std filE
IFRCTO: activate partial torque output
IFRSFI: reading/writing FNMB rotor-stator data from file
IINT: internal or external flow
IKELED: activation of LED scalar scheme for k-ε
IKENC: non-conservative approach for k-ε
IMASFL: mass flow extrapolation at inlet instead of velocity
IMGDIR: coarsening direction
IMTFIL: initial solution for k-ε
IMUWAL: save .wall file at each iteration on fine mesh
INEWKE: definition of high Reynolds k-ε model
INIKE: initial solution for k-ε
INITRA: transition initialisation
INITRB: initial solution for turbomachinery
INLREL: relative angles for the cylindrical inlet
INMFTT: temperature used for inlet mass flow BC
INTERI: type of intermittency distribution
INTERL: type of location used for forced transition
IOPTKE: optimized implementation for k-ε
IPRECG: control the primitive variables used in the Merkle preconditioning method.
IPROLO: multigrid prolongation order
IRATIO: spatial upwind discretization
IRESTR: multigrid restriction order
IROEAV: upwind discretization
IRSIBS: creation of image mesh
IRSMCH: residual smoothing
IRSMRG: control the allocated memory for R/S treatment
IRSPAR: parallelization of RS interface
IRSPPA : control the pre-processed FNM-RS data from the unpartitioned to partitioned mesh
topology
ITCPL: number of iterations between two successive resolutions of the structure equation
ITFRZ: freezing of turbulent viscosity
ITRWKI: wake induced transition through AGS model
IUNIMF: units used in the .mf file
IUPWTE: upwind discretization for turbulence equations
IVELSY: relative frame of reference
IWAVCO: spatial discretization averaging
IWAVVI: spatial discretization
IWRIT: writing of global performance data
IYAP: Yap’s modification for turbulent length scale
KEGRID: switch from Baldwin-Lomax to k-ε model
KETRAN: transition control in Yang-Shih k-ε model
KOUTPT: particles trajectories output
LIPROD: linear production term
LMAX: maximum number of segments in Lagrangian module
LOCCOR: apply corrections for the entropy and the stagnation enthalpy in case of using non-
reflecting 1D/2D Rotor/Stator interface
MASPAO: formulation used for outlet mass flow imposed with pressure adaptation
MAXNBS: maximum number of injection sectors
MGRSTR: multigrid strategy
MGSIMP: multigrid strategy
MVGAP: activates the free movement of the nodes along the hub or the shroud that copies the
blade displacement
MXBFSZ: maximum buffer size
NBLRES: control output in .res file
NDTHAR: control the number of time steps used for the integration in time of the entropy to get
its time-averaged value
NEWNMB: NMB algorithm for parallel partitioned computation
NITER: control the number of inner solver iterations used in the CPU Booster implementation
NH2DNR: control the number of harmonics used for DFT and inverse DFT when using the non-
reflecting 2D Rotor/Stator interface
NHIONR: control the number of harmonics used for the non reflecting inlet and outlet boundary
condition formulation.
NMXCYC: control the maximum number of iterations in the strong coupling subcycle loop
NPERBC: inlet/outlet signal periodicity
NQSTDY: update rotor-stator boundary condition
NRBCAM: flux-averaging method used for non reflecting boundary conditions
NRBCEQ: choice of characteristics used for non reflecting boundary conditions
NREPET: calculation of the wall distance
NRRES: select variable for global residual
NSTAGE: number of stages for the explicit Runge-Kutta scheme
NSUBM: number of subdomains in calculation of wall distance
NTUPTC: number of patches in calculation of wall distance
OUTTYP: select type of output
RBRSBS: select type of performance analysis
RELPRO: normalize 1D inlet/outlet boundary conditions profiles
RSIMGD: control node distribution of FNM-RS image mesh
STRCPL: activate the strong coupling method
TIMEBC: restart choice for time dependent boundary conditions in unsteady computation
TORRO: area defined computation of force and torque
VIS2SW: second order dissipation for incompressible fluid
VISNUL: central discretization
VISPOW: include viscous effects in local aerodynamic output
15.2
LIST OF FLOAT EXPERT PARAMETERS
ALPHAP: preconditioning parameter
ANGREL: relative angles for the inlet boundary conditions
BLFACT: factor of defining distance from the blade
C1F: constant for v²-f model
C2F: constant for v²-f model
CDIDTE: central discretization
CE1: constant for k-εmodel
CE2: constant for k-ε model
CE2V2F: constant for v²-f model
CET: constant for v²-f model
CL: constant for v²-f model
CMU: constant for k-ε model
CMUV2F: constant for v²-f model
COOLRT: reduction of mass flow in cooling holes
CPLREL: relaxation factor for coupling exchange and strong coupling updates
DDIMAX: tolerance factor for Lagrangian module
DIAMR: diameter ratio for Lagrangian module
FMPLIM: pressure limiter used in the Merkle preconditioning.
ENTRFX: upwind discretization
EPCLIP: clipping value for turbulent kinetic dissipation
EPS: minimum value for reals
EXPMAR: central discretization
FTRAST: forbid transition before FTRAST*chord with AGS model
FTURBT: proportion close to the trailing edge that is fully turbulent
IDCDP: direction of drag or axial thrust
IDCLP: direction of lift
IDCMP: direction of moment or torque
IREFPT: reference altitude in gravity force
IRKCO: Runge-Kutta coefficients
ISWV: Runge-Kutta dissipative residuals
IXMP: definition of point for moment or torque
LTMAX: maximum turbulent length scale
MAVREM: control of multigrid correction for k and ε
MAVRES: update control of k and ε
MERMAR: azimuthal averaged output
MERTOL: azimuthal averaged output (when parallel partitioned computation)
MUCLIP: clipping value for Mut/Mu
NUTFRE : initial value of turbulent viscosity for Spalart Allmaras. This parameter exists for
backward compatibility reasons. The initial turbulence for Spalart-Allmaras can now be block
dependent and is determined in the Initial Solution page.
OMGINL: rotating boundary condition
PRCLIP: turbulence parameter
PRT: turbulent Prandtl number
RELAXP: under-relaxation for mass flow imposed at outlet
RELPHL: relaxation factor for Phase-Lagged
RESCPL: control the convergence criteria for the strong coupling subcycle loop
RESFRZ: freeze turbulent viscosity field
RQSTDY: mixing plane under-relaxation
RSIMGR: refinement factor of FNM-RS image mesh
RSMPAR: residual smoothing parameter
RSTOL: maximum tolerance for FNMB/FNM-RS
RTOL: maximum angle for normals in calculation wall distance
SIGE: constant for k-e and v²-f model
SIGHRS: relax coefficient for initialization of harmonic computation
SIGK: constant for k-ε and v²-f model
SMCOR: residual smoothing
TEDAMP: damping for k-ε model
UENTR: thermodynamic output variables
VAPLAX: under relaxation coefficient for pressure (cavitation model)
VELSCA: maximum value allowed for velocity scaling
VIS2: central discretization
VIS2KE: central discretization
VIS4: central discretization
VIS4KE: central discretization
CHAPTER 16.
CHARACTERISTICS OF THERMODYNAMIC
TABLES
As described in section, the Condensable Fluid module aims at modeling the real thermodynamic
properties of a given fluid by means of interpolation of the variables from dedicated tables.
The approach that has been adopted in the FINE™/Turbo solver consists of using a series of
thermodynamic tables, one table being required each time a thermodynamic variable must be deduced
from two other ones. This implies the creation of many tables as input, but presents the advantage that
no iterative inversion of the tables is done in the solver, with as a consequence a very small additional
CPU time.
By default, the Water (Steam) and R134a tables are included in the FINE™/Turbo installation package.
Both tables are generated by TabGen. Information related to
l the range of variation of admissible values for thermodynamic variables
l the discretization of the grid
l the nature of the interpolation algorithm selected
l the size of the table
is discussed here below for the available thermodynamic tables.
In this section
16.1 Main Characteristics for Water (Steam)
16.2 Main Characteristics for R134a
637
638
16.1 MAIN CHARACTERISTICS FOR WATER
(STEAM)
Water (steam) tables come in the form of 13 tables, described as follows:
DHS: interpolates density as a function of entropy and static or total enthalpy
DPT: interpolates density as a function of static pressure and temperature
EPT: interpolates internal energy as a function of pressure and static temperature
HSP: interpolates static or total enthalpy as a function of entropy and static or total pressure
KER: interpolates thermal conductivity as a function of internal energy and density
MER: interpolates dynamic viscosity as a function of internal energy and density
PER: interpolates static pressure as a function of internal energy and density
PHS: interpolates static or total pressure as a function of entropy and static or total enthalpy
PSA: defines the saturation line
RHP: interpolates density as a function of total enthalpy/total pressure or relative enthalpy/relative
pressure
SHP: interpolates entropy as a function of total enthalpy/total pressure or relative enthalpy/relative
pressure
TER: interpolates static temperature as a function of internal energy and density
THP : interpolates static temperature as a function of total enthalpy/total pressure or relative
enthalpy/relative pressure
The Water (Steam) tables are generated by using the equation of state FEQ (the IAPWS
Formulation 1995). The range of admissible variations for the thermodynamic variables is:
l Pressure [
Pa,
Pa],
l temperature [273.16K, 1350K].
TABLE 16.1 Main characteristics of water (steam) thermodynamic tables
Tables
DHS
DPT
EPT
HSP
Grid
300 x 300
300 x 300
300 x 300
300 x 300
Interpolation
Size [Mb]
bi-cubic
bi-cubic
bi-cubic
bi-cubic
30.5
30.5
30.5
30.5
Tables
KER
MER
RER
PHS
PSA
RHP
SHP
TER
THP
Grid
300 x 300
300 x 300
300 x 300
300 x 300
200
300 x 300
300 x 300
300 x 300
300 x 300
Interpolation
Size [Mb]
bi-cubic
bi-cubic
bi-cubic
bi-cubic
cubic
bi-cubic
bi-cubic
bi-cubic
bi-cubic
30.5
30.5
30.5
30.5
0.1
30.5
30.5
30.5
30.5
TABLE 16.1 lists the discretization size of the grid, the interpolation algorithm and the size of the
table.
16.2 MAIN CHARACTERISTICS FOR R134A
The tables for the refrigerant R134a come in the form of 13 tables, described as follows:
DHS: interpolates density as a function of entropy and static or total enthalpy
DPT: interpolates density as a function of static pressure and temperature
EPT: interpolates internal energy as a function of pressure and static temperature
HSP: interpolates static or total enthalpy as a function of entropy and static or total pressure
KER: interpolates thermal conductivity as a function of internal energy and density
MER: interpolatesdynamic viscosity as a function of internal energy and density
PER: interpolates static pressure as a function of internal energy and density
PHS: interpolates static or total pressure as a function of entropy and static or total enthalpy
PSA: defines the saturation line
RHP: interpolates density as a function of total enthalpy/total pressure or relative enthalpy/relative
pressure
SHP: interpolates entropy as a function of total enthalpy/total pressure or relative enthalpy/relative
pressure
TER: interpolates static temperature as a function of internal energy and density
THP : interpolates static temperature as a function of total enthalpy/total pressure or relative
enthalpy/relative pressure
The R134a tables are generated by using the equation of state BWR. The range of admissible
variations for the thermodynamic variables is:
l Pressure [
Pa,
Pa],
l temperature [169.85K, 600K].
TABLE 16.2 Main characteristics of the R134a thermodynamic tables
Tables
DHS
DPT
EPT
HSP
KER
MER
RER
PHS
PSA
RHP
SHP
TER
THP
Grid
301 x 301
301 x 301
301 x 301
301 x 301
301 x 301
301 x 301
301 x 301
301 x 301
300
301 x 301
301 x 301
301 x 301
301 x 301
Interpolation
Size [Mb]
bi-cubic
bi-linear
bi-linear
bi-cubic
bi-cubic
bi-cubic
bi-cubic
bi-cubic
cubic
bi-cubic
bi-cubic
bi-cubic
bi-cubic
30.7
30.7
30.7
30.7
30.7
30.7
0.2
30.7
30.7
30.7
30.7
TABLE 16.2 lists the discretization size of the grid, the interpolation algorithm and the size of the
table.
CHAPTER 17.
TABGEN
Currently, FINE™/Turbo offers several modelizations of fluid properties, including incompressible
fluid, perfect gas, real gas and condensable fluid. The use of condensable fluid is done by means of pre-
processed thermodynamic tables that are loaded at the beginning of a CFD simulation and looked-up
during run time. Depending on the type of the simulation (pre-conditioning or non-preconditioning)
and the type of the boundary conditions, a different set of tables is used.
The objective of TabGen is to manage the generation of these thermodynamic tables. For the given user
input parameters, such as the name of the fluid, the equation-of-state used, the type of tables generated
(e.g. temperature-pressure PT, energy-density ER,…), the dimension of each of the tables, etc, this tool
calculates the thermodynamic state at each grid point and writes the resulting table files in a special
format. The
from NIST
(http://www.nist.gov/srd/nist23.htm).
code of REFPROP v8.0
engine of
source
tool
this
the
is
In order to run TabGen, the following command should be executed:
On Linux platforms type: tabgen -niversion <version> -print <Enter>
On Windows click on the TabGen icon in Start/Programs/NUMECA software/Fine<version>.
Alternatively TabGen can be launched from a dos shell by typing:
<NUMECA_INSTALLATION_DIRECTORY>\Fine<version>\bin\TabGen <Enter>
where NUMECA_ INSTALLATION_ DIRECTORY is the directory indicated and # is the number
corresponding to the version to be used.
TabGen expects an uniform phase of different components. It does not take into account the fact that one of
the components changes phase at a different conditions than the others. For instance, if considering a mixture
of water and alcohol, the alcohol will evaporate first if increasing the temperature at the same pressure.
TabGen cannot be used for the generation of mixture tables in the biphasic zone. Currently, mixtures can be
used in conditions where all the components are in the same phase: all liquid or all gas.
In this section
17.1 Graphical User Interface
17.2 Launch TabGen in Batch Mode
640
FINE™/Turbo 13.1 User Guide
17.1 GRAPHICAL USER INTERFACE
17.1.1
Start Program
When starting the program, a Start window (FIGURE 17.1) allows the user to create a new
mixture, load an existing one or exit TabGen.
FIGURE 17.1
Start window of TabGen
Create New Mixture
The creation of a new mixture is possible by clicking on the button Create New Mixture in the
Start window. Then a Mixture window will appear, as seen in FIGURE 17.2. The user can
modify the name of the mixture, which will be displayed in the top of the main window.
FIGURE 17.2
Create new mixture
In the section Available Fluids, several fluids can be selected. The
buttons are
used to transfer the selected fluids to and from the mixture. Multi-selection is also possible to ease
the process. Three buttons at the bottom of the window allows the user to load directory with
fluids, load one fluid or unload a fluid.
and
After adding fluids to the mixture, the user needs to set the molar fraction for each fluid of the
mixture. The sum of mixture component should be 100%. In order to change molar fraction, a
double click on the dedicated fluid is needed.
The maximum number of decimals of the molar fraction is 4.
For each fluid in the mixture, the user is able to see its properties and to choose its equation of
state. In order to do it the user needs to select the fluid inside the mixture and click on the button
See Fluid Properties at the bottom of the Mixture of fluids section. A new window will be
opened, as seen in FIGURE 17.3. Inside there are general properties of the fluid and a combo box
with currently selected equation of state. Just below the application ranges and description related
to the selected equation are shown.
FIGURE 17.3
The properties of the selected fluid
For every user action, the current state of the mixture is displayed at the bottom of the Mixture
Properties section. If the mixture is not possible for any reasons, this issue is written inside this
field. When the mixture is possible the mixture values and application ranges are displayed.
After setting all the parameters and clicking on the button Ok, the main window of TabGen will
appear.
Open Mixture
The user can open an existing mixture by clicking on the Open Mixture button in the Start
window. Then a Load Mixture window will appear that allows the user to browse to the location
of the existing mixture. The filter in the Load Mixture window is automatically set to display only
the files with extension ".xml", the default extension for a mixture file. After opening the existing
mixture, the main window of TabGen will appear.
Exit
Clicking on the button Exit will exit TabGen.
17.1.2 Main Window
FIGURE 17.4
Main window of TabGen
In the left part of the main window, the current mixture information is displayed: Mixture Fluids,
Mixture Values and Applicability Ranges. Just at the bottom of this information part, the Edit
Mixture button allows the user to go back to edit the mixture.
The central part of the main window is dedicated to the list of tables available. Several actions can
be applied on all the available thermodynamic tables using the bottom buttons. The actions are
applied
adapted
(enabled/disabled/transformed) according to the current selection(s) of the table(s) as well as the
table's status.
table (s) within
list. The
selected
actions
are
the
the
for
The central part is subdivided in three columns: Independent Variable (or table type), Dependent
Variables, Status:
l Independent Variables are fixed and cannot be changed.
l Dependent Variables are editable .
l Status reflects the current status of the table.
The status of the table can be:
l EMPTY if nothing is generated on disk
l GENERATED if generated on disk according to the specified parameters
l MISMATCH if the current definition of the table does not correspond to the table generated
on disk
l PT TABLE NOT AVAILABLE if the table PT is not generated. Any table cannot be
generated unless the PT table is GENERATED since all 2D Tables depends on the PT table.
Thus, if the PT table is not generated, all other 2D Tables are not available for generation (but
available for editing and clearing).
If the saturation table is not generated or mismatched when the user selects to generate the PT table,
the saturation table will be generated automatically before starting the PT table generation.
In the right part of the main window, the PT ranges which are defined by default based on the
mixture applicability ranges is displayed. The user is allowed to define the Pressure-Temperature
ranges for the generation of the tables.
The user can in principle use the recommended range or a more restricted one (to have a finer grid in
the user will NOT be allowed to go beyond the
the range it will be really used). However,
applicability range.
Edit Table
When selecting one non-generated table, the user is able to edit its definition by clicking on the
Edit button. It will open a new window related to the type of the table.
Edit 1D Saturation Table
For 1D Table there is no dependent variables selection. When generating it, all dependent
variables are selected: Temperature (T), Density_liq (Dl), Density_vap (Dv), Enthalpy_liq (Hl),
Enthalpy_vap (Hv), Entropy_liq (Sl), Entropy_vap (Sv), Energy_liq (El), Energy_vap (Ev).
Linear or Cubic interpolation types can be chosen.
FIGURE 17.5
Edit 1D saturation table
Edit PT Table
The user is able to select dependent variables for this table. Temperature and pressure dependent
variables are disabled because they are already independent ones. Bilinear or bicubic interpolation
type can be chosen.
To go to the expert mode the user needs to click on the Expert button.
In the Pressure-Temperature tables, a physical discontinuity exists since the saturation is a single
line. And therefore, a sudden jump physically exists from the liquid to the gas phase. In order to
avoid a non-physical interpolation between the two states, a preferential phase can be used with
the following possibilities:
l NONE
l GAS
l LIQUID
In the Independent variables section, the user can select the scale type of the first and second
independent variable directions. The scale can be either linear or logarithmic. The user can also
specify the number of grid points in each independent variable direction. a default value 101x101
is given.
In the clustering section, The type of clustering in the first and second independent variable
direction can be set. Different grid clustering options are available:
l none
l at the beginning
l at the beginning with a small extension
l at the end
l at the end with a small extension
FIGURE 17.6
Edit PT table
Edit 2D Tables
In the normal mode the edit table 2D window is the same as the PT table edition.
In the expert mode, the user can accept the ranges automatically defined from the PT ranges in the
main window or define them by deactivating the option Obtain from PT. It activates the ranges
below and the user is free to impose their own ranges for independent values.
FIGURE 17.7
Edit 2D tables
Generate Tables
To start a generation process for one or several selected tables, the user clicks on the Generate
Tables button. If the generation action is not allowed for at least one of the selected tables, the
Generate Tables button is disabled. The same rule is applied for the other action buttons. If there
are more than one selected tables and the generation is allowed for all of them, clicking on the
button Generate Tables will open a submenu just below the button where the user can choose
between sequential generation or parallel generation of these tables.
If several tables are selected, launching sequential generation disables the Generate Tables button for
any other tables till the end of this generation, while parallel generation leaves the possibility to
generate tables which are not generated at the moment.
If only one table is selected, clicking on the button Generate Tables will automatically launch this
table generation like a parallel one.
In the case of parallel generation the tasks are really independent, so, they will share the RAM
memory and other resources (and the generation process for complex mixtures will require a lot of
resources).
If the user selection includes the PT table and a parallel generation is started, then, first of all, the
PT table will be generated sequentially and afterwards all selected tables will be generated in
parallel.
During the generation process in the status column the progress bar appears to show the
generation progress for the corresponding table. The user is able to stop the generation by clicking
on the Stop button. In the case of sequential generation it will stop all the current generation
processes. In the case of parallel generation, it will stop the generation only for the selected table
(s).
When generating a table the user can edit neither the current mixture nor the PT ranges. The user
can not create new mixture or load another mixture too (all these fields are disabled).
Stop
The user can click on the Stop button to stop the generation of the tables.
Clear Tables
The button Clear Tables is used to remove the selected table/tables that have been generated in
the list.
Mismatch Status / Fix
MISMATCH status for the table appears when its definition inside the interface differs from the
generated and saved on disk definition. The table acquires the MISMATCH status when the
definition (Edit Table button) of the generated table is changed.
Even with the MISMATCH status, the tables can be regenerated with new definitions (the
previous tables are then lost).
The user can also select the MISMATCH table and click on Fix button. In this case the table
definition is restored based on the table saved on disk. The Fix button works for multi-selection if
all the selected tables are presenting a MISMATCH status.
Visualization
FIGURE 17.8
Visualization of the selected table
If the single selected table is generated, the Visualize button is activated and allows to plot the 3D
surface corresponding to the selected generated table.
In the bottom part of the window, the view can be customized thanks to the following items:
l dependent variable surface to visualize
l logarithmic scales for any axis
l saturation lines
l colormap
l viewing buttons
In order to rotate the plot, press the mouse left button on the 3D scene and move the mouse while
it is pressed. Zoom can be performed using the mouse wheel. Translation of the surface inside the
view plane can be made by analogy to rotation holding <Ctrl> button.
It is also possible to print the current view by pressing the Export TIFF button.
17.2
LAUNCH TABGEN IN BATCH MODE
In order to execute the table generation in batch mode, the XML project file should exist before.
One or several tables can be generated in one execution depending on the arguments that are
given to the execution file. The keywords of the different table types are as follows:
l SAT : saturation table. The saturation pressure is the independent variable
l PT : tables that have pressure-temperature as independent variables (e.g. EPT.atab)
l HP : tables that have enthalpy-pressure as independent variables (e.g. THP.atab)
l ER : tables that have energy-density as independent variables (e.g. TER.atab)
l SP: tables that have entropy-pressure as independent variables (e.g. HSP.atab)
l HS : tables that have enthalpy-entropy as independent variables (e.g. THS.atab)
Then, the command to generate the tables is:
On Linux:
tabgen <XML File> <List of keywords of the tables types separated by spaces>
On Windows:
Installation path\bin\tabgen.exe <XML File> <List of keywords of the tables types separated by
spaces>
Example: tabgen r114.xml SAT PT HP ER SP
In order to remove the tables, the similar command with the keyword <clear> at the end should be
typed.
Example: tabgen r114.xml SAT PT HP ER SP clear
It should be noticed that the generation of HP, ER SP and HS requires the previous generation of
the PT table. Actually, in the generation of the PT tables, a file containing the ranges of the
variables is written. This file is called "ranges.dat" and contains the maximum and minimum
values of temperature, pressure, enthalpy, energy, entropy and density.
© NUMECA International, all rights reserved
EN201808281641

C. Row Wizard
D. Outlet Bulb Topology Control
E. 3D Mesh Generation & Visualization
F. Check Boundary Conditions & Mesh Quality
G. Save project
8.5.2 Draft Tube Mesh Generation
A.
Import Geometry
B. Define Clustering
C. Face Projection
D. Generate Block Grid
E. Define Butterfly Topology
F. Control Mesh Quality
G. Define Boundary Conditions
H. Save Project
8.5.3 Merge Meshes
8.6 Tutorial 8: Flow Settings
Link Mesh & Project
8.6.1
8.6.2 Manage Computations
Set Flow Configuration
8.6.3
Set Boundary Conditions
8.6.4
Set Numerical Model
8.6.5
Set Initial Conditions
8.6.6
Select Outputs
8.6.7
Control Computation Steering
8.6.8
8.6.9
Save Project & Start Calculation
8.6.10 Follow Convergence Steering
8.7 Tutorial 8: Post Processing
8.7.1
8.7.2
8.7.3
8.7.4
8.7.5
8.7.6
Select Surfaces
Select Quantity
Select Representation
3D Analysis
Blade-to-Blade View
Turbomachinery Mode
TUTORIAL 9. MULTISTAGE AXIAL TURBINE
9.1 NUMECA Software
9.2 Prerequisites
9.3 Problem Description
9.4 Preparation
9.5 Tutorial 9: Mesh Generation
Create Mesh Project
Load Geometry
Row Wizard
3D Mesh Generation & Visualization
Check Boundary Conditions & Mesh Quality
Save Project
9.5.1
9.5.2
9.5.3
9.5.4
9.5.5
9.5.6
9.6 Tutorial 9: Flow Settings
FINE™/Turbo 13.1 Tutorials
539
546
549
551
555
555
556
566
570
574
574
578
580
582
582
586
586
588
588
594
600
603
605
607
610
611
613
614
615
616
623
633
637
639
640
641
641
644
644
645
647
654
661
C. Set Fluid/Structure Model
D. Set Initial Conditions
E. Select Outputs
F. Control Computation Steering
G. Save Project & Start Calculation
H. Follow Convergence Steering
10.7 Tutorial 10: Post Processing
10.7.1 Post Processing Of Time-Mean Results
A. View Amplitude Of Deformation On Solid Surfaces
B. View Static Pressure On Solid Surfaces
C. View Harmonic Quantity On Blade-to-Blade Surface
10.7.2 Reconstruction In Time
10.7.3 Post Processing Of Unsteady Results
754
762
762
762
764
765
766
766
767
771
772
775
778
TUTORIALS
The tutorials for FINE™/Turbo as listed below provide detailed step-by-step instructions for the entire
simulation process. Additional tutorials of IGG™ and the tutorials of AutoGrid5™ allow a further
detailed insight into the mesh generation process. Most of the tutorials are designed so as to limit use of
computational resources but some of them may require a significant amount of computational time
assuming they are executed on the finest mesh level.
The available tutorials:
"Axial Compressor Rotor37" (p. 12)
"Axial Turbine Aachen" (p. 83)
"Centrifugal Pump SHF" (p. 157)
"Hydraulic Turbine Francis" (p. 233)
"Multistage Axial Compressor" (p. 306)
"High Performance Centrifugal Compressor" (p. 376)
"Wind Turbine" (p. 458)
"Francis Hydraulic Turbine with Draft Tube" (p. 530)
"Multistage Axial Turbine" (p. 639)
"Flutter Axial Compressor" (p. 696)
Where to Find the Files Used in the Tutorials?
Each of the tutorials starts with a mesh generation and uses an existing geometry. The appropriate
files (and any other relevant files used in the tutorial) can be downloaded from the following link:
download FINE™/Turbo input files.
Some of the project files (mesh and project, excluding solution files) can also be found in the
demo cases package dedicated to ready-to-run demonstration cases and presented in the Demo
Cases section. This allows to quickly start a calculation and observe the behavior of
FINE™/Turbo, without necessarily going through all the steps of the tutorials.
Conventions Used in the Tutorials
Several conventions are used in the tutorials to facilitate your learning process.
Following a short introduction, each tutorial is divided into 3 sections respectively related to mesh
generation, settings and calculation, and post-treatment.
Inputs required to execute the tutorials are most often restricted to the geometry, either in a
".geomTurbo" or CAD related format, and profiles of boundary conditions.
The sequence of actions to be executed are described through a step-by-step approach, in the form
of Arabic numbers.
Additional insight into some specific actions and/or features is frequently added to illustrate the
tutorial further. This information is proposed for the purpose of clarity and completeness, and
should not be executed. It appears as a note with a light blue background.
The calculations executed to illustrate the behavior of the flow solver include a "reasonable"
number of grid points, so as to limit the computational resources required to complete the tutorials.
As a consequence, most of the underlying flow solutions must be considered as qualitative.
Additional mesh refinement may be required in some circumstances to obtain a more quantitative
picture.
Contact NUMECA local sales or support office for any question or information you may require. To
allow NUMECA local sales or support office to help you out within the shortest delays, please
provide a detailed description of the observed behavior and performed analysis.
TUTORIAL 1.
AXIAL COMPRESSOR ROTOR37
1.1
NUMECA SOFTWARE
The resolution of computational fluid dynamics (CFD) problems involves three main steps:
l spatial discretization of the flow equations,
l flow computation,
l visualization of the results.
To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal
integrates the
and Turbomachinery assimilations called FINE™/Turbo. The environment
following tools:
l IGG™ is an Interactive Geometry modeler and Grid generator, based on structured multi-
block techniques.
l AutoGrid5™ is a three-dimensional Automated Grid generation software tool, dedicated to
is based on structured multi- block
it
turbomachinery applications. Similarly to IGG™,
techniques.
l Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes
equations in the laminar, transitional and turbulent regimes.
l CFView™ is a highly interactive flow visualization and post-treatment software tool.
l FINE™ Graphical User Interface is a user-friendly environment that includes the different
software. It integrates the concept of projects and allows the user to achieve complete
simulations, going from the grid generation to flow visualization, without the need of file
manipulation.
A turbomachine is a device in which the energy is transferred either to or from a continuously
flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in
particular in aircraft, marine, space (liquid rockets) and land propulsion systems but also in
hydraulic, gas and steam turbine applications. It is also used in industrial pipeline and processing
equipment such as gas, petroleum and water pumping plants. Other applications can be related to
heart-assist pumps, industrial compressors and refrigeration plants, and more.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is
composed of several basic elements including the blade (also called vane if it is non-rotating),
hub, and shroud. Several technological effects involving clearances, seal leakages and cooling
holes among others can complete the machine. Due to the complexity of the blade shapes, the
presence of technological elements and the rotation of the machine, the nature of the flow is
strongly three-dimensional, often depicting complex flow paths.
This tutorial
is particularly adapted to the simulation of a single blade row axial- flow
turbomachine. It makes use of FINE™/Turbo and describes how to deal with the specific options
implemented in the FINE™ environment. In this tutorial you will learn how to:
l read an existing geometry file into AutoGrid5™;
l define the blade periodicity;
l define a tip clearance;
l generate and optimize the blade-to-blade mesh;
l control the quality of the mesh in the blade-to-blade and 3D mesh;
l manage the fluid database;
l set up both boundary and initial conditions;
l control the numerical process;
l select adequate outputs;
l launch the calculation process;
l check for convergence;
l visualize and analyze the results.
1.2
PREREQUISITES
This tutorial does not require any prior experience with the menu structure in FINE™/Turbo.
1.3
PROBLEM DESCRIPTION
The problem to be considered is shown schematically below (meridional view). The ROTOR 37
test project is an isolated axial-flow compressor wheel designed and experimentally analysed at
the National Aeronautics and Space Administration (NASA) Lewis Research Center. It is
representative of important phenomena occurring in Turbomachinery such as corner stall, shock-
boundary layer interactions, tip vortex and tip leakage-secondary interactions, etc.
The ROTOR 37 is characterized by the following representative values:
number of blades
inlet hub-to-tip diameter ratio
blade aspect ratio
tip relative inlet Mach number
hub relative inlet Mach number
tip solidity
blade airfoil sections
36
0.7
1.19
1.48
1.13
1.29
multiple circular arc (MCA)
rotational speed (RPM)
total pressure ratio
polytropic efficiency (%)
17188
2.106
88.9
In addition, this test case shows a strong interaction between the tip vortex and the leading edge
shock, largely controlling the stall behavior. CFD simulations of this interaction, reported in the
literature, have shown an important dependence on the mesh and the turbulence modeling.
1.4
PREPARATION
l Start FINE™/Turbo v13.1:
l For Linux systems, you can access FINE™/Turbo graphical user interface with the
following command line:
fine -niversion 131 -print
l For WINDOWS systems, you can access the FINE™/Turbo graphical user interface from
the start menu going to /Programs/NUMECA software/Fine131/FINE.
l Click the Create a New Project icon to create a new project.
l Select your directory of choice to store the project.
l Enter the project name in the dialog box as <Tutorial1> <Enter>.
l Click on Create Grid File to access the interactive geometry modeler and grid generator
IGG™.
l Access the menu Modules, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.
You are now ready to start the grid generation process and mesh the ROTOR 37 configuration!
Click here to start the mesh generation...
1.5
TUTORIAL 1: MESH GENERATION
The AutoGrid5™ graphical user interface includes several windows that enable the simultaneous
visualization of the geometry and mesh of the turbomachine in the meridional, blade-to-blade and
3D views. Access to the main menu and controls is provided through a menu bar and a quick
access pad, and is complemented with a tool/icon bar. The execution of the different actions
undertaken is summarized in the message box at the bottom of the interface.
A step by step approach is provided in the following lines. It aims at driving you through various
steps that need to be executed from the creation of the mesh project to the validation of the final
mesh quality.
1.5.1
Create Mesh Project
1. Select Basic Mode if necessary in the toolbar.
The Basic Mode will give access to a simplified graphical user interface. For most projects the
available parameters in the Basic Mode are sufficient.
2. Close the Open Turbo Project Wizard dialog box.
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with
associated grid) including the data required to regenerate a mesh on an identical or similar geometry.
In this tutorial, this data will be progressively introduced based on the geometry of the project case.
3. Go to menu File -> New Project.
4. Click yes to close the active project.
5. Choose Initialize a New Project from a geomTurbo File.
1.5.2
Load Geometry
6. Locate and select "rotor.geomTurbo" (geometry defined in [Centimeter]) in the dialog box and
click Open. ("Where to Find the Files Used in the Tutorials?" (p. 10))
The ".geomTurbo" file format is structured in three main blocks: the header, the channel and the row
definition(s).
The channel format contains the definition of the turbomachinery meridional contour (hub, shroud,
seal leakage, bleed,...). It is defined by two types of curves: the basic curves defined by a set of points
and the channel curves defined as a composite of basic curves. The ".geomTurbo" file must contain
two channel curves named respectively "hub" and "shroud".
The row definition contains the geometry of a complete row. It is defined by a row name, a row type,
a periodicity and the definition of the main blade and possibly the splitter(s). The blade and splitter(s)
are defined by the pressure and the suction side surfaces, identified by the keywords "pressure" and
"suction". Both surfaces are specified by a set of cross sections of the blade at several spanwise
locations from hub to shroud. Each section is defined by a set of points from leading to trailing edge.
1.5.3 Mesh Wizard
7. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current
row, if not done already.
8. Left-click Row Wizard in the toolbar.
The row wizard is also available in Expert Mode under Mesh Control subpad in the QAP.
9. Click yes to start the wizard and to reset the mesh generation parameters.
The reset will keep the modifications performed by the user in the Row Wizard but will reset the
parameters modified in Expert Mode to the default value.
The wizard is divided in 6 steps:
l the geometry check (optional),
l the machine characteristics definition,
l the gap and fillet definition,
l the flow path definition,
l the blade-to-blade mesh definition,
l the end of the initialization.
10. Click yes to confirm the geometry check (step 1).
During the geometry check of a blade, AutoGrid5™ performs the following operations: check blade
definition, check orientation of the blade section curves, detect loop detection into the blade section
curves and between the blade sections. More details can be found in the AutoGrid5™ User Guide.
11. Click Next in the dialog box to define the machine characteristics (step 2).
12. Select Axial Compressor as Row type in the Blade row type dialog box.
13. Enter the Periodicity (number of blades) if necessary. Left-click inside the string input area
and type <36>, press <Enter> to confirm.
14. Select Rotor.
15. Enter <-17188> in Rotation Speed (rpm).
This speed will be transferred to the FINE™ graphical user interface and ease the input of boundary
conditions later on.
The sign of the rotational speed is positive (+) when the blade row is rotating in the positive θ-
direction, and negative otherwise.
16. Click Next in the dialog box to start the gap and fillet definition (step 3).
17. Activate Tip Gap in the Gap and Blending Control dialog box.
18. Define Width At Leading Edge = <0.0356> [Centimeters] <Enter>.
19. Define Width At Trailing Edge = <0.0356> [Centimeters] <Enter>.
The width at leading/trailing edge allows the user to specify the size of the gap respectively at the
leading and trailing edge of the blade. The gap curve is then constructed as a linear offset of the hub
(or the shroud) according to these values.
20. Keep all other data identical.
21. Click Next>> in the dialog box to start the flow path definition (step 4).
22. Keep Spanwise Grid Point Number set to <73> (corresponding to the flow paths number)
in the Layer Control dialog box.
When increasing or decreasing the number of flow paths, the number of flow paths in the gaps and
fillets is automatically updated together with the percentage of constant cells, leading to an increase or
decrease of the spanwise expansion ratio.
23. Estimate the width of the first cell at the wall:
The width of the first cell close to the wall must be selected with care since the quality of the flow
solution will often depend upon the capture of the flow phenomena inside the boundary layers which
develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends to locate the nearest grid
point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low
Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must
be modelled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven
by the Blasius equation, expressed as follows for turbulent flows:
where:
l ywall is the distance of the nearest grid point to the wall (in meter);
l Vref is a reference velocity of the flow, for instance, the inlet velocity (in m/s);
l ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
l Lref is a reference length of the test case (in meter);
l y+ is a non-dimensional value.
In the present case, one can estimate that V ref =175 m/s; L ref =0.2523m; ν=1.466e- 5 m²/s.
Assuming one wishes to get y+=1 at the wall, it turn out that y = 3 x 10-6 m. Input the value of the
Wall Cell Width = <0.0003> [Centimeters] <Enter> in the Layer Control dialog box.
24. Click Next>> in the dialog box to start the blade-to-blade mesh definition (step 5).
25. Set the Number of Points (of the 3D mesh) around 850,000 by clicking the << or >> buttons
in the B2B Control dialog box.
26. Keep Full Matching Mesh active to impose a matching connection between the channel and
the gap.
27. Click Preview B2B to plot the blade-to-blade mesh at mid-span: default O4H topology is
used with additional upstream/downstream H-blocks.
The Full Visibility option allows the user to see the mesh moving in the blade-to-blade view when
applying the optimization steps.
The default O4H topology includes 5 blocks:
l the skin block is an O-mesh surrounding the blade;
l the inlet block is a H-mesh located upstream the leading edge;
l the outlet block is a H-mesh located downstream the trailing edge;
l the up block is a H-mesh located above the blade section;
l the down block is a H-mesh located under the blade section.
28. Select Skewness or Expansion Ratio to plot respectively the orthogonality or expansion ratio
field of the blade-to-blade mesh at mid-span.
29. Click Finish to end the initialization process (step 6).
30. Click yes to start the 3D mesh generation.
Click no to check the blade- to- blade mesh quality at hub and/or shroud before generating the 3D
mesh.
Go to Mesh Control -> Active B2B Layer to specify the flow path (layer) on which the mesh will
be plotted in the blade-to-blade view. By default, the active view is set at the mid-span of the machine
(Active Layer (%span) set to 50). The layer selected for visualization is defined in percentage of
span, going from hub (0%) to shroud (100%). Enter <0> <Enter> or <100> <Enter> in order to
visualize the mesh at hub or shroud respectively.
Select Update B2B View to regenerate the blade-to-blade mesh on the new specified layer in the
blade-to-blade view.
A detailed analysis of mesh quality can be performed on the blade-to-blade mesh after generation.
Information on orthogonality, aspect ratio and expansion ratio can be outlined in this window by
clicking
:
l Select quality criteria using the Type pull-down menu.
l Left-click Show chart to visualize the distribution of selected criteria in the form of a histogram.
The histogram is drawn for each row.
l Left- click part of the histogram to plot the concerned cells in blade- to- blade view or select
Display all cells to have an overview of the mesh quality.
l Left-click the More info button to obtain information about minimum and maximum values of
the selected criteria.
l Close the quality checkbox.
After performing the blade-to-blade mesh quality check, the 3D mesh generation can be started by
clicking the Generate 3D button.
Once 3D grid generation is completed, a grid quality check is performed and displayed. Minimum
cell skewness, maximum expansion ratio and aspect ratio are reported, among others. Data is available
for the entire mesh or for every each separate entity (row, technological effect, bulb). Data related to
grid quality report is automatically stored in a report file, once the project file is saved.
31. Close the dialog box. The page can be reopened by clicking
.
1.5.4 Mesh Visualization
32. Select the View -> View 3D Solid Mesh menu.
33. Left-click the View 3D button in the toolbar to visualize only the 3D view.
By default, the 3D solid mesh is plotted on hub and blades. To remove the plot, select the menu View
-> Hide 3D Solid Mesh.
34. Click the Repetition icon
) to toggle the repetition of the channel.
1.5.5
Check Boundary Conditions & Mesh Quality
36. Check for boundary conditions by clicking
.
37. Select UND under Type pull-down menu and press <Enter> to check that there are no
patches in the patch list that are still set to an undefined type.
It is important to make sure that no undefined patches (UND) are present in the mesh. If this is not
the case, they can usually be removed by increasing the tolerance and launching the Search procedure.
The computation of the negative volumes is performed first. Negative cells can be outlined in the
mesh by pressing the View neg cells button. Beware that the visualization of negative cells can be
memory consuming when a large number of cells must be displayed. It is thus advised to first check
the number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.
42. Click ok and Close the dialog box.
43. Left-click in the 3D view to activate the view (red border), if not done already.
44. Check for grid quality by clicking
.
A detailed analysis of mesh quality on 3D mesh can only be performed once the 3D mesh has been
generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell
width can be outlined in this window using the Type pull-down menu.
45. Select block number (0 for all) - <Enter>.
46. Select quality criteria using the Type pull-down menu.
47. Left-click Show chart to visualize the distribution of selected criteria in the form of a
histogram. The histogram is drawn per block (0 = all blocks).
48. Left-click part of the histogram to plot the concerned cells in the 3D view.
49. Left-click the More info button to obtain information about minimum and maximum values of
the selected criteria and block.
50. Close the dialog box.
1.5.6
Save Project
51. Go to File -> Save Project As <tutorial1> <Enter> to save mesh and template files.
The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the
and
(".xmt_ txt"),
boundary
".qualityReport". The meaning of these files is detailed in the User Guide.
condition
".config"
".geom"
".cgns",
".igg",
".bcs",
types:
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh
with AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these
files is detailed in the User Guide.
Now that the mesh is saved, click here to set up the computation in the FINE™/Turbo interface!
1.6
TUTORIAL 1: FLOW SETTINGS
The mesh generation process is now completed and one can now go back to the FINE™
graphical user interface in order to set the various flow settings required before starting the
computation. Access to the main menu and controls is provided through a menu bar and a left-
tree, and is complemented with an icon bar.
Access to the FINE™ graphical user interface from the AutoGrid5™ window is provided
through the Modules/Fine Turbomenu, simply confirm (yes) to enter FINE™ GUI. You are
now back at the FINE™ graphical user interface!
A step by step approach is provided in the following lines. It aims at driving you through the
various steps that need to be executed from mesh linking to the execution of the calculation.
1.6.1
Link Mesh & Project
52. Click the
icon and link the mesh "tutorial1.igg" to the project.
The user may be shown a warning message concerning the solver precision; accept this message. The
change of the solver precision is detailed in step 98.
53. Define grid units
"tutorial1.geomTurbo" file is expressed in centimeters.
in Centimeters
as
the geometrical data
inserted in the
54. Select a Cylindrical and 3 Dimensions configuration.
55. Click OK to close the dialog box.
1.6.2 Manage Computations
56. Rename the default computation "computation_1" as "000_SA" in the Computations area, to
indicate that the calculation will be executed on the fine grid first and will use the Spalart-
Allmaras turbulence model. This can be achieved by left- clicking the Rename button and
replacing "computation_1" by "000_SA".
Similar operations can be executed using the New Computation or Remove buttons, to respectively
create a new computation or remove one.
1.6.3
Set Flow Configuration
57. Go to the tree in the left menu and double left-click the Configuration menu.
Three sub-menus related to the definition of the working fluid, main flow characteristics and rotating
machinery definition can be accessed.
58. Double left-click Fluid Model to access the fluid database.
59. Select AIR(Perfect). Air, considered as a perfect gas, is then selected as a working fluid.
The fluid database includes a number of pre-defined fluids, covering various approximations in fluid
definition such as perfect gas, ideal (real) gas, incompressible fluids and fluids defined as a set of
thermodynamic tables (optional, subjected to a separate license key).
A default fluid database is provided by FINE™/Turbo. The user is also able to create and modify
his/her own fluids and/or use fluids created by others. More details about these functions are available
in the FINE™ User Guide.
60. Double left-click on Flow Model to set the flow characteristics.
61. Select Steady to indicate that a steady solution is of interest.
62. Select Turbulent Navier-Stokes to activate the resolution of the RANS equations.
63. Select Spalart-Allmaras as the turbulence model of choice.
A number of turbulence models can be accessed through the interface. They require the additional
resolution of 0-equation to 4-equations, depending upon the model selected. Some of these models do
need a fine resolution near the wall (y+ ranging from 1 to 5), while others use the log-law concept
and can mimic the logarithmic law. More details can be found in the FINE™ User Guide.
64. Set Reynolds Number Related Info:
l Set the Characteristic length = <0.25> < Enter>,
l Set the Characteristic velocity = <175> < Enter>,
l Set the Characteristic density = <1.205> < Enter>.
Characteristic variables (length, velocity, density) are required to estimate the Reynolds number. This
number is used at a few locations inside the flow solver, in particular inside the damping functions
related to the modeling of turbulence down to the walls.
The impact of the characteristic variables on the flow solution is very limited, but it is advised to
select values in accordance with characteristic quantities of the geometrical domain and flow
conditions. As an example, the characteristic length may be defined by a reference diameter or length
at the inlet and/or outlet of the computational domain, and/ or the chord of the blade (if any). The
characteristic velocity may be set to the averaged inlet velocity. The characteristic density is fixed as
the average (molecular) fluid density.
65. Double left-click on Rotating Machinery to set the rotating machinery definition.
66. Check that the Rotational Speed = <-17188>.
42
FINE™/Turbo 13.1 Tutorials
In the cylindrical mode, the flow solver resolves the equations by default in a relative frame of
reference. As a consequence, the mesh attached to the blade is rotating at the same speed as the blade,
as long as no rotor- stator
interaction is present. The rotation speed has been introduced in
AutoGrid5™ and transferred through FINE™, limiting user interventions in the graphical user
interface.
For rotating machinery projects, the axis of rotation must be aligned along the z- direction. In
addition, a unique rotation speed must be considered for the entire computational domain.
The page related to Rotor-Stator is not required in the frame of this tutorial. Please consult Tutorial
2 for more information regarding the treatment of rotor-stator interfaces.
1.6.4
Set Boundary Conditions
67. Go to the tree in the left menu and double left-click the Boundary Conditions menu.
During the grid generation process, AutoGrid5™ defines the type of the boundary conditions to be
applied on each block face. The most common types are INLET, OUTLET, PERIODIC and SOLID
boundary conditions.
PERIODIC boundary conditions are set automatically by the flow solver and must not be modified by
the user.
It is important to confirm each entry by pressing the <Enter> key.
68. Go to Mesh -> View On/Off to load the mesh into the FINE™ GUI.
This toggle menu is used to visualize the grid in FINE™. The parameters area will be overlapped by a
graphics window, and the small control button on the upper-left corner of the graphics window can
be used to resize the graphics area in order to visualize the parameters and the mesh simultaneously.
The selection of patches in the left column outlines the corresponding patch in the graphics area, thus
enabling a fast and easy visualization of the boundary conditions.
69. Go to the INLET tab:
l Select Total Quantities Imposed,
l Select Velocity Direction (V extrapolated) type of boundary conditions,
l Set Vr / |V| = <0> <Enter>,
l Set Vt / |V| = <0> <Enter>,
l Set Vz / |V| = <1> <Enter>,
l Set Absolute Total Pressure from Constant Value to fct(space),
l Left-click the
icon to access the boundary conditions profile editor,
l Left- click Import in the profile editor and select the profile data "Ptot.p" stored in "/_
profiles/",
l Click OK to close the profile editor,
l Set Absolute Total Temperature from Constant Value to fct(space),
l Click the
icon to access the boundary conditions profile editor,
l Left-click the Import button in the profile editor and select the profile data "Ttot.p" stored in
"/_profiles/",
1D Boundary condition profiles can be set as a function of the radius (r), but also as a function of the
Cartesian coordinates (x, y, z) or circumferential direction.
The profile editor also enables the introduction of 2D (surface) data. In that case, the Surface data
check button should be activated in the profile editor.
l Choose Turbulent Viscosity as the Turbulent Quantities and set Turbulence Viscosity to
<0.0001> <Enter>.
70. Go to the OUTLET tab:
l Select Pressure Imposed,
l Activate Radial Equilibrium,
l Set Static Pressure = <90000> <Enter>,
l Set Radius = <0.22> <Enter>,
l Keep Radial Direction to J.
A constant static pressure of 90,000 Pa is fixed at the exit boundary of the computational domain, at
radius r = 0.22 m. Based on this data, the flow solver calculates the distribution of static pressure at
the exit, along the spanwise (J) direction, according to the radial equilibrium equation. This boundary
condition should be restricted to axial machines.
71. Go to the SOLID tab:
For each row, patches including the keyword "hub" are by default collected in a unique group named
as "row_*_hub_(r.p.m.*)". Patches including the keyword "shroud" are grouped in "row_*_shroud".
Finally, patches of the blade are grouped in "row_*_blade_(r.p.m*)". The presences of a tip gap is
automatically taken into account
thus minimizing user intervention in the
definition of the boundary conditions. For a rotor, which is defined in AutoGrid5™, it is assumed that
the hub and the blade are fully rotating. The rotation speed takes the value introduced during the
mesh generation process. The shroud is assumed to be a fixed entity, with no assigned rotation speed.
in the blade group,
l Left-click group "row_1_hub_(r.p.m.-17188)".
The rotation speed is usually considered as a constant for the entire patch (group). However, FINE™
integrates the possibility to define that only part of a patch is rotating (e.g. part of the hub). This
applies to ROTOR 37 project, where only part of the hub is considered as a rotating part.
l Keep Adiabatic.
l Select Area Defined Rotation Speed.
A schematic sketch is provided on the page. It enables the definition of some geometrical windows on
the selected patch (or group). The window is defined according to 4 quantities related to the abscissa
(z) and radius (r) in the meridional plane. Solid walls included in the window will be considered as
rotating, with rotation speed 2, while portions of solid walls located outside of the window will rotate
with a speed equal to the rotation speed 1. In this manner, it is feasible to define rotating parts
independently for the mesh.
l Set Rotational Speed1 = <0> <Enter>.
l Set Rotational Speed2 = <-17188> <Enter>.
l Set Lower Radius Limit = <0> <Enter>.
l Set Higher Radius Limit = <1> <Enter>.
l Set Lower Axial Limit = <-0.005> <Enter>.
l Set Higher Axial Limit = <0.05> <Enter>.
l Check the Compute force and torque button.
The convergence of both axial thrust and torque can be monitored in the computation steering, to
make sure that both quantities have reached stable values at the end of the convergence process. Both
values are also available from the *.mf file located in the computation directory. The torque can also
be used for the calculation of the efficiency of the machine. It is common practice to enable force and
torque calculation on rotating patches only.
1.6.5
Set Numerical Model
72. Go to the tree in the left menu and double left-click the Numerical Model menu.
This menu gives access to the most frequently used numerical parameters, including the Courant
Friedrichs Lewy (CFL) number and the selection of the grid level on which the simulation will apply.
It is important to confirm each entry by pressing the <Enter> key.
73. Keep CFL unchanged = <3>.
The CFL number drives the pseudo-time step selected to reach a steady state solution using the time-
marching method integrated in the flow solver. In combination with the 4- step Runge- Kutta
integration scheme included in the flow solver, it has a theoretical stability limit close to 2.8 However
the additional implicit smoothing scheme can increase this value slightly, which justifies the default
value of 3.
The default value for CFL number is adequate in most cases, but can be decreased in some
circumstances, in particular at off-design conditions.
74. Define the grid level on which the simulation will apply:
The flow solver is based on an explicit
time integration technique, which is accelerated using
dedicated multi- grid methods. To this end, several levels of intermediate grids must be generated
starting from the finest one. This is achieved by taking one node over 2 in each I, J or K directions,
starting from the finer grid level.
It is strongly advised to enable the definition of at least 3 grid levels, by carefully selecting the
number of nodes on every edge forming the patches and blocks. More details can be found in the
IGG™, AutoGrid5™ and FINE™ User Guides.
In FINE™ terminology,
the finest grid level a user can access will be called 000 while the
intermediate and coarsest ones will be named 111 and 222 level respectively, assuming 3 grid levels
can be selected.
Hybrid grid levels can theoretically be defined (e.g. 010 or 211). It is however not advised to use such
hybrid levels since it deforms the mesh in a preferential direction, possibly the aspect ration.
Consequently, the quality of the resulting mesh could be decreased.
l Keep Current Grid Level = <0 0 0>,
l Keep Number of Grid(s) = <3>,
l Keep Coarse Grid Initialization active.
In addition, to the multi-grid acceleration technique, the number of iterations to convergence can be
significantly reduced by activating the coarse grid initialization process. In that case, the simulation
starts on the coarsest grid level available, leading to fast convergence. Once done, the flow solver
automatically interpolates the current flow solution on the intermediate levels before the iterative
process is reached. The iterative process is then continued as long as the convergence criteria is not
reached or until the maximum number of iterations is not exceeded. More details can be found in the
FINE™ User Guide.
1.6.6
Set Initial Conditions
75. Go to the tree in the left menu and double left-click the Initial Solution menu.
76. Left-click the ROWS group.
The group is automatically created when the mesh is loaded into the FINE™ GUI. In a complex
project, hybrid initial solutions can be useful. In that case, a constant initial solution per block can be
selected for some groups, while others can benefit from an initial solution from Turbomachinery.
Limitations related to the use of hybrid initial solutions are described in the FINE™ User Guide.
77. Select for turbomachinery to access the initial solution menu for turbomachinery.
Initial conditions can be selected in different forms, going from constant values per block to
throughflow based solutions. When running a rotating machinery it is common practice to select the
initial solution for Turbomachinery. Based on a 1D estimation of the flow solution, the initial solution
for Turbomachinery often offers a drastic reduction in the number of iterations when running 3D
simulations. Inputs ("best estimation") related to static pressure at inlet and rotor-stator interfaces (if
it applies) are requested.
78. Select the inlet patch ("row_1_flux_1_Main_Blade_upStream_inlet").
79. Set Estimated Static Pressure = <90000> and press <Enter>.
80. Choose Turbulent Viscosity as the Turbulent Quantities and set Turbulence Viscosity to
<0.0001> <Enter>.
1.6.7
Select Outputs
81. Go to the tree in the left menu and double left-click the Outputs menu. Double left-click
Computed Variables.
Quantities of interest in the simulation must be pre-selected in this menu. They will be stored in the
solution file (*.cgns) once the iterative process is finished and/or during intermediate steps. Quantities
can be accessed in both the 3D field ( Computed Variables ) and/or in the meridional plane
(following circumferential averaging, see Azimuthal Averaged Variables). Additional data can be
selected on the solid walls and/or predefined surfaces (Surface Averaged Variables).
The adequate selection of outputs of interest will reduce the size of the solution file. This is in
particular important when projects involving very fine meshes and/or unsteady capabilities are
managed.
82. Select Static, Total Absolute and Total Relative Temperature if not yet selected.
83. Select Static, Total Absolute and Total Relative Pressure if not yet selected.
84. Select Density, Entropy, Rothalpy and Dynamic viscosity if not yet selected.
85. Left-click the Velocities in the menu Categories.
86. Select Vxyz and Absolute Mach number if not yet selected.
87. Select Wxyz and Relative Mach number if not yet selected.
Vxyz and Wxyz are the velocity vectors fields in respectively the absolute and relative frame of
reference. The examination of solution quantities in the relative frame of reference is particularly
useful to observe the flow angles relative to the blade close to leading and trailing edge.
88. Left-click the Solid data in the menu Categories.
89. Select Static pressure, Static temperature, Cf, Relative velocity and y+ (in first inner cell)
if not yet selected.
Cf is known as the friction coefficient.
The parietal coordinate y+ is a direct function of the distance from the wall. Therefore, y+ = 0 at the
wall and takes a non- zero value at the center of the first cell close to the wall (also called "inner
cell"). As a consequence, the examination of y+ "at the wall" should be understood as the examination
"in the first inner cell". Although it is not correct theoretically speaking, this concept is very often
used to ease the post-treatment and benefit from the existing solid surfaces.
90. Left-click the Turbulence in the menu Categories.
91. Select Wall distance and Turbulent Viscosity ratio if not yet selected.
The analysis of the Turbulent Viscosity ratio field is often of major interest to ensure that the
turbulent quantities are computed accurately, according to the selected turbulence model and mesh
refinement.
Running k- epsilon related models gives access to additional quantities related in particular to the
production term, the kinetic energy and dissipation rate fields. It is strongly advised to activate these
fields for post-treatment.
92. Double left-click on Azimuthal Averaged Variables.
93. Go through the various categories and select the same quantities as selected under Computed
Variables.
Additionally, outputs can be re- directed using the PLOT3D format, using various formats. More
details can be found in the FINE™ User Guide.
1.6.8
Control Computation Steering
94. Go to the tree in the left menu and double left-click the Computation Steering menu.
95. Double left-click Control Variables.
96. Set Maximum Number Of Iterations = <400> <Enter>.
97. Set Save Solution Every = <50> <Enter>.
98. Keep Convergence Criteria = <-6> <Enter>; change the solver precision from Single to
Double.
Depending upon the quality of the initial solution, the density of the mesh (number of nodes) and the
complexity of the underlying flow field, a few hundred to few thousand iterations are typically
required to reach convergence. The iterative process is stopped once the convergence criteria is
reached over the entire domain or the maximum number of iterations is exceeded on the finest grid
level (000).
The ability to select Minimum output offers the possibility to minimize the size of the solution files.
In this case, the flow solution is stored only once the iterative process is finished, and limited
information is provided during the intermediate storage. This limited information allows the user to
perform a restart procedure from an existing flow solution, but cannot be visualized within
CFView™.
Static memory allocation is enabled inside the flow solver. An estimation of the memory required to
run and save the flow solution is calculated and provided as a default. However,
in some
circumstances, the estimation may be too low. It is then required to manually increase the number of
reals or integers required to drive the solution to success. To do this, click Set the requested memory
and increase the inputs accordingly.
1.6.9
Save Project & Start Calculation
99. Open the File menu and Save the project.
The project parameters are stored in the *.iec file. This file includes the entire set of parameters
required to reproduce the project, excluding the mesh.
100. Press the
task manager window will appear.
icon and click Start Flow Solver in the dialog box to start the calculation: a
The calculation will start in serial mode (1 processor) on the local machine. FINE™ includes multi-
processor capabilities and the ability to manage computations through a task manager and/or in batch
mode. More details can be found in the FINE™ User Guide.
1.6.10 Follow Convergence Steering
101. Double left-click Convergence History.
58
FINE™/Turbo 13.1 Tutorials
The evolution of averaged residuals on the entire domain can be observed during the convergence
process. Similarly, the evolution of the mass flow balance (in/out) and/or global quantities (isentropic
efficiency, torque and axial thrust on solid walls selected in the boundary conditions page, pressure
ration) can be displayed.
Local and global quantities may also be added for follow- up during the convergence process.
However, their representation in the graphical area will only be effective once they are added in the
Selected Variables list, see FINE™ User Guide.
The examination of residuals per block and/or for a given primitive variable can be achieved
accessing the monitorTurbo tool. The tool is included in the FINE™ package and can be accessed
through the adequate command line. More details can be found in the FINE™ User Guide.
102. Once the calculation has converged or has reached the maximum number of iterations
allowed on the finest grid level, the flow solver will stop.
103. The final solution is stored in the solution file (*.cgns) and the task manager window is
closed.
To check the convergence of the computation, NUMECA recommends observing the evolution of
multiple criteria including (a) an adequate decrease in residuals (minimum 3 orders of magnitude);
(b) complete stabilization of global performances; (c) stabilization of mass flow in/ out, with
satisfactory correspondence (usually less than 0.5% difference between in/ out)
Now that the iterative process is over, click here to start the visualization of the solution within the
post-treatment tool CFView™ integrated in FINE™/Turbo.
1.7
TUTORIAL 1: POST PROCESSING
The iterative process is now over and the flow solution is stored in the ".cgns" file. The number of
nodes in a typical mesh usually ranges from a few hundred thousand to several million, which
makes visualization delicate in most cases. As part of the FINE™ environment, NUMECA
proposes the use of the home-made visualization and post-treatment tool CFView™. CFView™
is entirely integrated in the environment and includes numerous tools which are particularly suited
for the analysis of turbomachinery configurations.
Access to CFView™ from the FINE™ graphical user interface is provided through the
Modules/CFView... menu, or alternatively by pressing the
icon.
A step by step approach is provided in the following lines. It aims at driving you through the
various steps that need to be executed from reading the solution to the extraction of the main
results. CFView™ automatically opens the ".run" file associated with the active computation.
After running turbomachinery computations and assuming some variables have been selected in
the Azimuthal Averaged Variables section of the FINE™ graphical user interface output page,
CFView™ proposes the user to open the azimuthal averaged solution first. Otherwise, the full 3D
solution will be opened.
104. Activate View the azimuthal averaged solution.
105. Left-click Start CFView.
You will now enter CFView™ !
1.7.1
Select Surfaces
106. <Ctrl> + left-click "domain1", "domain2" and "domain3" in the Surfaces area, then right-
click and choose Select in the pop-up menu to activate them.
1.7.2
Select Quantity
107. Go to the Quantity menu.
108. Enter the Field Data -> Basic Quantities sub-menu.
109. Select quantity Relative Mach Number.
All quantities selected in the FINE™ graphical user interface are transferred to CFView™. However,
additional derived output can be accessed directly from the visualization and post- treatment tool,
including vector components, gradients, divergence and curl of selected quantities. New quantities,
defined as an arithmetic combination of existing quantities, possibly combined with regular
operations (trigonometric functions, logarithmic functions,...), can furthermore be created.
1.7.3
Select Representation
110. Go to the Representation menu.
111. Select Color Contour -> Smooth.
Once the candidate quantity for visualization is selected, the user must choose a representation mode.
Representation is typically executed in the form of color contours (smoothed or stripped) and/or
isolines. CFView™ also includes the possibility to investigate the flow field locally ("local value")
and create 1D Cartesian plots. Advanced capabilities involving curve and/or surface integration can
also be accessed. More details can be found in the CFView™ User Guide.
112. Access the Representation menu.
113. Select Isolines -> Isolines ....
114. Activate the increment mode.
115. Change Value = <0.02> <Enter>.
116. Change max range to <1.5> <Enter>.
117. Activate Color -> Uniform .
118. Click the Apply button.
119. Close the dialog box.
CFView™ gives the possibility to superpose representation modes. In the present case, isolines with
uniform color (black) are superposed to the relative Mach number field, so as to outline more clearly
the shock located in the blade passage. The number and/or increment of the isolines can be controlled,
and the range of application can be modified.
120. Go to the Update menu.
121. Select Delete -> Isoline.
122. Go to the Representation menu.
123. Select Cartesian Plot -> Along Grid Line ... .
124. Change Index from i to j.
125. Change Value to <28>, press <Enter>.
126. Click the Apply button.
127. Left-click Close.
Isolines have been removed and a 1D Cartesian plot has been created at about 50% span, extracting
the evolution of the relative Mach number along the streamwise direction along a grid line (I-
direction). Data can be extracted along a boundary, solid boundary, grid line or along a user-defined
section. More details can be found in the CFView™ User Guide.
128. Left-click somewhere in the Cartesian plot window to activate it (red border).
129. Type <x> to change abscissa to the streamwise direction (x or I-direction).
130. Click the
icon to fit the curve.
131. Put the mouse pointer close to the x-axis, left-click and then right-click.
132. Select Set Range.
133. Set minimum and maximum values respectively to <-0.05 0.05>, press <Enter> and right-
click to exit.
134. Put the mouse pointer close to the y-axis, left-click and right-click.
135. Select Set Range.
136. Set minimum and maximum values respectively to <0.6 1.4>, press <Enter> and right-click.
137. Left-click inside the Cartesian plot.
138. Right-click and select Show H Grid Lines.
139. Right-click and select Show V Grid Lines.
140. <Ctrl> + left-click each of the three curves.
141. Right-click and select Curve Type ... .
142. Change Thickness from 2 to <1>.
143. Go to the Marker tab.
144. Change Symbol to Circle.
145. Change Size from 0.4 to <0.3>.
146. Change the color to red.
147. Click Apply.
148. Left-click the Close button.
149. Left-click anywhere inside the Cartesian plot window.
150. Go to the View menu.
151. Select Maximize.
CFView™ offers the possibility to create and arrange Cartesian plots in different manners, with
the lines and symbols. The
numerous options related to the type,
manipulations are done interactively, mainly with the help of contextual menus. In addition,
CFView™ includes a powerful project and windows based management, giving the user
the
possibility to open multiple projects and manage several windows simultaneously. More details can be
found in the CFView™ User Guide.
thickness and colors of
1.7.4
3D Analysis
In the previous section, some attention has been given to the management and creation of plots in the
meridional plane, by means of the azimuthal averaged view. The creation of 3D plots is based on the
same concept of quantity selection and representation, as explained above. However, since the plane
of drawing is no longer two- dimensional, there is a need to select and/or create a surface for
representation first.
152. Go to the File menu.
153. Select Quit CFView to quit CFView™ and choose yes to confirm.
154. Access CFView™ again from the FINE™ GUI by pressing the
icon.
155. Deactivate View the azimuthal averaged solution.
156. Click Start CFView.
You will now enter 3D analysis mode in CFView™ !
157. Access the Geometry menu.
158. Select Boundary to deactivate boundary representation.
Boundary activation/deactivation is used as a toggle and acts on all selected surfaces. Fast access is
ensured using the binding key <b>.
159. Double left-click the checkbox "row_1_shroud" inside the Surfaces area to deactivate the
set of patches that defines the shroud entity. Groups "row_1_hub_(r.p.m. -17188)" and "row_1_
blade_(r.p.m. -17188)" are the only entities that remain active at this moment.
The selection of surfaces for representation is controlled through the Surfaces area. Alternatively,
identical operations can be executed from the Geometry menu.
Patches flagged as solids are selected as default surfaces for representation. Groups created in the
boundary condition area inside FINE™ are transferred directly to CFView™, so that the selection of
surface entities can be performed in a few clicks.
Fast selection of a group of surfaces in a large list including numerous surfaces, which are partly
checked/unchecked, can be done by first left-clicking, (combined with <Ctrl > or <Shift > for multiple
surfaces) the target surface(s) desired for representation, followed by a right-click to get the contextual menu
and choosing Select.
160. Go to the Geometry menu.
161. Select Boundary again to activate boundary representation on active surfaces.
162. Go to the Geometry menu once more.
163. Select Grid to display the surface mesh on active surfaces.
Fast access to mesh representation is by ensured using the binding key <g>.
164. Access the Render menu.
165. Select Shading -> Gouraud to shade active surfaces.
166. Make use of the Viewing buttons to modify the representation mode and locate the axial
compressor to outline the blade and hub in a clear way.
167. Press the binding key <g> to deactivate the mesh on active surfaces.
168. Go to the Geometry menu.
169. Select Repetition Number.
170. Activate Max to set the number of repetitions to 35.
171. Click on Apply.
172. Open the Geometry menu.
173. Select Repetition on/off.
174. Go to the File menu.
175. Select Print ... .
Images can be printed in different formats, either from the active or graphics windows. Information
can be introduced in a banner. Options related to picture definition can also be modified.
176. Select Active View.
177. Set banner to <NASA ROTOR 37> and press <Enter>.
178. Set the format to PNG.
179. Click OK.
180. Set the picture name and appropriate location.
181. Click Save.
The selection of Graphics Window is recommended to insert several pictures in a unique file, as
they appear on the graphical window (WYSIWYG = what you see is what you get mode).
The ".png" format is often the preferred choice for printing.
182. Go to Update -> Delete -> All.
183. Go to Geometry -> Repetition on/off.
184. Select Quantity -> Solid Data -> y+.
185. Choose Representation -> Color Contour -> Strip.
186. Select Representation -> Scalar Range -> Colormap Optimum Range.
The parietal coordinate y+ is now displayed on active surfaces (hub and blade). The range of
representation has been adapted automatically to the variations on the selected surfaces to outline
details as effectively as possible.
187. Make use of the Viewing buttons to modify the representation mode and locate the outline
of the suction side of the blade.
188. Access the Representation menu.
189. Select Isolines -> Isolines ... .
190. Activate increment mode.
191. Change Value to <0.2> <Enter>.
192. Set min range to <0> <Enter>.
193. Set max range to <6> <Enter>.
194. Activate Color Uniform.
195. Left-click Apply.
196. Close the dialog box.
Gradients are clearly observed nearby the leading and trailing edge of the blade, consequently locally
driving y+ values up to about 12. The combination of color contours and isolines representation
allows the main characteristics of the flow to be outlined in a clear and elegant manner.
1.7.5
Blade-to-Blade View
197. Go to Update -> Delete -> All.
198. Go to Representation -> Colormap to remove the colormap.
199. Open the Render menu.
200. Select Shading -> Gouraud.
201. Access the Geometry menu.
202. Select Blade to Blade Surface ....
203. Set Surface type to Blade to blade.
204. Set S to <0.5> <Enter> (section located 50% spanwise).
205. Click the Apply button.
206. Click the Save button.
207. Click Close to quit the dialog box.
CFView™ has included the possibility to create cuts at constant spanwise position (also called "blade-
to-blade" planes). This capability is especially useful when the endwalls are not planar. The surface
for representation at constant spanwise position is then created based on linear interpolation between
the endwalls. Pressing the Save button in the dialog box creates an additional surface for
representation in the Surfaces area, enabling quantity selection and representation as discussed in the
previous sections.
208. Left-click "CUT1" in the Surfaces area.
209. Right-click to access the contextual menu.
210. Choose Select in order to select "CUT1" as the only active surface for representation.
211. Go to the Quantity menu.
212. Select Field Data -> Field Data -> Basic Quantities -> Absolute Total Pressure.
213. Open the Representation menu.
214. Select Color Contour -> Smooth.
215. Open the Representation menu again.
216. Now, select Scalar Range -> Colormap Optimum Range.
Colormap Optimum Range restricts the bounds of the colormap to those related to active surfaces
instead of the complete 3D domain. This capability is useful to outline a number of details in a clearer
manner. It can also be accessed by pressing the
icon.
217. Left-click the colormap.
218. Right-click and select Move or Resize.
219. Drag and drop the colormap to an appropriate location.
220. Move the mouse to a corner of the colormap to adjust the size.
It is advised to put the colormap at a location where it does not interfere with the representation, to
avoid any difficulty in the interpretation of the results.
221. Left-click the colormap.
222. Right-click and select Smooth Only.
223. Access the Quantity menu.
224. Select Field Data -> Basic Quantities -> Wxyz.
225. Go to the Representation menu.
226. Click Vector Type ... .
227. Choose Tangent Component under Representation Type.
228. Select Color Uniform under Vector Size.
229. Click Apply.
230. Click the Close button to quit the dialog box.
231. Go to Representation -> Vector On Grid Nodes.
232. Make use of the Viewing buttons to modify the representation mode and zoom in near the
leading edge of the blade.
The representation of the velocity vectors in a relative frame of reference (Wxyz) outlines the quality
of the flow impinging the blade. Ideally, these vectors should be aligned with the blade. In off-design
conditions, the alignment may not be adequate, possibly leading to flow separation.
1.7.6
Turbomachinery Mode
233. Open the File menu.
234. Select Turbomachinery.
235. Choose Load Flow Solver Pitch Average under Meridional Average.
236. Click Ok.
You have now entered the Turbomachinery mode! It gives simultaneous access to the meridional,
meridional average, blade-to-blade and 3D views.
Actions required for surface representation, quantity selection and representation apply similarly to
those described in the previous sections. More details can be found in the CFView™ User Guide.
TUTORIAL 2.
AXIAL TURBINE AACHEN
2.1
NUMECA SOFTWARE
The resolution of computational fluid dynamics (CFD) problems involves three main steps:
l spatial discretization of the flow equations,
l flow computation,
l visualization of the results.
To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal
integrates the
and Turbomachinery assimilations called FINE™/Turbo. The environment
following tools:
l IGG™ is an Interactive Geometry modeler and Grid generator, based on structured multi-
block techniques.
l AutoGrid5™ is a three-dimensional Automated Grid generation software tool, dedicated to
is based on structured multi- block
it
turbomachinery applications. Similarly to IGG™,
techniques.
l Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes
equations in the laminar, transitional and turbulent regimes.
l CFView™ is a highly interactive flow visualization and post-treatment software tool.
l FINE™ Graphical User Interface is a user-friendly environment that includes the different
software. It integrates the concept of projects and allows the user to achieve complete
simulations, going from the grid generation to flow visualization, without the need of file
manipulation.
A turbomachine is a device in which the energy is transferred either to or from a continuously
flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in
particular in aircraft, marine, space (liquid rockets) and land propulsion systems but also in
hydraulic, gas and steam turbine applications. It is also used in industrial pipeline and processing
equipment such as gas, petroleum and water pumping plants. Other applications can be related to
heart-assist pumps, industrial compressors and refrigeration plants, and more.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is
composed of several basic elements including the blade (also called vane if it is non-rotating),
hub, and shroud. Several technological effects involving clearances, seal leakages and cooling
holes among others can complete the machine. Due to the complexity of the blade shapes, the
presence of technological elements and the rotation of machine, the nature of the flow is strongly
three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the simulation of a multi-stage axial-flow turbomachine. It
makes use of FINE™/Turbo and describes how to deal with the specific options implemented in
FINE™ environment. In this tutorial you will learn how to:
l read an existing geometrical file into AutoGrid5™;
l define the blade periodicity;
l define a tip clearance;
l generate and optimize the blade-to-blade mesh;
l control the quality of the mesh in the blade-to-blade and 3D mesh;
l manage the fluid database;
l set up both boundary and initial conditions;
l model rotor-stator (R/S) interactions using a mixing plane approach;
l control the numerical process;
l select adequate outputs;
l launch the calculation process;
l check for convergence;
l visualize and analyze the results.
2.2
PREREQUISITES
This tutorial does not require any prior experience with the menu structure in FINE™/Turbo.
2.3
PROBLEM DESCRIPTION
The Aachen 1- 1/2 turbine rig stage has been investigated both experimentally (Gallus and
Walraevens, 1995) and numerically (Walraevens et al., 1998).
The low aspect ratio blading and the constant tip and hub endwall contour enhance strong
secondary flows. Both stators (36 blades) and rotor (41 blades) are cylindrical and untwisted. The
rotor is unshrouded with a tip clearance of 0.4 mm. Testing conditions are characterized by a low
inlet gas temperature (about 300 K) and a design speed of 3,500 RPM.
2.4
PREPARATION
l Start FINE™/Turbo v13.1:
l For Linux systems, you can access the FINE™/Turbo graphical user interface with the
following command line:
fine -niversion 131 -print
l For WINDOWS systems, you can access the FINE™/Turbo graphical user interface from
the start menu by going to /Programs/NUMECA software/Fine131/FINE.
l Click the Create a New Project icon to create a new project.
l Select your directory of choice to store the project.
l Enter the project name in the dialog box as <Tutorial2> <Enter>.
l Click on Create Grid File to access the interactive geometry modeler and grid generator
IGG™.
l Access the menu Modules, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.
You are now ready to start the grid generation process and mesh the AACHEN TURBINE
configuration! Click here to start the mesh generation...
2.5
TUTORIAL 2: MESH GENERATION
The AutoGrid5™ graphical user interface includes several windows that enable the simultaneous
visualization of the geometry and mesh of the turbomachine in the meridional, blade-to-blade and
3D views. Access to the main menu and controls is provided through a menu bar and a quick
access pad, and is complemented with a tool/icon bar. The execution of the different actions
undertaken is summarized in the message box at the bottom of the interface.
A step by step approach is provided in the following lines. It aims at driving you through various
steps that need to be executed from the creation of the mesh project to the validation of the final
mesh quality.
2.5.1
Create Mesh Project
1. Select Basic Mode if necessary in the toolbar.
The Basic Mode will give access to a simplified graphical user interface. For most projects the
available parameters in the Basic Mode are sufficient.
2. Close the Open Turbo Project Wizard dialog box.
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with
associated grid) including the data required to regenerate a mesh on an identical or similar geometry.
In this tutorial, this data will be progressively introduced based on the geometry of the project case.
3. Go to File -> New Project.
4. Click yes to close the active project.
5. Choose Initialize a New Project from a geomTurbo File.
2.5.2
Load Geometry
6. Locate and select "tutorial_2.geomTurbo" (geometry defined in [Meter]) in the dialog box and
click Open. ("Where to Find the Files Used in the Tutorials?" (p. 10))
The ".geomTurbo" file format is structured in three main blocks: the header, the channel and the row
definition(s).
The channel format contains the definition of the turbomachinery meridional contour (hub, shroud).
It is composed by curves defined by a set of points. The ".geomTurbo" file must contain two channel
curves named respectively "hub" and "shroud".
The row definition contains the geometry of a complete row. It is defined by a row name, a row type,
a periodicity and the definition of the main blade and possibly the splitter(s). The blade and splitter
are defined by the pressure and the suction side surfaces identified by the keywords "pressure" and
"suction". Both surfaces are specified by a set of cross sections of the blade at several spanwise
locations from hub to shroud. Each section is defined by a set of points from leading to trailing edge.
The three rows are displayed in the meridional view corresponding to the three parts of the turbine.
The location of the rotor/stator mixing plane is automatically defined by AutoGrid5™. The default
location is set at the average meridional location between the downstream trailing edge and the
upstream leading edge.
2.5.3 Mesh Wizard
7. Left-click Rows Definition -> row 1 in the Quick Access Pad (QAP) to activate the current
row, if not done already.
8. Left-click Row Wizard in the toolbar.
The row wizard is also available in Expert Mode under Mesh Control subpad in the QAP.
9. Click yes to start the wizard and to reset the mesh generation parameters.
The reset will keep the modifications performed by the user in the Row Wizard but will reset the
parameters modified in Expert Mode to the default value.
The wizard is divided in 6 steps:
l the geometry check (optional),
l the machine characteristics definition,
l the gap and fillet definition,
l the flow path definition,
l the blade-to-blade mesh definition,
l the end of the initialization.
10. Click yes to confirm the geometry check (step 1).
During the geometry check of a blade, AutoGrid5™ performs the following operations: check blade
definition, check orientation of the blade section curves, detect loop detection into the blade section
curves and between the blade sections. More details can be found in the AutoGrid5™ User Guide.
11. Click Next in the dialog box to define the machine characteristics (step 2).
12. Select Axial Turbine as Row type in the Blade row type dialog box.
13. Enter the Periodicity (number of blades) if necessary. Left-click inside the string input area
and type <36>, press <Enter> to confirm.
14. Select Stator.
15. Click Next in the dialog box to start the gap and fillet definition (step 3).
16. Keep all data unchanged (no gap or fillet).
17. Click Next>> in the dialog box to start the flow path definition (step 4).
18. Set Spanwise Grid Point Number to < 61 > < Enter> (corresponding to the flow paths
number) in the Layer Control dialog box.
When increasing or decreasing the number of flow paths, the number of flow paths in the gaps and
fillets is automatically updated together with the percentage of constant cells, leading to an increase or
decrease of the spanwise expansion ratio.
19. Estimate the width of the first cell at the wall:
The width of the first cell close to the wall must be selected with care since the quality of the flow
solution will often depend upon the capture of the flow phenomena inside the boundary layers which
develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends to locate the nearest grid
point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low
Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must
be modeled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven
by the Blasius equation, expressed as follows for turbulent flows:
where:
l ywall is the distance of the nearest grid point to the wall (in meter);
l Vref is a reference velocity of the flow, for instance, the inlet velocity (in m/s);
l ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
l Lref is a reference length of the test case (in meter);
l y+ is a non-dimensional value.
In the present case, one can estimate that Vref=109.9557 m/s, Lref=0.3m and ν=1.038e-5 m²/s for
row 2. Assuming one wishes to get y+ =1 at the wall, it turns out that y = 3.4 x 10-6 m. Assuming
Vref=42.2633 m/s, Lref=0.3m and ν=1.038e-5 m²/s for row 1 and row 3, and keeping y+ =1 at the
wall, it turns out that that y = 7.8 x 10-6 m.
Input the value of the Wall Cell Width = <7.8e-6> [Meters] <Enter> in the Layer Control
dialog box.
20. Click Next>> in the dialog box to start the blade-to-blade mesh definition (step 5).
21. Set the Number of Points (of the 3D mesh) around 300,000 by clicking the << or >> buttons
in the B2B Control dialog box.
22. Click Preview B2B to plot the blade-to-blade mesh at mid-span: default O4H topology is
used with additional upstream/downstream H-blocks.
The Full Visibility option allows the user to see the mesh moving in the blade to blade view when
applying the optimization steps.
The default O4H topology includes 5 blocks as follows:
l the skin block is a O-mesh surrounding the blade;
l the inlet block is a H-mesh located upstream the leading edge;
l the outlet block is a H-mesh located downstream the trailing edge;
l the up block is a H-mesh located above the blade section;
l the down block is a H-mesh located under the blade section.
23. Select Skewness or Expansion Ratio to plot respectively the orthogonality or expansion ratio
field of the blade-to-blade mesh at mid-span.
24. Click Finish to end the initialization process (step 6).
25. Click no in order to set the row 2 and row 3 before making the complete 3D Mesh
Generation.
26. Repeat step 7 to step 25 for row 2 with the following parameters :
l Axial Turbine as Row type, Periodicity=<41>, Rotor, Rotation speed (rpm)=<-3500>.
l Select Tip Gap, Width At Leading Edge = Width At Trailing Edge = <0.0004> [Meters].
The width at leading/trailing edge allows the user to specify the size of the gap respectively at the
leading and trailing edge of the blade. The gap curve is then constructed as a linear offset of the hub
(or the shroud) according to these values.
l Spanwise Grid Point Number = <73>, Wall Cell Width = <3.4e-6> [Meters].
l Set Number of points around 400,000.
27. Copy settings of row 1 for row 3:
l Left-click Row Definition -> Row List -> row 1.
l Click
the
Copy
Row Wizard
Settings
tab
in
the
toolbar
l Left-click Row Definition -> Row List -> row 3.
).
l Click
Paste
Row
Wizard
Settings
in
the
toolbar
).
(
(
This copy/paste option is very useful to easily impose the same wizard settings for multiple rows in a
multi-stage configuration.
28. In Row Definition, left-click Select All Rows.
29. Click Generate 3D in the toolbar.
You can check the blade-to-blade mesh quality at hub and/or shroud before generating the 3D mesh.
Go to Row Definition and left-click Select All Rows to select all rows. Go to Mesh Control ->
Active B2B Layer to specify the flow path (layer) on which the mesh will be plotted in the blade-
to- blade view. By default, the active view is set at the mid- span of the machine ( Active Layer
(%span) set to 50). The layer selected for visualization is defined in percentage of span, going from
hub (0%) to shroud (100%). Enter <0> <Enter> or <100> <Enter> in order to visualize the mesh at
hub or shroud respectively.
Select Update B2B View to regenerate the blade-to-blade mesh on the new specified layer in the
blade-to-blade view.
A detailed analysis of mesh quality can be performed on the blade-to-blade mesh after generation.
Information on orthogonality, aspect ratio and expansion ratio can be outlined in this window by
clicking
:
l Select a row in the Row list <Enter>.
l Select quality criteria using the Type pull-down menu.
l Left- click Show chart to visualize the distribution of the selected criteria in the form of a
histogram. The histogram is drawn for each row.
l Left- click part of the histogram to plot the concerned cells in blade- to- blade view or select
Display all cells to have an overview of the mesh quality.
l Left-click the More info button to obtain information about minimum and maximum values of
the selected criteria.
l Close the quality checkbox.
After performing the blade-to-blade mesh quality check, the 3D mesh generation can be started by
clicking Rows Definition -> Select all rows and then clicking the Generate 3D button.
Once a 3D grid generation is completed, grid quality is performed and displayed. Minimum cell
skewness, maximum expansion ratio and aspect ratio are reported, among others. Data are available
for the entire mesh separately for every entity (row, technological effect, bulb). Data related to grid
quality report are automatically stored in a report file, once the project file is saved.
30. Close the dialog box. The page can be reopened by clicking
.
2.5.4 Mesh Visualization
31. Select the View -> View 3D Solid Mesh menu.
32. Left-click the View 3D button in the toolbar to visualize only the 3D view.
By default, the 3D solid mesh is plotted on hub and blades. To remove the plot, select the menu View
-> Hide 3D Solid Mesh.
33. Use Repetition icon (
) to toggle the repetition of the channel.
34. Use the View menu in the QAP to toggle edge, mesh and/or solid shading.
103
FINE™/Turbo 13.1 Tutorials
2.5.5
Check Boundary Conditions & Mesh Quality
35. Check for boundary conditions by clicking
.
36. Select UND under Type pull-down menu and check that there are no patches in the patch list
that are still set to an undefined type.
It is important to make sure that no undefined patches (UND) are present in the mesh. If this is not
they can usually be removed by increasing the tolerance and launching the Search
the case,
procedure.
In a multi-stage context, interfaces between rotating and non-rotating rows are set to ROT.
37. Close the dialog box.
38. Left-click anywhere in the 3D view to activate the view (red border), if not done already.
39. Check for negative cells by clicking
.
40. Click Apply.
The computation of the negative volumes is performed first. Negative cells can be outlined in the
mesh by pressing the View neg cells button. Beware that the visualization of negative cells can be
memory consuming when a large number of cells must be displayed. It is thus advised to first check
the number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.
41. Click ok and Close the dialog box.
42. Left-click in the 3D view to activate the view (red border), if not done already.
43. Check for grid quality by clicking
.
A detailed analysis of the mesh quality on a 3D mesh can be performed only once the 3D mesh has
been generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell
width can be outlined in this window using the Type pull-down menu.
44. Select block number (0 for all) - <Enter>.
45. Select quality criteria using the Type pull-down menu.
46. Left-click Show chart to visualize the distribution of selected criteria in the form of a
histogram. The histogram is drawn per block (0 = all blocks).
47. Left-click a part of the histogram to plot the concerned cells in the 3D view.
48. Left-click the More info button to obtain information about minimum and maximum values of
the selected criteria and block.
49. Close the dialog box.
2.5.6
Save Project
50. Go to File -> Save Project As <tutorial2> and press <Enter> to save mesh and template files.
The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the
boundary
and
(".xmt_ txt"),
".qualityReport". The meaning of these files is detailed in the User Guide.
condition
".config"
".geom"
".cgns",
".igg",
".bcs",
types:
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh
with AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these
files is detailed in the User Guide.
Now that the mesh is saved, click here to set up the computation in FINE™/Turbo interface!
2.6
TUTORIAL 2: FLOW SETTINGS
The mesh generation process is now completed and one can now go back to the FINE™
graphical user interface in order to set the various flow settings required before starting the
computation. Access to the main menu and controls is provided through a menu bar and a left-
tree, and is complemented with an icon bar.
Access to the FINE™ graphical user interface from the AutoGrid5™ window is provided
through the Modules/Fine Turbo menu, simply confirm (yes) to enter FINE™ GUI. You are
now back at the FINE™ graphical user interface!
A step by step approach is provided in the following lines. It aims at driving you through the
various steps that need to be executed from mesh linking to the execution of the calculation.
2.6.1
Link Mesh & Project
51. Click the
icon and link the mesh "tutorial2.igg" to the project.
The user may be shown a warning message concerning the solver precision; accept this message. The
change of the solver precision is detailed in step 109.
52. Define grid units in Meters as the geometrical data inserted in the "tutorial2.geomTurbo" file
is expressed in meters.
53. Select a Cylindrical and 3 Dimensions configuration.
54. Click OK to close the dialog box.
2.6.2 Manage Computations
55. Rename the default computation "computation_1" as "111_SA" in the Computations area, to
indicate that the calculation will be executed on the coarse grid first and will use the Spalart-
Allmaras turbulence model. This can be achieved by left- clicking the Rename button and
replacing "computation_1" by "111_SA".
Similar operations can be executed using the New Computation or Remove buttons, to respectively
create a new computation or remove one.
2.6.3
Set Flow Configuration
56. Go to the tree in the left menu and double left-click the Configuration menu.
Three sub-menus related to the definition of the working fluid, main flow characteristics and rotating
machinery definition can be accessed.
57. Double left-click on Fluid Model to access the fluid database.
58. Select AIR(Perfect). Air, considered as a perfect gas, is then selected as a working fluid.
The fluid database includes a number of pre-defined fluids, covering various approximations in fluid
definition such as perfect gas, ideal (real) gas, incompressible fluids and fluids defined as a set of
thermodynamic tables (optional, subjected to a separate license key).
A default fluid database is provided by FINE™/Turbo. The user is also able to create and modify
his/her own fluids and/or use fluids created by others. More details about these functions are available
in the FINE™ User Guide.
59. Double left-click Flow Model to set the flow characteristics.
60. Select Steady to indicate that a steady solution is of interest.
61. Select Turbulent Navier-Stokes to activate the resolution of the RANS equations.
62. Select Spalart-Allmaras as the turbulence model of choice.
A number of turbulence models can be accessed through the interface. They require the additional
resolution of 0-equation to 4-equations, depending upon the model selected. Some of these models do
need a fine resolution near the wall (y+ ranging from 1 to 5), while others use the log-law concept
and can mimic the logarithmic law. More details can be found in the FINE™ User Guide.
63. Set Reynolds Number Related Info:
l Set the Characteristic length = <0.3> < Enter>,
l Set the Characteristic velocity = <109.9557> < Enter>,
l Set the Characteristic density = <1.9096> < Enter>.
Characteristic variables (length, velocity, density) are required to estimate the Reynolds number. This
number is used at a few locations inside the flow solver, in particular inside the damping functions
related to the modeling of turbulence down to the walls.
The impact of the characteristic variables on the flow solution is very limited, but it is advised to
select values in accordance with characteristic quantities of the geometrical domain and flow
conditions. As an example, the characteristic length may be defined on the basis of a reference
diameter or length at the inlet and/or outlet of the computational domain, and/or the chord of the
blade (if any). The characteristic velocity may be set to the averaged inlet velocity. The characteristic
density is fixed as the average (molecular) fluid density.
64. Double left-click Rotating Machinery to set the rotating machinery definition.
65. Left-click row 1.
66. Check that the Rotational Speed = <0> <Enter>.
67. Left-click row 2.
68. Check that the Rotational Speed = <-3500> <Enter>.
69. Left-click row 3.
70. Check that the Rotational Speed = <0> <Enter>.
In the cylindrical mode, the flow solver resolves the equations by default in a relative frame of
reference. As a consequence, the mesh attached to the blade is rotating at the same speed as the blade,
as long as no rotor- stator
interaction is present. The rotation speed has been introduced in
AutoGrid5™ and transferred through FINE™, limiting user interventions in the graphical user
interface.
For rotating machinery projects, the axis of rotation must be aligned along the z- direction. In
addition, a unique rotation speed must be considered for the entire computational domain.
71. Left-click the Rotor-Stator tab.
A separate ID is allocated to each rotor-stator interface, based on data included in AutoGrid5™. Each
interface is defined with 2 patches, located upstream and downstream of the rotor-stator interface. The
definition of ID's and allocation of upstream/downstream sides is performed automatically in FINE™
.
72. Make sure that Conservative Coupling by Pitchwise Row is active on rotor-stator patches.
Several methods, based on steady quasi 3D approximations, can be accessed to ensure a proper
treatment of rotor-stator interfaces.
l The Conservative Coupling by Pitchwise Row method guarantees an exact conservation of
mass flow, momentum and energy through the interface and has proven to be robust in most
circumstances.
l The Local Conservative Coupling method is recommended in projects coupling an impeller
with a volute, and has proven to offer more robustness than the Conservative Coupling by
Pitchwise Row in these cases.
l The Full Non Matching Mixing Plane method is the default option. It guarantees an exact
conservation of mass flow, momentum and energy through the interface and relaxes several
constraints with respect to the preparation of the mesh. It is not activated as a default option but
may be a candidate of choice in some circumstances.
l The Non Reflecting 1D Mixing Plane method is recommended when wave reflection is
observed at the interface, which can occur when the interface is close to the blade.
l The Non Reflecting 2D Mixing Plane method is recommended when a shock wave is crossing
the interface, and can give a better representation of the shock wave.
l The Full Non Matching Frozen Rotor method considers the rotor-stator interface as a perfect
connection and neglects the movement of the rotor in the connecting algorithm. In this approach,
the periodicities must necessarily be equal between the rotor and the stator.
2.6.4
Set Boundary Conditions
73. Go to the tree in the left menu and double left-click the Boundary Conditions menu.
During the grid generation process, AutoGrid5™ defines the type of the boundary conditions to be
applied on each block face. The most common types are INLET, OUTLET, PERIODIC and SOLID
boundary conditions.
PERIODIC boundary conditions are set automatically by the flow solver and must not be modified by
the user.
It is important to confirm each entry by pressing the <Enter> key.
74. Go to Mesh -> View On/Off to load the mesh into the FINE™ GUI.
This toggle menu is used to visualize the grid in FINE™. The parameters area will be overlapped by a
graphics window, and the small control button on the upper-left corner of the graphics window can
be used to resize the graphics area in order to visualize the parameters and the mesh simultaneously.
The selection of patches in the left column outlines the corresponding patch in the graphics area, thus
enabling a fast and easy visualization of the boundary conditions.
75. Go to the INLET tab:
l Select Total Quantities Imposed,
l Select Angle from Axial Direction (Vz extrapolated) type of boundary conditions,
l Set arctg(Vr/Vz) = <0> <Enter>,
l Set arctg(Vt/Vz) from Constant Value to fct(space),
l Left-click the
icon to access the boundary conditions profile editor,
l Left-click Import in the profile editor and select the profile data "alpha.p" stored in "/_
profiles/",
l Click OK to close the profile editor,
l Set Absolute Total Pressure from Constant Value to fct(space),
l Left-click on the
icon to access the boundary conditions profile editor,
l Left-click the Import button in the profile editor and select the profile data "Pt.p" stored in "/_
profiles/",
l Click OK to close the profile editor,
l Set Absolute Total Temperature from Constant Value to fct(space),
l Left-click the
icon to access the boundary conditions profile editor,
l Left-click the Import button in the profile editor and select the profile data "Tt.p" stored in "/_
profiles/",
l Click OK to close the profile editor,
1D Boundary condition profiles can be set as a function of the radius (r), but also as a function of the
Cartesian coordinates (x, y, z) or circumferential direction.
The profile editor also enables the introduction of 2D (surface) data. In that case, the Surface data
check button should be activated in the profile editor.
l Choose Turbulent Viscosity as the Turbulent Quantities and set Turbulence Viscosity to
<0.0005> <Enter>.
76. Go to the OUTLET tab:
l Select Pressure Imposed,
l Activate Radial Equilibrium,
l Set Static Pressure = <112500> <Enter>,
l Set Radius = <0.246> <Enter>,
l Keep Radial Direction to J.
A constant static pressure of 112500 Pa is fixed at the exit boundary of the computational domain, at
radius r = 0.246 m. Based on this data, the flow solver calculates the distribution of static pressure at
the exit, along the spanwise (J) direction, according to the radial equilibrium equation. This boundary
condition should be restricted to axial machines.
77. Go to the SOLID tab:
For each row, patches including the keyword "hub" are by default collected in a unique group named
as "row_*_hub_(r.p.m.*)". Patches including the keyword "shroud" are grouped in "row_*_shroud".
Finally, patches of the blade are grouped in "row_*_blade_(r.p.m.*)". The presence of a tip gap is
thus minimizing user intervention in the
automatically taken into account
definition of the boundary conditions. For a rotor, which is defined in AutoGrid5™, it is assumed that
the hub and the blade are fully rotating. The rotation speed takes the value introduced during the
mesh generation process.
in the blade group,
The shroud is assumed to be a fixed entity, with no assigned rotation speed.
l Select all non-rotating parts ("row1_*", "row2_shroud" and "row3_*").
l Check that Compute force and torque option is deactivated.
l Keep all other default settings.
The rotation speed is usually considered as a constant for the entire patch (group). However, FINE™
integrates the possibility to define that only part of a patch is rotating (e.g. part of the hub). For the
Aachen Turbine project, a constant rotation speed is considered.
The convergence of both axial thrust and torque can be monitored in the computational steering, to
make sure that both quantities have reached stable values at the end of the convergence process. Both
values are also available from the *.mf file located in the computation directory. The torque can also
be used for the calculation on rotating patches only.
78. Go to Mesh -> View On/Off to toggle the mesh visualization, if needed.
2.6.5
Set Numerical Model
79. Go to the tree in the left menu and double left-click the Numerical Model menu.
This menu gives access to the most frequently used numerical parameters, including the Courant
Friedrichs Lewy (CFL) number and the selection of the grid level on which the simulation will apply.
It is important to confirm each entry by pressing the <Enter> key.
80. Keep CFL unchanged to 3.
The CFL number drives the pseudo-time step selected to reach a steady state solution using the time-
marching method integrated in the flow solver. In combination with the 4- steps Runge- Kutta
integration scheme included in the flow solver, it has a theoretical stability limit close to 2.8.
However, the additional implicit smoothing scheme can increase this value slightly, which justifies the
default value of 3.
The default value for CFL number is adequate in most cases, but can be decreased in some
circumstances, in particular at off-design conditions.
81. Define the grid level on which the simulation will apply:
The flow solver is based on an explicit
time integration technique, which is accelerated using
dedicated multi- grid methods. To this end, several levels of intermediate grids must be generated
started from the finest one. This is achieved by taking one node over 2 in each I-, J- or K-directions,
starting from the finer grid level.
It is strongly advised to enable the definition of at least 3 grid levels, by carefully selecting the
number of nodes on every edge forming the patches and blocks. More details can be found in the
IGG™, AutoGrid5™ and FINE™ User Manuals.
In the FINE™ terminology, the finest grid level a user can access will be called 000, while the
intermediate and coarsest ones will be named the and 222 level 111 respectively, assuming 3 grid
levels can be selected.
Hybrid grid levels can theoretically be defined (e.g. 010 or 211). It is however not advised to use such
hybrid levels since it deforms the mesh in a preferential direction, possibly increasing the aspect ratio.
Consequently, the quality of the resulting mesh could be decreased.
l Keep Current Grid Level = 1 1 1,
l Keep Number of Grid(s) = 2,
l Keep the Coarse Grid Initialization active.
In addition to the multi-grid acceleration technique, the number of iterations to convergence can be
significantly reduced activating the coarse grid initialization process. In that case, the simulation starts
on the coarsest grid level available,
the flow solver
automatically interpolates the current flow solution on the intermediate levels before the iterative
process is restarted. A similar process occurs up as long as the expected finest grid level is reached.
The iterative process is then pursued up as far as the convergence criteria convergence can be
significantly reduced activating the coarse grid initialization is not reached or the maximum number
of iterations is exceeded. More details can be found in the FINE™ User Manual.
leading to fast convergence. Once done,
2.6.6
Set Initial Conditions
82. Go to the tree in the left menu and double left-click the Initial Solution menu.
83. Left-click the ROWS group.
The group is automatically created when the mesh is loaded into the FINE™ GUI. In complex
projects, hybrid initial solutions can be useful. In that case, a constant initial solution per block can be
selected for some groups, while others can benefit from an initial solution from Turbomachinery.
Limitations related to the use of hybrid initial solutions are described in the FINE™ User Manual
84. Select for turbomachinery to access the initial solution menu for turbomachinery.
Initial conditions can be selected in different forms, going from constant values per block to
throughflow based solutions. When running a rotating machinery project case, it is common practice
to select the initial solution for Turbomachinery. Based on a 1D estimation of the flow solution, the
initial solution for Turbomachinery often enables a drastic reduction in the number of iterations in
running 3D simulations. Inputs ("best estimation") related to static pressure at inlet and rotor-stator
interfaces (if it applies) are requested
85. Left-click the inlet patch ("row_1_flux_1_Main_Blade_upStream_inlet").
86. Set Estimated Static Pressure = <160000> <Enter>.
87. Left-click the rotor/stator interface ID10.
88. Set Estimated Static Pressure = <150000> <Enter>.
89. Left-click rotor/stator interface ID20.
90. Set Estimated Static Pressure = <120000> <Enter>.
91. Choose Turbulent Viscosity as the Turbulent Quantities and set Turbulence Viscosity to
<0.0005> <Enter>.
Groups ID10 and ID20 are automatically created when the mesh is loaded into the FINE™ GUI. The
presence of an inlet condition is mandatory for use with the initial solution for turbomachinery.
2.6.7
Select Outputs
92. Go to the tree in the left menu and double left-click the Outputs menu. Double left-click
Computed Variables.
Quantities of interest in the simulation must be pre-selected in this menu. They will be stored in the
solution file (*.cgns) once the iterative process is finished and/or during intermediate steps. Quantities
can be accessed both in the 3D field ( Computed Variables ) and/or in the meridional plane
(following circumferential averaging, see Azimuthal Averaged Variables). Additional data can be
selected on the solid walls and/or on predefined surfaces (Surface Averaged Variables).
The adequate selection of outputs of interest will reduce the size of the solution file. This is in
particular important when projects involving very fine meshes and/or unsteady capabilities are
managed.
93. Select Static, Total Absolute and Total Relative Temperature if not yet selected.
94. Select Static, Total Absolute and Total Relative Pressure if not yet selected.
95. Select Density, Entropy, Rothalpy and Dynamic viscosity if not yet selected.
96. Left-click the Velocities in the menu Categories.
97. Select Vxyz and Absolute Mach number if not yet selected.
98. Select Wxyz and Relative Mach number if not yet selected.
Vxyz and Wxyz are the velocity vector fields in respectively the absolute and relative frame of
reference. The examination of solution quantities in the relative frame of reference is particularly
useful to observe the flow angles relative to the blade close to leading and trailing edge.
99. Left-click the Solid data in the menu Categories.
100. Select Static pressure, Static temperature, Cf, Relative velocity and y+ (in first inner
cell) if not yet selected.
Cf is known as the friction coefficient.
The parietal coordinate y+ is a direct function of the distance from the wall. Therefore, y+ = 0 at the
wall and takes a non- zero value at the center of the first cell close to the wall (also called "inner
cell"). As a consequence, the examination of y+ "at the wall" should be understood as the examination
"in the first inner cell". Although it is not correct theoretically speaking, this concept is very often
used to ease the post-treatment and benefit from the existing solid surfaces.
101. Left-click the Turbulence in the menu Categories.
102. Select Wall distance and Turbulent Viscosity ratio if not yet selected.
The analysis of the Turbulent Viscosity ratio field is often of major interest to ensure that the
turbulent quantities are computed accurately, according to the selected turbulence model and mesh
refinement.
103. Double left-click Azimuthal Averaged Variables.
104. Go through the various categories and select
Computed Variables.
the same quantities as selected under
Additionally, outputs can be re- directed using the PLOT3D format, using various formats. More
details can be found in the FINE™ User Guide.
2.6.8
Control Computation Steering
105. Go to the tree in the left menu and double left-click the Computation Steering menu.
106. Double left-click Control Variables.
107. Set Maximum Number Of Iterations = <1000> <Enter>.
108. Keep Save Solution Every = <100> <Enter>.
109. Keep Convergence Criteria = <-6> <Enter>; change the solver precision from Single to
Double.
Depending upon the quality of the initial solution, the density of the mesh (number of nodes) and the
complexity of the underlying flow field, a few hundred to a few thousand iterations are typically
required to reach convergence. The iterative process is stopped once the convergence criterion is
reached over the entire domain or the maximum number of iterations is exceeded on the current grid
level (111 in the present case).
The ability to select Minimum output offers the possibility to minimize the size of the solution files.
In this case, the flow solution is stored only once the iterative process is finished, and limited
information is provided during the intermediate storage. This limited information allows the user to
perform a restart procedure from an existing flow solution, but cannot be visualized within
CFView™ .
Static memory allocation is enabled inside the flow solver. An estimation of the memory required to
run and save the flow solution is calculated and provided as a default. However,
in some
circumstances, the estimation may be too low and it is then required to manually increase the number
of reals or integers required to drive the solution to success. To do this, click Set the requested
memory and increase the inputs accordingly.
2.6.9
Save Project & Start Calculation
110. Open the File menu and Save the project.
The project parameters are stored in the *.iec file. This file includes the entire set of parameters
required to reproduce the project, excluding the mesh.
111. Press the
task manager window will appear.
icon and click Start Flow Solver in the dialog box to start the calculation: a
The calculation will start in serial mode (1 processor) on the local machine. FINE™ includes multi-
processor capabilities and the ability to manage computations through a task manager and/or in batch
mode. More details can be found in the FINE™ User Guide.
2.6.10 Follow Convergence Steering
112. Double left-click Convergence History.
132
FINE™/Turbo 13.1 Tutorials
The evolution of averaged residuals on the entire domain can be observed during the convergence
process. Similarly,
the evolution of the mass flow balance (in/ out) and/ or global quantities
(isentropic efficiency, torque and axial thrust on solid walls selected in the boundary conditions page,
pressure ration) can be displayed.
Local and global quantities may also be added for follow- up during the convergence process.
However, their representation in the graphical area will only be effective once they are added in the
Selected Variables list, see FINE™ User Guide.
The examination of residuals per block and/or for a given primitive variable can be achieved
accessing the monitorTurbo tool. The tool is included in the FINE™ package and can be accessed
through the adequate command line. More details can be found in the FINE™ User Guide.
113. Once the computation has converged or has reached the maximum number of iterations
allowed on the current grid level, the flow solver will stop.
114. The final solution is stored in the solution file (*.cgns) and the task manager window is
closed.
To check the convergence of the computation, NUMECA recommends observing the evolution of
multiple criteria including (a) an adequate decrease in residuals (minimum 3 orders of magnitude);
(b) complete stabilization of global performances; (c) stabilization of mass flow in/out, with
satisfactory correspondence (usually less than 0.5% difference between in/out).
Now that the iterative process is over, click here to start the visualization of the solution within the
post-treatment tool CFView™ integrated in FINE™/Turbo.
2.7
TUTORIAL 2: POST PROCESSING
The iterative process is now over and the flow solution is stored in the ".cgns" file. The number of
nodes in a typical mesh usually ranges from a few hundred thousand to several million, which
makes visualization delicate in most cases. As part of the FINE™ environment, NUMECA
proposes the use of the home-made visualization and post-treatment tool CFView™. CFView™
is entirely integrated in the environment and includes numerous tools which are particularly suited
for the analysis of turbomachinery configurations.
Access to CFView™ from the FINE™ graphical user interface is provided through the
Modules/CFView... menu, or alternatively by pressing the
icon.
A step by step approach is provided in the following lines. It aims at driving you through the
various steps that need to be executed from reading the solution to the extraction of the main
results. CFView™ automatically opens the ".run" file associated with the active computation.
After running turbomachinery computations and assuming some variables have been selected in
the Azimuthal Averaged Variables section of the FINE™ graphical user interface output page,
CFView™ proposes the user to open the azimuthal averaged solution first. Otherwise, the full 3D
solution will be opened.
115. Activate View the azimuthal averaged solution.
116. Left-click Start CFView.
You will now enter CFView™ !
2.7.1
Select Surfaces
117. Left-click "domain1" and "domain9" while holding <Shift> in the Surfaces area, then right-
click and choose Select in the pop-up menu to activate them.
2.7.2
Select Quantity
118. Go to the Quantity menu.
119. Enter the Field Data -> Basic Quantities sub-menu.
120. Select quantity Absolute Total Pressure.
All quantities selected in the FINE™ graphical user interface are transferred to CFView™ . However,
additional derived output can be accessed directly from the visualization and post- treatment tool,
including vector components, gradients, divergence and curl of selected quantities. New quantities,
defined as an arithmetic combination of existing quantities, possibly combined with regular
operations (trigonometric functions, logarithmic functions,...), can furthermore be created
2.7.3
Select Representation
121. Go to the Representation menu.
122. Select Color Contour -> Smooth.
Once the candidate quantity for visualization is selected, the user must choose a representation mode.
Representation is typically executed in the form of color contours (smoothed or stripped) and/or
isolines. CFView™ also includes the possibility to investigate the flow field locally ("local value")
and create 1D Cartesian plots. Advanced capabilities involving curve and/or surface integration can
also be accessed. More details can be found in the CFView™ User Guide.
123. Access the Representation menu.
124. Select Isolines -> Isolines....
125. Activate the increment mode.
126. Change Value = <1500> <Enter>.
127. Change min range to <105000> <Enter>.
128. Change max range to <170000> <Enter>.
129. Activate Color -> Uniform.
130. Click the Apply button.
131. Close the dialog box.
CFView™ gives the possibility to superpose representation modes. In the present case, isolines with
uniform color (black) are superposed on the absolute total pressure field. The number and/or
increment of the isolines can be controlled, and the range of application can be modified.
132. Go to the Update menu.
133. Select Delete -> Isoline.
134. Open the Representation menu.
135. Select Cartesian Plot -> Along Grid Line.
136. Change Index from i to j.
137. Change Value to <16> <Enter>.
138. Click the Apply button.
139. Left-click Close.
Isolines have been removed and a 1D Cartesian plot has been created at about 50% span, extracting
the evolution of the relative Mach number along the streamwise direction along a grid line (I-
direction). Data can be extracted along a boundary, solid boundary, grid line or along a user defined
section. More details can be found in the CFView™ User Guide.
140. Left-click somewhere in the Cartesian plot window to activate it (red border).
141. Type <x> to change abscissa to the streamwise direction (x or I-direction).
142. Click the
icon to fit the curve.
143. Put the mouse pointer close to the x-axis, left-click and then right-click.
144. Left-click Set Range.
145. Set minimum and maximum values respectively to <0 0.16>, press <Enter> and right-click
to exit.
146. Put the mouse pointer close to the y-axis, left-click and right-click.
147. Select Set Range.
148. Set minimum and maximum values respectively to <140000 175000> <Enter> and right-
click.
149. Left-click inside the Cartesian plot.
150. Right-click and select Show H Grid Lines.
151. Right-click and select Show V Grid Lines.
152. <Ctrl> + left-click all portions of the curve.
153. Right-click and select Curve Type.
154. Change Thickness from 2 to <1>.
155. Go to Marker tab.
156. Change Symbol to Circle.
157. Change Size from 0.4 to <0.3>.
158. Change the color to red.
159. Click Apply.
160. Left-click the Close button.
161. Left-click anywhere inside the Cartesian plot window.
162. Go to the View menu.
163. Select Maximize.
CFView™ offers the possibility to create and arrange Cartesian plots in different manners, with
numerous options related to the type,
the lines and symbols. The
manipulations are done interactively, mainly with the help of contextual menus. In addition,
CFView™ includes a powerful project and windows based management, giving the user
the
possibility to open multiple projects and manage several windows simultaneously. More details can be
found in the CFView™ User Guide.
thickness and colors of
2.7.4
3D Analysis
In the previous section, attention has been focused on the management and creation of plots in the
meridional plane, by means of the azimuthal averaged view. The creation of 3D plots is based on the
same concept of quantity selection and representation explained in the above sections. However, since
the plane of drawing is no longer two-dimensional, there is a need to select and/or create a surface for
representation first.
164. Go to the File menu.
165. Select Quit CFView to quit CFView™ and choose yes to confirm.
166. Access CFView™ again from the FINE™ GUI by pressing the
icon.
167. Deactivate View the azimuthal averaged solution.
168. Click Start CFView.
You will now enter 3D analysis mode in CFView™ !
169. Access the Geometry menu.
170. Select Boundary to deactivate boundary representation.
Boundary activation/deactivation is used as a toggle and acts on all selected surfaces. Fast access is
ensured using the binding key <b>.
171. Double left-click the check boxes "row1_shroud", "row2_shroud", "row3_shroud" inside
the Surfaces area to deactivate the sets of patches that define the shroud entity. Groups "row1_
hub_ (r.p.m.0)", "row1_ blade", "row2_ blade_ (r.p.m.- 3500)", "row3_ hub_ (r.p.m.0)", "row3_
blade, row_2_ hub_(r.p.m-3500)" are the only entities that remain active at this moment.
The selection of surfaces for representation is controlled through the Surfaces area . Alternatively,
identical operations can be executed from the Geometry menu.
Patches flagged as solids are selected as the default surfaces for representation. Groups created in the
boundary condition area inside FINE™ are transferred directly to CFView™, so that the selection of
surface entities can be performed in just a few clicks.
Fast selection of a group of surfaces in a large list including numerous surfaces, which are partly
checked/unchecked, can be done by first left-clicking (combined with <Ctrl> or <Shift> for multiple
surfaces) the target surface (s) desired for representation, followed by a right- click to get
the
contextual menu and choosing Select.
172. Go to the Geometry menu.
173. Select Boundary again to activate boundary representation on active surfaces.
174. Go to the Geometry menu once more.
175. Select Grid to display the surface mesh on active surfaces.
Fast access to mesh representation is ensured by using the binding key <g>.
176. Access the Render menu.
177. Select Shading -> Gouraud to shade active surfaces.
178. Make use of the Viewing buttons to modify the representation mode and locate the axial
turbine to outline the blades and hub in a clear way.
179. Press the binding key <g> to deactivate the mesh on active surfaces.
180. Go to the Geometry menu.
181. Select Repetition Number.
182. Activate Max to set maximum number of repetitions for all rows.
183. Click on Apply.
184. Open the Geometry menu.
185. Select Repetition on/off.
186. Go to the File menu.
187. Select Print ... .
Pictures can be printed in different formats, either from the active or graphics windows. Information
can be introduced in a banner, possibly with current date of execution. Options related to picture
definition can also be modified.
188. Select Active View.
189. Set banner to <AACHEN TURBINE> and press <Enter>.
190. Set the format to PNG.
191. Click OK.
192. Set the picture name and appropriate location.
193. Click Save.
The selection of Graphics Window is recommended to insert several pictures in a unique file, as
they appear on the graphical window (WYSIWYG = what you see is what you get mode).
The ".png" format is often the preferred choice for printing.
194. Go to Update -> Delete -> All.
195. Go to Geometry -> Repetition on/off.
196. Click the
icon to fit the geometry.
197. Select Quantity -> Solid Data -> y+.
198. Choose Representation -> Color Contour -> Strip.
199. Select Representation -> Scalar Range -> Colormap Optimum Range.
The parietal coordinate y+ is now displayed on active surfaces (hub and blades). The range of
representation has been adapted automatically to variations on the selected surfaces, so as to outline
details as effectively as possible.
200. Make use of the Viewing buttons to modify the representation mode and find a suitable
viewpoint.
201. Access the Representation menu.
202. Select Isolines -> Isolines.
203. Activate increment mode.
204. Change Value to <0.5> <Enter>.
205. Set min range to <0> <Enter>.
206. Set max range to <10> <Enter>.
207. Activate Color Uniform.
208. Left-click Apply.
209. Close the dialog box.
Gradients are clearly observed near the leading and trailing edge of the blades, consequently locally
driving y+ values up to about 10. However, the calculation is on grid level 111 and it is expected that
a calculation on the finest available mesh (level 000) will reduce y+ by a factor of about 2. The
combination of color contours and isolines representation allows the main characteristics of the flow
to be outlined in a clear and elegant manner.
2.7.5
Blade-to-Blade View
210. Go to Update -> Delete -> All.
211. Go to Representation -> Colormap to remove the colormap.
212. Open the Render menu.
213. SelectShading -> Gouraud.
214. Access the Geometry menu.
215. Select Blade to Blade Surface.
216. Set Surface type to Blade to blade.
217. Set S to <0.5> <Enter> (section located 50% spanwise).
218. Click the Apply button.
219. Click the Save button.
220. Click Close to quit the dialog box.
CFView™ has included the possibility to create cuts at constant spanwise position (also called "blade-
to-blade" planes). This capability is especially useful when the endwalls are not planar. The surface
for representation at constant spanwise position is then created based on linear interpolation between
the endwalls.
Pressing the Save button in the dialog box creates an additional surface for representation in the
Surfaces area, enabling quantity selection and representation as discussed in the previous sections.
221. Left-click "CUT1" in the Surfaces area.
222. Right-click to access the contextual menu.
223. Choose Select in order to select "CUT1" as the only active surface for representation.
224. Go to the Quantity menu.
225. Select Field Data -> Basic Quantities -> Absolute Mach Number.
Quantities included in Computed Thermodynamics are not selected from CFView™, but can be
recomputed based on quantities stored in the solution file ".cgns". The quantities are computed once,
and at selection only.
226. Open the Representation menu.
227. Select Color Contour -> Smooth.
228. Open the Representation menu again.
229. Now, select Scalar Range -> Colormap Optimum Range.
Colormap Optimum Range restricts the bounds of the colormap to those related to active surfaces
instead of the complete 3D domain. This capability is useful to outline a number of details in a clearer
manner. It can also be accessed by pressing the
icon.
230. Left-click the colormap.
231. Right-click and select Move or Resize.
232. Drag and drop the colormap to an appropriate location.
233. Move the mouse to a corner of the colormap to adjust the size.
It is advised to put the colormap at a location where it does not interfere with the representation, to
avoid any difficulty in the interpretation of the results.
234. Left-click the colormap.
235. Right-click and select Smooth Only.
236. Access the Quantity menu.
237. Select Field Data -> Basic Quantities -> Wxyz.
238. Go to the Representation menu.
239. Click Vector Type ... .
240. Choose Tangent Component under Representation Type.
241. Select Color Uniform under Vector Size.
242. Click Apply.
243. Click the Close button to quit the dialog box.
244. Go to Representation -> Vector On Grid Nodes.
245. Make use of the Viewing buttons to modify the representation mode and zoom in near the
leading edge of the blade.
The representation of velocity vectors in a relative frame of reference (Wxyz) outlines the quality of
the flow impinging the blade. Ideally, these vectors should be aligned with the blade. In off-design
conditions, the alignment may not be adequate, possibly leading to flow separation.
2.7.6
Turbomachinery Mode
246. Open the File menu.
247. Select Turbomachinery.
248. Choose Load Flow Solver Pitch Average under Meridional Average.
249. Click Ok.
You have now entered the Turbomachinery mode! It gives simultaneous access to meridional,
meridional average, blade-to-blade and 3D views.
Actions required for surface representation, quantity selection and representation apply similarly to
those described in the previous sections. More details can be found in the CFView™ User Guide.
TUTORIAL 3.
CENTRIFUGAL PUMP SHF
3.1
NUMECA SOFTWARE
The resolution of computational fluid dynamics (CFD) problems involves three main steps:
l spatial discretization of the flow equations,
l flow computation,
l visualization of the results.
To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal
integrates the
and Turbomachinery assimilations called FINE™/Turbo. The environment
following tools:
l IGG™ is an Interactive Geometry modeler and Grid generator, based on structured multi-
block techniques.
l AutoGrid5™ is a three-dimensional Automated Grid generation software tool, dedicated to
is based on structured multi- block
it
turbomachinery applications. Similarly to IGG™,
techniques.
l Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes
equations in the laminar, transitional and turbulent regimes.
l CFView™ is a highly interactive flow visualization and post-treatment software tool.
l FINE™ Graphical User Interface is a user-friendly environment that includes the different
software. It integrates the concept of projects and allows the user to achieve complete
simulations, going from the grid generation to flow visualization, without the need of file
manipulation.
A turbomachine is a device in which the energy is transferred either to or from a continuously
flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in
particular in aircraft, marine, space (liquid rockets) and land propulsion systems but also in
hydraulic, gas and steam turbine applications. It is also used in industrial pipeline and processing
equipment such as gas, petroleum and water pumping plants. Other applications can be related to
heart-assist pumps, industrial compressors and refrigeration plants, and more.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is
composed of several basic elements including the blade (also called vane if it is non-rotating),
hub, and shroud. Several technological effects involving clearances, seal leakages and cooling
holes among others can complete the machine. Due to the complexity of the blade shapes, the
presence of technological elements and the rotation of machine, the nature of the flow is strongly
three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the simulation of a single blade row centrifugal-flow
turbomachine. It makes use of FINE™/Turbo and describes how to deal with the specific options
implemented in FINE™ environment.
In this tutorial you will learn how to:
l import CAD files into AutoGrid5™;
l define the blade periodicity;
l control meridional flow paths;
l generate and optimize the blade-to-blade mesh;
l control the quality of the mesh in the blade-to-blade and 3D mesh;
l manage fluid database;
l use preconditioning parameters settings;
l set up boundary and initial conditions;
l manage numerical process;
l select adequate outputs;
l launch the calculation process;
l check for convergence;
l visualize and analyze the results.
3.2
PREREQUISITES
This tutorial does not require any prior experience with the menu structure in FINE™/Turbo.
3.3
PROBLEM DESCRIPTION
This problem considers the generic SHF centrifugal pump as shown here below. The pump
includes 7 blades, rotating with a speed of 1,200 RPM. The absolute velocity at the inlet is 1.842
m/s and the outlet static pressure is 320,000 Pa. The flow is assumed to be fully turbulent.
3.4
PREPARATION
l Start FINE™/Turbo v13.1:
l For Linux systems, you can access FINE™/Turbo graphical user interface with the
following command line:
fine -niversion 131 -print
l For WINDOWS systems, you can access FINE™/Turbo graphical user interface from the
start menu by going to /Programs/NUMECA software/Fine131/FINE.
l Click the Create a New Project icon to create a new project.
l Select your directory of choice to store the project.
l Enter the project name in the dialog box as <Tutorial3> <Enter>.
l Click on Create Grid File to access the interactive geometry modeler and grid generator
IGG™.
l Access the menu Modules, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.
You are now ready to start the grid generation process and mesh the CENTRIFUGAL PUMP
configuration! Click here to start the mesh generation...
3.5
TUTORIAL 3: MESH GENERATION
The AutoGrid5™ graphical user interface includes several windows that enable the simultaneous
visualization of the geometry and the mesh of the turbomachine in the meridional, blade-to-blade
and 3D views. The access to main menu and controls is proposed through a menu bar and a
quick access pad, and is completed with a tool/icon bar. The execution of the different actions
undertaken is summarized in the message box at the bottom of the interface.
A step by step approach is provided in the following lines. It aims at driving you through various
steps that need to be executed from the creation of the mesh project to the validation of the final
mesh quality.
3.5.1
Create Mesh Project
1. Select Basic Mode if necessary in the toolbar.
The Basic Mode will give access to a simplified graphical user interface. For most projects the
available parameters in the Basic Mode are sufficient.
2. Close the Open Turbo Project Wizard dialog box.
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with
associated grid) including the data required to regenerate a mesh on an identical or similar geometry.
In this tutorial, these data will be progressively introduced based on the geometry of the project case.
3. Go to File -> New Project.
4. Click yes to close the active project.
5. Choose Start a New Project From Scratch.
3.5.2
Load Geometry
6. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current
row, if not done already.
7. Left-click in the meridional view.
8. Go to Geometry Definition -> Init From an External CAD File.
A graphic window opens, allowing geometry import.
9. Define the hub curve:
l Go to File -> Open....
l Locate and select the "_geom/hub.dat" file from the file chooser. The geometry is defined in
[Meters]. ("Where to Find the Files Used in the Tutorials?" (p. 10))
l Left-click on the hub, its color should turn to yellow.
l Right-click and select Link to Hub.
The hub curve is now displayed in the meridional view.
10. Define the shroud curve:
l Left-click on File -> Open....
l Select the "_geom/shroud.dat" file from the file chooser. The geometry is defined in meters.
l Left-click on the shroud, its color should turn to yellow.
l Right-click and select Link to Shroud.
The shroud curve and channel are now displayed in the meridional view.
11. Define the blade:
l Left-click Row Definition -> row 1 in the QAP to activate the current row, if not done
already.
l Select the menu item File -> Open....
l Select the "_geom/blade.dat" file from the file chooser.
l Go to Select -> Surfaces.
A message will prompt to select surfaces.
l Press key binding <a>.
The binding key <a> acts as a toggle, activating or deactivating all surfaces.
l Double right-click to quit the surfaces selection and select Link to Blade.
The blade is now displayed in the meridional view.
169
FINE™/Turbo 13.1 Tutorials
12. Define the leading and trailing edge:
l Left-click on the blade leading edge curve inside the Import CAD window.
l As it turns yellow, right-click and select Link to Leading Edge.
l Left-click on the blade trailing edge curve inside the Import CAD window.
l As it turns yellow, right-click and select Link to Trailing Edge.
The leading and trailing edges are displayed in the meridional view with inlet and outlet (if the blade
is crossing the hub and shroud).
13. Go to File -> Exit to quit the Import CAD window.
3.5.3 Mesh Wizard
14. Left-click Row Definition -> row 1 in the QAP to activate the current row, if not done
already.
15. Left-click Row Wizard in the toolbar.
The row wizard is also available in Expert Mode under Mesh Control subpad in the QAP.
16. Click yes to start the wizard and to reset the mesh generation parameters.
The reset will keep the modifications performed by the user in the Row Wizard but will reset the
parameters modified in Expert Mode to the default value.
The wizard is divided in 6 steps:
l the geometry check (optional),
l the machine characteristics definition,
l the gap and fillet definition,
l the flow path definition,
l the blade-to-blade mesh definition,
l the end of the initialization.
17. Click yes to confirm the geometry check (step 1).
During the geometry check of a blade, AutoGrid5™ performs the following operations: check blade
definition, check orientation of the blade section curves, detect loop detection into the blade section
curves and between the blade sections. More details in AutoGrid5™ User Guide.
18. Click on Next in the dialog box to define the machine characteristics (step 2).
19. Select Centrifugal Pump as Row type in the Blade row type dialog box.
20. Enter the Periodicity (number of blades). Left-click inside the string input area and type
<7>, press <Enter> to confirm.
21. Select Rotor.
22. Enter <1200> in Rotation Speed (rpm).
This speed will be transferred to FINE™ graphical user interface and ease the input of boundary
conditions later on.
The sign of the rotational speed is positive (+) when the blade row is rotating in the positive θ-
direction, and negative otherwise.
23. Click Next in the dialog box to start the gap and fillet definition (step 3).
24. Keep all data unchanged (no gap or fillet).
25. Click Next>> in the dialog box to start the flow path definition (step 4).
26. Set Spanwise Grid Point Number set to <33> <Enter> (corresponding to the flow paths
number) in the Layer Control dialog box.
When increasing or decreasing the number of flow paths, the number of flow paths in the gaps and
fillets is automatically updated as well as the percentage of constant cells, leading to an increase or
decrease of the spanwise expansion ratio.
27. Estimate the width of the first cell at the wall:
The width of the first cell close to the wall must be selected with care since the quality of the flow
solution will often depend upon the capture of the flow phenomena inside the boundary layers which
develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends to locate the nearest grid
point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low
Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must
be modelled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven
by the Blasius equation, expressed as follows for turbulent flows:
where:
l ywall is the distance of the nearest grid point to the wall (in meter);
l Vref is a reference velocity of the flow, for instance, the inlet velocity (in m/s);
l ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
l Lref is a reference length of the test case (in meter);
l y+ is a non-dimensional value.
In the present case, one can estimate that V ref = 25.13 m/s ; L ref= 0.4m ; ν = 1.01e-6 m²/s.
Assuming one wishes to get y+= 6 at the wall, it turns out that y = 1x10-5m.
Input the value of the Wall Cell Width = <1e-5> [Meters] <Enter> in the Layer Control dialog
box.
28. Click Next>> in the dialog box to start the blade-to-blade mesh definition (step 5).
29. Set the Number of Points (of the 3D mesh) around 400,000 by clicking the << or >> button
in the B2B Control dialog box.
30. Click Preview B2B to plot the blade-to-blade mesh at mid-span: default O4H topology is
used with additional upstream/downstream H-blocks.
The Full Visibility option allows the user to see the mesh moving in the blade-to-blade view when
applying the optimization steps.
The default O4H topology includes 5 blocks:
l the skin block is an O-mesh surrounding the blade;
l the inlet block is a H-mesh located upstream the leading edge;
l the outlet block is a H-mesh located downstream the trailing edge;
l the up block is a H-mesh located above the blade section;
l the down block is a H-mesh located under the blade section.
31. Select Skewness or Expansion Ratio to plot the orthogonality or expansion ratio field of the
blade-to-blade mesh at mid-span.
32. Click Finish to end the initialization process (step 6).
33. Click yes to start the 3D mesh generation.
Click no to check the blade- to- blade mesh quality at hub and/or shroud before generating the 3D
mesh.
Go to Mesh Control -> Active B2B Layer to specify the flow path (layer) on which the mesh will
be plotted in the blade-to-blade view. By default, the active view is located at the mid-span of the
machine ( Active Layer (%span) set to 50). The layer selected for visualization is defined in
percentage of span, going from hub (0%) to shroud (100%). Enter <0> <Enter> or <100> <Enter>
in order to visualize the mesh at hub or shroud respectively.
Select Update B2B View to regenerate the blade-to-blade mesh on the new specified layer in the
blade-to-blade view.
A detailed analysis of mesh quality can be performed on a blade- to- blade mesh after generation.
Information on orthogonality, aspect ratio and expansion ratio can be outlined in this window by
clicking
:
l Select quality criteria using the Type pull-down menu.
l Left-click Show chart to visualize the distribution of selected criteria in the form of a histogram.
The histogram is drawn for each row.
l Left- click part of the histogram to plot the concerned cells in blade- to- blade view or select
Display all cells to have an overview on mesh quality.
l Left-click More info button to obtain information about minimum and maximum values of the
selected criteria.
l Closethe quality checkbox.
After performing the blade-to-blade mesh quality check, the 3D mesh generation can be started by
clicking the Generate 3D button.
Once 3D grid generation is completed, a grid quality check is performed and displayed. Minimum
cell skewness, maximum expansion ratio and aspect ratio are reported, among others. Data is available
for the entire mesh as well as separately for each entity (row, technological effect, bulb). Data related
to the grid quality report is automatically stored in a report file, once the project file is saved.
34. Close the dialog box. The page can be reopened by clicking
.
3.5.4 Mesh Visualization
35. Select View -> View 3D Solid Mesh.
36. Left-click the View 3D button in the toolbar to visualize only the 3D view.
By default, the 3D solid mesh is plotted on hub and blades. To remove the plot, select View -> Hide
3D Solid Mesh.
37. Use the Repetition icon (
) to toggle the repetition of the channel.
38. Use the View menu in the QAP to toggle edge, mesh and/or solid shading.
3.5.5
Check Boundary Conditions & Mesh Quality
39. Check for boundary conditions by clicking
.
40. Select UND under the Type pull-down menu and press <Enter> to check that there are no
patches in the patch list that are still set to an undefined type.
It is important to ensure that no undefined patches (UND) are present in the mesh. If this is not the
case, they can usually be removed by increasing the tolerance and launching the Search procedure.
41. Close the dialog box.
42. Left-click in the 3D view to activate the view (red border), if not done already.
43. Check for negative cells by clicking
.
44. Click Apply.
The computation of the negative volumes is performed first. Negative cells can be outlined in the
mesh by pressing the View neg cells button. Beware that the visualization of negative cells can be
memory consuming when a large number of cells must be displayed. It is then advised to first check
the number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.
45. Click ok and Close the dialog box.
46. Left-click in the 3D view to activate the view (red border), if not done already.
47. Check for grid quality by clicking
.
A detailed analysis of the mesh quality on a 3D mesh can only be performed once the 3D mesh has
been generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell
width can be outlined in this window using the Type pull-down menu.
48. Select block number (0 for all) - <Enter>.
49. Select quality criteria using the Type pull-down menu.
50. Left-click Show chart to visualize the distribution of selected criteria in the form of a
histogram. The histogram is drawn per block (0 = all blocks).
51. Left-click part of the histogram to plot the concerned cells in the 3D view.
52. Left-click the More info button to obtain information regarding minimum and maximum
values of the selected criteria and block.
53. Close the dialog box.
3.5.6
Save Project
54. Go to File -> Save Project As <tutorial3> and press <Enter> to save the mesh and template
files in the "_mesh" subfolder.
The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the
boundary
and
(".xmt_ txt"),
".qualityReport". The meaning of these files is detailed in the User Guide.
condition
".config"
".geom"
".cgns",
".igg",
".bcs",
types:
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh
with AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these
files is detailed in the User Guide.
Now that the mesh is saved, click here to set up the computation in FINE™/Turbo interface!
3.6
TUTORIAL 3: FLOW SETTINGS
The mesh generation process is now completed and one can now go back to the FINE™
graphical user interface in order to set the various flow settings required before starting the
computation. Access to the main menu and controls is provided through a menu bar and a left-
tree, and is complemented with an icon bar.
Access to the FINE™ graphical user interface from the AutoGrid5™ window is provided
through the Modules/Fine Turbo menu, simply confirm (yes) to enter FINE™ GUI. You are
now back at the FINE™ graphical user interface!
A step by step approach is provided in the following lines. It aims at driving you through the
various steps that need to be executed from mesh linking to the execution of the calculation.
3.6.1
Link Mesh & Project
55. Click the
icon and link the mesh "tutorial3.igg" to the project.
The user may be shown a warning message concerning the solver precision; accept this message. The
change of the solver precision is detailed in step 103.
56. Define grid units in Meters as the geometrical data inserted in the "tutorial3.geomTurbo" file
is expressed in meters.
57. Select a Cylindrical and 3 Dimensions configuration.
58. Click OK to close the dialog box.
3.6.2 Manage Computations
59. Rename the default computation "computation_1" as "000_SA" in the Computations area, to
indicate that the calculation will be executed on the fine grid first and will use the Spalart-
Allmaras turbulence model. This can be achieved by left- clicking the Rename button and
replacing "computation_1" by "000_SA".
Similar operations can be executed using the New Computation or Remove buttons, to respectively
create a new computations or remove one.
3.6.3
Set Flow Configuration
60. Go to the tree in the left menu and double left-click the Configuration menu.
Three sub-menus related to the definition of the working fluid, main flow characteristics and rotating
machinery definition can then be accessed.
61. Double left-click Fluid Model to access the fluid database.
62. Select WATER. Water is now selected as a working fluid.
The fluid database includes a number of pre-defined fluids, covering various approximations in fluid
definition such as perfect gas, ideal (real) gas, incompressible fluids and fluids defined as a set of
thermodynamic tables (optional, subjected to a separate license key).
A default fluid database is provided by FINE™/Turbo. The user is also able to create and modify
his/her own fluids and/or use fluids created by others. More details about these functions are available
in the FINE™ User Guide.
63. Double left-click Flow Model to set the flow characteristics.
64. Select Steady to indicate that a steady solution is of interest.
65. Select Turbulent Navier-Stokes to activate the resolution of the RANS equations.
66. Select Spalart-Allmaras as the turbulence model of choice.
A number of turbulence models can be accessed through the interface. They require the additional
resolution of 0-equation to 4-equations, depending upon the model selected. Some of these models do
need a fine resolution near the wall (y+ ranging from 1 to 5), while others use the log-law concept
and can mimic the logarithmic law. More details can be found in the FINE™ User Guide.
67. Set Reynolds Number Related Info:
l Set the Characteristic length = <0.4> < Enter>,
l Set the Characteristic velocity = <25.13> < Enter>,
l Set the Characteristic density = <1001> < Enter>.
Characteristic variables (length, velocity, density) are required to estimate the Reynolds number. This
number is used at a few locations inside the flow solver, in particular inside the damping functions
related to the modeling of turbulence down to the walls.
The impact of the characteristic variables on the flow solution is very limited, but it is advised to
select values in accordance with characteristic quantities of the geometrical domain and flow
conditions. As an example, the characteristic length may be defined by a reference diameter or length
at the inlet and/or outlet of the computational domain, and/or the chord of the blade (if any). The
characteristic velocity may be set to the averaged inlet velocity. The characteristic density is fixed as
the average (molecular) fluid density.
68. Double left-click Rotating Machinery to set the rotating machinery definition.
69. Check that the Rotational Speed = <1200>.
In the cylindrical mode, the flow solver resolves the equations by default in a relative frame of
reference. As a consequence, the mesh attached to the blade is rotating at the same speed as the blade,
as far as no rotor- stator interaction is concerned. The rotation speed has been introduced in
AutoGrid5™ and transferred through FINE™, limiting user interventions in the graphical user
interface.
For rotating machinery projects, the axis of rotation must be aligned along the z- direction. In
addition, a unique rotation speed must be considered for the entire computational domain.
The page related to Rotor- Stator is not required in the frame of this tutorial. Please consult
"Tutorial 2: Flow Settings" (p. 108) for more information about
the treatment of rotor- stator
interfaces.
3.6.4
Set Boundary Conditions
70. Go to the tree in the left menu and double left-click the Boundary Conditions menu.
During the grid generation process, AutoGrid5™ defines the type of the boundary conditions to be
applied on each block face. The most common types are INLET, OUTLET, PERIODIC and SOLID
boundary conditions.
PERIODIC boundary conditions are set automatically by the flow solver and must not be modified by
the user.
It is important to confirm each entry by pressing the <Enter> key.
71. Go to Mesh -> View On/Off to load the mesh into the FINE™ GUI.
This toggle menu is used to visualize the grid in FINE™. The parameters area will be overlapped by a
graphics window, and the small control button on the upper-left corner of the graphics window can
be used to resize the graphics area in order to visualize the parameters and the mesh simultaneously.
The selection of patches in the left column outlines the corresponding patch in the graphics area, thus
enabling a fast and easy visualization of the boundary conditions.
72. Go to the INLET tab:
l Select Static Quantities Imposed,
l Select Angle from Axial Direction type of boundary conditions,
l Set Magnitude of Absolute Velocity = <1.842> <Enter>,
l Set arctg (Vt / Vz) = <0> <Enter>,
l Set arctg (Vr / Vz) = <0> <Enter>,
l Set Static Temperature = <293> <Enter>,
l Choose Turbulent Viscosity as the Turbulent Quantities and set Turbulence Viscosity to
<5e-06> <Enter>.
73. Go to the OUTLET tab:
l Select Pressure Imposed,
l Activate Static Pressure Imposed,
l Set Static Pressure = <320000> <Enter>.
74. Go to the SOLID tab:
For each row, patches including the keyword "hub" are by default collected in a unique group named
as "row_*_hub_(r.p.m.*)". Patches including the keyword " shroud" are grouped in "row_*_shroud".
Finally, patches of the blade are grouped in "row_*_blade_(r.p.m.*)". If part of the row is rotating,
the suffix _(r.p.m. rot_speed) is added to the group name. The presence of a tip gap is automatically
taken into account in the blade group, thus minimizing user intervention in the definition of the
boundary conditions. For a rotor, which is defined in AutoGrid5™, it is assumed that the hub and the
blade are fully rotating. The rotation speed takes the value introduced during the mesh generation
process. The shroud is assumed to be a fixed entity, with no rotation speed assigned.
l Left-click the "row_1_hub_(r.p.m.1200)" group.
The rotation speed is usually considered as a constant for the entire patch (group). However, FINE™
integrates the possibility to define that only part of a patch is rotating (e.g. part of the hub). This
applies to the SHF pump project, where only part of the hub is considered as a rotating body.
l Keep Adiabatic.
l Left-click Area Defined Rotation Speed.
A schematic sketch is proposed in the page. It enables the definition of some geometrical windows on
the selected patch (or group). The window is defined according to 4 quantities related to the abscissa
(z) and radius (r) in the meridional plane. Solid walls included in the window will be considered as
rotating, with rotation speed 2, while portions of solid walls located outside of the window will rotate
with a speed equal
is feasible to define rotating parts
independently from the mesh.
to rotation speed 1. In this manner,
it
l Set Rotational Speed 1 = <0> <Enter>.
l Set Rotational Speed 2 = <1200> <Enter>.
l Set Lower Radius Limit = <0.01> <Enter>.
l Set Higher Radius Limit = <0.2> <Enter>.
l Set Lower Axial Limit = <-0.15> <Enter>.
l Set Higher Axial Limit = <0.02> <Enter>.
l Check the Compute force and torque button.
The convergence of both axial thrust and torque can be monitored in the computational steering, to
make sure that both quantities have reached stable values at the end of the convergence process. Both
values are also available from the *.mf file located in the computation directory. The torque can also
be used for the calculation of the efficiency of the machine. It is common practice to enable force and
torque calculation on rotating patches only.
l Left-click the "row_1_shroud_(r.p.m.1200)" group.
l Keep Adiabatic.
l Left-click Area Defined Rotation Speed.
l Set Rotational Speed 1 = <0> <Enter>.
l Set Rotational Speed 2 = <1200> <Enter>.
l Set Lower Radius Limit = <0.01> <Enter>.
l Set Higher Radius Limit = <0.2> <Enter>.
l Set Lower Axial Limit = <-0.0643> <Enter>.
l Set Higher Axial Limit = <-0.01> <Enter>.
l Check the Compute force and torque button.
l Left-click the "row_1_blade_(r.p.m.1200)" group.
l Keep Adiabatic.
l Left-click Constant Rotation Speed.
l Set Rotational Speed 1 = <1200> <Enter>.
l Check the Compute force and torque button.
75. Go to Mesh -> View On/Off to toggle the mesh visualization, if needed.
3.6.5
Set Numerical Model
76. Go to the tree in the left menu and double click-left on the Numerical Model menu.
This menu gives access to the most frequently used numerical parameters, including the Courant
Friedrichs Lewy (CFL) number and the selection of the grid level on which the simulation will apply.
It is important to confirm each entry by pressing the <Enter> key.
77. Keep CFL unchanged to 3.
The CFL number drives the pseudo-time step selected to reach a steady state solution using the time-
marching method integrated in the flow solver. In combination with the 4- step Runge- Kutta
integration scheme included in the flow solver, it has a theoretical stability limit close to 2.8.
However, the additional implicit smoothing scheme can increase this value slightly, which justifies the
default value of 3.
The default value for CFL number is adequate in most cases, but can be decreased in some
circumstances, in particular at off-design conditions.
78. Define the grid level on which the simulation will apply:
The flow solver is based on an explicit
time integration technique, which is accelerated using
dedicated multi- grid methods. To this end, several levels of intermediate grids must be generated
started from the finest one. This is achieved by taking one node over 2 in each I-, J- or K-directions,
starting from the finer grid level.
It is strongly advised to enable the definition of at least 3 grid levels, by carefully selecting the
number of nodes on every edge forming the patches and blocks. More details can be found in the
IGG™, AutoGrid5™ and FINE™ User Manuals.
In the FINE™ terminology, the finest grid level a user can access will be called 000, while the
intermediate and coarsest ones will be named the 111 and 222 level respectively, assuming 3 grid
levels can be selected.
Hybrid grid levels can theoretically be defined (e.g. 010 or 211). It is however not advised to use such
hybrid levels since it deforms the mesh in a preferential direction and thus possibly increasing the
aspect ratio. Consequently, the quality of the resulting mesh can be decreased.
l Make sure that Current Grid Level = 0 0 0,
l Keep Number of Grid(s) = 3,
l Keep the Coarse Grid Initialization active,
In addition to the multi-grid acceleration technique, the number of iterations to convergence can be
significantly reduced activating the coarse grid initialization process. In that case, the simulation starts
the flow solver
on the coarsest grid level available,
automatically interpolates the current flow solution on the intermediate levels before the iterative
process is restarted. A similar process occurs up as long as the expected finest grid level is reached.
The iterative process is then pursued up as far as the convergence criteria is not reached or the
maximum number of iterations is exceeded. More details can be found in the FINE™ User Manual.
leading to fast convergence. Once done,
l Activate Expert Mode to access expert parameters for coarse grid initialization,
l Change the Maximum number of cycles per grid level = <400> <Enter>.
79. Define preconditioning parameters: change preconditioning method to Merkle.
The use of the Merkle preconditoning enables to obtain a solution scheme with an increased
robustness. Further details can be found in the FINE™ User Guide.
3.6.6
Set Initial Conditions
80. Go to the tree in the left menu and double left-click the Initial Solution menu.
81. Left-click the ROWS group.
The group is automatically created when the mesh is loaded into the FINE™ GUI. In complex
projects, hybrid initial solutions can be useful. In that case, a constant initial solution per block can be
selected for some groups, while others can benefit from an initial solution from Turbomachinery.
Limitations related to the use of hybrid initial solutions are described in the FINE™ User Manual.
82. Select for turbomachinery to access the initial solution menu for turbomachinery.
Initial conditions can be selected in different forms, going from constant values per block to
throughflow based solutions. When running a rotating machinery project case, it is common practice
to select the initial solution for Turbomachinery. Based on a 1D estimation of the flow solution, the
initial solution for Turbomachinery often enables a drastic reduction in the number of iterations in
running 3D simulations. Inputs ("best estimation") related to static pressure at inlet and rotor-stator
interfaces (if it applies) are requested.
83. Left-click the inlet patch ("row_1_flux_1_Main_Blade_upStream_inlet").
The presence of an inlet condition is mandatory for use with the initial solution for turbomachinery.
84. Set Estimated Static Pressure = <101325> <Enter>.
85. Choose Turbulent Viscosity as the Turbulent Quantities and set Turbulence Viscosity to
<5e-06> <Enter>.
3.6.7
Select Outputs
86. Go to the tree in the left menu and double left-click the Outputs menu. Double left-click
Computed Variables.
Quantities of interest in the simulation must be pre-selected in this menu. They will be stored in the
solution file (*.cgns) once the iterative process will be finished and/or during intermediate steps.
Quantities can be accessed both in the 3D field (Computed Variables) and/or in the meridional
plane (following circumferential averaging, see Azimuthal Averaged Variables). Additional data
can be selected on the solid walls and/or on predefined surfaces (Surface Averaged Variables).
The adequate selection of outputs of interest will reduce the size of the solution file. This is in
particular important when projects involving very fine meshes and/or unsteady capabilities are
managed.
87. Select Static, Total Absolute and Total Relative Temperature if not yet selected.
88. Select Static, Total Absolute and Total Relative Pressure if not yet selected.
89. Select Density, Entropy, Rothalpy and Dynamic viscosity if not yet selected.
90. Left-click the Velocities in the menu Categories.
91. Select Vxyz if not yet selected.
92. Select Wxyz if not yet selected.
Vxyz and Wxyz are the velocity vector fields in respectively the absolute and relative frame of
reference. The examination of solution quantities in the relative frame of reference is particularly
useful to observe the flow angles relative to the blade close to leading and trailing edge.
93. Left-click the Solid data in the menu Categories.
94. Select Static pressure, Static temperature, Cf, Relative velocity and y+ (in first inner cell)
if not yet selected.
Cf is known as the friction coefficient.
The parietal coordinate y+ is a direct function of the distance from the wall. Therefore, y+ = 0 at the
wall and takes a non- zero value at the center of the first cell close to the wall (also called "inner
cell"). As a consequence, the examination of y+ "at the wall" should be understood as the examination
"in the first inner cell". Although it is not correct theoretically speaking, this concept is very often
used to ease the post-treatment and benefit from the existing solid surfaces.
95. Left-click the Turbulence in the menu Categories.
96. Select Wall distance and Turbulent Viscosity ratio if not yet selected.
The analysis of the Turbulent Viscosity ratio field is often of major interest to ensure that the
turbulent quantities are computed accurately, according to the turbulence model and mesh refinement
selected.
Running k- epsilon related models gives access to additional quantities in particular related to the
production term, the kinetic energy and dissipation rate fields. It is strongly advised to activate these
fields for post-treatment.
97. Double left-click Azimuthal Averaged Variables.
98. Go through the various categories and select the quantities as selected under Computed
Variables.
Additionally, outputs can be re- directed using the PLOT3D format, using various formats. More
details can be found in the FINE™ User Guide.
3.6.8
Control Computation Steering
99. Go to the tree in the left menu and double left-click the Computation Steering menu.
100. Double left-click Control Variables.
101. Set Maximum Number Of Iterations = <2000> <Enter>.
102. Keep Save Solution Every = 100.
103. Keep Convergence Criteria = -6; change the solver precision from Single to Double.
Depending upon the quality of the initial solution, the density of the mesh (number of nodes) and the
complexity of the underlying flow field, a few hundred to a few thousand iterations are typically
required to reach convergence. The iterative process is stopped once the convergence criteria is
reached over the entire domain or the maximum number of iterations is exceeded on the finest grid
level (000).
The ability to select Minimum output offers the possibility to minimize the size of the solution files.
In this case, the flow solution is stored only once the iterative process is finished, and limited
information is provided during the intermediate storage. This limited information allows the user to
perform a restart procedure from an existing flow solution, but cannot be visualized within
CFView™.
Static memory allocation is enabled inside the flow solver. A best estimate of the memory required to
run and save the flow solution is calculated and proposed as a default. However,
in some
circumstances, the estimation may be too short and it is then require to manually increase the number
of reals or integers required to drive the solution to success. In that case, click Set the requested
memory and increase the inputs accordingly.
104. Select Expert Mode, verify that the expert parameter TORRO = <1> <Enter>.
In Expert Mode , the user has the ability to define the advanced options and set
parameters.
the expert
When using an area defined rotation speed, the expert parameter TORRO can be used to compute
the force and torque only on the rotating part of the patches with area defined rotation speed
(TORRO=1).
3.6.9
Save Project & Start Calculation
105. Open the File menu and Save the project.
The project parameters are stored in the *.iec file. This file includes the entire set of parameters
required to reproduce the project, excluding the mesh.
106. Press the
task manager window will appear.
icon and click Start Flow Solver in the dialog box to start the calculation: a
The calculation will start in serial mode (1 processor) on the local machine. FINE™ includes multi-
processor capabilities and the ability to manage computations through a task manager and/ or in batch
mode. More details can be found in the FINE™ User Guide.
3.6.10 Follow Convergence Steering
107. Double left-click Convergence History.
The evolution of averaged residuals on the entire domain can be observed during the convergence
the evolution of the mass flow balance (in/ out) and/ or global quantities
process. Similarly,
(isentropic efficiency, torque and axial thrust on solid walls selected in the boundary conditions page,
pressure ration) can be displayed.
Local and global quantities may also be added for follow- up during the convergence process.
However, their representation in the graphical area will only be effective once they are added in the
Selected Variables list, see FINE™ User Guide.
The examination of residuals per block and/ or for a given primitive variable can be achieved
accessing the monitorTurbo tool. The tool is included in the FINE™ package and can be accessed
through the adequate command line. More details can be found in the FINE™ User Guide.
108. Once the calculation has converged or reaches the maximum number of iterations allowed
on the finest grid level, the flow solver stops. The final solution is then stored in the solution file
(*.cgns) and the task manager window is closed.
To check the convergence of the computation, NUMECA recommends observing the evolution of
multiple criteria including (a) an adequate decrease in residuals (minimum 3 orders of magnitude);
(b) complete stabilization of global performances; (c) stabilization of mass flow in/out, with
satisfactory correspondence (usually less than 0.5% difference between in/out).
Now that the iterative process is over, click here to start the visualization of the solution within the
post-treatment tool CFView™ integrated in FINE™/Turbo.
3.7
TUTORIAL 3: POST PROCESSING
The iterative process is now over and the flow solution is stored in the ".cgns" file. The number of
nodes in a typical mesh usually ranges from few hundred thousands to several million, which
makes visualization delicate in most cases. As part of the FINE™ environment, NUMECA
proposes the use of the home-made visualization and post-treatment tool CFView™. CFView™
is entirely integrated in the environment and includes numerous tools which are particularly best
suited for the analysis of turbomachinery configurations.
Access to CFView™ from the FINE™ graphical user interface is provided through the
Modules/CFView... menu, or alternatively by pressing the
icon.
A step by step approach is provided in the following lines. It aims at driving you through the
various steps that need to be executed from reading the solution to the extraction of the main
results. CFView™ automatically opens the ".run" file associated with the active computation.
After running turbomachinery computation and assuming some variables have been selected in
the Azimuthal Averaged Variables section of the FINE™ graphical user interface output page,
CFView™ proposes the user to open the azimuthal averaged solution first. Otherwise, the full 3D
solution will be opened.
109. Activate View the azimuthal averaged solution.
110. Left-click Start CFView.
You will now enter CFView™ !
3.7.1
Select Surfaces
111. <Ctrl> + left-click "domain1", "domain2" and "domain3" in the Surfaces area, then click-
right and choose Select in the pop-up menu to activate them.
3.7.2
Select Quantities
112. Go to the Quantity menu.
113. Enter the Field Data -> Basic Quantities sub-menu.
114. Select quantity Absolute Total Pressure.
All quantities selected in the FINE™ graphical user interface are transferred to CFView™. However,
additional derived output can be accessed directly from the visualization and post- treatment tool,
including vector components, gradients, divergence and curl of selected quantities. New quantities,
defined as an arithmetic combination of existing quantities possibly combined with regular operations
(trigonometric functions, logarithmic functions,...) can furthermore be created.
3.7.3
Select Representation
115. Access the Representation menu.
116. Select Color Contour -> Smooth.
Once the candidate quantity for visualization is selected, the user must choose a representation mode.
Representation is typically executed in the form of color contours (smoothed or stripped) and/or
isolines. CFView™ also includes the possibility to investigate the flow field locally ("local value")
and create 1D Cartesian plots. Advanced capabilities involving curve and/or surface integration can
also be accessed. More details can be found in the CFView™ User Guide.
117. Left-click "domain3" in Surfaces area.
118. Right-click to access the contextual menu and press Select.
119. Open the Representation menu.
120. Select Cartesian Plot -> Along Grid Line.
121. Change Index from i to j.
122. Change Value to <17> <Enter>.
123. Click the Apply button.
A 1D Cartesian plot has been created at about 50% span, extracting the evolution of the Absolute
Total Pressure along the streamwise direction along a grid line (I-direction). Data can be extracted
along a boundary, solid boundary, grid line or along a user-defined section. More details can be found
in the CFView™ User Guide.
124. Click the Close button.
125. Left-click somewhere in the Cartesian plot window to activate it (red border).
126. Right-click and select Show H Grid Lines.
127. Right-click and select Show V Grid Lines.
128. Left-click the curve.
129. Right-click and select Curve Type.
130. Change Thickness from 2 to <1>.
131. Go to the Marker tab.
132. Change Symbol to Circle.
133. Change Size from 0.4 to <0.3>.
134. Change the color to red.
135. Click Apply.
136. Left-click the Close button.
137. Left- click anywhere inside the Cartesian plot window.
138. Go to the View menu.
139. Select Maximize.
CFView™ offers the possibility to create and arrange Cartesian plots in different manners, with
numerous options related to the type,
the lines and symbols. The
manipulations are done interactively, mainly with the help of contextual menus. In addition,
CFView™ includes a powerful project and windows based management, giving the user
the
possibility to open multiple projects and manage several windows simultaneously. More details can be
found in the CFView™ User Guide.
thickness and colors of
3.7.4
3D Analysis
140. Go to the File menu.
141. Select Quit CFView to quit CFView™ and choose yes to confirm.
142. Access CFView™ again from the FINE™ GUI by pressing the
icon.
143. Deactivate View the azimuthal averaged solution.
144. Click Start CFView.
You will now enter 3D analysis mode in CFView™ !
145. Access the Geometry menu.
146. Select Boundary to deactivate boundary representation.
Boundary activation/deactivation is used as a toggle and acts on all selected surfaces. Fast access is
ensured using the binding key <b>.
147. Double left-click the checkbox "row1_shroud_(r.p.m.1200)" inside the Surfaces area to
deactivate the set of patches that defines the entity shroud. Groups "row1_hub_(r.p.m.1200)" and
"row1_blade_(r.p.m.1200)" are the only entities that remain active at this moment.
Selection of surfaces for representation is controlled through the Surfaces area. Alternatively,
identical operations can be executed from the Geometry menu.
Patches flagged as solids are selected as the default surfaces for representation. Groups created in the
boundary condition area inside FINE™ are transferred directly to CFView™, so that the selection of
surface entities can be performed just in a few clicks.
Fast selection of a group of surfaces in a large list including numerous surfaces, which are partly
checked/unchecked, can be done by first left- clicking (combined with <Ctrl> or <Shift> to select
multiple surfaces) the target surface(s) desired for representation, followed by a right-click to access
the contextual menu and choosing Select.
148. Go to the Geometry menu.
149. Select Boundary again to activate boundary representation on active surfaces.
150. Go to the Geometry menu once more.
151. Select Grid to display the surface mesh on active surfaces.
Fast access to mesh representation is ensured using the binding key <g>.
152. Access the Render menu.
153. Select Shading -> Gouraud to shade active surfaces.
154. Make use of the Viewing buttons to modify the representation mode and locate the pump to
outline the blade and hub in a clear way.
155. Press the binding key <g> to deactivate the mesh on active surfaces.
156. Go to the Geometry menu.
157. Select Repetition Number.
158. Activate Max to set the number of repetitions to 6.
159. Click on Apply.
160. Open the Geometry menu.
161. Select Repetition on/off.
162. Go to the File menu.
163. Select Print ... .
Pictures can be printed in different formats, either on the active or graphics windows. Information
can be introduced in a banner. Options related to picture definition can also be modified.
164. Select Active View.
165. Set banner to <SHF PUMP> and press <Enter>.
166. Set the format to PNG.
167. Click OK.
168. Set the picture name and appropriate location.
169. Click Save.
The selection of Graphics Window is recommended to insert several pictures in a unique file, as
they appear on the graphical window (WYSIWYG = what you see is what you get mode).
The ".png" format is often the preferred choice for printing.
170. Go to Update -> Delete -> All.
171. Go to Geometry -> Repetition on/off.
172. Select Quantity -> Solid Data -> y+.
173. Choose Representation -> Color Contour -> Strip.
174. Select Representation -> Scalar Range -> Colormap Optimum Range.
The parietal coordinate y+ is now enabled on active surfaces (hub and blade).
The range of representation has been adapted automatically to variations on the selected surfaces, so
as to outline details as effectively as possible.
175. Make use of the Viewing buttons to modify the representation mode and find a suitable
viewpoint.
176. Access the Representation menu.
177. Select Isolines -> Isolines....
178. Activate increment mode.
179. Change Value to <0.5> <Enter>.
180. Set min range to <0> <Enter>.
181. Set max range to <9> <Enter>.
182. Activate Color Uniform.
183. Click Apply.
184. Close the dialog box.
Gradients are clearly observed nearby the leading and trailing edge of the blade, consequently locally
driving y+ values up to about 7. The combination of color contours and isolines representation allows
the main characteristics of the flow to be outlined in a clear and elegant manner.
3.7.5
Blade-to-Blade View
185. Go to Update -> Delete -> All.
186. Go to Representation -> Colormap to remove the colormap.
187. Open the Render menu.
188. Select Shading -> Gouraud.
189. Go to Geometry menu.
190. Select Blade to Blade Surface ... .
191. Set Surface type to Blade to blade.
192. Set S to <0.5> <Enter> (section located 50% spanwise).
193. Click the Apply button.
194. Click the Save button.
195. Click Close to quit the dialog box.
CFView™ integrates the possibility to create cuts at constant spanwise position (also called "blade-
to-blade" planes). This capability is especially useful when the endwalls are not planar. The surface
for representation at constant spanwise position is then created based on linear interpolation between
the endwalls.
Pressing the Save button in the dialog box creates an additional surface for representation in the
Surfaces area, enabling quantity selection and representation as discussed in the previous sections.
196. Left-click "CUT1" in the Surfaces area.
197. Right-click to access the contextual menu.
198. Choose Select in order to select "CUT1" as the only active surface for representation.
199. Go to the Quantity menu.
200. Select Field Data -> Basic Quantities -> Absolute Total Pressure.
201. Open the Representation menu.
202. Select Color Contour -> Smooth.
203. Open the Representation menu again.
204. Now, select Scalar Range -> Colormap Optimum Range.
Colormap Optimum Range restricts the bounds of the colormap to those related to active surfaces
instead of the complete 3D domain. This capability is useful to outline a number of details in a clearer
manner. It can also be accessed by pressing the
icon.
205. Left-click the colormap.
206. Right-click and select Move or Resize.
207. Drag and drop the colormap to an appropriate location.
208. Move the mouse to a corner of the colormap to adjust the size.
It is advised to put the colormap at a location where it does not interfere with the representation, to
avoid any difficulty in the interpretation of the results.
209. Left-click the colormap.
210. Right-click and select Smooth Only.
211. Access the Quantity menu.
212. Select Field Data -> Basic Quantities -> Wxyz.
213. Go to the Representation menu.
214. Click Vector Type ... .
215. Choose Tangent Component in Representation Type.
216. Select Color Uniform under Vector Size.
217. Click Apply.
218. Click the Close button to quit the dialog box.
219. Go to Representation -> Vector On Grid Nodes.
220. Make use of the Viewing buttons to modify the representation mode and zoom in near the
leading edge of the blade.
The representation of velocity vectors in relative frame of reference (Wxyz) outlines the quality of
the flow impinging the blade. Ideally, these vectors should be aligned with the blade. In off-design
conditions, the alignment may not be adequate, possibly leading to flow separation.
3.7.6
Turbomachinery Mode
221. Open the File menu.
222. Select Turbomachinery.
223. Choose Load Flow Solver Pitch Average under Meridional Average.
224. Click Ok.
You have now entered the Turbomachinery mode! It gives simultaneous access to meridional,
meridional average, blade-to-blade and 3D views.
Actions required for surface representation, quantity selection and representation apply similarly to
those described in the previous sections. More details can be found in the CFView™ User Guide.
TUTORIAL 4.
HYDRAULIC TURBINE FRANCIS
4.1
NUMECA SOFTWARE
The resolution of computational fluid dynamics (CFD) problems involves three main steps:
l spatial discretization of the flow equations,
l flow computation,
l visualization of the results.
To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal
integrates the
and Turbomachinery assimilations called FINE™/Turbo. The environment
following tools:
l IGG™ is an Interactive Geometry modeler and Grid generator, based on structured multi-
block techniques.
l AutoGrid5™ is a three-dimensional Automated Grid generation software tool, dedicated to
is based on structured multi- block
it
turbomachinery applications. Similarly to IGG™,
techniques.
l Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes
equations in the laminar, transitional and turbulent regimes.
l CFView™ is a highly interactive flow visualization and post-treatment software tool.
l FINE™ Graphical User Interface is a user-friendly environment that includes the different
software. It integrates the concept of projects and allows the user to achieve complete
simulations, going from the grid generation to flow visualization, without the need of file
manipulation.
A turbomachine is a device in which the energy is transferred either to or from a continuously
flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in
particular in aircraft, marine, space (liquid rockets) and land propulsion systems but also in
hydraulic, gas and steam turbine applications. It is also used in industrial pipeline and processing
equipment such as gas, petroleum and water pumping plants. Other applications can be related to
heart-assist pumps, industrial compressors and refrigeration plants, and more.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is
composed of several basic elements including the blade (also called vane if it is non-rotating),
hub, and shroud. Several technological effects involving clearances, seal leakages and cooling
holes among others can complete the machine. Due to the complexity of the blade shapes, the
presence of technological elements and the rotation of machine, the nature of the flow is strongly
three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the simulation of a hydraulic turbine. It makes use of
FINE™/Turbo and describes how to deal with the specific options implemented in FINE™
environment. In this tutorial you will learn how to:
l define multi-rows;
l generate and optimize the blade-to-blade mesh;
l check for mesh quality;
l manage fluid database;
l manage preconditioning parameters;
l model rotor-stator interface using mixing plane approach;
l set up boundary and initial conditions;
l numerical process management;
l select adequate outputs;
l control calculation process;
l check for convergence;
l visualize and analyze results.
4.2
PREREQUISITES
This tutorial does not require any prior experience with the menu structure in FINE™/Turbo.
4.3
PROBLEM DESCRIPTION
The problem considers a Francis hydraulic turbine with a medium/high specific speed. It has been
designed at IMHEF for an experimental research study in the hydraulic laboratory. The model has
been used as a test case in the 1989 GAMM workshop.
The spiral casing of the GAMM turbine has been designed to ensure a constant meridional
velocity distribution. Fillets have been added on both sides of the distributor inlet in order to
achieve well-defined inlet conditions. The distributor consists of 24 stay vanes and 24 guide
vanes. The runner includes 13 blades, with an external diameter of 0.4 m.
4.4
PREPARATION
l Start FINE™/Turbo v13.1:
l For Linux systems, you can access the FINE™/Turbo graphical user interface directly with
the following command line:
fine -niversion 131 -print
l For WINDOWS systems, you can access FINE™/Turbo graphical user interface from the
start menu by going to /Programs/NUMECA software/Fine131/FINE.
l Click the Create a New Project icon to create a new project.
l Select your directory of choice to store the project.
l Enter the project name in the dialog box as <Tutorial4> <Enter>.
l Click on Create Grid File to access the interactive geometry modeler and grid generator
IGG™.
l Access the menu Modules, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.
You are now ready to start the grid generation process and mesh the FRANCIS TURBINE
configuration! Click here to start the mesh generation...
4.5
TUTORIAL 4: MESH GENERATION
The AutoGrid5™ graphical user interface includes several windows that enable the simultaneous
visualization of the geometry and the mesh of the turbomachine in the meridional, blade-to-blade
and 3D views. The access to main menu and controls is provided through a menu bar and a
quick access pad, and is completed with a tool/icon bar. The execution of the different actions
undertaken is summarized in the message box at the bottom of the interface.
A step by step approach is provided in the following lines. It aims at driving you through various
steps that need to be executed from the creation of the mesh project to the validation of the final
mesh quality.
4.5.1
Create Mesh Project
1. Select Basic Mode if necessary in the toolbar.
The Basic Mode will give access to a simplified graphical user interface. For most projects the
available parameters in the Basic Mode are sufficient.
2. Close the Open Turbo Project Wizard dialog box.
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with
associated grid) including the data required to regenerate a mesh on an identical or similar geometry.
In this tutorial, these data will be progressively introduced based on the geometry of the project case.
3. Go to File -> New Project.
4. Click yes to close the active project.
5. Choose Initialize a New Project from a geomTurbo File.
4.5.2
Load Geometry
6. Locate and select "stay.geomTurbo" (geometry defined in [Millimeter]) in the dialog box and
click Open ("Where to Find the Files Used in the Tutorials?" (p. 10)); Accept the warning
message concerning the discontinuity at the hub.
The ".geomTurbo" file format is structured in three main blocks: the header, the channel and the row
definitions.
The channel format contains the definition of the turbomachinery meridional contour (hub, shroud).
It is composed by curves defined by a set of points. The ".geomTurbo" file must contain two channel
curves named respectively "hub" and "shroud".
The row definition contains the geometry of a complete row. It is defined by a row name, a row type,
a periodicity and the definition of the main blade and possibly the splitter(s). The blade and splitter
are defined by the pressure and the suction side surfaces identified by the keywords "pressure" and
"suction". Both surfaces are specified by a set of cross sections of the blade at several spanwise
location from hub to shroud. Each section is defined by a set of points from leading to trailing edge.
Accept the message concerning the discontinuity at the hub
7. Click Add Row.
8. Go to row 2 > Blades > Main Blade, left-click Main Blade.
9. Right-click to access the contextual menu and select Define Geometry.
10. Locate and select "guide.geomTurbo" (geometry defined in [Millimeter]) in the dialog box
and click Open.
11. Repeat step 7 to step 10 to import "run.geomTurbo" for row 3.
The three elements are displayed in the meridional view corresponding to the three parts of the
turbine. The location of the rotor/stator mixing plane is automatically defined by AutoGrid5™. The
default location is set at the average meridional location between the downstream trailing edge and
the upstream leading edge.
12. Move outlet position :
l Left-click on the outlet line and left-click on the bottom point. Move it on the corner of the hub
and left-click to place it.
l Right-click on the point above, point location box appears. Set the R= <40> < Enter>.
l Repeat this action for other points with following location :
13. Set geometry units:
l Go to Geometry Definition -> Units.
l Change the units to Millimeters.
the imported geometry must be changed to impose a scaling factor and a
The "units" of
corresponding tolerance that will ensure correct
treatment during the grid generation when
computing, for example, the intersection. Unless it is necessary to change this, we recommend keeping
the default settings (Scale Factor set to 1).
4.5.3 Mesh Wizard
14. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current
row, if not done already.
15. Left-click Row Wizard in the toolbar.
The row wizard is also available in Expert Mode under Mesh Control subpad in the QAP.
16. Click yes to start the wizard and to reset the mesh generation parameters.
The reset will keep the modifications performed by the user in the Row Wizard but will reset the
parameters modified in Expert Mode to the default value.
The wizard is divided in 6 steps:
l the geometry check (optional),
l the machine characteristics definition,
l the gap and fillet definition,
l the flow path definition,
l the blade-to-blade mesh definition,
l the end of the initialization.
17. Click yes to confirm the geometry check (step 1).
During the geometry check of a blade, AutoGrid5™ performs the following operations: check blade
definition, check orientation of the blade section curves, detect loop detection into the blade section
curves and between the blade sections. More details can be found in the AutoGrid5™ User Guide.
18. Click Next in the dialog box to define the machine characteristics (step 2).
19. Select Francis Turbine as Row type in the Blade row type dialog box.
20. Enter the Periodicity (number of blades) if necessary. Left-click inside the string input area
and type <24>, press <Enter> to confirm.
21. Select Stator.
22. Click Next in the dialog box to start the gap and fillet definition (step 3).
23. Keep all data unchanged (no gap or fillet).
24. Click Next>> in the dialog box to start the flow path definition (step 4).
25. Set Spanwise Grid Point Number to < 57 > < Enter> (corresponding to the flow paths
number) in the Layer Control dialog box.
When increasing or decreasing the number of flow paths, the number of flow paths in the gaps and
fillets is automatically together with the percentage of constant cells, leading to an increase or
decrease of the spanwise expansion ratio.
26. Estimate the width of the first cell at the wall:
The width of the first cell close to the wall must be selected with care since the quality of the flow
solution will often depend upon the capture of the flow phenomena inside the boundary layers which
develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends to locate the nearest grid
point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low
Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must
be modeled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven
by the Blasius equation, expressed as follows for turbulent flows:
where:
l ywall is the distance of the nearest grid point to the wall (in meter);
l Vref is a reference velocity of the flow, for instance, the inlet velocity (in m/s);
l ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
l Lref is a reference length of the test case (in meter);
l y+ is a non-dimensional value.
In the present case, one can estimate that V ref=1.096 m/s, L ref=0.12m and ν=1.01e-6 m2 /s.
Assuming one wishes to get y+ =1 at the wall, it turns out that y = 2e-5 m.
Input the value of the Wall Cell Width = <0.02> [Millimeters] <Enter> in the Layer Control
dialog box.
27. Click Next>> in the dialog box to start the blade-to-blade mesh definition (step 5).
28. Set the Number of Points (of the 3D mesh) around 500,000 by clicking the << or >> button
in the B2B Control dialog box.
29. Click Preview B2B to plot the blade-to-blade mesh at mid-span: default O4H topology is
used with additional upstream/downstream H-blocks.
The Full Visibility option allows the user to see the mesh moving in the blade-to-blade view when
applying the optimization steps.
The default O4H topology includes 5 blocks:
l the skin block is an O-mesh surrounding the blade;
l the inlet block is a H-mesh located upstream the leading edge;
l the outlet block is a H-mesh located downstream the trailing edge;
l the up block is a H-mesh located above the blade section;
l the down block is a H-mesh located under the blade section.
30. Select Skewness or Expansion Ratio to plot the orthogonality or expansion ratio field of the
blade-to-blade mesh at mid-span.
31. Click Finish to end the initialization process (step 6).
32. Click no in order to set row 2 and row 3 before making the complete 3D Mesh Generation.
33. Define row 2 periodicity:
l Double left-click row 2 in meridional view.
l Impose a Periodicity of <24><Enter>.
l Impose a Rotation Speedof <0><Enter>.
l Close dialog box.
34. Copy the settings of row 1 to row 2:
l Left-click Row Definition -> Row List -> row 1.
l Click
Copy
Row
Wizard
Settings
in
the
toolbar
l Left-click Row Definition -> Row List -> row 2.
).
l Click
Paste
Row
Wizard
Settings
in
the
toolbar
).
(
(
This copy/paste option is very useful to easily impose the same wizard settings for multiple rows in a
multi-stage configuration.
35. Repeat step 14 to step 32 for row 3 with the following parameters:
l Francis Turbine as Row type, Periodicity=<13>, Rotor, Rotation speed (rpm)=<-500>.
l Spanwise Grid Point Number = <57>, Wall Cell Width = <0.02> [Millimeters].
l Set Number of Points around 600,000.
36. Under Row Definition, left-click Select All Rows.
37. Click Generate 3D in the toolbar.
Click no to check the blade- to- blade mesh quality at hub and/or shroud before generating the 3D
mesh.
Go to Row Definition and click Select All Rows to select all rows. Go to Mesh Control ->
Active B2B Layer to specify the flow path (layer) on which the mesh will be plotted in the blade-
to-blade view. By default, the active view is located at the mid-span of the machine (Active Layer
(%span) set to 50). The layer selected for visualization is defined in percentage of span, going from
hub (0%) to shroud (100%). Enter <0> <Enter> or <100> <Enter> in order to visualize the mesh at
hub or shroud respectively.
Select Update B2B View to regenerate the blade-to-blade mesh on the new specified layer in the
blade-to-blade view.
A detailed analysis of mesh quality can be performed on a blade- to- blade mesh after generation.
Information on orthogonality, aspect ratio and expansion ratio can be outlined in this window by
clicking
:
l Select quality criteria using the Type pull-down menu.
l Left-click Show chart to visualize the distribution of selected criteria in the form of a histogram.
The histogram is drawn for each row.
l Left- click part of the histogram to plot the concerned cells in blade- to- blade view or select
Display all cells to have an overview of the mesh quality.
l Left-click More info button to obtain information about minimum and maximum values of the
selected criteria.
l Close the quality checkbox.
After performing the blade-to-blade mesh quality check, the 3D mesh generation can be started by
clicking Row Definition -> Select All Rows and then clicking the Generate 3D button.
Once 3D grid generation is completed, a grid quality check is performed and displayed. Minimum
cell skewness, maximum expansion ratio and aspect ratio are reported, among others. Data is available
for the entire mesh and separately for each entity (row, technological effect, bulb). Data related to
grid quality report is automatically stored in a report file, once the project file is saved.
38. Close the dialog box. The page can be reopened by clicking
.
39. To improve the aspect ratio too high in the bulb area:
l Select Expert Mode.
l Click Outlet Bulb Topology Control in the toolbar.
l In the Outlet Bulb Mesh Topology dialog box, left-click on the bulb streamwise control and
type <45>, press <Enter> to confirm.
l Select Basic Mode.
l Left-click Row Definition -> row 3 in the QAP to activate the current row, if not done
already.
l Click Generate 3D in the toolbar.
4.5.4 Mesh Visualization
40. Select the View -> View 3D Solid Mesh menu.
41. Left-click the View 3D button in the toolbar to visualize only the 3D view.
By default, the 3D solid mesh is plotted on hub and blades. To remove the plot, select View -> Hide
3D Solid Mesh.
42. Use the Repetition icon (
) to toggle the repetition of the channel.
43. Use the View menu in the QAP to toggle edge, mesh and/or solid shading.
258
FINE™/Turbo 13.1 Tutorials
4.5.5
Check Boundary Conditions & Mesh Quality
44. Check for boundary conditions by clicking
.
45. Select UND under Type pull-down menu and press <Enter> to check that there are no
patches in the patch list still set to an undefined type.
It is important to ensure that no undefined patches (UND) are present in the mesh. If this is not the
case, they can usually be removed by increasing the tolerance and launching the Search procedure.
In a multi-stage context, interfaces between rotating and non-rotating rows are set to ROT.
46. Close the dialog box.
47. Left-click in the 3D view to activate the view (red border), if not done already.
48. Check for negative cells by clicking
.
49. Click Apply.
The computation of the negative volumes is performed first. Negative cells can be outlined in the
mesh pushing View neg cells button. Beware that the visualization of negative cells can be memory
consuming when a large number of cells must be displayed. It is then advised to first check the
number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.
50. Click ok and Close the dialog box.
51. Left-click in the 3D view to activate the view (red border), if not done already.
52. Check for grid quality by clicking
.
A detailed analysis of the mesh quality on a 3D mesh can only be performed once the 3D mesh has
been generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell
width can be outlined in this window using the Type pull-down menu.
53. Select block number (0 for all) - <Enter>.
54. Select quality criteria using the Type pull-down menu.
55. Left-click Show chart to visualize the distribution of selected criteria in the form of a
histogram. The histogram is drawn per block (0 = all blocks).
56. Left-click part of the histogram to plot the concerned cells in the 3D view.
57. Left-click the More info button to obtain information regarding minimum and maximum
values of the selected criteria and block.
58. Close the dialog box.
4.5.6
Save Project
59. Go to File -> Save Project As <tutorial4> and press <Enter> to save the mesh and template
files in the "_mesh" subfolder.
The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the
boundary
and
(".xmt_ txt"),
".qualityReport". The meaning of these files is detailed in the User Guide.
condition
".config"
".geom"
".cgns",
".bcs",
".igg",
types:
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh
with AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these
files is detailed in the User Guide.
Now that the mesh is saved, click here to set up the computation in FINE™/Turbo interface!
4.6
TUTORIAL 4: FLOW SETTINGS
The mesh generation process is now completed and one can now go back to the FINE™
graphical user interface in order to set the various flow settings required before starting the
computation. Access to the main menu and controls is provided through a menu bar and a left-
tree, and is complemented with an icon bar.
Access to the FINE™ graphical user interface from the AutoGrid5™ window is provided
through the Modules/Fine Turbo menu, simply confirm (yes) to enter FINE™ GUI. You are
now back at the FINE™ graphical user interface!
A step by step approach is provided in the following lines. It aims at driving you through the
various steps that need to be executed from mesh linking to the execution of the calculation.
4.6.1
Link Mesh and Project
60. Click the
icon and link the mesh "tutorial4.igg" to the project.
The user may be shown a warning message concerning the solver precision; accept this message. The
change of the solver precision is detailed in step 125.
61. Define grid units in Millimeters as the geometrical data inserted in the "tutorial4.geomTurbo"
file expressed in millimeters.
62. Select a Cylindrical and 3 Dimensions configuration. Click OK to close the dialog box.
4.6.2 Manage Computations
63. Rename the default computation "computation_1" as "111_SA" in the Computations area, to
indicate that the calculation will be executed on the coarse grid first and will use the Spalart-
Allmaras turbulence model. This can be achieved by left- clicking the Rename button and
replacing "computation_1" by "111_SA".
Similar operations can be executed using the New Computation or Remove buttons, to respectively
create a new computation or remove one.
4.6.3
Set Flow Configuration
64. Go to the tree in the left menu and double left-click the Configuration menu.
Three sub-menus related to the definition of the working fluid, main flow characteristics and rotating
machinery definition can then be accessed.
65. Double left-click Fluid Model to access the fluid database and select WATER as a working
fluid.
The fluid database includes a number of pre-defined fluids, covering various approximations in fluid
definition such as perfect gas, ideal (real) gas, incompressible fluids and fluids defined as a set of
thermodynamic tables (optional, subjected to a separate license key).
A default fluid database is provided by FINE™/Turbo. The user is also able to create and modify
his/her own fluids and/or use fluids created by others. More details about these functions are available
in the FINE™ User Guide.
66. Double left-click Flow Model to set the flow characteristics.
67. Select Steady to indicate that a steady solution is of interest.
68. Select Turbulent Navier-Stokes to activate the resolution of the RANS equations.
69. Select Spalart-Allmaras as the turbulence model of choice.
A number of turbulence models can be accessed through the interface. They require the additional
resolution of 0-equation to 4-equations, depending upon the model selected. Some of these models do
need a fine resolution near the wall (y+ ranging from 1 to 5), while others use the log-law concept
and can mimic the logarithmic law. More details can be found in the FINE™ User Guide.
70. Set Reynolds Number Related Info:
l Set the Characteristic length = <0.4> < Enter>,
l Set the Characteristic velocity = <10.472> < Enter>,
l Set the Characteristic density = <1001> < Enter>.
Characteristic variables (length, velocity, density) are required to estimate the Reynolds number. This
number is used at a few locations inside the flow solver, in particular inside the damping functions
related to the modeling of turbulence down to the walls.
The impact of the characteristic variables on the flow solution is very limited, but it is advised to
select values in accordance with characteristic quantities of the geometrical domain and flow
conditions. As an example, the characteristic length may be defined by a reference diameter or length
at the inlet and/or outlet of the computational domain, and/or the chord of the blade (if any). The
characteristic velocity may be set to the averaged inlet velocity. The characteristic density is fixed as
the average (molecular) fluid density.
71. Double left-click Rotating Machinery to set the rotating machinery definition.
72. Select row 1.
73. Check that the Rotational Speed = <0> <Enter>.
74. Select row 2.
75. Check that the Rotational Speed = <0> <Enter>.
76. Select row 3.
77. Check that the Rotational Speed = <-500> <Enter>.
In the cylindrical mode, the flow solver resolves the equations by default in a relative frame of
reference. As a consequence, the mesh attached to the blade is rotating at the same speed as the blade,
as far as no rotor- stator interaction is concerned. The rotation speed has been introduced in
AutoGrid5™ and transferred through FINE™, limiting user interventions in the graphical user
interface.
For rotating machinery projects, the axis of rotation must be aligned along the z- direction. In
addition, a unique rotation speed must be considered for the entire computational domain.
78. Left-click the Rotor-Stator tab.
A separate ID is allocated to each rotor-stator interface, based on data included in AutoGrid5™. Each
interface is defined with 2 patches, located upstream and downstream of the rotor-stator interface. The
definition of ID's and allocation of upstream/downstream sides is performed automatically in FINE™.
79. Left-click on the "outlet_id_10" patch.
80. Change the method to Full Non Matching Frozen Rotor (Periodicities Must Be Equal).
81. Keep ID Number to <10> <Enter>.
82. Keep Upstream for Side.
83. Select "inlet_id_10".
84. Change the method to Full Non Matching Frozen Rotor (Periodicities Must Be Equal).
85. Keep ID Number to <10> <Enter>.
86. Keep Downstream for Side.
87. Go through the remaining 2 groups and set the Conservative Coupling by Pitchwise Row
method for the rotor-stator surface between row 2 and row 3.
Several methods, based on steady quasi 3D approximations, can be accessed to ensure a proper
treatment of rotor-stator interfaces.
l The Conservative Coupling by Pitchwise Row method guarantees an exact conservation of
mass flow, momentum and energy through the interface and has proven to be robust in most
circumstances.
l The Local Conservative Coupling method is recommended in projects coupling an impeller
with a volute, and has proven to offer more robustness than the Conservative Coupling by
Pitchwise Row in these cases.
l The Full Non Matching Mixing Plane method is the default option. It guarantees an exact
conservation of mass flow, momentum and energy through the interface and relaxes several
constraints with respect to the preparation of the mesh. It is not activated as a default option but
may be a potential option.
l The Non Reflecting 1D Mixing Plane method is recommended when wave reflection is
observed at the interface, which can occur when the interface is close to the blade.
l The Non Reflecting 2D Mixing Plane method is recommended when a shock wave is crossing
the interface, and can give a better representation of the shock wave.
l The Full Non Matching Frozen Rotor method considers the rotor-stator interface as a perfect
connection and neglects the movement of the rotor in the connecting algorithm. In this approach,
the periodicities must necessarily be equal between the rotor and the stator.
4.6.4
Set Boundary Conditions
88. Go to the tree in the left menu and double left-click the Boundary Conditions menu.
During the grid generation process, AutoGrid5™ defines the type of the boundary conditions to be
applied on each block face. The most common types are INLET, OUTLET, PERIODIC and SOLID
boundary conditions.
PERIODIC boundary conditions are set automatically by the flow solver and must not be modified by
the user.
It is important to confirm each entry by pressing the <Enter> key.
89. Go to Mesh -> View On/Off to load the mesh into the FINE™ GUI.
This toggle menu is used to visualize the grid in FINE™. The parameters area will be overlapped by a
graphics window, and the small control button on the upper-left corner of the graphics window can
be used to resize the graphics area in order to visualize the parameters and the mesh simultaneously.
The selection of patches in the left column outlines the corresponding patch in the graphics area, thus
enabling a fast and easy visualization of the boundary conditions.
90. Go to the INLET tab:
l Select Mass Flow Imposed (related patches must be grouped),
l Select Velocity Direction,
l Set Vr / V = <-0.5591> <Enter>,
l Set Vt / V = <-0.829><Enter>,
l Set Vz / V = <0> <Enter>,
l Set Mass flow = <361> <Enter>,
l Set Static Temperature = <293> <Enter>,
l Choose Turbulent Viscosity as the Turbulent Quantities and set Turbulence Viscosity to
<1.1e-06> <Enter>
91. Go to the OUTLET tab:
l Select all patches (left-click on first patch and <Shift> + left-click on last patch),
l Click on Group to group them,
l Set name as <Outlet><Enter> in the Enter the new group name entry,
l Select Pressure Imposed,
l Select Averaged Static Pressure (related patches must be grouped),
l Set Static Pressure = <80000> <Enter>.
An averaged static pressure of 80000 Pa is fixed at the exit boundary of the computational domain.
Based on this data, at each iteration, the flow solver keeps the distribution of static pressure at the exit
and moves it to respect the averaged static pressure imposed.
92. Go to the SOLID tab and change settings of the row 3 shroud:
l Select group "row 3_shroud_(r.p.m. -500)",
l Select Adiabatic/Area Defined Rotation Speed,
l Keep Rotational Speed 1 = 0 RPM,
l Set Rotational Speed 2 = <-500> <Enter> RPM,
l Keep Lower Radius Limit = 0 m,
l Set Higher Radius Limit = <0.21> <Enter> m,
l Keep Lower Axial Limit = 0 m,
l Set Higher Axial Limit = <0.185> <Enter> m
l Activate Compute force and torque.
For each row, patches including the keyword "hub" are by default collected in a unique group named
as "row_*_hub_(r.p.m.*)". Patches including the keyword " shroud" are grouped in "row_*_shroud".
Finally, patches of the blade are grouped in "row_*_blade_(r.p.m.*)". If part of the row is rotating,
the suffix _(r.p.m. rot_speed) is added to the group name.
The presence of a tip gap is automatically taken into account in the blade group, thus minimizing user
intervention in the definition of
the boundary conditions. For a rotor, which is defined in
AutoGrid5™, it is assumed that the hub and the blade are fully rotating. The rotation speed takes the
value introduced during the mesh generation process. The shroud is assumed to be a fixed entity, with
no rotation speed assigned.
The rotation speed is usually considered as a constant for the entire patch (group). However, FINE™
integrates the possibility to define that only part of a patch is rotating (e.g. part of the hub).
For the Francis Turbine project, a constant rotational speed is considered.
The convergence of both axial thrust and torque can be monitored in the computational steering, to
make sure that both quantities have reached stable values at the end of the convergence process. Both
values are also available from the *.mf file located in the computation directory. The torque can also
be used for the calculation of the efficiency of the machine. It is common practice to enable force and
torque calculation on rotating patches only.
93. Go to Mesh -> View On/Off to toggle the mesh visualization, if needed.
4.6.5
Set Numerical Model
94. Go to the tree in the left menu and double left-click the Numerical Model menu.
This menu gives access to the most frequently used numerical parameters, including the Courant
Friedrichs Lewy (CFL) number and the selection of the grid level on which the simulation will apply.
It is important to confirm each entry by pressing the <Enter> key.
95. Keep CFL unchanged to 3.
The CFL number drives the pseudo-time step selected to reach a steady state solution using the time-
marching method integrated in the flow solver. In combination with the 4- step Runge- Kutta
integration scheme included in the flow solver, it has a theoretical stability limit close to 2.8.
However, the additional implicit smoothing scheme can increase this value slightly, which justifies the
default value of 3.
The default value for CFL number is adequate in most cases, but can be decreased in some
circumstances, in particular at off-design conditions.
96. Define the grid level on which the simulation will apply:
The flow solver is based on an explicit
time integration technique, which is accelerated using
dedicated multi- grid methods. To this end, several levels of intermediate grids must be generated
started from the finest one. This is achieved by taking one node over 2 in each I-, J- or K-directions,
starting from the finer grid level.
It is strongly advised to enable the definition of at least 3 grid levels, by carefully selecting the
number of nodes on every edge forming the patches and blocks. More details can be found in the
IGG™, AutoGrid5™ and FINE™ User Manuals.
In the FINE™ terminology, the finest grid level a user can access will be called 000, while the
intermediate and coarsest ones will be named the 111 and 222 level respectively, assuming 3 grid
levels can be selected.
Hybrid grid levels can theoretically be defined (e.g. 010 or 211). It is however not advised to use such
hybrid levels since it deforms the mesh in a preferential direction and thus possibly increasing the
aspect ratio. Consequently, the quality of the resulting mesh can be decreased.
l Set Current Grid Level = <1 1 1> <Enter>,
l Keep Number of Grid(s) = 2,
l Keep the Coarse Grid Initialization active.
In addition to the multi-grid acceleration technique, the number of iterations to convergence can be
significantly reduced by activating the coarse grid initialization process. In that case, the simulation
starts on the coarsest grid level available, leading to fast convergence. Once done, the flow solver
automatically interpolates the current flow solution on the intermediate levels before the iterative
process is restarted. A similar process goes on until the finest grid level is reached. The iterative
process is then continued as long as the convergence criteria is not reached or the maximum number
of iterations is not exceeded. More details can be found in the FINE™ User Guide.
l Activate Expert Mode to access expert parameters for coarse grid initialization,
l Change the Maximum number of cycles per grid level = <400> <Enter>.
97. Change preconditioning method to Hakimi. Define preconditioning parameters: keep default
parameters.
Preconditioning is applied for low speed flows and/or for modeling of incompressible fluids. At low
Mach numbers, the convergence rate of the iterative process can be largely slowed down due to the
numerical formulation selected in the flow solver. The equations are then preconditioned to recover a
satisfactory rate of convergence. Preconditioning is controlled in the Hakimi method through a user-
controlled parameter ß.
This parameter ß is imposed by the user through a coefficient ß* and the characteristic velocity Uref
such that:
ß² = ß* . (Uref
²) or,
ß² = ß* . max(Uref
²,Uloc
²) when local velocity scaling is active (Uloc is the local velocity)
Uref is the representative value of the maximum velocity in the flow field. For the user's convenience,
the constant Uref is always equal to the reference velocity specified in the Flow Model page and used
in the calculation of the Reynolds Number. In that case, U ref must be carefully selected since it
influences the convergence and when changed in the Numerical Model page, the value will also be
adapted automatically in the Flow Model page.
4.6.6
Set Initial Conditions
98. Go to the tree in the left menu and double left-click the Initial Solution menu.
99. Left-click the ROWS group.
The group is automatically created when the mesh is loaded into the FINE™ GUI. In complex
projects, hybrid initial solutions can be useful. In that case, a constant initial solution per block can be
selected for some groups, while others can benefit from an initial solution from Turbomachinery.
Limitations related to the use of hybrid initial solutions are described in the FINE™ User Manual.
100. Select for turbomachinery to access the initial solution menu for turbomachinery.
Initial conditions can be selected in different forms, going from constant values per block to
throughflow based solutions. When running a rotating machinery project case, it is common practice
to select the initial solution for Turbomachinery. Based on a 1D estimation of the flow solution, the
initial solution for Turbomachinery often enables a drastic reduction in the number of iterations in
running 3D simulations. Inputs ("best estimation") related to static pressure at inlet and rotor-stator
interfaces (if it applies) are requested.
101. Left-click the inlet patch ("row_1_flux_1_Main_Blade_upStream_inlet").
102. Set Estimated Static Pressure = <136000> <Enter>.
103. Left-click the rotor/stator interface ID10.
104. Set Estimated Static Pressure = <132000> <Enter>.
105. Left-click the rotor/stator interface ID20.
106. Set Estimated Static Pressure = <120000> <Enter>.
107. Choose Turbulent Viscosity as the Turbulent Quantities and set Turbulence Viscosity to
<1.1e-06> <Enter>
Groups ID10 and ID20 are automatically created when the mesh is loaded into the FINE™ GUI. The
presence of an inlet condition is mandatory to use the initial solution for turbomachinery.
4.6.7
Select Outputs
108. Go to the tree in the left menu and double left-click the Outputs menu. Double left-click
Computed Variables.
Quantities of interest in the simulation must be pre-selected in this menu. They will be stored in the
solution file (*.cgns) once the iterative process will be finished and/or during intermediate steps.
Quantities can be accessed both in the 3D field (Computed Variables) and/or in the meridional
plane (following circumferential averaging, see Azimuthal Averaged Variables). Additional data
can be selected on the solid walls and/or on predefined surfaces (Surface Averaged Variables).
The adequate selection of outputs of interest will reduce the size of the solution file. This is in
particular important when projects involving very fine meshes and/or unsteady capabilities are
managed.
109. Select Static, Total Absolute and Total Relative Temperature if not yet selected.
110. Select Static, Total Absolute and Total Relative Pressure if not yet selected.
111. Select Density, Entropy, Rothalpy and Dynamic viscosity if not yet selected.
112. Left-click the Velocities in the menu Categories.
113. Select Vxyz if not yet selected.
114. Select Wxyz if not yet selected.
Vxyz and Wxyz are the velocity vector fields in respectively the absolute and relative frame of
reference. The examination of solution quantities in the relative frame of reference is particularly
useful to observe the flow angles relative to the blade close to leading and trailing edge.
115. Left-click the Solid data in the menu Categories.
116. Select Static pressure, Static temperature, Cf, Relative velocity and y+ (in first inner
cell) if not yet selected.
Cf is known as the friction coefficient.
The parietal coordinate y+ is a direct function of the distance from the wall. Therefore, y+ = 0 at the
wall and takes a non- zero value at the center of the first cell close to the wall (also called "inner
cell"). As a consequence, the examination of y+ "at the wall" should be understood as the examination
"in the first inner cell". Although it is not correct theoretically speaking, this concept is very often
used to ease the post-treatment and benefit from the existing solid surfaces.
117. Left-click the Turbulence in the menu Categories.
118. Select Wall distance and Turbulent Viscosity ratio if not yet selected.
The analysis of the Turbulent Viscosity ratio field is often of major interest to ensure that the
turbulent quantities are computed accurately, according to the turbulence model and mesh refinement
selected.
Running k- epsilon related models gives access to additional quantities in particular related to the
production term, the kinetic energy and dissipation rate fields. It is strongly advised to activate these
fields for post-treatment.
119. Double left-click Azimuthal Averaged Variables.
120. Go through the various categories and select the quantities as selected under Computed
Variables.
Additionally, outputs can be re- directed using the PLOT3D format, using various formats. More
details can be found in the FINE™ User Guide.
4.6.8
Control Computation Steering
121. Go to the tree in the left menu and double left-click the Computation Steering menu.
122. Double left-click Control Variables.
123. Set Maximum Number Of Iterations = <2000> <Enter>.
124. Keep Save Solution Every = 100.
125. Keep Convergence Criteria = -6; change the solver precision from Single to Double.
Depending upon the quality of the initial solution, the density of the mesh (number of nodes) and the
complexity of the underlying flow field, a few hundred to a few thousand iterations are typically
required to reach convergence. The iterative process is stopped once the convergence criterion is
reached over the entire domain or the maximum number of iterations is exceeded on the finest grid
level (000).
The ability to select Minimum output offers the possibility to minimize the size of the solution files.
In this case, the flow solution is stored only once the iterative process is finished, and limited
information is provided during the intermediate storage. This limited information allows the user to
perform a restart procedure from an existing flow solution, but cannot be visualized within
CFView™.
Static memory allocation is enabled inside the flow solver. An estimation of the memory required to
in some
run and save the flow solution is calculated and proposed as a default. However,
circumstances, the estimation may be too low and it is then required to manually increase the number
of reals or integers necessary to drive the solution to success. In that case, click Set the requested
memory and increase the inputs accordingly.
4.6.9
Save Project & Start Calculation
126. Open the File menu and Save the project.
The project parameters are stored in the *.iec file. This file includes the entire set of parameters
required to reproduce the project, excluding the mesh.
127. Press the
task manager window will appear.
icon and click Start Flow Solver in the dialog box to start the calculation: a
The calculation will start in serial mode (1 processor) on the local machine. FINE™ includes multi-
processor capabilities and the ability to manage computations through a task manager and/or in batch
mode. More details can be found in the FINE™ User Guide.
4.6.10 Follow Convergence Steering
128. Double left-click Convergence History.
The evolution of averaged residuals on the entire domain can be observed during the convergence
process. Similarly,
the evolution of the mass flow balance (in/ out) and/ or global quantities
(isentropic efficiency, torque and axial thrust on solid walls selected in the boundary conditions page,
pressure ration) can be displayed.
Local and global quantities may also be added for follow- up during the convergence process.
However, their representation in the graphical area will only be effective once they are added in the
Selected Variables list, see FINE™ User Guide.
The examination of residuals per block and/or for a given primitive variable can be achieved
accessing the monitorTurbo tool. The tool is included in the FINE™ package and can be accessed
through the adequate command line. More details can be found in the FINE™ User Guide.
129. Once the calculation has converged or reaches the maximum number of iterations allowed
on the current grid level, the flow solver stops.
130. The final solution is then stored in the solution file (*.cgns) and the task manager window is
closed.
To check the convergence of the computation, NUMECA recommends observing the evolution of
multiple criteria including (a) an adequate decrease in residuals (minimum 3 orders of magnitude);
(b) complete stabilization of global performances; (c) stabilization of mass flow in/out, with
satisfactory correspondence (usually less than 0.5% difference between in/out).
Now that the iterative process is over, click here to start the visualization of the solution within the
post-treatment tool CFView™ integrated in FINE™/Turbo.
4.7
TUTORIAL 4: POST PROCESSING
The iterative process is now over and the flow solution is stored in the ".cgns" file. The number of
nodes in a typical mesh usually ranges from few hundred thousand to several million, which
makes visualization delicate in most cases. As part of the FINE™ environment, NUMECA
proposes the use of the home-made visualization and post-treatment tool CFView™. CFView™
is entirely integrated in the environment and includes numerous tools which are particularly best
suited for the analysis of turbomachinery configurations.
Access to CFView™ from the FINE™ graphical user interface is provided through the
Modules/CFView...menu, or alternatively by pressing the
icon.
A step by step approach is provided in the following lines. It aims at driving you through the
various steps that need to be executed from reading the solution to the extraction of the main
results. CFView™ automatically opens the ".run" file associated with the active computation.
After running turbomachinery computation and assuming some variables have been selected in
the Azimuthal Averaged Variables section of the FINE™ graphical user interface output page,
CFView™ proposes the user to open the azimuthal averaged solution first. Otherwise, the full 3D
solution will be opened.
131. Activate View the azimuthal averaged solution.
132. Left-click Start CFView.
You will now enter CFView™ !
4.7.1
Select Surfaces
133. Left-click "domain1" and "domain14" while holding <Shift> in the Surfaces area, then
right-click and choose Select in the pop-up menu to activate "domain1" to "domain14".
4.7.2
Select Quantity
134. Go to the Quantity menu.
135. Enter the Field Data -> Basic Quantities sub-menu.
136. Select quantity Wxyz.
All quantities selected in the FINE™ graphical user interface are transferred to CFView™. However,
additional derived output can be accessed directly from the visualization and post- treatment tool,
including vector components, gradients, divergence and curl of selected quantities. New quantities,
defined as an arithmetic combination of existing quantities possibly combined with regular operations
(trigonometric functions, logarithmic functions,...) can furthermore be created.
4.7.3
Select Representation
137. Access the Representation menu.
138. Select Vector Type... .
139. Activate Color Uniform.
140. Click Apply and Close the dialog box.
Once the candidate quantity for visualization is selected, the user must choose a representation mode.
Representation is typically executed in the form of color contours (smoothed or stripped) and/or
isolines. CFView™ also includes the possibility to investigate the flow field locally ("local value")
and create 1D Cartesian plots. Advanced capabilities involving curve and/or surface integration can
also be accessed. More details can be found in the CFView™ User Guide.
141. Select Vector On Grid Nodes ... in the Representation menu.
142. Adapt Step in the respective I and J directions at <3> and <2>.
143. Click Apply and Close the dialog box.
CFView™ offers the possibility to superpose representation modes. In the present case, the color
contour of the relative velocity magnitude will be superposed to the relative velocity vector field in
order to clearly identify the acceleration of the flow at the bend.
144. Go to Quantity -> Field Data -> Vector Components -> Wxyz sub-menu.
145. Select Magnitude of Wxyz to add the relative velocity magnitude to the list of available
quantities.
146. Open the Representation menu.
147. Select Color Contour -> Smooth.
148. Go to the Representation menu.
149. Select Cartesian Plot -> Along Section.
150. Left-click and drag in the graphics area to select the first and second point of the section.
151. Left-click on the Cartesian plot window to activate it (red border).
152. Right-click and select Show H Grid Lines.
153. Right-click and select Show V Grid Lines.
It can happen that two other curves appear in the Cartesian plot with a Magnitude of Wxyz of 0 all
over the Arc length. They can be deleted by left-clicking the curve in the Cartesian plot and selecting
Delete after right-clicking the selected curve.
154. Left-click the curve.
155. Right-click and select Curve Type.
156. Change Thickness from 2 to <1>.
157. Go to the Marker tab.
158. Change Symbol to Circle (if needed).
159. Change Size from 0.4 to <0.3>.
160. Change color to red.
161. Click Apply.
162. Left-click the Close button.
163. Left-click anywhere inside the Cartesian plot window.
164. Go to the View menu.
165. Select Maximize.
CFView™ offers the possibility to create and arrange Cartesian plots in different manners, with
numerous options related to the type,
the lines and symbols. The
manipulations are done interactively, mainly with the help of contextual menus. In addition,
CFView™ includes a powerful project and windows based management, giving the user
the
possibility to open multiple projects and manage several windows simultaneously. More details can be
found in the CFView™ User Guide.
thickness and colors of
4.7.4
3D Analysis
In the previous section, attention has been focused on the management and creation of plots in the
meridional plane, by means of the azimuthal averaged view. The creation of 3D plots is based on the
same concept of quantity selection and representation explained in the above sections. However, since
the plane of drawing is no longer two-dimensional, there is a need to select and/or create a surface for
representation first.
166. Go to the File menu.
167. Select Quit CFView to quit CFView™ and choose yes to confirm.
168. Access CFView™ again from the FINE™ GUI by pressing the
icon.
169. Deactivate View the azimuthal averaged solution.
170. Click Start CFView.
You will now enter 3D analysis mode in CFView™ !
171. Access the Geometry menu.
172. Select Boundary to deactivate boundary representation.
Boundary activation/deactivation is used as a toggle and acts on all selected surfaces. Fast access is
ensured using the binding key <b>.
173. Double left-click on check boxes of the groups "row1_shroud", "row2_shroud", "row3_
shroud_(r.p.m.-500)" inside the Surfaces area to deactivate the set of patches that define the
shroud entity. Groups "row1_ hub_ (r.p.m.0)", "row1_ blade", "row2_ hub_ (r.p.m.0)", "row2_
blade", "row3_hub_(r.p.m.-500)", "row3_blade_(r.p.m.-500)" are the only entities that remain
active at this moment.
Selection of surfaces for representation is controlled through the Surfaces area. Alternatively,
identical operations can be executed from the Geometry menu.
Patches flagged as solids are selected as the default surfaces for representation. Groups created in the
boundary condition area inside FINE™ are transferred directly to CFView™, so that the selection of
surface entities can be performed just in a few clicks.
Fast selection of a group of surfaces in a large list including numerous surfaces, which are partly
checked/unchecked, can be done by first left-clicking (combined with <Ctrl> or <Shift> for multiple
surfaces) on the target surface(s) desired for representation, followed by a right- click to get the
contextual menu and choosing Select.
174. Go to the Geometry menu.
175. Select Boundary again to activate boundary representation on active surfaces.
176. Go to the Geometry menu once more.
177. Select Grid to display the surface mesh on active surfaces.
Fast access to mesh representation is ensured using the binding key <g>.
178. Access the Render menu.
179. Select Shading -> Gouraud to shade active surfaces.
180. Make use of the Viewing buttons to modify the representation mode and locate the Francis
turbine to outline the blades and hub in a clear way.
181. Press the binding key <g> to deactivate the mesh on active surfaces.
182. Go to the Geometry menu.
183. Select Repetition Number.
184. Activate Max to set the maximum number of repetitions for all rows.
185. Click on Apply.
186. Open the Geometry menu.
187. Select Repetition on/off.
188. Go to the File menu.
189. Select Print ... .
Pictures can be printed in different formats, either on the active or graphics windows. Information
can be introduced in a banner. Options related to picture definition can also be modified.
190. Select Active View.
191. Set banner to <FRANCIS TURBINE> and press <Enter>.
192. Set the format to PNG.
193. Click OK.
194. Set the picture name and appropriate location.
195. Click Save.
The selection of Graphics Windows is recommended to insert several pictures in a unique file, as
they appear on the graphical window (WYSIWYG = what you see is what you get mode).
The ".png" format is often the preferred choice for printing.
196. Go to Update -> Delete -> All.
197. Go to Geometry -> Repetition on/off.
198. Click the
icon to fit the geometry.
199. Select Quantity -> Solid Data -> y+.
200. Select Representation -> Color Contour -> Strip.
201. Select Representation -> Scalar Range -> Colormap Optimum Range to automatically
adapt the range to the selected surfaces (hub and blades).
The parietal coordinate y+ is now enabled on active surfaces (hub and blade).
The range of representation has been adapted automatically to variations on the selected surfaces, so
as to outline details as effectively as possible.
202. Make use of the Viewing buttons to modify the representation mode and find a suitable
viewpoint.
203. Access the Representation menu.
204. Select Isolines -> Isolines....
205. Activate increment mode.
206. Change Value to <1> <Enter>.
207. Activate Color: Uniform.
208. Click Apply button.
209. Close the dialog box.
Gradients are clearly observed near the leading and trailing edge of the blades, consequently locally
driving y+ values up to about 12. However, the calculation is on grid level 111 and it is expected that
a calculation on the finest available mesh (level 000) will reduce y+ by about a factor 2. This allows
the main characteristics of the flow to be outlined in a clear and elegant manner
4.7.5
Blade-to-Blade View
210. Go to Update -> Delete -> All.
211. Go to Representation -> Colormap to remove the colormap.
212. Open the Render menu.
213. Select Shading -> Gouraud.
214. Go to the Geometry menu.
215. Select Blade to Blade Surface ... .
216. Set Surface type to Blade to blade.
217. Set S to <0.5> and press <Enter> (section located 50% spanwise).
218. Click the Apply button.
219. Click the Save button.
220. Click Close to quit the dialog box.
CFView™ integrates the possibility to create cuts at constant spanwise position (also called "blade-to-
blade" planes). This capability is especially useful when the endwalls are not planar. The surface for
representation at constant spanwise position is then created based on linear interpolation between the
endwalls.
Pressing the Save button in the dialog box creates an additional surface for representation in the
Surfaces area, enabling quantity selection and representation as discussed in the previous sections.
221. Select the surface "CUT1" inside the Surfaces area and right-click to access the contextual
menu.
222. Choose Select in order to select "CUT1" as the only active surface for representation.
223. Go to the Quantity menu.
224. Select Field Data -> Basic Quantities -> Absolute Total Pressure.
225. Open the Representation menu.
226. Select Color Contour -> Smooth.
227. Open the Representation menu again.
228. Select Scalar Range -> Colormap Optimum Range.
Colormap Optimum Range restricts the bounds of the colormap to those related to active surfaces
instead of the complete 3D domain. This capability is useful to outline a number of details in a clearer
manner. It can also be accessed by pressing the
icon.
229. Left-click the colormap.
230. Right-click and select Move or Resize.
231. Drag and drop the colormap to an appropriate location.
232. Move the mouse to a corner of the colormap to adjust the size.
It is advised to put the colormap at a location where it does not interfere with the representation, to
avoid any difficulty in the interpretation of the results.
233. Left-click the colormap.
234. Right-click and select Smooth Only.
4.7.6
Turbomachinery Mode
235. Open the File menu.
236. Select Turbomachinery.
237. Choose Load Flow Solver Pitch Average under Meridional Average.
238. Click Ok.
You have now entered the Turbomachinery mode! It gives simultaneous access to meridional,
meridional average, blade-to-blade and 3D views.
Actions required for surface representation, quantity selection and representation apply similarly to
those described in the previous sections. More details can be found in the CFView™ User Guide.
TUTORIAL 5.
MULTISTAGE AXIAL COMPRESSOR
5.1
NUMECA SOFTWARE
The resolution of computational fluid dynamics (CFD) problems involves three main steps:
l spatial discretization of the flow equations,
l flow computation,
l visualization of the results.
To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal
integrates the
and Turbomachinery assimilations called FINE™/Turbo. The environment
following tools:
l IGG™ is an Interactive Geometry modeler and Grid generator, based on structured multi-
block techniques.
l AutoGrid5™ is a three-dimensional Automated Grid generation software tool, dedicated to
is based on structured multi- block
it
turbomachinery applications. Similarly to IGG™,
techniques.
l Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes
equations in the laminar, transitional and turbulent regimes.
l CFView™ is a highly interactive flow visualization and post-treatment software tool.
l FINE™ Graphical User Interface is a user-friendly environment that includes the different
software. It integrates the concept of projects and allows the user to achieve complete
simulations, going from the grid generation to flow visualization, without the need of file
manipulation.
A turbomachine is a device in which the energy is transferred either to or from a continuously
flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in
particular in aircraft, marine, space (liquid rockets) and land propulsion systems but also in
hydraulic, gas and steam turbine applications. It is also used in industrial pipeline and processing
equipment such as gas, petroleum and water pumping plants. Other applications can be related to
heart-assist pumps, industrial compressors and refrigeration plants, and more.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is
composed of several basic elements including the blade (also called vane if it is non-rotating),
hub, and shroud. Several technological effects involving clearances, seal leakages and cooling
holes among others can complete the machine. Due to the complexity of the blade shapes, the
presence of technological elements and the rotation of machine, the nature of the flow is strongly
three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the simulation of a multi-stage axial-flow turbomachine. It
makes use of FINE™/Turbo and describes how to deal with the specific options implemented in
FINE™ environment. In this tutorial you will learn how to:
l define multi-rows;
l generate and optimize the blade-to-blade mesh;
l control the quality of the mesh in the blade-to-blade and 3D mesh;
l manage the fluid database;
l model rotor-stator interface using mixing plane approach;
l set up both boundary and initial conditions;
l numerical process management;
l select adequate outputs;
l launch the calculation process;
l check for convergence;
l visualize and analyze the results.
5.2
PREREQUISITES
This tutorial does not require any prior experience with the menu structure in FINE™/Turbo.
5.3
PROBLEM DESCRIPTION
The tutorial deals with a 1-1/2 compressor stage, which is part of a 3-1/2 stages axial compressor.
Both stators (38 and 40 blades) and rotor (25 blades) are cylindrical and twisted. The rotor is
unshrouded with a tip-clearance of 0.3 mm and rotating with the speed 15,000 RPM.
5.4
PREPARATION
l Start FINE™/Turbo v13.1:
l For Linux systems, you can access FINE™/Turbo graphical user interface with the
following command line:
fine -niversion 131 -print
l For WINDOWS systems, you can access FINE™/Turbo graphical user interface from the
start menu by going to /Programs/NUMECA software/Fine131/FINE.
l Click the Create a New Project icon to create a new project.
l Select your directory of choice to store the project.
l Enter the project name in the dialog box as <Tutorial5> <Enter>.
l Click on Create Grid File to access the interactive geometry modeler and grid generator
IGG™.
l Access the menu Modules, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.
You are now ready to start the grid generation process and mesh the AXIAL COMPRESSOR
configuration! Click here to start the mesh generation...
5.5
TUTORIAL 5: MESH GENERATION
The AutoGrid5™ graphical user interface includes several windows that enable the simultaneous
visualization of the geometry and the mesh of the turbomachine in the meridional, blade-to-blade
and 3D views. The access to main menu and controls is provided through a menu bar and a
quick access pad, and is complemented with a tool/icon bar. The execution of the different
actions undertaken is summarized in the message box at the bottom of the interface.
A step by step approach is provided in the following lines. It aims at driving you through various
steps that need to be executed from the creation of the mesh project to the validation of the final
mesh quality.
5.5.1
Create Mesh Project
1. Select Basic Mode if necessary in the toolbar.
The Basic Mode will give access to a simplified graphical user interface. For most projects the
available parameters in the Basic Mode are sufficient.
2. Close the Open Turbo Project Wizard dialog box.
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with
associated grid) including the data required to regenerate a mesh on an identical or similar geometry.
In this tutorial, these data will be progressively introduced based on the geometry of the project case.
3. Go to File -> New Project.
4. Click yes to close the active project.
5. Choose Initialize a New Project from a geomTurbo File.
5.5.2
Load Geometry
6. Locate and select "stator1.geomTurbo" (geometry defined in [Millimeter]) in the dialog box
and click Open. ("Where to Find the Files Used in the Tutorials?" (p. 10))
The ".geomTurbo" file format is structured in three main blocks: the header, the channel and the row
definitions.
The channel format contains the definition of the turbomachinery meridional contour (hub, shroud).
It is composed of curves defined by a set of points. The ".geomTurbo" file must contain two channel
curves named respectively "hub" and "shroud".
The row definition contains the geometry of a complete row. It is defined by a row name, a row type,
a periodicity and the definition of the main blade and possibly the splitter(s). The blade and splitter
are defined by the pressure and the suction side surfaces identified by the keywords "pressure" and
"suction". Both surfaces are specified by a set of cross sections of the blade at several spanwise
locations from hub to shroud. Each section is defined by a set of points from leading to trailing edge.
7. In Row Definition, click Add Row.
8. Go to row 2 -> Blades -> Main Blade, left-click Main Blade.
9. Right-click to access the contextual menu and select Define Geometry.
10. Locate and select "rotor.geomTurbo" (geometry defined in [Millimeter]) in the dialog box and
click Open.
11. Repeat step 7 to step 10 to import "stator2.geomTurbo" for row 3.
The three elements are displayed in the meridional view corresponding to the three parts of the
turbine. The location of the rotor/stator mixing plane is automatically defined by AutoGrid5™. The
default location is set at the average meridional location between the downstream trailing edge and
the upstream leading edge.
12. Control the domain limits:
The inlet and outlet limits of the domain are by default automatically defined by AutoGrid5™ using
two straight lines joining the limits of the hub and shroud definitions. The shape and the location of
the inlet and outlet boundaries can be modified interactively.
You can access the control points of the inlet/outlet and modify their location by dragging the points.
The exact coordinates of the control points can also be set by right-clicking the control point; a dialog
box will appear, enabling the user to enter the point coordinates in (rz) mode.
In Expert Mode, there is another way to control the shape of inlet/outlet. Move the mouse onto the
inlet/outlet. When it becomes highlighted in yellow, right-click and select Properties in the pop-up
menu. Activate for example Z constant and enter the coordinates where the inlet/outlet should be
locate.
l Left-click the inlet when highlighted in yellow in the meridional view.
l Right-click the Top Point when highlighted in yellow.
l Set the Z value to <77.6><Enter> in the Point Location dialog box.
l Left-click the Bottom Point when highlighted in yellow.
l Set the Z value to <77.6><Enter> in the Point Location dialog box.
l Close the Point Location dialog box by clicking the cross at the top right corner.
13. Repeat step 12 for the outlet: for the top and bottom point, set the Z value to <266> and press
<Enter>.
5.5.3 Mesh Wizard
14. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current
row, if not done already.
15. Left-click Row Wizard in the toolbar.
The row wizard is also available in Expert Mode under Mesh Control subpad in the QAP.
16. Click yes to start the wizard and to reset the mesh generation parameters.
The reset will keep the modifications performed by the user in the Row Wizard but will reset the
parameters modified in Expert Mode to the default value.
The wizard is divided in 6 steps:
l the geometry check (optional),
l the machine characteristics definition,
l the gap and fillet definition,
l the flow path definition,
l the blade-to-blade mesh definition,
l the end of the initialization.
17. Click yes to confirm the geometry check (step 1).
During the geometry check of a blade, AutoGrid5™ performs the following operations: check blade
definition, check orientation of the blade section curves, detect loop detection into the blade section
curves and between the blade sections. More details can be found in the AutoGrid5™ User Guide.
18. Click Next in the dialog box to define the machine characteristics (step 2).
19. Select Axial Compressor as Row type in the Blade row type dialog box.
20. Enter the Periodicity (number of blades) if necessary. Left-click inside the string input area
and type <38>, press <Enter> to confirm.
21. Select Stator.
22. Click Next in the dialog box to start the gap and fillet definition (step 3).
23. Keep all data unchanged (no gap or fillet).
24. Click on Next>> in the dialog box to start the flow path definition (step 4).
25. Set Spanwise Grid Point Number to <57> and press <Enter> (corresponding to the flow
paths number) in the Layer Control dialog box.
When increasing or decreasing the number of flow paths, the number of flow paths in the gaps and
fillets is automatically together with the percentage of constant cells, leading to an increase or
decrease of the spanwise expansion ratio.
26. Estimate the width of the first cell at the wall:
The width of the first cell close to the wall must be selected with care since the quality of the flow
solution will often depend upon the capture of the flow phenomena inside the boundary layers which
develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends to locate the nearest grid
point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low
Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must
be modelled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven
by the Blasius equation, expressed follows for turbulent flows:
where:
l ywall is the distance of the nearest grid point to the wall (in meter);
l Vref is a reference velocity of the flow, for instance the inlet velocity (in m/s);
l ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
l Lref is a reference length of the test case (in meter);
l y+ is a non-dimensional value.
In the present case, one can estimate that V ref=200 m/s, L ref=0.05 m and ν=1.43e-6 m²/s.
Assuming one wishes to get y+ = 1.5 at the wall, it turns out that y = 3 x 10-6 m.
Input the value of the Wall Cell Width = <0.003> [Millimeters] <Enter> in the Layer Control
dialog box.
27. Click Next>> in the dialog box to start the blade-to-blade mesh definition (step 5).
28. Set the Number of Points (of the 3D mesh) around 300,000 by clicking the << or >> button
in the B2B Control dialog box.
29. Click Preview B2B to plot the blade-to-blade mesh at mid-span: default O4H topology is
used with additional upstream/downstream H-blocks.
The Full Visibility option allows the user to see the mesh moving in the blade-to-blade view when
applying the optimization steps.
The default O4H topology includes 5 blocks:
l the skin block is an O-mesh surrounding the blade;
l the inlet block is a H-mesh located upstream the leading edge;
l the outlet block is a H-mesh located downstream the trailing edge;
l the up block is a H-mesh located above the blade section;
l the down block is a H-mesh located under the blade section.
30. Select Skewness or Expansion Ratio to plot the orthogonality or expansion ratio field of the
blade-to-blade mesh at mid-span.
31. Click Finish to end the initialization process (step 6).
32. Click no to set row 2 and row 3 before making the complete 3D mesh generation.
33. Repeat step 14 to step 32 for row 2 with the following parameters:
l Axial Compressor as Row type , Periodicity =< 25 >, Rotor , Rotation speed
(rpm)=<15000>.
l Select Tip Gap, Width At Leading Edge = Width At Trailing Edge = <0.3> [Millimeters].
The width at leading/trailing edge allows the user to specify the size of the gap respectively at the
leading and trailing edge of the blade. The gap curve is then constructed as a linear offset of the hub
(or the shroud) according to these values.
l Spanwise Grid Point Number=<73>, Wall Cell Width=<0.003> [Millimeters].
l Set Number of points around 600,000, keep Full Matching Mesh active to impose a
matching connection between the channel and the gap.
34. Repeat step 14 to step 32 for row 3 with the following parameters:
l Axial Compressor as Row type, Periodicity=<40>, Stator.
l Spanwise Grid Point Number=<57>, Wall Cell Width=<0.003> [Millimeters].
l Set Number of points around 300,000.
35. In Row Definition, left-click Select All Rows.
36. Click Generate 3D in the toolbar.
Select Update B2B View to regenerate the blade-to-blade mesh on the new specified layer in the
blade-to-blade view.
A detailed analysis of mesh quality can be performed on the blade-to-blade mesh after generation.
Information on orthogonality, aspect ratio and expansion ratio can be outlined in this window by
clicking
:
l Select a row in the Row list <Enter>.
l Select quality criteria using the Type pull-down menu.
l Left- click Show chart to visualize the distribution of the selected criteria in the form of a
histogram. The histogram is drawn for each row.
l Left- click part of the histogram to plot the concerned cells in blade- to- blade view or select
Display all cells to have an overview of the mesh quality.
l Left- click the More info button to obtain information regarding the minimum and maximum
values of the selected criteria.
l Close the quality checkbox.
After performing the blade-to-blade mesh quality check, the 3D mesh generation can be started by
clicking Row Definition -> Select All Rows and then clicking the Generate 3D button.
Once 3D grid generation is completed, a grid quality check is performed and displayed. Minimum
cell skewness, maximum expansion ratio and aspect ratio are reported, among others. Data is available
for the entire mesh and separately for each entity (row, technological effect, bulb). Data related to
grid quality report is automatically stored in a report file, once the project file is saved.
37. Close the dialog box. The page can be reopened by clicking
.
5.5.4 Mesh Visualization
38. Select the View -> View 3D Solid Mesh menu.
39. Left-click the View 3D button in the toolbar to visualize only the 3D view.
By default the 3D solid mesh is plotted on hub and blades. To remove the plot, select View -> Hide
3D Solid Mesh.
40. Use the Repetition icon (
) to toggle the repetition of the channel.
41. Use the View menu in the QAP to toggle edge, mesh and/or solid shading.
5.5.5
Check Boundary Conditions & Mesh Quality
42. Check for boundary conditions by clicking
.
43. Select UND under Type pull-down menu and press <Enter> to check that there are no
patches are in the patch list still set to an undefined type.
It is important to ensure that no undefined patches (UND) are present in the mesh. If this is not the
case, they can usually be removed by increasing the tolerance and launching the Search procedure.
In a multi-stage context, interfaces between rotating and non-rotating rows are set to ROT.
44. Close the dialog box.
45. Left-click in the 3D view to activate the view (red border), if not done already.
46. Check for negative cells by clicking
.
47. Click Apply.
The computation of the negative volumes is performed first. Negative cells can be outlined in the
mesh pushing View neg cells button. Beware that the visualization of negative cells can be memory
consuming when a large number of cells must be displayed. It is then advised to first check the
number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.
48. Click ok and Close the dialog box.
49. Left-click in the 3D view to activate the view (red border), if not done already.
50. Check for grid quality by clicking
.
A detailed analysis of the mesh quality on a 3D mesh can only be performed once the 3D mesh has
been generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell
width can be outlined in this window using the Type pull-down menu.
51. Select block number (0 for all) - <Enter>.
52. Select quality criteria using the Type pull-down menu.
53. Left-click Show chart to visualize the distribution of selected criteria in the form of a
histogram. The histogram is drawn per block (0 = all blocks).
54. Left-click part of the histogram to plot the concerned cells in the 3D view.
55. Left-click the More info button to obtain information regarding minimum and maximum
values of the selected criteria and block.
56. Close the dialog box.
5.5.6
Save Project
57. Go to File -> Save Project As <tutorial5> and press <Enter> to save mesh and template files
in the "_mesh" subfolder.
The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the
boundary
and
(".xmt_ txt"),
".qualityReport". The meaning of these files is detailed in the User Guide.
condition
".config"
".geom"
".cgns",
".bcs",
".igg",
types:
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh
with AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these
files is detailed in the User Guide.
Now that the mesh is saved, click here to set up the computation in FINE™/Turbo interface!
5.6
TUTORIAL 5: FLOW SETTINGS
The mesh generation process is now completed and one can now go back to the FINE™
graphical user interface in order to set the various flow settings required before starting the
computation. Access to the main menu and controls is provided through a menu bar and a left-
tree, and is complemented with an icon bar.
Access to the FINE™ graphical user interface from the AutoGrid5™ window is provided
through the Modules/Fine Turbo menu, simply confirm (yes) to enter FINE™ GUI. You are
now back at the FINE™ graphical user interface!
A step by step approach is provided in the following lines. It aims at driving you through the
various steps that need to be executed from mesh linking to the execution of the calculation.
5.6.1
Link Mesh & Project
58. Click the
icon and link the mesh "tutorial5.igg" to the project.
The user may be shown a warning message concerning the solver precision; accept this message. The
change of the solver precision is detailed in step 116.
59. Define grid units in Millimeters as the geometrical data inserted in the "tutorial5.geomTurbo"
file is expressed in millimeters.
60. Select a Cylindrical and 3 Dimensions configuration.
61. Click OK to close the dialog box.
5.6.2 Manage Computations
62. Rename the default computation "computation_1" as "111_SA" in the Computations area, to
indicate that the calculation will be executed on the coarse grid first and will use the Spalart-
Allmaras turbulence model. This can be achieved by left- clicking the Rename button and
replacing "computation_1" by "111_SA".
Similar operations can be executed using the New Computation or Remove buttons, to respectively
create a new computation or remove one.
5.6.3
Set Flow Configuration
63. Go to the tree in the left menu and double left-click the Configuration menu.
Three sub-menus related to the definition of the working fluid, main flow characteristics and rotating
machinery definition can then be accessed.
64. Double left-click Fluid Model to access the fluid database.
65. Select AIR(Perfect). Air, considered as a perfect gas, is now selected as a working fluid.
The fluid database includes a number of pre-defined fluids, covering various approximations in fluid
definition such as perfect gas, ideal (real) gas, incompressible fluids and fluids defined as a set of
thermodynamic tables (optional, subjected to a separate license key).
A default fluid database is provided by FINE™/Turbo. The user is also able to create and modify
his/her own fluids and/or use fluids created by others. More details about these functions are available
in the FINE™ User Guide.
66. Double left-click Flow Model to set the flow characteristics.
67. Select Steady to indicate that a steady solution is of interest.
68. Select Turbulent Navier-Stokes to activate the resolution of the RANS equations.
69. Select Spalart-Allmaras as the turbulence model of choice.
A number of turbulence models can be accessed through the interface. They require the additional
resolution of 0-equation to 4-equations, depending upon the model selected. Some of these models do
need a fine resolution near the wall (y+ ranging from 1 to 5), while others use the log-law concept
and can mimic the logarithmic law. More details can be found in the FINE™ User Guide.
70. Set Reynolds Number Related Info:
l Set the Characteristic length = <0.05> < Enter>,
l Set the Characteristic velocity = <200> < Enter>,
l Set the Characteristic density = <1.2> < Enter>,
l Set the Reference temperature = <300> < Enter>,
l Set the Reference pressure = <101325> < Enter>.
Characteristic variables (length, velocity, density) are required to estimate the Reynolds number. This
number is used at a few locations inside the flow solver, in particular inside the damping functions
related to the modeling of turbulence down to the walls.
The impact of the characteristic variables on the flow solution is very limited, but it is advised to
select values in accordance with characteristic quantities of the geometrical domain and flow
conditions. As an example, the characteristic length may be defined by a reference diameter or length
at the inlet and/or outlet of the computational domain, and/or the chord of the blade (if any). The
characteristic velocity may be set to the averaged inlet velocity. The characteristic density is fixed as
the average (molecular) fluid density.
71. Double left-click Rotating Machinery to set the rotating machinery definition.
72. Select row 1.
73. Check that the Rotational Speed = <0> <Enter>.
74. Select row 2.
75. Check that the Rotational Speed = <15000> <Enter>.
76. Select row 3.
77. Check that the Rotational Speed = <0> <Enter>.
In the cylindrical mode, the flow solver resolves the equations by default in a relative frame of
reference. As a consequence, the mesh attached to the blade is rotating at the same speed as the blade,
as far as no rotor- stator interaction is concerned. The rotation speed has been introduced in
AutoGrid5™ and transferred through FINE™, limiting user interventions in the graphical user
interface.
For rotating machinery projects, the axis of rotation must be aligned along the z- direction. In
addition, a unique rotation speed must be considered for the entire computational domain.
78. Left-click the Rotor-Stator tab.
A separate ID is allocated to each rotor-stator interface, based on data included in AutoGrid5™. Each
interface is defined with 2 patches, located upstream and downstream of the rotor-stator interface. The
definition of ID's and allocation of upstream/downstream sides is performed automatically in FINE™.
79. Make sure that Conservative Coupling by Pitchwise Row is active on rotor-stator patches.
Several methods, based on steady quasi 3D approximations, can be accessed to ensure a proper
treatment of rotor-stator interfaces.
l The Conservative Coupling by Pitchwise Row method guarantees an exact conservation of
mass flow, momentum and energy through the interface and has proven to be robust in most
circumstances.
l The Local Conservative Coupling method is recommended in projects coupling an impeller
with a volute, and has proven to offer more robustness than the Conservative Coupling by
Pitchwise Row in these cases.
l The Full Non Matching Mixing Plane method is the default option. It guarantees an exact
conservation of mass flow, momentum and energy through the interface and relaxes several
constraints with respect to the preparation of the mesh. It is not activated as a default option but
may be a candidate of choice in some circumstances.
l The Non Reflecting 1D Mixing Plane method is recommended when wave reflection is
observed at the interface, which can occur when the interface is close to the blade.
l The Non Reflecting 2D Mixing Plane method is recommended when a shock wave is crossing
the interface, and can give a better representation of the shock wave.
l The Full Non Matching Frozen Rotor method considers the rotor-stator interface as a perfect
connection and neglects the movement of the rotor in the connecting algorithm. In this approach,
the periodicities must necessarily be equal between the rotor and the stator.
5.6.4
Set Boundary Conditions
80. Go to the tree in the left menu and double left-click the Boundary Conditions menu.
During the grid generation process, AutoGrid5™ defines the type of the boundary conditions to be
applied on each block face. The most common types are INLET, OUTLET, PERIODIC and SOLID
boundary conditions.
PERIODIC boundary conditions are set automatically by the flow solver and must not be modified by
the user.
It is important to confirm each entry by pressing the <Enter> key.
81. Go to Mesh -> View On/Off to load the mesh into the FINE™ GUI.
This toggle menu is used to visualize the grid in FINE™. The parameters area will be overlapped by a
graphics window, and the small control button on the upper-left corner of the graphics window can
be used to resize the graphics area in order to visualize the parameters and the mesh simultaneously.
The selection of patches in the left column outlines the corresponding patch in the graphics area, thus
enabling a fast and easy visualization of the boundary conditions.
82. Go to the INLET tab:
l Select Total Quantities Imposed,
l Select Velocity Direction (V extrapolated) type of boundary conditions,
l Set Vr / |V| = <0> <Enter>,
l Set Vt / |V| = <0> <Enter>,
l Set Vz / |V| = <1> <Enter>,
l Set Absolute Total Pressure = <101325> <Enter>,
l Set Absolute Total Temperature = <288.15> <Enter>,
l Choose Turbulent Viscosity as the Turbulent Quantities and set Turbulence Viscosity to
<0.0001> <Enter>
83. Go to the OUTLET tab:
l Select Pressure Imposed,
l Activate Radial Equilibrium,
l Set Static Pressure = <106000> <Enter>,
l Set Radius = <0.13> <Enter>,
l Keep Radial Direction to J.
A constant static pressure of 106000 Pa is fixed at the exit boundary of the computational domain, at
radius r = 0.13 m. Based on these data, the flow solver calculates the distribution of static pressure at
the exit, along the spanwise (J) direction, according to the radial equilibrium equation. This boundary
condition should be restricted to axial machines.
84. Go to the SOLID tab: keep default settings.
For each row, patches including the keyword "hub" are by default collected in a unique group named
as "row*_ hub". Patches including the keyword "shroud" are grouped in "row*_ shroud". Finally,
patches of the blade are grouped in "row*_blade". If the part of the row is rotating, the suffix "_
(r.p.m. rot_speed)" is added to the group name. The presence of a tip gap is automatically taken into
account in the blade group, thus minimizing user intervention in the definition of the boundary
conditions. For a rotor, as defined in AutoGrid5™, it is assumed that the hub and the blade are fully
rotating. The applied rotation speed is the value introduced during the mesh generation process. The
shroud is assumed to be a fixed entity, with no rotation speed assigned.
The convergence of both axial thrust and torque can be monitored in the computational steering, to
make sure that both quantities have reached stable values at the end of the convergence process. Both
values are also available from the *.mf file located in the computation directory. The torque can also
be used for the calculation of the efficiency of the machine. It is common practice to enable force and
torque calculation on rotating patches only.
85. Go to Mesh ->View On/Off to toggle the mesh visualization, if needed.
5.6.5
Set Numerical Model
86. Go to the tree in the left menu and double left-click the Numerical Model menu.
This menu gives access to the most frequently used numerical parameters, including the Courant
Friedrichs Lewy (CFL) number and the selection of the grid level on which the simulation will apply.
It is important to confirm each entry by pressing the <Enter> key.
87. Keep CFL unchanged to 3.
The CFL number drives the pseudo-time step selected to reach a steady state solution using the time-
marching method integrated in the flow solver. In combination with the 4- steps Runge- Kutta
integration scheme included in the flow solver, it has a theoretical stability limit close to 2.8.
However, the additional implicit smoothing scheme can increase this value slightly, which justifies the
default value of 3.
The default value for CFL number is adequate in most cases, but can be decreased in some
circumstances, in particular at off-design conditions.
88. Define the grid level on which the simulation will apply:
The flow solver is based on an explicit
time integration technique, which is accelerated using
dedicated multi- grid methods. To this end, several levels of intermediate grids must be generated
started from the finest one. This is achieved by taking one node over 2 in each I-, J- or K-directions,
starting from the finer grid level.
It is strongly advised to enable the definition of at least 3 grid levels, by carefully selecting the
number of nodes on every edge forming the patches and blocks. More details can be found in the
IGG™, AutoGrid5™ and FINE™ User Manuals.
In the FINE™ terminology, the finest grid level a user can access will be called 000, while the
intermediate and coarsest ones will be named the 111 and 222 level respectively, assuming 3 grid
levels can be selected.
Hybrid grid levels can theoretically be defined (e.g. 010 or 211). It is however not advised to use such
hybrid levels since it deforms the mesh in a preferential direction and thus possibly increasing the
aspect ratio. Consequently, the quality of the resulting mesh can be decreased.
l Keep Current Grid Level = <1 1 1>,
l Keep Number of Grid(s) = <2>,
l Keep the Coarse Grid Initialization active.
In addition to the multi-grid acceleration technique, the number of iterations to convergence can be
significantly reduced by activating the coarse grid initialization process. In that case, the simulation
starts on the coarsest grid level available, leading to fast convergence. Once done, the flow solver
automatically interpolates the current flow solution on the intermediate levels before the iterative
process is restarted. A similar process goes on occurs until as the expected finest grid level is reached.
The iterative process is then continuedthen pursued as long as the convergence criteria is not reached
or the maximum number of iterations is not exceeded. More details can be found in the FINE™ User
Guide.
l Activate Expert Mode to access expert parameters for coarse grid initialization,
l Select Increase on higher level in Scheme definition.
The amount of sweeps is the number of times the Runge-Kutta operator is applied. In many cases, the
convergence rate may be significantly improved by performing a higher number of sweeps on the
coarse levels. However, it should be noted that more sweeps have as a consequence that more time is
required per iteration
5.6.6
Set Initial Conditions
89. Go to the tree in the left menu and double left-click the Initial Solution menu.
90. Left-click the ROWS group.
The group is automatically created when the mesh is loaded into the FINE™ GUI. In complex
projects, hybrid initial solutions can be useful. In that case, a constant initial solution per block can be
selected for some groups, while others can benefit from an initial solution from Turbomachinery.
Limitations related to the use of hybrid initial solutions are described in the FINE™ User Guide.
91. Select for turbomachinery to access the initial solution menu for turbomachinery.
Initial conditions can be selected in different forms, going from constant values per block to
throughflow based solutions. Running a rotating machinery project case, it is common practice to
select the initial solution for Turbomachinery. Based on a 1D estimation of the flow solution, the
initial solution for Turbomachinery often enables a drastic reduction in the number of iterations in
running 3D simulations. Inputs ("best estimation") related to static pressure at inlet and rotor-stator
interfaces (if it applies) are requested.
92. Left-click inlet patch ("row_1_flux_1_Main_Blade_upStream_inlet").
93. Set Estimated Static Pressure = <90000> <Enter>.
94. Left-click the rotor/stator interface ID10.
95. Set Estimated Static Pressure = <85000> <Enter>.
96. Left-click the rotor/stator interface ID20.
97. Set Estimated Static Pressure = <100000> <Enter>.
98. Choose Turbulent Viscosity as the Turbulent Quantities and set Turbulence Viscosity to
<0.0001> <Enter>
Groups ID10 and ID20 are automatically created when the mesh is loaded into the FINE™ GUI. The
presence of an inlet condition is mandatory for use with the initial solution for turbomachinery.
5.6.7
Select Outputs
99. Go to the tree in the left menu and double left-click the Outputs menu. Double left-click
Computed Variables.
Quantities of interest in the simulation must be pre-selected in this menu. They will be stored in the
solution file (*.cgns) once the iterative process will be finished and/or during intermediate steps.
Quantities can be accessed both in the 3D field (Computed Variables) and/or in the meridional
plane (following circumferential averaging, see Azimuthal Averaged Variables). Additional data
can be selected on the solid walls and/or on predefined surfaces (Surface Averaged Variables).
The adequate selection of outputs of interest will reduce the size of the solution file. This is in
particular important when projects involving very fine meshes and/or unsteady capabilities are
managed.
100. Select Static, Total Absolute and Total Relative Temperature if not yet selected.
101. Select Static, Total Absolute and Total Relative Pressure if not yet selected.
102. Select Density, Entropy, Rothalpy and Dynamic viscosity if not yet selected.
103. Left-click Velocities in the menu Categories.
104. Select Vxyz and Absolute Mach number if not yet selected.
105. Select Wxyz and Relative Mach number if not yet selected.
Vxyz and Wxyz are the velocity vector fields in respectively the absolute and relative frame of
reference. The examination of solution quantities in the relative frame of reference is particularly
useful to observe the flow angles relative to the blade close to leading and trailing edge.
106. Left-click the Solid data in the menu Categories.
107. Select Static pressure, Static temperature, Cf, Relative velocity and y+ (in first inner
cell) if not yet selected.
Cf is known as the friction coefficient.
The parietal coordinate y+ is a direct function of the distance from the wall. Therefore, y+ = 0 at the
wall and takes a non- zero value at the center of the first cell close to the wall (also called "inner
cell"). As a consequence, the examination of y+ "at the wall" should be understood as the examination
"in the first inner cell". Although it is not correct theoretically speaking, this concept is very often
used to ease the post-treatment and benefit from the existing solid surfaces.
108. Left-click the Turbulence in the menu Categories.
109. Select Wall distance and Turbulent Viscosity ratio if not yet selected.
The analysis of the Turbulent Viscosity ratio field is often of major interest to ensure that the
turbulent quantities are computed accurately, according to the turbulence model and mesh refinement
selected.
Running k- epsilon related models gives access to additional quantities in particular related to the
production term, the kinetic energy and dissipation rate fields. It is strongly advised to activate these
fields for post-treatment.
110. Double left-click Azimuthal Averaged Variables.
111. Go through the various categories and select the quantities as selected under Computed
Variables.
Additionally, outputs can be re- directed using the PLOT3D format, using various formats. More
details can be found in the FINE™ User Guide.
5.6.8
Control Computation Steering
112. Go to the tree in the left menu and double left-click the Computation Steering menu.
113. Double left-click Control Variables.
114. Keep Maximum Number Of Iterations = <400> <Enter>.
115. Keep Save Solution Every = 100.
116. Keep Convergence Criteria = -6; change the solver precision from Single to Double.
Depending upon the quality of the initial solution, the density of the mesh (number of nodes) and the
complexity of the underlying flow field, from few hundreds to few thousand iterations are typically
required to reach convergence. The iterative process is stopped once the convergence criterion is
reached over the entire domain or the maximum number of iterations is executed on the current grid
level (111 in the present case).
The ability to select for Minimum output gives the possibility to minimize the size of the solution
files. In that case, the flow solution is stored only once the iterative process is finished, and limited
information is proposed during the intermediate storage. This limited information allows to perform a
restart procedure from an existing flow solution, but cannot be visualized within CFView™.
Static memory allocation is enabled inside the flow solver. An estimation of the memory required to
in some
run and save the flow solution is calculated and proposed as a default. However,
circumstances, the estimation may be too low and it is then required to manually increase the number
of reals or integers necessary to drive the solution to success. In that case, click Set the requested
memory and increase the inputs accordingly.
5.6.9
Save Project & Start Calculation
117. Open the File menu and Save the project.
The project parameters are stored in the *.iec file. This file includes the entire set of parameters
required to reproduce the project, excluding the mesh.
118. Press the
task manager window will appear.
icon and click Start Flow Solver in the dialog box to start the calculation: a
The calculation will start in serial mode (1 processor) on the local machine. FINE™ includes multi-
processor capabilities and the ability to manage computations through a task manager and/ or in batch
mode. More details can be found in the FINE™ User Guide.
5.6.10 Follow Convergence Steering
119. Double left-click Convergence History.
The evolution of averaged residuals on the entire domain can be observed during the convergence
process. Similarly, the evolution of the mass flow balance (in/out) and/or global quantities (isentropic
efficiency, torque and axial thrust on solid walls selected in the boundary conditions page, pressure
ration) can be displayed.
Local and global quantities may also be added for follow- up during the convergence process.
However, their representation in the graphical area will only be effective once they are added in the
Selected Variables list, see FINE™ User Guide.
The examination of residuals per block and/or for a given primitive variable can be achieved
accessing the monitorTurbo tool. The tool is included in the FINE™ package and can be accessed
through the adequate command line. More details can be found in the FINE™ User Guide.
120. Once the calculation has converged or reaches the maximum number of iterations allowed
on the current grid level, the flow solver stops.
121. The final solution is then stored in the solution file (*.cgns) and the task manager window is
closed.
To check the convergence of the computation, NUMECA recommends observing the evolution of
multiple criteria including (a) an adequate decrease in residuals (minimum 3 orders of magnitude);
(b) complete stabilization of global performances; (c) stabilization of mass flow in/out, with
satisfactory correspondence (usually less than 0.5% difference between in/out).
Now that the iterative process is over, click here to start the visualization of the solution within the
post-treatment tool CFView™ integrated in FINE™/Turbo.
5.7
TUTORIAL 5: POST PROCESSING
The iterative process is now over and the flow solution is stored in the ".cgns" file. The number of
nodes in a typical mesh usually ranges from few hundred thousands to several million, which
makes visualization delicate in most cases. As part of the FINE™ environment, NUMECA
proposes the use of the home-made visualization and post-treatment tool CFView™. CFView™
is entirely integrated in the environment and includes numerous tools which are particularly best
suited for the analysis of turbomachinery configurations.
Access to CFView™ from the FINE™ graphical user interface is provided through the
Modules/CFView... menu, or alternatively by pressing the
icon.
A step by step approach is provided in the following lines. It aims at driving you through the
various steps that need to be executed from reading the solution to the extraction of the main
results. CFView™ automatically opens the ".run" file associated with the active computation.
After running turbomachinery computation and assuming some variables have been selected in
the Azimuthal Averaged Variables section of the FINE™ graphical user interface output page,
CFView™ proposes the user to open the azimuthal averaged solution first. Otherwise, the full 3D
solution will be opened.
122. Activate View the azimuthal averaged solution.
123. Left-click Start CFView.
You will now enter CFView™ !
5.7.1
Select Surfaces
124. Left-click "domain1" and "domain9" while holding <Shift> in the Surfaces area, then right-
click and choose Select in the pop-up menu to activate "domain1" to "domain9".
5.7.2
Select Quantity
125. Go to the Quantity menu.
126. Enter the Field Data -> Basic Quantities sub-menu.
127. Select quantity Absolute Total Pressure.
All quantities selected in the FINE™ graphical user interface are transferred to CFView™. However,
additional derived output can be accessed directly from the visualization and post- treatment tool,
including vector components, gradients, divergence and curl of selected quantities. New quantities,
defined as an arithmetic combination of existing quantities possibly combined with regular operations
(trigonometric functions, logarithmic functions, ...) can furthermore be created.
5.7.3
Select Representation
128. Access the Representation menu.
129. Select Color Contour -> Strip.
Once the candidate quantity for visualization is selected, the user must choose a representation mode.
Representation is typically executed in the form of color contours (smoothed or stripped) and/or
isolines. CFView™ also includes the possibility to investigate the flow field locally ("local value")
and create 1D Cartesian plots. Advanced capabilities involving curve and/or surface integration can
also be accessed. More details can be found in the CFView™ User Guide.
130. Go to Representation -> Scalar Range -> Colormap Set Range.
131. Enter the range <90000 131000> in the keyboard area and press <Enter>.
132. Left-click "domain4" and "domain6" while holding <Ctrl> in the Surfaces area in Quick
Access Pad (QAP).
133. Right-click to access the contextual menu and press Select.
134. Open the Representation menu.
135. Select Cartesian Plot -> Along Grid Line....
136. Change Index from i to j.
137. Change Value to <15> <Enter>
138. Left-click the Apply button.
139. Click Close.
140. Left-click the Cartesian plot window to activate it (red border).
141. Type <x> to change abscissa to the streamwise direction (x or I-direction).
142. Click the
icon to fit the curve.
143. Put the mouse pointer close to the x-axis, left-click and then right-click.
144. Choose Set Range ... .
145. Set minimum and maximum values to <0.148 0.208> and press <Enter> in the keyboard
area.
146. Right-click to quit.
147. Put the mouse pointer close to the y-axis, left-click and then right-click.
148. Select Set Range ... in the pop-up menu.
149. Set minimum and maximum values to <99000 135000> <Enter> in the keyboard area.
150. Right-click to quit.
151. Click inside the Cartesian plot window.
152. Right-click and select Show H Grid Lines.
153. Right-click and select Show V Grid Lines.
154. Left-click all curves while holding <Ctrl>.
155. Right-click and select Curve Type ... .
156. Change Thickness from 2 to <1> <Enter>.
157. Go to the Marker tab.
158. Change Symbol to Circle.
159. Change Size from 0.4 to <0.3>.
160. Change color to red.
161. Click Apply.
162. Left-click the Close button.
163. Left-click anywhere inside the Cartesian plot window.
164. Go to the View menu.
165. Select Maximize.
CFView™ offers the possibility to create and arrange Cartesian plots in different manners, with
the lines and symbols. The
numerous options related to the type,
manipulations are done interactively, mainly with the help of contextual menus. In addition,
CFView™ includes a powerful project and windows based management, giving the user
the
possibility to open multiple projects and manage several windows simultaneously. More details can be
found in the CFView™ User Guide.
thickness and colors of
5.7.4
3D Analysis
In the previous section, attention has been focused on the management and creation of plots in the
meridional plane, by means of the azimuthal averaged view. The creation of 3D plots is based on the
same concept of quantity selection and representation explained in the above sections. However, since
the plane of drawing is no longer two-dimensional, there is a need to select and/or create a surface for
representation first.
166. Go to the File menu.
167. Select Quit CFView to quit CFView™ and choose yes to confirm.
168. Access CFView™ again from the FINE™ GUI by pressing the
icon.
169. Deactivate View the azimuthal averaged solution.
170. Click Start CFView.
You will now enter 3D analysis mode in CFView™ !
171. Access the Geometry menu.
172. Select Boundary to deactivate boundary representation.
Boundary activation/deactivation is used as a toggle and acts on all selected surfaces. Fast access is
ensured using the binding key <b>.
173. Double Left-click the following check boxes: "row1_ shroud", "row2_ shroud", "row3_
shroud" inside the Surfaces area to deactivate the set of patches that define the shroud entity.
Groups "row1_ hub_ (r.p.m.0)", "row1_ blade", "row2_ hub_ (r.p.m.15000)", "row_ 2_ blade_
(r.p.m.15000)", "row3_hub_(r.p.m.0)", "row3_blade" are the only entities that remain active at
this moment.
Selection of surfaces for representation is controlled through the Surfaces area. Alternatively,
identical operations can be executed from the Geometry menu.
Patches flagged as solids are selected as default surfaces for representation. Groups created in the
boundary condition area inside FINE™ are transferred directly to CFView™, so that the selection of
surface entities can be performed in just a few clicks.
Fast selection of a group of surfaces in a large list including numerous surfaces, which are partly
checked/unchecked, can be done by first left-clicking (combined with <Ctrl> or <Shift> for multiple
surfaces) on the target surface(s) desired for representation, followed by a right- click to get the
contextual on the target surface(s) desired for representation, followed by a right- click to get the
contextual menu and choosing Select.
174. Go to the Geometry menu.
175. Select Boundary again to activate boundary representation on active surfaces.
176. Go to the Geometry menu once more.
177. Select Grid to display the surface mesh on active surfaces.
Fast access to mesh representation is ensured using the binding key <g>.
178. Access the Render menu.
179. Select Shading -> Gouraud to shade active surfaces.
180. Make use of the Viewing buttons to modify the representation mode and locate the axial
compressor to outline the blades and hub in a clear way.
181. Press the binding key <g> to deactivate the mesh on active surfaces.
182. Go to the Geometry menu.
183. Select Repetition Number.
184. Activate Max to set the maximum number of repetitions for all rows.
185. Click on Apply.
186. Open the Geometry menu.
187. Select Repetition on/off.
188. Go to the File menu.
189. Select Print ... .
Pictures can be printed in different formats, either on the active or graphics windows. Information
can be introduced in a banner. Options related to picture definition can also be modified.
190. Select Active View.
191. Set banner to <COMPRESSOR> and press <Enter>.
192. Set the format to PNG.
193. Click OK.
194. Select the picture name and appropriate location.
195. Click Save.
The selection of Graphics Window is recommended to insert several pictures in a unique file, as
they appear on the graphical window (WYSIWYG = what you see is what you get mode).
The ".png" format is often the preferred choice for printing.
196. Go to Update -> Delete -> All.
197. Go to Geometry -> Repetition on/off.
198. Click the
icon to fit the geometry.
199. Select Quantity -> Solid Data -> Static pressure.
200. Select Representation -> Color Contour -> Strip.
201. Select Representation -> Scalar Range -> Colormap Optimum Range.
The Static Pressure is now enabled on active surfaces (hub and blades). The range of representation
has been adapted automatically to variations on the selected surfaces, so as to outline details as
effectively as possible.
202. Make use of the Viewing buttons to modify the representation mode and find a suitable
viewpoint.
5.7.5
Blade-to-Blade View
203. Go to Update -> Delete -> All.
204. Go to Representation -> Colormap to remove the colormap.
205. Open the Render menu.
206. Select Shading -> Gouraud.
207. Go to the Geometry menu.
208. Select Blade to Blade Surface.
209. Set Surface type to Blade to blade.
210. Set S to <0.9> <Enter> (section located 90% spanwise).
211. Click the Apply button.
212. Click the Save button.
213. Click Close to quit the dialog box.
CFView™ integrates the possibility to create cuts at constant spanwise position (also called "blade-to-
blade" planes). This capability is especially useful when the endwalls are not planar. The surface for
representation at constant spanwise position is then created based on linear interpolation between the
endwalls.
Pressing the Save button in the dialog box creates an additional surface for representation in the
Surfaces area, enabling quantity selection and representation as discussed in the previous sections.
214. Left-click "CUT1" in the Surfaces area.
215. Right-click to access the contextual menu.
216. Choose Select in order to select "CUT1" as the only active surface for representation.
217. Go to the Quantity menu.
218. Select Field Data -> Basic Quantities -> Relative Mach Number.
219. Open the Representation menu.
220. Select Color Contour -> Smooth.
221. Open the Representation menu.
222. Select Scalar Range -> Colormap Optimum Range.
Colormap Optimum Range restricts the bounds of the colormap to those related to active surfaces
instead of the complete 3D domain. This capability is useful to outline a number of details in a clearer
manner. It can also be accessed by pressing the
icon.
223. Left-click the colormap.
224. Right-click and select Move or Resize.
225. Drag and drop the colormap to an appropriate location.
226. Move the mouse to a corner of the colormap to adjust the size.
It is advised to put the colormap at a location where it does not interfere with the representation, to
avoid any difficulty in the interpretation of the results.
227. Left-click the colormap.
228. Right-click and select Smooth Only.
229. Access the Representation menu.
230. Select Isolines -> Isolines ... .
231. Activate increment mode.
232. Change Value to <0.02> <Enter>.
233. Change min range to <0> <Enter>.
234. Change max range to <1> <Enter>.
235. Keep color Uniform.
236. Click Apply.
237. Go to Update -> Delete Isoline.
238. Go to the Quantity menu.
239. Select Field Data -> Basic Quantities -> Wxyz.
240. Open the Representation menu.
241. Select Vector Type ... .
242. Select Tangent Component in Representation Type.
243. Select Color Uniform in Vector Size.
244. Click the Apply button.
245. Click the Close button to quit the dialog box.
246. Open the Representation menu.
247. Select Vector On Grid Nodes.
248. Make use of the Viewing buttons to modify the representation mode and zoom in near the
leading edge of the blade.
The representation of velocity vectors in a relative frame of reference (Wxyz) outlines the quality of
the flow impinging the blade. Ideally, these vectors should be aligned with the blade. In off-design
conditions, the alignment is not adequate, possibly leading flow separation.
5.7.6
Turbomachinery Mode
249. Open the File menu.
250. Select Turbomachinery.
251. Choose Load Flow Solver Pitch Average under Meridional Average.
252. Click Ok.
You have now entered the Turbomachinery mode! It gives simultaneous access to meridional,
meridional average, blade-to-blade and 3D views.
Actions required for surface representation, quantity selection and representation apply similarly to
those described in the previous sections. More details can be found in the CFView™ User Guide.
TUTORIAL 6.
HIGH PERFORMANCE CENTRIFUGAL
COMPRESSOR
6.1
NUMECA SOFTWARE
The resolution of computational fluid dynamics (CFD) problems involves three main steps:
l spatial discretization of the flow equations,
l flow computation,
l visualization of the results.
To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal
and Turbomachinery assimilations called FINE™/Turbo. The environment
integrates the
following tools:
l IGG™ is an Interactive Geometry modeler and Grid generator, based on structured multi-
block techniques.
l AutoGrid5™ is a three-dimensional Automated Grid generation software tool, dedicated to
is based on structured multi- block
it
turbomachinery applications. Similarly to IGG™,
techniques.
l Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes
equations in the laminar, transitional and turbulent regimes.
l CFView™ is a highly interactive flow visualization and post-treatment software tool.
l FINE™ Graphical User Interface is a user-friendly environment that includes the different
software. It integrates the concept of projects and allows the user to achieve complete
simulations, going from the grid generation to flow visualization, without the need of file
manipulation.
A turbomachine is a device in which the energy is transferred either to or from a continuously
flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in
particular in aircraft, marine, space (liquid rockets) and land propulsion systems but also in
hydraulic, gas and steam turbine applications. It is also used in industrial pipeline and processing
equipment such as gas, petroleum and water pumping plants. Other applications can be related to
heart-assist pumps, industrial compressors and refrigeration plants, and more.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is
composed of several basic elements including the blade (also called vane if it is non-rotating),
hub, and shroud. Several technological effects involving clearances, seal leakages and cooling
holes among others can complete the machine. Due to the complexity of the blade shapes, the
presence of technological elements and the rotation of machine, the nature of the flow is strongly
three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the simulation of a one stage centrifugal turbomachine. It
makes use of FINE™/Turbo and describes how to deal with the specific options implemented in
FINE™ environment.
In this tutorial you will learn how to:
l define multi-rows;
l define the blade periodicity;
l define a tip clearance;
l generate and optimize the blade-to-blade mesh;
l control the quality of the mesh in the blade-to-blade and 3D mesh;
l manage the fluid database;
l model rotor-stator interface using mixing plane approach;
l set up both boundary and initial conditions;
l numerical process management;
l select adequate outputs;
l launch the calculation process;
l check for convergence;
l visualize and analyze the results.
6.2
PREREQUISITES
This tutorial does not require any prior experience with the menu structure in FINE™/Turbo.
6.3
PROBLEM DESCRIPTION
The centrifugal impeller is the scaled version of the original DDA's 404-III compressor. Its design
flow rate is 4.39 kg/s at a mechanical speed of 21,789 RPM. The impeller consists of 15
unshrouded main blades with 15 splitter blades with high back-sweep at discharge. The vaned
diffuser has 24 two-dimensional wedge vanes with the leading edge located at a radius of 1.0778
relative to the impeller exit. The diffuser exit radius is 14.3 inches and dumps directly into a 90-
degree annular bend. For a more detailed description of the geometry of the compressor and its
performance, please refer to Coordinates for a High performance 4:1 Pressure Ratio Centrifugal
Compressor, NASA Contractor Report 204134, July 1997.
6.4
PREPARATION
l Start FINE™/Turbo v13.1:
l For Linux systems, you can access FINE™/Turbo graphical user interface with the
following command line:
fine -niversion 131 -print
l For WINDOWS systems, you can access FINE™/Turbo graphical user interface from the
start menu by going to /Programs/NUMECA software/Fine131/FINE.
l Click the Create a New Project icon to create a new project.
l Select your directory of choice to store the project.
l Enter the project name in the dialog box as <Tutorial6> <Enter>.
l Click on Create Grid File to access the interactive geometry modeler and grid generator
IGG™.
l Access the menu Modules, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.
You are now ready to start
COMPRESSOR STAGE configuration! Click here to start the mesh generation...
the grid generation process and mesh the CENTRIFUGAL
6.5
TUTORIAL 6: MESH GENERATION
The AutoGrid5™ graphical user interface includes several windows that enable the simultaneous
visualization of the geometry and the mesh of the turbomachine in the meridional, blade-to-blade
and 3D views. The access to main menu and controls is provided through a menu bar and a
quick access pad, and is complemented with a tool/icon bar. The execution of the different
actions undertaken is summarized in the message box at the bottom of the interface.
A step by step approach is provided in the following lines. It aims at driving you through various
steps that need to be executed from the creation of the mesh project to the validation of the final
mesh quality.
6.5.1
Create Mesh Project
1. Select Basic Mode if necessary in the toolbar.
The Basic Mode will give access to a simplified graphical user interface. For most projects the
available parameters in the Basic Mode are sufficient.
2. Close the Open Turbo Project Wizard dialog box.
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with
associated grid) including the data required to regenerate a mesh on an identical or similar geometry.
In this tutorial, these data will be progressively introduced based on the geometry of the project case.
3. Go to File -> New Project.
4. Click yes to close the active project.
5. Choose Initialize a New Project from a geomTurbo File.
6.5.2
Load Geometry
6. Locate and select "hpcc_impeller.geomTurbo" (geometry defined in [Inches]) in the dialog box
and click Open. ("Where to Find the Files Used in the Tutorials?" (p. 10))
The ".geomTurbo" file format is structured in three main blocks: the header, the channel and the row
definitions.
The channel format contains the definition of the turbomachinery meridional contour (hub, shroud).
It is composed of curves defined by a set of points. The ".geomTurbo" file must contain two channel
curves named respectively "hub" and "shroud".
The row definition contains the geometry of a complete row. It is defined by a row name, a row type,
a periodicity and the definition of the main blade and possibly the splitter(s).
The blade and splitter are defined by the pressure and the suction side surfaces identified by the
keywords "pressure" and "suction". Both surfaces are specified by a set of cross sections of the blade
at several spanwise locations from hub to shroud. Each section is defined by a set of points from
leading to trailing edge.
7. Click Row Definition -> Add Row.
8. Go to row 2 -> Blades -> Main Blade, left-click Main Blade.
9. Right-click to access the contextual menu and select Define Geometry.
10. Locate and select "hpcc_diffuser.geomTurbo" (geometry defined in [Inches]) in the dialog
box and click Open.
The two rows are displayed in the meridional view corresponding to the two parts of the compressor.
The location of the rotor/stator mixing plane is automatically defined by AutoGrid5™. The default
location is set at the average meridional location between the downstream trailing edge and the
upstream leading edge.
11. Control the domain limits:
The inlet and outlet limits of the domain are by default automatically defined by AutoGrid5™ using
two straight lines joining the limits of the hub and shroud definitions. The shape and the location of
the inlet and outlet boundaries can be modified interactively.
You can access the control points of the inlet/outlet and modify their location by dragging the point.
The exact coordinates of the control points can also be set by right- clicking the control point. A
dialog box will appear, enabling the user to enter the point coordinates in (rz) mode.
In Expert Mode, there is another way to control the shape of inlet/outlet. Move the mouse onto the
inlet/outlet. When it becomes highlighted in yellow, right-click and select Properties in the pop-up
menu. Activate for example Z constant and enter the coordinates where the inlet/outlet should be
located.
l Left-click the inlet when highlighted in yellow in meridional view.
l Right-click the Top Point when highlighted in yellow.
l Set the Z value to <-3.23> and press <Enter> in the Point Location dialog box.
l Left-click the Bottom Point when highlighted in yellow.
l Set the Z value to <-3.23> and press <Enter> in the Point Location dialog box.
l Close the Point Location dialog box by clicking the cross at the top right corner.
6.5.3 Mesh Wizard
12. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current
row, if not done already.
13. Left-click Row Wizard in the toolbar.
The row wizard is also available in Expert Mode under Mesh Control subpad in the QAP.
14. Click yes to start the wizard and to reset the mesh generation parameters.
The reset will keep the modifications performed by the user in the Row Wizard but will reset the
parameters modified in Expert Mode to the default value.
The wizard is divided in 6 steps:
l the geometry check (optional),
l the machine characteristics definition,
l the gap and fillet definition,
l the flow path definition,
l the blade-to-blade mesh definition,
l the end of the initialization.
15. Click yes to confirm the geometry check (step 1).
During the geometry check of a blade, AutoGrid5™ performs the following operations: check blade
definition, check orientation of the blade section curves, detect loop detection into the blade section
curves and between the blade sections. More details can be found in the AutoGrid5™ User Guide.
16. Click Next in the dialog box to define the machine characteristics (step2).
17. Select Centrifugal Impeller as Row type in the Blade row type dialog box.
18. Enter the Periodicity (number of blades): left-click inside the string input area and type
<15>, press <Enter> to confirm.
19. Select Rotor.
20. Enter <-21789> as the Rotation speed (rpm).
This speed will be transferred to the FINE™ graphical user interface and will ease the input of
boundary conditions later on.
The sign of the rotational speed is positive (+) when the blade row is rotating in the positive θ-
direction, and negative otherwise.
21. Click Next in the dialog box to start the gap and fillet definition (step 3).
22. Activate Tip Gap in the Gap and Blending Control dialog box.
23. Define for Tip Gap: Width At Leading Edge = <0.006> [Inches] <Enter>.
24. Define for Tip Gap: Width At Trailing Edge = <0.008> [Inches] <Enter>.
The width at leading/trailing edge allows the user to specify the size of the gap respectively at the
leading and trailing edge of the blade. The gap curve is then constructed as a linear offset of the hub
(or the shroud) according to these values.
25. Keep all other data identical.
391
FINE™/Turbo 13.1 Tutorials
26. Click Next>> in the dialog box to start the flow path definition (step 4).
27. Set Spanwise Grid Point Number to <73> and press <Enter> (corresponding to the flow
paths number) in the Layer Control dialog box.
When increasing or decreasing the number of flow paths, the number of flow paths in the gaps and
fillets is automatically together with the percentage of constant cells, leading to an increase or
decrease of the spanwise expansion ratio.
28. Estimate the width of the first cell at the wall:
The width of the first cell close to the wall must be selected with care since the quality of the flow
solution will often depend upon the capture of the flow phenomena inside the boundary layers which
develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends to locate the nearest grid
point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low
Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must
be modelled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven
by the Blasius equation, expressed as follows for turbulent flows:
where:
l ywall is the distance of the nearest grid point to the wall (in meter);
l Vref is a reference velocity of the flow, for instance, the inlet velocity (in m/s);
l ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
l Lref is a reference length of the test case (in meter);
l y+ is a non-dimensional value.
In the present case, one can estimate that V ref=492 m/s, L ref=0.2159 m and ν=1.57e-5 m²/s.
Assuming one wishes to get y+=5 at the wall, it turns out that y=0.0003 inches.
Input the value of the Wall Cell Width = <0.0003> [Inches] <Enter> in the Layer Control
dialog box.
29. Click Next>> in the dialog box to start the blade-to-blade mesh definition (step 5).
30. Set the Number of Points (of the 3D mesh) around 1,700,000 by clicking the << or >>
button in the B2B Control dialog box.
31. Click Preview B2B to plot the blade-to-blade mesh at mid-span: H&I topology with skin
block is used with additional upstream/downstream H-blocks.
The Full Visibility option allows the user to see the mesh moving in the blade-to-blade view when
applying the optimization steps.
395
FINE™/Turbo 13.1 Tutorials
The H&I topology with skin block includes 4 blocks:
l the skin block is an O-mesh surrounding the blade;
l the inlet block is an H-mesh located upstream the leading edge;
l the outlet block is an H-mesh located downstream the trailing edge;
l the up block is an H-mesh located in the blade passage.
32. Select Skewness or Expansion Ratio to plot the orthogonality or expansion ratio field of the
blade-to-blade mesh at mid-span.
33. Click Finish to end the initialization process (step 6).
34. Click no to set the row 2 before making the complete 3D mesh generation.
35. Repeat step 12 to step 34 for row 2 with the following parameters:
l Centrifugal Diffuser as Row type, Periodicity=<24>, Stator.
l Spanwise Grid Point Number=<57>, Wall Cell Width=<0.0003> [Inches].
l Set Number of points around 590,000.
When clicking Preview B2B, the blade-to-blade mesh at mid-span is plotted: O4H topology is used
with additional upstream/downstream H-blocks.
398
FINE™/Turbo 13.1 Tutorials
399
FINE™/Turbo 13.1 Tutorials
The default O4H topology includes 5 blocks:
l the skin block is an O-mesh surrounding the blade;
l the inlet block is a H-mesh located upstream the leading edge;
l the outlet block is a H-mesh located downstream the trailing edge;
l the up block is a H-mesh located above the blade section;
l the down block is a H-mesh located under the blade section.
36. In Row Definition, left-click Select All Rows.
37. Click Generate 3D in the toolbar.
You can check the blade-to-blade mesh quality at hub and/or shroud before generating the 3D mesh.
Go to Row Definition and left-click Select All Rows to select all rows. Go to Mesh Control ->
Active B2B Layer to specify the flow path (layer) on which the mesh will be plotted in the blade-
to- blade view. By default, the active view is set at the mid- span of the machine ( Active Layer
(%span) set to 50). The layer selected for visualization is defined in percentage of span, going from
hub (0%) to shroud (100%). Enter <0> <Enter> or <100> <Enter> in order to visualize the mesh at
hub or shroud respectively.
Select Update B2B View to regenerate the blade-to-blade mesh on the new specified layer in the
blade-to-blade view.
A detailed analysis of mesh quality can be performed on the blade-to-blade mesh after generation.
Information on orthogonality, aspect ratio and expansion ratio can be outlined in this window by
clicking
:
l Select a row in the Row list and <Enter>,
l Select quality criteria using the Type pull-down menu.
l Left- click Show chart to visualize the distribution of the selected criteria in the form of a
histogram. The histogram is drawn for each row.
l Left- click part of the histogram to plot the concerned cells in blade- to- blade view or select
Display all cells to have an overview of the mesh quality.
l Left-click the More info button to obtain information about minimum and maximum values of
the selected criteria.
l Close the quality checkbox.
After performing the blade-to-blade mesh quality check, the 3D mesh generation can be started by
clicking Rows Definition -> Select All Rows and then clicking the Generate 3D button.
Once 3D grid generation is completed, a grid quality check is performed and displayed.
Minimum cell skewness, maximum expansion ratio and aspect ratio are reported, among others. Data
is available for the entire mesh and separately for each entity (row, technological effect, bulb). Data
related to grid quality report is automatically stored in a report file, once the project file is saved.
38. Close the dialog box. This page can also be reopened by clicking
.
6.5.4 Mesh Visualization
39. Select the View -> View 3D Solid Mesh menu.
40. Left-click the View 3D button in the toolbar to visualize only the 3D view.
By default, the 3D solid mesh is plotted on hub and blades. To remove the plot, select the menu View
-> Hide 3D Solid Mesh.
41. Use the Repetition icon (
) to toggle the repetition of the channel.
42. Use the View menu in the QAP to toggle edge, mesh and/or solid shading.
6.5.5
Check Boundary Conditions & Mesh Quality
43. Check for boundary conditions by clicking
.
44. Select UND under Type pull-down menu and press <Enter> to check that there are no
patches in the patch list still set to an undefined type.
It is important to ensure that no undefined patches (UND) are present in the mesh. If this is not the
case, they can usually be removed by increasing the tolerance and launching the Search procedure.
In a multi-stage context, interfaces between rotating and non-rotating rows are set to ROT.
45. Close the dialog box.
46. Left-click in the 3D view to activate the view (red border), if not done already.
47. Check for negative cells by clicking
.
48. Click Apply.
The computation of the negative volumes is performed first. Negative cells can be outlined in the
mesh pushing View neg cells button. Beware that the visualization of negative cells can be memory
consuming when a large number of cells must be displayed. It is then advised to first check the
number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.
49. Click ok and Close the dialog box.
50. Left-click in the 3D view to activate the view (red border), if not done already.
51. Check for grid quality by clicking
.
A detailed analysis of the mesh quality on a 3D mesh can only be performed once the 3D mesh has
been generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell
width can be outlined in this window using the Type pull-down menu.
52. Select block number (0 for all) - <Enter>.
53. Select quality criteria using the Type pull-down menu.
54. Left-click Show chart to visualize the distribution of selected criteria in the form of a
histogram. The histogram is drawn per block (0 = all blocks).
55. Left-click part of the histogram to plot the concerned cells in the 3D view.
56. Left-click the More info button to obtain information regarding minimum and maximum
values of the selected criteria and block.
57. Close the dialog box.
6.5.6
Save Project
58. Go to File -> Save Project As <tutorial6> and press <Enter> to save mesh and template files
in the "_mesh" subfolder.
The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the
boundary
and
(".xmt_ txt"),
".qualityReport". The meaning of these files is detailed in the User Guide.
condition
".config"
".geom"
".cgns",
".bcs",
".igg",
types:
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh
with AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these
files is detailed in the User Guide.
Now that the mesh is saved, click here to set up the computation in FINE™/Turbo interface!
6.6
TUTORIAL 6: FLOW SETTINGS
The mesh generation process is now completed and one can now go back to the FINE™
graphical user interface in order to set the various flow settings required before starting the
computation. Access to the main menu and controls is provided through a menu bar and a left-
tree, and is complemented with an icon bar.
Access to the FINE™ graphical user interface from the AutoGrid5™ window is provided
through the Modules/Fine Turbo menu, simply confirm (yes) to enter FINE™ GUI. You are
now back at the FINE™ graphical user interface!
A step by step approach is provided in the following lines. It aims at driving you through the
various steps that need to be executed from mesh linking to the execution of the calculation.
6.6.1
Link Mesh & Project
59. Click the
icon and link the mesh "tutorial6.igg" to the project.
The user may be prompted a warning message concerning the solver precision; accept this message.
The change of the solver precision is detailed in step 113.
60. Define grid units in Inches as the geometrical data inserted in the "tutorial6.geomTurbo" file
is expressed in inches.
61. Select a Cylindrical and 3 Dimensions configuration.
62. Click OK to close the dialog box.
6.6.2 Manage Computations
63. Rename the default computation "computation_1" as "111_SA" in the Computations area, to
indicate that the calculation will be executed on the coarse grid first and will use the Spalart-
Allmaras turbulence model. This can be achieved by left- clicking the Rename button and
replacing "computation_1" by "111_SA".
Similar operations can be executed using the New Computation or Remove buttons, to respectively
create a new computation or remove one.
6.6.3
Set Flow Configuration
64. Go to the tree in the left menu and double left-click the Configuration menu.
Three sub-menus related to the definition of the working fluid, main flow characteristics and rotating
machinery definition can then be accessed.
65. Double left-click Fluid Model to access the fluid database.
66. Select AIR. Air, considered as a real gas, is then selected as a working fluid.
The fluid database includes a number of pre-defined fluids, covering various approximations in fluid
definition such as perfect gas, ideal (real) gas, incompressible fluids and fluids defined as a set of
thermodynamic tables (optional, subjected to a separate license key).
A default fluid database is provided by FINE™/Turbo. The user is also able to create and modify
his/her own fluids and/or use fluids created by others. More details about these functions are available
in the FINE™ User Guide.
67. Double left-click Flow Model to set the flow characteristics.
68. Select Steady to indicate that a steady solution is of interest.
69. Select Turbulent Navier-Stokes to activate the resolution of the RANS equations.
70. Select Spalart-Allmaras as the turbulence model of choice.
A number of turbulence models can be accessed through the interface. They require the additional
resolution of 0-equation to 4-equations, depending upon the model selected. Some of these models do
need a fine resolution near the wall (y+ ranging from 1 to 5), while others use the log-law concept
and can mimic the logarithmic law. More details can be found in the FINE™ User Guide.
71. Set Reynolds Number Related Info:
l Set the Characteristic length = <0.2> < Enter>,
l Set the Characteristic velocity = <490> < Enter>,
l Set the Characteristic density = <1.2> < Enter>,
l Set the Reference temperature = <300> < Enter>,
l Set the Reference pressure = <101325> < Enter>.
Characteristic variables (length, velocity, density) are required to estimate the Reynolds number. This
number is used at a few locations inside the flow solver, in particular inside the damping functions
related to the modeling of turbulence down to the walls.
The impact of the characteristic variables on the flow solution is very limited, but it is advised to
select values in accordance with characteristic quantities of the geometrical domain and flow
conditions. As an example, the characteristic length may be defined by a reference diameter or length
at the inlet and/or outlet of the computational domain, and/or the chord of the blade (if any). The
characteristic velocity may be set to the averaged inlet velocity. The characteristic density is fixed as
the average (molecular) fluid density.
72. Double left-click Rotating Machinery to set the rotating machinery definition.
73. Select row 1.
74. Check that the Rotational Speed = <-21789> <Enter>.
75. Select row 2.
76. Check that the Rotational Speed = <0> <Enter>.
In the cylindrical mode, the flow solver resolves the equations by default in a relative frame of
reference. As a consequence, the mesh attached to the blade is rotating at the same speed as the blade,
as far as no rotor- stator interaction is concerned. The rotation speed has been introduced in
AutoGrid5™ and transferred through FINE™, limiting user interventions in the graphical user
interface.
For rotating machinery projects, the axis of rotation must be aligned along the z- direction. In
addition, a unique rotation speed must be considered for the entire computational domain.
77. Left-click the Rotor-Stator tab.
A separate ID is allocated to each rotor-stator interface, based on data included in AutoGrid5™. Each
interface is defined with 2 patches, located upstream and downstream of the rotor-stator interface. The
definition of ID's and allocation of upstream/downstream sides is performed automatically in FINE™.
78. Make sure that Conservative Coupling by Pitchwise Row is active on rotor-stator patches.
Several methods, based on steady quasi 3D approximations, can be accessed to ensure a proper
treatment of rotor-stator interfaces.
l The Conservative Coupling by Pitchwise Row method guarantees an exact conservation of
mass flow, momentum and energy through the interface and has proven to be robust in most
circumstances.
l The Local Conservative Coupling method is recommended in projects coupling an impeller
with a volute, and has proven to offer more robustness than the Conservative Coupling by
Pitchwise Row in these cases.
l The Full Non Matching Mixing Plane method is the default option. It guarantees an exact
conservation of mass flow, momentum and energy through the interface and relaxes several
constraints with respect to the preparation of the mesh. It is not activated as a default option but
may be a candidate of choice in some circumstances.
l The Non Reflecting 1D Mixing Plane method is recommended when wave reflection is
observed at the interface, which can occur when the interface is close to the blade.
l The Non Reflecting 2D Mixing Plane method is recommended when a shock wave is crossing
the interface, and can give a better representation of the shock wave.
l The Full Non Matching Frozen Rotor method considers the rotor-stator interface as a perfect
connection and neglects the movement of the rotor in the connecting algorithm. In this approach,
the periodicities must necessarily be equal between the rotor and the stator.
6.6.4
Set Boundary Conditions
79. Go to the tree in the left menu and double left-click the Boundary Conditions menu.
During the grid generation process, AutoGrid5™ defines the type of the boundary conditions to be
applied on each block face. The most common types are INLET, OUTLET, PERIODIC and SOLID
boundary conditions.
PERIODIC boundary conditions are set automatically by the flow solver and must not be modified by
the user.
It is important to confirm each entry by pressing the <Enter> key.
80. Go to Mesh -> View On/Off to load the mesh in FINE™ GUI.
This toggle menu is used to visualize the grid in FINE™. The parameters area will be overlapped by a
graphics window, and the small control button on the upper-left corner of the graphics window can
be used to resize the graphics area in order to visualize the parameters and the mesh simultaneously.
The selection of patches in the left column outlines the corresponding patch in the graphics area, thus
enabling a fast and easy visualization of the boundary conditions.
81. Go to the INLET tab:
l Select the patches "row_ 1_ flux_ 1_ Main_ Blade_ upStream_ inlet" and "row_ 1_ flux_ 1_
Splitter_1_upStream_inlet",
l Click Group to group them with the name <Inlet> <Enter>,
l Select Total Quantities Imposed,
l Select Velocity Direction (V extrapolated) set of boundary conditions,
l Set Vr / |V| = <0> <Enter>,
l Set Vt / |V| = <0> <Enter>,
l Set Vz / |V| = <1> <Enter>,
l Set Absolute Total Pressure = <101353> <Enter>,
l Set Absolute Total Temperature = <288.166> <Enter>,
l Choose Turbulent Viscosity as the Turbulent Quantities and set Turbulence Viscosity to
<8e-05> <Enter>
82. Go to the OUTLET tab:
l Select Mass Flow Imposed (related patches must be grouped),
l Activate Velocity Scaling,
l Set mass flow = <4.39> <Enter>,
l Set Initial Pressure = <400000> <Enter>,
The pressure asked in addition to the imposed mass flow is only used to create the initial solution and
for the full-multigrid process, during which a uniform static pressure outlet condition is used.
l Activate Backflow Control option.
This option can be activated in case a radial diffuser outlet is used. The purpose of this option is to
control the total temperature distribution along the exit section. In case the flow partially re-enters the
domain through the boundary, the total temperature on the entering flow is controlled so that the
entering and outgoing flows globally have the same total temperature.
83. Go to the SOLID tab:
For each row, patches including the keyword "hub" are by default collected in a unique group named
as "row*_ hub". Patches including the keyword "shroud" are grouped in "row*_ shroud". Finally,
patches of the blade are grouped in "row*_blade". If the part of the row is rotating, the suffix "_
(r.p.m. rot_speed)" is added to the group name. The presence of a tip gap is automatically taken into
account in the blade group, thus minimizing user intervention in the definition of the boundary
conditions. For a rotor, which is defined in AutoGrid5™, it is assumed that the hub and the blade are
fully rotating. The rotation speed takes the value introduced during the mesh generation process. The
shroud is assumed to be a fixed entity, with no rotation speed assigned.
l Left-click the "row1_hub_(r.p.m.-21789)" group,
The rotation speed is usually considered as a constant for the entire patch (group). However, FINE™
integrates the possibility to define that only part of a patch is rotating (e.g. part of the hub). This
applies to the HPCC project, where only part of the hub is considered as a rotating body.
l Left-click Adiabatic,
l Left-click Area Defined Rotation Speed,
A schematic sketch is displayed in the page. It enables the definition of some geometrical windows on
the selected patch (or group). The window is defined according to 4 quantities related to the abscissa
(z) and radius (r) in the meridional plane. Solid walls included in the window will be considered as
rotating, with rotation speed 2, while portions of solid walls located outside of the window will rotate
is possible to define rotating parts
with a speed equal
independently from the mesh.
to rotation speed 1. In this manner, it
l Set Rotational Speed1 = <0> <Enter>,
l Set Rotational Speed2 = <-21789> <Enter>,
l Set Lower Radius Limit = <0> <Enter>,
l Set Higher Radius Limit = <0.2159> <Enter>,
l Set Lower Axial Limit = <-0.02125> <Enter>,
l Set Higher Axial Limit = <10> <Enter>,
l Click the Compute force and torque check button.
The convergence of both axial thrust and torque can be monitored in the computational steering
window, to make sure that both quantities have reached stable values at the end of the convergence
process. Both values are also available from the *.mf file located in the computation directory. The
torque can also be used for the calculation of the efficiency of the machine. It is common practice to
enable force and torque calculation on rotating patches only.
l Keep all other default settings.
84. Go to Mesh -> View On/Off to toggle for mesh visualization, if needed.
6.6.5
Set Numerical Model
85. Go to the tree in the left menu and double left-click the Numerical Model menu.
This menu gives access to the most frequently used numerical parameters, including the Courant
Friedrichs Lewy (CFL) number and the selection of the grid level on which the simulation will apply.
It is important to confirm each entry by pressing the <Enter> key.
86. Keep CFL unchanged = <3>.
The CFL number drives the pseudo-time step selected to reach a steady state solution using the time-
marching method integrated in the flow solver. In combination with the 4- steps Runge- Kutta
integration scheme included in the flow solver, it has a theoretical stability limit close to 2.8.
However, the additional implicit smoothing scheme can increase this value slightly, which justifies the
default value of 3.
The default value for CFL number is adequate in most cases, but can be decreased in some
circumstances, in particular at off-design conditions.
87. Define the grid level on which the simulation will apply:
The flow solver is based on an explicit
time integration technique, which is accelerated using
dedicated multi- grid methods. To this end, several levels of intermediate grids must be generated
started from the finest one. This is achieved by taking one node over 2 in each I-, J- or K-directions,
starting from the finer grid level.
It is strongly advised to enable the definition of at least 3 grid levels, by carefully selecting the
number of nodes on every edge forming the patches and blocks. More details can be found in the
IGG™, AutoGrid5™ and FINE™ User Manuals.
In the FINE™ terminology, the finest grid level a user can access will be called 000, while the
intermediate and coarsest ones will be named the 111 and 222 level respectively, assuming 3 grid
levels can be selected.
Hybrid grid levels can theoretically be defined (e.g. 010 or 211). It is however not advised to use such
hybrid levels since it deforms the mesh in a preferential direction and thus possibly increasing the
aspect ratio. Consequently, the quality of the resulting mesh can be decreased.
l Keep Current Grid Level = <1 1 1>,
l Keep Number of Grid(s) = <2>,
l Keep the Coarse Grid Initialization active.
In addition to the multi-grid acceleration technique, the number of iterations to convergence can be
significantly reduced activating the coarse grid initialization process. In that case, the simulation starts
on the coarsest grid level available,
the flow solver
automatically interpolates the current flow solution on the intermediate levels before the iterative
process is restarted. A similar process occurs until the expected finest grid level is reached. The
iterative process is then pursued as long as the convergence criterion is not reached or the maximum
number of iterations is not exceeded. More details can be found in the FINE™ User Manual.
leading to fast convergence. Once done,
l Activate Expert Mode to access expert parameters for coarse grid initialization,
l Select Increase on higher level in Scheme definition.
The amount of sweeps is the number of times the Runge-Kutta operator is applied. In many cases, the
convergence rate may be significantly improved by performing a higher number of sweeps on the
coarse levels. However, it should be noted that more sweeps have as a consequence that more time is
required per iteration.
6.6.6
Set Initial Conditions
88. Go to the tree in the left menu and double left-click the Initial Solution menu.
89. Left-click the ROWS group.
The group is automatically created when the mesh is loaded into the FINE™ GUI. In complex
projects, hybrid initial solutions can be useful. In that case, a constant initial solution per block can be
selected for some groups, while others can benefit from an initial solution from Turbomachinery.
Limitations related to the use of hybrid initial solutions are described in the FINE™ User Manual.
90. Select for turbomachinery to access the initial solution menu for turbomachinery.
Initial conditions can be selected in different forms, going from constant values per block to
throughflow based solutions. Running a rotating machinery project case, it is common practice to
select the initial solution for Turbomachinery. Based on a 1D estimation of the flow solution, the
initial solution for Turbomachinery often enables a drastic reduction in the number of iterations in
running 3D simulations. Inputs ("best estimation") related to static pressure at inlet and rotor-stator
interfaces (if it applies) are requested.
91. Left-click the Inlet group.
92. Set Estimated Static Pressure = <90000> <Enter>.
93. Left-click the rotor/stator interface ID10.
94. Set Estimated Static Pressure = <280000> <Enter>.
95. Choose Turbulent Viscosity as the Turbulent Quantities and set Turbulence Viscosity to
<8e-05> <Enter>
Groups ID10 and ID20 are automatically created when the mesh is loaded into the FINE™ GUI. The
presence of an inlet condition is mandatory for use with the initial solution for turbomachinery.
6.6.7
Select Outputs
96. Go to the tree in the left menu and double left-click the Outputs menu. Double left-click
Computed Variables.
Quantities of interest in the simulation must be pre-selected in this menu. They will be stored in the
solution file (*.cgns) once the iterative process will be finished and/or during intermediate steps.
Quantities can be accessed both in the 3D field (Computed Variables) and/or in the meridional
plane (following circumferential averaging, see Azimuthal Averaged Variables). Additional data
can be selected on the solid walls and/or on predefined surfaces (Surface Averaged Variables).
The adequate selection of outputs of interest will reduce the size of the solution file. This is in
particular important when projects involving very fine meshes and/or unsteady capabilities are
managed.
97. Select Static, Total Absolute and Total Relative Temperature if not yet selected.
98. Select Static, Total Absolute and Total Relative Pressure if not yet selected.
99. Select Density, Entropy, Rothalpy and Dynamic viscosity if not yet selected.
100. Left-click the Velocities in the menu Categories.
101. Select Vxyz and Absolute Mach number if not yet selected.
102. Select Wxyz and Relative Mach number if not yet selected.
Vxyz and Wxyz are the velocity vector fields in respectively the absolute and relative frame of
reference. The examination of solution quantities in the relative frame of reference is particularly
useful to observe the flow angles relative to the blade close to leading and trailing edge.
103. Left-click the Solid data in the menu Categories.
104. Select Static pressure, Static temperature, Cf, Relative velocity and y+ (in first inner
cell) if not yet selected.
Cf is known as the friction coefficient.
The parietal coordinate y+ is a direct function of the distance from the wall. Therefore, y+ = 0 at the
wall and takes a non- zero value at the center of the first cell close to the wall (also called "inner
cell"). As a consequence, the examination of y+ "at the wall" should be understood as the examination
"in the first inner cell". Although it is not correct theoretically speaking, this concept is very often
used to ease the post-treatment and benefit from the existing solid surfaces.
105. Left-click the Turbulence in the menu Categories.
106. Select Wall distance and Turbulent Viscosity ratio if not yet selected.
The analysis of the Turbulent Viscosity ratio field is often of major interest to make sure that the
turbulent quantities are computed accurately according to the turbulence model and mesh refinement
selected.
Running k- epsilon related models gives access to additional quantities in particular related to the
production term, the kinetic energy and dissipation rate fields. It is strongly advised to activate these
fields for post-treatment.
107. Double left-click on Azimuthal Averaged Variables.
108. Go through the various categories and select the same quantities as selected for Computed
Variables.
Additionally, outputs can be re- directed using the PLOT3D format, using various formats. More
details can be found in the FINE™ User Manual.
6.6.8
Control Computation Steering
109. Go to the tree in the left menu and double left-click the Computation Steering menu.
110. Double left-click Control Variables.
111. Set Maximum Number Of Iterations = <1500> <Enter>.
112. Set Save Solution Every = <200> <Enter>.
113. Keep Convergence Criteria = <-6> <Enter>; change the solver precision from Single to
Double.
Depending upon the quality of the initial solution, the density of the mesh (number of nodes) and the
complexity of the underlying flow field, from few hundreds to few thousand iterations are typically
required to reach convergence. The iterative process is stopped once the convergence criterion is
reached over the entire domain or the maximum number of iterations is executed on the current grid
level (111 in the present case).
The ability to select for Minimum output gives the possibility to minimize the size of the solution
files. In that case, the flow solution is stored only once the iterative process is finished, and limited
information is proposed during the intermediate storage. This limited information allows to perform a
restart procedure from an existing flow solution, but cannot be visualized within CFView™.
Static memory allocation is enabled inside the flow solver. An estimation of the memory required to
run and save the flow solution is calculated and proposed as a default. However,
in some
circumstances, the estimation may be too low and it is then required to manually increase the number
of reals or integers necessary to drive the solution to success. In that case, click Set the requested
memory and increase the inputs accordingly.
6.6.9
Save Project & Start Calculation
114. Open to File menu and Savethe project.
The project parameters are stored in the *.iec file. This file includes the entire set of parameters
required to reproduce the project, excluding the mesh.
115. Press the
task manager window will appear.
icon and click Start Flow Solver in the dialog box to start the calculation: a
The calculation will start in serial mode (1 processor) on the local machine. FINE™ includes multi-
processor capabilities and the ability to manage computations through a task manager and/or in batch
mode. More details can be found in the FINE™ User Guide.
6.6.10 Follow Convergence Steering
116. Double left-click Convergence History.
The evolution of averaged residuals on the entire domain can be observed during the convergence
process. Similarly,
the evolution of the mass flow balance (in/ out) and/ or global quantities
(isentropic efficiency, torque and axial thrust on solid walls selected in the boundary conditions page,
pressure ration) can be displayed.
Local and global quantities may also be added for follow- up during the convergence process.
However, their representation in the graphical area will only be effective once they are added in the
Selected Variables list, see in theFINE™ User Guide.
The examination of residuals per block and/or for a given primitive variable can be achieved
accessing the monitorTurbo tool. The tool is included in the FINE™ package and can be accessed
through the adequate command line. More details can be found in the FINE™ User Guide.
117. Once the calculation has converged or reaches the maximum number of iterations allowed
on the current grid level, the flow solver stops.
118. The final solution is then stored in the solution file (*.cgns) and the task manager window is
closed.
To check the convergence of the computation, NUMECA recommends to observe the evolution of
multiple criteria including (a) an adequate decrease in residuals (minimum 3 orders of magnitude);
(b) complete stabilization of global performances; (c) stabilization of mass flow in/out, with
satisfactory correspondence (usually less than 0.5% difference between in/out).
Now that the iterative process is over, click here to start the visualization of the solution within the
post-treatment tool CFView™ integrated in FINE™/Turbo.
6.7
TUTORIAL 6: POST PROCESSING
The iterative process is now over and the flow solution is stored in the ".cgns" file. The number of
nodes in a typical mesh usually ranges from few hundred thousands to several million, which
makes visualization delicate in most cases. As part of the FINE™ environment, NUMECA
proposes the use of the home-made visualization and post-treatment tool CFView™. CFView™
is entirely integrated in the environment and includes numerous tools which are particularly best
suited for the analysis of turbomachinery configurations.
Access to CFView™ from the FINE™ graphical user interface is provided through the
Modules/CFView... menu, or alternatively by pressing the
icon.
A step by step approach is provided in the following lines. It aims at driving you through the
various steps that need to be executed from reading the solution to the extraction of the main
results. CFView™ automatically opens the ".run" file associated with the active computation.
After running turbomachinery computation and assuming some variables have been selected in
the Azimuthal Averaged Variables section of the FINE™ graphical user interface output page,
CFView™ proposes the user to open the azimuthal averaged solution first. Otherwise, the full 3D
solution will be opened.
119. Activate View the azimuthal averaged solution.
120. Left-click Start CFView.
You will now enter CFView™ !
6.7.1
Select Surfaces
There are 16 domains in Surfaces area, which indicate the meridional channel, the pressure side
and the suction side. Each surface can be viewed in the following way: left-click it to activate the
surface, then right-click and choose Show Wireframe in the contextual menu.
121. Left-click "domain1" and "domain8" while holding <Shift> in Surfaces area., then right-
click and choose Select in the pop-up menu to activate "domain1" to "domain8".
6.7.2
Select Quantity
122. Go to the Quantity menu.
123. Enter the Field Data -> Basic Quantities sub-menu.
124. Select quantity Static Pressure.
All quantities selected in the FINE™ graphical user interface are transferred to CFView™. However,
additional derived output can be accessed directly from the visualization and post- treatment tool,
including vector components, gradients, divergence and curl of selected quantities. New quantities,
defined as an arithmetic combination of existing quantities possibly combined with regular operations
(trigonometric functions, logarithmic functions, ...) can furthermore be created.
6.7.3
Select Representation
Once the candidate quantity for visualization is selected, the user must choose a representation mode.
Representation is typically executed in the form of color contours (smoothed or stripped) and/or
isolines. CFView™ also includes the possibility to investigate the flow field locally ("local value")
and create 1D Cartesian plots. Advanced capabilities involving curve and/or surface integration can
also be accessed. More details can be found in the CFView™ User Guide.
125. Access the Representation menu.
126. Select Color Contour -> Strip.
127. Go to Representation -> Scalar Range -> Colormap Set Range.
128. Enter the range <78000 416000> in the keyboard area and press <Enter>.
129. Right-click to quit.
130. Open the Representation menu.
131. Select Cartesian Plot -> Along Grid Line ... .
132. Change Index from i to j.
133. Change Value to <15> <Enter>.
134. Left-click the Apply button.
135. Click Close.
A 1D Cartesian plot has been created at about 50% spanwise, extracting the evolution of the static
pressure along the streamwise direction along a grid line (I-direction). Data can be extracted along
boundary, solid boundary, grid line or along a user-defined section. More details can be found in the
CFView™ User Guide.
136. Left-click the Cartesian plot window to activate it (red border).
137. Type <y> to change abscissa to the radial direction.
138. Click the
icon to fit the curve.
139. Put the mouse pointer close to the x-axis, left-click and then right-click
140. Select Set Range ... .
141. Set minimum and maximum values to <0.05 0.4> <Enter> and right-click.
142. Put the mouse pointer close to the y-axis, left-click and then right-click.
143. Choose Set Range ... .
144. Set minimum and maximum values to <80000 420000>, press <Enter> and right-click.
145. Left-click inside the Cartesian plot.
146. Right-click and select Show H Grid Lines.
147. Right-click and select Show V Grid Lines.
148. Left-click all curves while holding <Ctrl>.
149. Right-click and select Curve Type ... .
150. Change Thickness from 2 to <1>.
151. Go to the Marker tab.
152. Change Symbol to Circle.
153. Change Size from 0.4 to <0.3>.
154. Change color to red.
155. Click Apply.
156. Left-click the Close button.
157. Left-click inside the Cartesian plot window.
158. Go to the View menu.
159. Select Maximize.
CFView™ offers the possibility to create and arrange Cartesian plots in different manners, with
numerous options related to the type,
the lines and symbols. The
manipulations are done interactively, mainly with the help of contextual menus. In addition,
CFView™ includes a powerful project and windows based management, giving the user
the
possibility to open multiple projects and manage several windows simultaneously. More details can be
found in the CFView™ User Guide.
thickness and colors of
6.7.4
3D Analysis
In the previous section, attention has been focused on the management and creation of plots in the
meridional plane, by means of the azimuthal averaged view. The creation of 3D plots is based on the
same concept of quantity selection and representation explained in the above sections. However, since
the plane of drawing is no longer two-dimensional, there is a need to select and/or create a surface for
representation first.
160. Go to the File menu.
161. Select Quit CFView to quit CFView™ and choose yes to confirm.
162. Access CFView™ again from the FINE™ GUI, pressing the
icon.
163. Deactivate View the azimuthal averaged solution.
164. Click Start CFView.
You will now enter 3D analysis mode in CFView™ !
165. Access the Geometry menu.
166. Select Boundary to deactivate boundary representation.
Boundary activation/ deactivation is used as a toggle and acts on all selected surfaces. Fast access is
ensured using the binding key <b>.
167. Double left-click the checkboxes "row1_shroud" and "row2_shroud" inside the Surfaces
area to deactivate the set of patches that define the shroud entity. Groups "row1_hub_(r.p.m.-
21789)", "row1_blade_(r.p.m.-21789)", "row2_hub_(r.p.m.0)" and "row2_blade" are the only
entities that remain active at this moment.
Selection of surfaces for representation is controlled through the Surfaces area. Alternatively,
identical operations can be retrieved from the Geometry menu.
Patches flagged as solids are selected as default surfaces for representation. Groups created in the
boundary condition area inside FINE™ are transferred directly to CFView™, so that the selection of
surface entities can be performed in just a few clicks.
Fast selection of a group of surfaces in a large list including numerous surfaces, which are partly
checked/unchecked, can be done by first left-clicking (combined with <Ctrl> or <Shift> for multiple
surfaces) on the target surface(s) desired for representation, followed by a right- click to get the
contextual menu and choosing Select.
168. Go to the Geometry menu.
169. Select Boundary again to activate boundary representation on active surfaces.
170. Go to the Geometry menu once more.
171. Select Grid to display surface mesh on active surfaces.
Fast access to mesh representation is ensured using the binding key <g>.
172. Access the Render menu.
173. Select Shading -> Gouraud to shade active surfaces.
174. Make use of the Viewing buttons to modify the representation mode and position the
centrifugal compressor to outline the blades and hub in a clear way.
175. Press the binding key <g> to deactivate the mesh on active surfaces.
176. Go to the Geometry menu.
177. Select Repetition Number.
178. Activate Max to set the maximum number of repetitions for all rows.
179. Click on Apply.
180. Open the Geometry menu.
181. Select Repetition on/off.
182. Go to the File menu.
183. Select Print ... .
Pictures can be printed in different formats, either on the active or graphics windows. Information
can be introduced in a banner. Options related to picture definition can also be modified.
184. Select Active View.
185. Set banner to <CENTRIFUGAL COMPRESSOR> and press <Enter>.
186. Set the format to PNG.
187. Click OK.
188. Select the picture name and appropriate location.
189. Click Save.
The selection of Graphics Window is recommended to insert several pictures in a unique file, as
they appear on the graphical window (WYSIWYG = what you see is what you get mode).
The ".png" format is often the preferred choice for printing.
190. Go to Update -> Delete -> All.
191. Go to Geometry -> Repetition on/off.
192. Select Quantity -> Solid Data -> Static temperature.
193. Select Representation -> Color Contour -> Strip.
194. Select Representation -> Scalar Range -> Colormap Optimum Range.
The parietal coordinate static temperature is now enabled on active surfaces (hub and blades). The
range of representation has been adapted automatically to variations on the selected surfaces to outline
details as effectively as possible.
195. Make use of the Viewing buttons to modify the representation mode and find a suitable
viewpoint.
6.7.5
Blade-to-Blade View
196. Go to Update -> Delete -> All.
197. Go to Representation -> Colormap to remove the colormap.
198. Open the Render menu.
199. Select Shading -> Gouraud.
200. Go to the Geometry menu.
201. Select Blade to Blade Surface.
202. Set Surface type to Blade to blade.
203. Set S to <0.5> <Enter> (section located 50% spanwise).
204. Click the Apply button.
205. Click the Save button.
206. Click Close to quit the dialog box.
CFView™ integrates the possibility to create cuts at constant spanwise position (also called "blade-to-
blade" planes). This capability is especially useful when the endwalls are not planar. The surface for
representation at constant spanwise position is then created based on linear interpolation between the
endwalls.
Pressing the Save button in the dialog box creates an additional surface for representation in the
Surfaces area, enabling quantity selection and representation as discussed in the previous sections.
207. Left-click "CUT1" in the Surfaces area.
208. Right-click to access the contextual menu.
209. Choose Select in order to select "CUT1" as the only active surface for representation.
210. Go to the Quantity menu.
211. Select Field Data -> Basic Quantities -> Absolute Mach Number.
212. Open the Representation menu.
213. Select Color Contour -> Smooth.
214. Open the Representation menu.
215. Select Scalar Range -> Colormap Set Range.
216. Enter the range <0 1.1> in the keyboard area and press <Enter>.
217. Right-click to quit.
218. Left-click the colormap.
219. Right-click and select Move or Resize.
220. Drag and drop the colormap to an appropriate location.
221. Move the mouse to a corner of the colormap to adjust the size.
It is advised to put the colormap at a location where it does not interfere with the representation, to
avoid any difficulty in the interpretation of the results.
222. Left-click the colormap.
223. Right-click and select Smooth Only.
224. Access the Representation menu.
225. Select Isolines -> Isolines ... .
226. Activate increment mode.
227. Change Value to <0.05> <Enter>.
228. Activate Color Uniform.
229. Click Apply.
230. Close the dialog box.
231. Toggle Geometry -> Repetition on/off.
232. Go to Update -> Delete -> Isoline.
233. Go to the Quantity menu.
234. Select Field Data -> Basic Quantities -> Wxyz.
235. Go to the Representation menu.
236. Select Vector Type ... .
237. Select Tangent Component in Representation Type.
238. Select Color Uniform in Vector Size.
239. Click the Apply button.
240. Click the Close button to quit the dialog box.
241. Select Representation -> Vector On Grid Nodes.
242. Make use of the Viewing buttons to modify the representation mode and zoom in near the
leading and trailing edge of the blades.
The representation of velocity vectors in a relative frame of reference (Wxyz) outlines the quality of
the flow impinging the blade. Ideally, these vectors should be aligned with the blade. In off-design
conditions, the alignment is not adequate, possibly leading flow separation.
6.7.6
Turbomachinery Mode
243. Select Geometry -> Repetition on/off.
244. Open the File menu.
245. Select Turbomachinery.
246. Choose Load Flow Solver Pitch Average under Meridional Average.
247. Click Ok.
You have now entered the Turbomachinery mode! It gives simultaneous access to meridional,
meridional average, blade-to-blade and 3D views.
Actions required for surface representation, quantity selection and representation apply similarly to
those described in the previous sections. More details can be found in the CFView™ User Guide.
TUTORIAL 7.
WIND TURBINE
7.1
NUMECA SOFTWARE
The resolution of computational fluid dynamics (CFD) problems involves three main steps:
l spatial discretization of the flow equations,
l flow computation,
l visualization of the results.
To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal
integrates the
and Turbomachinery assimilations called FINE™/Turbo. The environment
following tools:
l IGG™ is an Interactive Geometry modeler and Grid generator, based on structured multi-
block techniques.
l AutoGrid5™ is a three-dimensional Automated Grid generation software tool, dedicated to
is based on structured multi- block
it
turbomachinery applications. Similarly to IGG™,
techniques.
l Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes
equations in the laminar, transitional and turbulent regimes.
l CFView™ is a highly interactive flow visualization and post-treatment software tool.
l FINE™ Graphical User Interface is a user-friendly environment that includes the different
software. It integrates the concept of projects and allows the user to achieve complete
simulations, going from the grid generation to flow visualization, without the need of file
manipulation.
A turbomachine is a device in which the energy is transferred either to or from a continuously
flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in
particular in aircraft, marine, space (liquid rockets) and land propulsion systems but also in
hydraulic, gas and steam turbine applications. It is also used in industrial pipeline and processing
equipment such as gas, petroleum and water pumping plants. Other applications can be related to
heart-assist pumps, industrial compressors and refrigeration plants, and more.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is
composed of several basic elements including the blade (also called vane if it is non-rotating),
hub, and shroud. Several technological effects involving clearances, seal leakages and cooling
holes among others can complete the machine. Due to the complexity of the blade shapes, the
presence of technological elements and the rotation of machine, the nature of the flow is strongly
three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the simulation of a wind turbine. It makes use of
FINE™/Turbo and describes how to deal with the specific options implemented in FINE™
environment. In this tutorial you will learn how to:
l read an existing geometrical file into AutoGrid5™;
l define the blade periodicity;
l define pseudo shroud and upstream/downstream limit;
l control meridional flow paths;
l control far field;
l generate and optimize the blade-to-blade (dedicated O4H High Staggered topology) mesh;
l control the quality of the mesh in the blade-to-blade and 3D mesh;
l manage the fluid database;
l set up both boundary and initial conditions;
l numerical process management;
l select adequate outputs;
l launch the calculation process;
l check for convergence;
l visualize and analyze the results.
7.2
PREREQUISITES
This tutorial does not require any prior experience with the menu structure in FINE™/Turbo.
7.3
PROBLEM DESCRIPTION
This problem considers the generic wind turbine as shown below. The turbine includes 3 blades,
rotating with a speed of 15 RPM. The absolute velocity at the inlet is 10 m/s.
7.4
PREPARATION
l Start FINE™/Turbo v13.1:
l For Linux systems, you can access FINE™/Turbo graphical user interface with the
following command line:
fine -niversion 131 -print
l For WINDOWS systems, you can access FINE™/Turbo graphical user interface from the
start menu by going to /Programs/NUMECA software/Fine131/FINE.
l Click the Create a New Project icon to create a new project.
l Select your directory of choice to store the project.
l Enter the project name in the dialog box as <Tutorial7> <Enter>.
l Click on Create Grid File to access the interactive geometry modeler and grid generator
IGG™.
l Access the menu Modules, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.
You are now ready to start the grid generation process and mesh the WIND TURBINE
configuration! Click here to start the mesh generation...
7.5
TUTORIAL 7: MESH GENERATION
The AutoGrid5™ graphical user interface includes several windows that enable the simultaneous
visualization of the geometry and the mesh of the turbomachine in the meridional, blade-to-blade
and 3D views. The access to main menu and controls is provided through a menu bar and a
quick access pad, and is complemented with a tool/icon bar. The execution of the different
actions undertaken is summarized in the message box at the bottom of the interface.
A step by step approach is provided in the following lines. It aims at driving you through various
steps that need to be executed from the creation of the mesh project to the validation of the final
mesh quality.
7.5.1
Create a Mesh Project
1. Select Basic Mode if necessary in the toolbar.
The Basic Mode will give access to a simplified graphical user interface. For most projects the
available parameters in the Basic Mode are sufficient.
2. Close the Open Turbo Project Wizard dialog box.
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with
associated grid) including the data required to regenerate a mesh on an identical or similar geometry.
In this tutorial, this data will be progressively introduced based on the geometry of the project case.
3. Go to File -> New Project.
4. Click yes to close the active project.
5. Choose Initialize a New Project from a geomTurbo File.
7.5.2
Load Geometry
6. Locate and select "windturbine.geomTurbo" (geometry defined in [Meter]) in the dialog box
and click Open. ("Where to Find the Files Used in the Tutorials?" (p. 10)). Click ok in both
warning dialog boxes informing that a discontinuity of 90 degrees has been detected in the hub.
The ".geomTurbo" file format is structured in three main blocks: the header, the channel and the row
(s) definitions.
The channel format contains the definition of the turbomachinery meridional contour (hub, shroud,
seal leakage, bleed,...). It is defined by two types of curves: the basic curves defined by a set of points
and the channel curves defined as a composite of basic curves.
The row definition contains the geometry of a complete row. It is defined by a row name, a row type,
a periodicity and the definition of the main blade and possibly the splitter(s). The blade and splitter(s)
are defined by the pressure and the suction side surfaces identified by the keywords "pressure" and
"suction". Both surfaces are specified by a set of cross sections of the blade at several spanwise
locations from hub to shroud. Each section is defined by a set of points from leading to trailing edge.
7.5.3 Mesh Wizard
7. Left-click Row Definition -> row 1 in the Quick Access Pad (QAP) to activate the current
row, if not done already.
8. Left-click Row Wizard in the toolbar.
The row wizard is also available in Expert Mode under Mesh Control subpad in the QAP.
9. Click yes to start the wizard and to reset the mesh generation parameters.
The reset will keep the modifications performed by the user in the Row Wizard but will reset the
parameters modified in Expert Mode to the default value.
The wizard is divided in 8 steps:
l the geometry check (optional),
l the machine characteristics definition,
l the pseudo shroud definition,
l the gap and fillet definition,
l the flow path definition,
l the far field definition,
l the blade-to-blade mesh definition,
l the end of the initialization.
10. Click yes to confirm the geometry check (step 1).
During the geometry check of a blade, AutoGrid5™ performs the following operations: check blade
definition, check orientation of the blade section curves, detect loop detection into the blade section
curves and between the blade sections. More details in AutoGrid5™ User Guide.
11. Click Next in the dialog box to define the machine characteristics (step 2).
12. Select Wind Turbine as Row type in the Blade row type dialog box.
13. Enter the Periodicity (number of blades) if necessary. Left-click inside the string input area
and type <3>, press <Enter> to confirm.
14. Select Rotor.
15. Enter <-15> in Rotation Speed (rpm).
This speed will be transferred to the FINE™ graphical user interface and ease the input of boundary
conditions later on.
The sign of the rotational speed is positive (+) when the blade row is rotating in the positive θ-
direction, and negative otherwise.
16. Click Next
upstream/downstream limits (step 3).
in the dialog box to start
the pseudo shroud definition and the
AutoGrid5™ automatically creates a horizontal pseudo shroud located at a radius (Rshroud) defined
by:
with
and
as the maximum of the minimum blade radii computed on leading and trailing edge
is the minimum of the maximum blade radii computed on leading and trailing edge.
The normalized parameters Upstream Location and Downstream Location are used to
and the minimum of
locate the inlet and outlet of the domain using the blade location
the maximum blade radii computed on leading and trailing edge (
) as
normalization value:
17. Define Shroud Location = <1.0> <Enter>.
18. Define Upstream Location = <-10.0> <Enter>.
19. Define Downstream Location = <25.0> <Enter>.
20. Click Next>> in the dialog box to start the gap and fillet definition (step 4).
21. Keep all data unchanged (no gap or fillet).
22. Click Next>> in the dialog box to start the flow path definition (step 5).
23. Set Spanwise Grid Point Number to <149> (corresponding to the flow paths number) in the
Layer Control dialog box.
24. Estimate the width of the first cell at the wall:
The width of the first cell close to the wall must be selected with care since the quality of the flow
solution will often depend upon the capture of the flow phenomena inside the boundary layers which
develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends locating the nearest grid
point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low
Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must
be modeled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven
by the Blasius equation, expressed as follows for turbulent flows:
where:
l ywall is the distance of the nearest grid point to the wall (in meter);
l Vref is a reference velocity of the flow, for instance, the inlet velocity (in m/s);
l ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
l Lref is a reference length of the test case (in meter);
l y+ is a non-dimensional value.
In the present case, one can estimate that Vref=10 m/s; Lref=0.25 m; ν=1.43e-5 m²/s. Assuming
one wishes to get y+ around 1 at the wall, it turns out that y = 1 x 10-5 m.
Input the value of the Wall Cell Width = <1e-5> [Meters] <Enter> in the Layer Control dialog
box.
25. Click Next>> in the dialog box to start the far field definition (step 6).
The far field limit
is controlled by the Far Field Thickness parameter normalized with the
(minimum of the maximum blade radii computed on leading and trailing edge):
In addition, the number and the distribution of the layers in the far field can be modified.
26. Set Spanwise Grid Point Number to <65> (corresponding to the flow paths number in the
far field) in the dialog box.
27. Set Percentage Constant Cell to <33>.
28. Define Far Field Thickness = <5.0> <Enter>.
29. Click Next>> in the dialog box to start the blade-to-blade definition (step 7).
30. Set the Number of Points (of the 3D mesh) around 4,000,000 by clicking the << or >>
button in the B2B Control dialog box if necessary.
31. Click Preview B2B to plot the blade-to-blade mesh at mid-span: a Rounded Azimuthal O4H
topology is used.
The topology (Rounded Azimuthal) is activated automatically if the blade solid angle at midspan is
higher than 45°.
473
FINE™/Turbo 13.1 Tutorials
The Rounded Azimuthal O4H topology includes 5 blocks:
l the skin block is an O-mesh surrounding the blade;
l the inlet block is a H-mesh located below the leading edge;
l the outlet block is a H-mesh located above the trailing edge;
l the up block is a H-mesh located upstream the blade section;
l the down block is a H-mesh located downstream the blade section.
32. Click Finish to end the initialization process (step 8). Click no in order not to generate the 3D
mesh.
Automatically, at the end of the wizard procedure, a ZR effect named <Row name> far field is
created under Quick Access Pad/Row Definition to control the grid generation process of the
domain up to the blade.
33. In the QAP/Row Definition, left-click row 1 and left-click + <Ctrl> on row 1 far field.
Click the Generate 3D button.
You can check the blade-to-blade mesh quality at hub and/or shroud before generating the 3D mesh.
Go to Mesh Control -> Active B2B Layer to specify the flow path (layer) on which the mesh will
be plotted in the blade-to-blade view. By default, the active view is set at the mid-span of the machine
(Active Layer (%span) set to 50). The layer selected for visualization is defined in percentage of
span, going from hub (0%) to shroud (100%). Enter <0> <Enter> or <100> <Enter> in order to
visualize the mesh at hub or shroud respectively.
Select Update B2B View to regenerate the blade-to-blade mesh on the new specified layer in the
blade-to-blade view.
A detailed analysis of mesh quality can be performed on the blade-to-blade mesh after generation.
Information on orthogonality, aspect ratio and expansion ratio can be outlined in this window by
clicking
:
l Select quality criteria using the Type pull-down menu.
l Left- click Show chart to visualize the distribution of the selected criteria in the form of a
histogram. The histogram is drawn for each row.
l Left- click part of the histogram to plot the concerned cells in blade- to- blade view or select
Display all cells to have an overview of the mesh quality.
l Left- click the More info button to obtain information regarding the minimum and maximum
values of the selected criteria.
l Close the quality checkbox.
Once 3D grid generation is completed, a grid quality check is performed and displayed.
Minimum cell skewness, maximum expansion ratio and aspect ratio are reported, among others. Data
is available for the entire mesh and separately for each entity (row, technological effect, bulb). Data
related to grid quality report is automatically stored in a report file, once the project file is saved.
34. Close the dialog box. The page can be reopened by clicking
.
7.5.4 Mesh Visualization
35. Select the View -> View 3D Solid Mesh.
36. Left-click the View 3D button in the toolbar to visualize only the 3D view.
By default, the 3D solid mesh is plotted on hub and blades. To remove the plot, select View -> Hide
3D Solid Mesh.
37. Use the Repetition icon (
) to toggle the repetition of the channel.
38. Use the View menu in the QAP to toggle edge, mesh and/or solid shading.
7.5.5
Check Boundary Conditions & Mesh Quality
39. Check for boundary conditions by clicking
.
40. Select UND under Type pull-down menu and press <Enter> to check that there are no
patches in the patch list still set to an undefined type.
It is important to ensure that no undefined patches (UND) are present in the mesh. If this is not the
case, they can usually be removed by increasing the tolerance and launching the Search procedure.
41. Close the dialog box.
42. Left-click in the 3D view to activate the view (red border), if not done already.
43. Check for negative cells by clicking
.
44. Click Apply.
The computation of the negative volumes is performed first. Negative cells can be outlined in the
mesh pushing the View neg cells button. Beware that the visualization of negative cells can be
memory consuming when a large number of cells must be displayed. It is then advised to first check
the number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.
45. Click ok and Close the dialog box.
46. Left-click in the 3D view to activate the view (red border), if not done already.
47. Check the grid quality by clicking
.
A detailed analysis of the mesh quality on a 3D mesh can only be performed once the 3D mesh has
been generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell
width can be outlined in this window using the Type pull-down menu.
48. Select block number (0 for all) - <Enter>.
49. Select quality criteria using the Type pull-down menu.
50. Left-click Show chart to visualize the distribution of selected criteria in the form of a
histogram. The histogram is drawn per block (0 = all blocks).
51. Left-click part of the histogram to plot the concerned cells in the 3D view.
52. Left-click the More info button to obtain information regarding minimum and maximum
values of the selected criteria and block.
53. Close the dialog box.
7.5.6
Save Project
54. Go to File -> Save Project As <tutorial7> and press <Enter> to save mesh and template files
in the "_mesh" subfolder.
The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the
boundary
and
(".xmt_ txt"),
".qualityReport". The meaning of these files is detailed in the User Guide.
condition
".config"
".geom"
".cgns",
".igg",
".bcs",
types:
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh
with AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these
files is detailed in the User Guide.
Now that the mesh is saved, click here to set up the computation in FINE™/Turbo interface!
7.6
TUTORIAL 7: FLOW SETTINGS
The mesh generation process is now completed and one can now go back to the FINE™
graphical user interface in order to set the various flow settings required before starting the
computation. Access to the main menu and controls is provided through a menu bar and a left-
tree, and is complemented with an icon bar.
Access to the FINE™ graphical user interface from the AutoGrid5™ window is provided
through the Modules/Fine Turbo menu, simply confirm (yes) to enter FINE™ GUI. You are
now back at the FINE™ graphical user interface!
A step by step approach is provided in the following lines. It aims at driving you through the
various steps that need to be executed from mesh linking to the execution of the calculation.
7.6.1
Link Mesh & Project
58. Click the
icon and link the mesh "tutorial7.igg" to the project.
The user may be prompted a warning message concerning the solver precision; accept this message.
The change of the solver precision is detailed in step 113.
59. Define grid units in Meters as the geometrical data inserted in the "tutorial7.geomTurbo" file
is expressed in meters.
60. Select a Cylindrical and 3 Dimensions configuration.
61. Click OK to close the dialog box.
7.6.2 Manage Computations
62. Rename the default computation "computation_1" as "111_SA" in the Computations area, to
indicate that the calculation will be executed on the coarse grid first and will use the Spalart-
Allmaras turbulence model. This can be achieved by left- clicking the Rename button and
replacing "computation_1" by "111_SA".
Similar operations can be executed using the New Computation or Remove buttons, to respectively
create a new computation or remove one.
7.6.3
Set Flow Configuration
63. Go to the tree in the left menu and double left-click the Configuration menu.
Three sub-menus related to the definition of the working fluid, main flow characteristics and rotating
machinery definition can then be accessed.
64. Double left-click Fluid Model to access the fluid database.
65. Select AIR(Perfect). Air, considered as a perfect gas, is then selected as a working fluid.
The fluid database includes a number of pre-defined fluids, covering various approximations in fluid
definition such as perfect gas, ideal (real) gas, incompressible fluids and fluids defined as a set of
thermodynamic tables (optional, subjected to a separate license key).
A default fluid database is provided by FINE™/Turbo. The user is also able to create and modify
his/her own fluids and/or use fluids created by others. More details about these functions are available
in the FINE™ User Guide.
66. Double left-click Flow Model to set the flow characteristics.
67. Keep Steady to indicate that a steady solution is of interest.
68. Keep Turbulent Navier-Stokes to activate the resolution of the RANS equations.
69. Keep Spalart-Allmaras as the turbulence model of choice.
A number of turbulence models can be accessed through the interface. They require the additional
resolution of 0-equation to 4-equations, depending upon the model selected. Some of these models do
need a fine resolution near the wall (y+ ranging from 1 to 5), while others use the log-law concept
and can mimic the logarithmic law. More details can be found in the FINE™ User Guide.
70. Activate Low Speed Flow (M<0.3).
Preconditioning is applied for low speed flows and/or modeling incompressible fluids. At low Mach
numbers, the convergence rate of the iterative process can be largely slowed down due to the
numerical formulation selected in the flow solver. The equations are then preconditioned to recover a
satisfactory rate for convergence.
71. Set Reynolds Number Related Info:
l Set Characteristic length = <0.25> < Enter>,
l Set Characteristic velocity = <15> < Enter>,
l Keep Characteristic density = <1.2> < Enter>,
l Keep Reference temperature = <293> < Enter>,
l Keep Reference pressure = <101300> < Enter>.
Characteristic variables (length, velocity, density) are required to estimate the Reynolds number. This
number is used at a few locations inside the flow solver, in particular inside the damping functions
related to the modeling of turbulence down to the walls.
The impact of the characteristic variables on the flow solution is very limited, but it is advised to
select values in accordance with characteristic quantities of the geometrical domain and flow
conditions. As an example, the characteristic length may be defined by a reference diameter or length
at the inlet and/or outlet of the computational domain, and/or the chord of the blade (if any). The
characteristic velocity may be set to the averaged inlet velocity. The characteristic density is fixed as
the average (molecular) fluid density.
72. Double left-click Rotating Machinery to set the rotating machinery definition.
73. Select row 1.
74. Check that the Rotational Speed = <-15> <Enter>.
75. Select row 1 far field.
76. Set the Rotational Speed to <-15> <Enter>.
In the cylindrical mode, the flow solver resolves the equations by default in a relative frame of
reference. As a consequence, the mesh attached to the blade is rotating at the same speed as the blade,
as far as no rotor- stator interaction is concerned. The rotation speed has been introduced in
AutoGrid5™ and transferred through FINE™, limiting user interventions in the graphical user
interface.
For rotating machinery projects, the axis of rotation must be aligned along the z- direction. In
addition, a unique rotation speed must be considered for the entire computational domain.
7.6.4
Set Boundary Conditions
77. Go to the tree in the left menu and double left-click the Boundary Conditions menu.
During the grid generation process, AutoGrid5™ defines the type of the boundary conditions to be
applied on each block face. The most common types are INLET, OUTLET, PERIODIC and SOLID
boundary conditions.
PERIODIC boundary conditions are set automatically by the flow solver and must not be modified by
the user.
It is important to confirm each entry by pressing the <Enter> key.
78. Go to Mesh -> View On/Off to load the mesh in FINE™ GUI.
This toggle menu is used to visualize the grid in FINE™. The parameters area will be overlapped by a
graphics window, and the small control button on the upper-left corner of the graphics window can
be used to resize the graphics area in order to visualize the parameters and the mesh simultaneously.
The selection of patches in the left column outlines the corresponding patch in the graphics area, thus
enabling a fast and easy visualization of the boundary conditions.
79. Go to the SOLID tab:
For each row, patches including the keyword "hub" are by default collected in a unique group named
as "row*_hub". Patches of the blade are grouped in "row*_blade". If the part of the row is rotating,
the suffix "_(r.p.m. rot_speed)" is added to the group name. The presence of a far-field covering the
tip of the blade is automatically taken into account in another blade group "far field_blade", thus
minimizing user intervention in the definition of the boundary conditions. For a rotor, which is
defined in AutoGrid5™, it is assumed that the hub and the blade are fully rotating. The rotation speed
takes the value introduced during the mesh generation process
l Left-click group "row1_ hub_ (r.p.m.-15)" and left-click + < Ctrl> group "row1 far field_
blade",
l A warning will appear, click ok,
l Keep Adiabatic and Constant Rotation Speed,
l Keep Rotational Speed1 = <-15> <Enter>,
l Keep Compute force and torque active.
The convergence of lift , drag and momentum can be monitored in the computational steering
window, to make sure that both quantities have reached stable values at the end of the convergence
process.
l Keep all other default settings.
80. Go to the EXTERNAL tab:
l Left-click + <Shift> the first and last patch,
l Click Group to group them with the name <External> <Enter>,
l Set Static Pressure = <101300> <Enter>,
l Set Static Temperature = <293> <Enter>,
l Set Vx = Vy = <0> <Enter>,
l Set Vz = <10> <Enter>,
l Choose Turbulent Viscosity as the Turbulent Quantities and set Turbulence Viscosity to
<0.0001> <Enter>.
81. Go to Mesh -> View On/Off to toggle mesh visualization, if needed.
7.6.5
Set Numerical Model
82. Go to the tree in the left menu and double left-click the Numerical Model menu.
This menu gives access to the most frequently used numerical parameters, including the Courant
Friedrichs Lewy (CFL) number and the selection of the grid level on which the simulation will apply.
It is important to confirm each entry by pressing the <Enter> key.
83. Keep CFL unchanged to 3.
The CFL number drives the pseudo-time step selected to reach a steady state solution using the time-
marching method integrated in the flow solver. In combination with the 4- steps Runge- Kutta
integration scheme included in the flow solver, it has a theoretical stability limit close to 2.8.
However, the additional implicit smoothing scheme can increase this value slightly, which justifies the
default value of 3.
The default value for CFL number is adequate in most cases, but can be decreased in some
circumstances, in particular at off-design conditions.
84. Define the grid level on which the simulation will apply:
The flow solver is based on an explicit
time integration technique, which is accelerated using
dedicated multi- grid methods. To this end, several levels of intermediate grids must be generated
started from the finest one. This is achieved by taking one node over 2 in each I-, J- or K-directions,
starting from the finer grid level.
It is strongly advised to enable the definition of at least 3 grid levels, by carefully selecting the
number of nodes on every edge forming the patches and blocks. More details can be found in the
IGG™, AutoGrid5™ and FINE™ User Manuals.
In the FINE™ terminology, the finest grid level a user can access will be called 000, while the
intermediate and coarsest ones will be named the 111 and 222 level respectively, assuming 3 grid
levels can be selected.
Hybrid grid levels can theoretically be defined (e.g. 010 or 211). It is however not advised to use such
hybrid levels since it deforms the mesh in a preferential direction and thus possibly increasing the
aspect ratio. Consequently, the quality of the resulting mesh can be decreased.
l Set Current Grid Level = <1 1 1>,
l Keep Number of Grid(s) = <2>,
l Keep the Coarse Grid Initialization active.
In addition to the multi-grid acceleration technique, the number of iterations to convergence can be
significantly reduced activating the coarse grid initialization process. In that case, the simulation starts
on the coarsest grid level available,
the flow solver
automatically interpolates the current flow solution on the intermediate levels before the iterative
process is restarted. A similar process occurs until the expected finest grid level is reached. The
iterative process is then continued as long as the convergence criterion is not reached or the maximum
number of iterations is not exceeded. More details can be found in the FINE™ User Guide.
leading to fast convergence. Once done,
l Activate Expert Mode in the toolbar to access expert parameters for coarse grid initialization,
l Set Maximum number of cycles per grid level = <500> in Full MultiGrid Parameters.
85. Select Hakimi as the preconditioning method and define the preconditioning parameters:
l Change the Characteristic velocity to <10> < Enter>,
l Activate Local velocity scaling,
l Keep all other default settings.
Preconditioning is applied at low-speed flows and/or modeling incompressible fluids. At low Mach
numbers, the convergence rate of the iterative process can be largely slowed down due to the
numerical formulation selected in the flow solver. The equations are then preconditioned to recover a
satisfactory rate for convergence. Preconditioning is controlled in the Hakimi method through a user-
controlled parameter ß.
This parameter ß is imposed by the user through a coefficient ß* and the characteristic velocity Uref
such that:
ß² = ß* . (Uref
²) or,
ß² = ß* . max(Uref
²,Uloc
²) when local velocity scaling is active (Uloc is the local velocity)
Uref is the representative value of the maximum velocity in the flow field. For the user's convenience,
the constant Uref is always equal to the reference velocity specified in the Flow Model page and used
in the calculation of the Reynolds Number. In that case, U ref must be carefully selected since it
influences the convergence and when changed in the Numerical Model page, the value will also be
adapted automatically in the Flow Model page.
7.6.6
Set Initial Conditions
86. Go to the tree in the left menu and double left-click the Initial Solution menu.
87. Left-click + <Shift> the first and last group. A warning will appear, click OK.
88. Click Group to group them with the name <_MESH> and press <Enter>.
89. Left-click constant values to access the constant initial solution menu.
90. Set Pressure = <101300>.
91. Set Temperature = <293>.
92. Set Vr = Vtheta = <0>.
93. Set Vz = <10>.
94. Choose Turbulent Viscosity as the Turbulent Quantities and set Turbulence Viscosity to
<0.0001> <Enter>.
7.6.7
Select Outputs
95. Go to the tree in the left menu and double left-click the Outputs menu. Double left-click
Computed Variables.
Quantities of interest in the simulation must be pre-selected in this menu. They will be stored in the
solution file (*.cgns) once the iterative process will be finished and/or during intermediate steps.
Quantities can be accessed both in the 3D field (Computed Variables) and/or in the meridional
plane (following circumferential averaging, see Azimuthal Averaged Variables). Additional data
can be selected on the solid walls and/or on predefined surfaces (Surface Averaged Variables).
The adequate selection of outputs of interest will reduce the size of the solution file. This is in
particular important when projects involving very fine meshes and/or unsteady capabilities are
managed.
96. Select Static, Total Absolute and Total Relative Temperature if not yet selected.
97. Select Static, Total Absolute and Total Relative Pressure if not yet selected.
98. Select Density if not yet selected.
99. Left-click the Velocities in the menu Categories.
100. Select Vxyz and Absolute Mach number if not yet selected.
101. Select Wxyz and Relative Mach number if not yet selected.
Vxyz and Wxyz are the velocity vector fields in respectively the absolute and relative frame of
reference. The examination of solution quantities in the relative frame of reference is particularly
useful to observe the flow angles relative to the blade close to leading and trailing edge.
102. Left-click the Solid data in the menu Categories.
103. Select Static pressure, Static temperature, Cf, Relative velocity and y+ (in first inner
cell) if not yet selected.
Cf is known as the friction coefficient.
The parietal coordinate y+ is a direct function of the distance from the wall. Therefore, y+ = 0 at the
wall and takes a non- zero value at the center of the first cell close to the wall (also called "inner
cell"). As a consequence, the examination of y+ "at the wall" should be understood as the examination
"in the first inner cell". Although it is not correct theoretically speaking, this concept is very often
used to ease the post-treatment and benefit from the existing solid surfaces.
104. Left-click the Turbulence in the menu Categories.
105. Select Wall distance and Turbulent Viscosity ratio if not yet selected.
The analysis of the Turbulent Viscosity ratio field is often of major interest to make sure that the
turbulent quantities are computed accurately according to the turbulence model and mesh refinement
selected.
Running k- epsilon related models gives access to additional quantities in particular related to the
production term, the kinetic energy and dissipation rate fields. It is strongly advised to activate these
fields for post-treatment.
106. Double left-click Azimuthal Averaged Variables.
107. Go through the various categories and select the same quantities as selected for Computed
Variables.
Additionally, outputs can be re- directed using the PLOT3D format, using various formats. More
details can be found in the FINE™ User Guide.
7.6.8
Control Computation Steering
108. Go to the tree in the left menu and double left-click the Computation Steering menu.
109. Double left-click Control Variables.
110. Set Maximum Number Of Iterations = <1000> <Enter>.
111. Keep Save Solution Every = <100> <Enter>.
112. Keep Convergence Criteria = <-6> <Enter>.
113. Set Solver Precision to Double; change the solver precision from Single to Double.
Depending upon the quality of the initial solution, the density of the mesh (number of nodes) and the
complexity of the underlying flow field, from few hundreds to few thousand iterations are typically
required to reach convergence. The iterative process is stopped once the convergence criteria is
reached over the entire domain or the maximum number of iterations is executed on the current grid
level (111 in the present case).
The ability to select for Minimum output gives the possibility to minimize the size of the solution
files. In that case, the flow solution is stored only once the iterative process is finished, and limited
information is proposed during the intermediate storage. This limited information allows to perform a
restart procedure from an existing flow solution, but cannot be visualized within CFView™.
Static memory allocation is enabled inside the flow solver. An estimation of the memory required to
run and save the flow solution is calculated and proposed as a default. However,
in some
circumstances, the estimation may be too low and it is then required to manually increase the number
of reals or integers necessary to drive the solution to success. In that case, click Set the requested
memory and increase the inputs accordingly.
114. In the list of expert parameters (only visible when Expert Mode is active in the toolbar):
l Left-click IINT in the integer parameters list.
l Set value to <0> <Enter>.
l Left-click IVELSY in the integer parameters list.
l Set value to <0> <Enter>.
l Left-click MUCLIP in the double parameters list.
l Set value to <50,000> <Enter>.
l Keep all other default settings.
502
FINE™/Turbo 13.1 Tutorials
Set IINT = 0 for external flow and allows the user to monitor the convergence history of the drag,
lift and momentum. The directions of the drag, lift and momentum are controlled by the expert
parameters IDCDP, IDCLP and IDCMP. More details can be found in the User Manual.
Set IVELSY = 0 to solve equations for absolute velocities in the relative system.
Set MUCLIP = 50,000 to control and avoid the clipping of the turbulence ratio in the flow field but
not on the boundaries.
7.6.9
Save Project & Start Calculation
115. Go to the File menu and Save the project.
The project parameters are stored in the *.iec file. This file includes the entire set of parameters
required to reproduce the project, excluding the mesh.
116. Press the
task manager window will appear.
icon and click Start Flow Solver in the dialog box to start the calculation: a
The calculation will start in serial mode (1 processor) on the local machine. FINE™ includes multi-
processor capabilities and the ability to manage computations through a task manager and/or in batch
mode. More details can be found in the FINE™ User Guide.
7.6.10 Follow Convergence Steering
117. Double left-click Convergence History.
The evolution of averaged residuals on the entire domain can be observed during the convergence
the evolution of the mass flow balance (in/ out) and/ or global quantities
process. Similarly,
(isentropic efficiency, torque and axial thrust on solid walls selected in the boundary conditions page,
pressure ration) can be displayed.
Local and global quantities may also be added for follow- up during the convergence process.
However, their representation in the graphical area will only be effective once they are added in the
Selected Variables list, see in theFINE™ User Guide.
The examination of residuals per block and/or for a given primitive variable can be achieved
accessing the monitorTurbo tool. The tool is included in the FINE™ package and can be accessed
through the adequate command line. More details can be found in the FINE™ User Guide.
118. Once the calculation has converged or reaches the maximum number of iterations allowed
on the current grid level, the flow solver stops.
119. The final solution is then stored in the solution file (*.cgns) and the task manager window is
closed.
To check the convergence of the computation, NUMECA recommends observing the evolution of
multiple criteria including (a) an adequate decrease in residuals (minimum 3 orders of magnitude);
(b) complete stabilization of global performances; (c) stabilization of mass flow in/out when
available, with satisfactory correspondence (usually less than 0.5% difference between in/out).
Now that the iterative process is over, click here to start the visualization of the solution within the
post-treatment tool CFView™ integrated in FINE™/Turbo.
7.7
TUTORIAL 7: POST PROCESSING
The iterative process is now over and the flow solution is stored in the ".cgns" file. The number of
nodes in a typical mesh usually ranges from a few hundred thousand to several million, which
makes visualization delicate in most cases. As part of the FINE™ environment, NUMECA
proposes the use of the home-made visualization and post-treatment tool CFView™. CFView™
is entirely integrated in the environment and includes numerous tools which are particularly best
suited for the analysis of turbomachinery configurations.
Access to CFView™ from the FINE™ graphical user interface is provided through the
Modules/CFView... menu, or alternatively by pressing the
icon.
A step by step approach is provided in the following lines. It aims at driving you through the
various steps that need to be executed from reading the solution to the extraction of the main
results. CFView™ automatically opens the ".run" file associated with the active computation.
After running turbomachinery computation and assuming some variables have been selected in
the Azimuthal Averaged Variables section of the FINE™ graphical user interface output page,
CFView™ proposes the user to open the azimuthal averaged solution first. Otherwise, the full 3D
solution will be opened.
120. Activate View the azimuthal averaged solution.
121. Left-click Start CFView.
You will now enter CFView™ !
7.7.1
Select Surfaces
There are 20 domains in the Surfaces area, which indicate the meridional channel, the pressure
side and the suction side. Each surface can be viewed in the following way: left-click it to activate
the surface, then right-click and choose Show Wireframe in the contextual menu.
122. Left-click "domain1" and "domain18" while holding <Shift> in the Surfaces area, then
right-click and choose Select in the pop-up menu to activate "domain1" to "domain18".
7.7.2
Select Quantity
123. Go to the Quantity menu.
124. Enter the Field Data -> Basic Quantities sub-menu.
125. Select quantity Static Pressure.
All quantities selected in the FINE™ graphical user interface are transferred to CFView™. However,
additional derived output can be accessed directly from the visualization and post- treatment tool,
including vector components, gradients, divergence and curl of selected quantities. New quantities,
defined as an arithmetic combination of existing quantities possibly combined with regular operations
(trigonometric functions, logarithmic functions, ...) can furthermore be created.
7.7.3
Select Representation
Once the candidate quantity for visualization is selected, the user must choose a representation mode.
Representation is typically executed in the form of color contours (smoothed or stripped) and/or
isolines. CFView™ also includes the possibility to investigate the flow field locally ("local value")
and create 1D Cartesian plots. Advanced capabilities involving curve and/or surface integration can
also be accessed. More details can be found in the CFView™ User Guide.
126. Access the Representation menu.
127. Select Color Contour -> Strip.
128. Go to Representation -> Scalar Range -> Colormap Set Range.
129. Enter the range <101150 101350> in the keyboard area and press <Enter>.
130. Right-click to quit.
131. Zoom in on the blade: click the
graphics area to define the zoom area.
icon in the viewing buttons and left-click and drag in the
132. Open the Representation menu and select Cartesian Plot -> Along Section.
133. In the keyboard input area, type <-50 2.5 50 2.5> and press <Enter>.
A 1D Cartesian plot has been created at about 50% spanwise, extracting the evolution of the static
pressure along the streamwise direction along a grid line (I-direction). Data can be extracted along a
boundary, solid boundary, grid line or along a user-defined section. More details can be found in the
CFView™ User Guide.
134. Right-click to quit the menu and left-click the Cartesian plot window to activate it (red
border).
135. Type <x> to change abscissa to the radial direction. Click the
icon to fit the curve.
136. Put the mouse pointer close to the x-axis, left-click and then right-click.
137. Select Set Range ... .
138. Set minimum and maximum values to <-50 150>, press <Enter> and right-click.
139. Put the mouse pointer close to the y-axis, left-click and then right-click.
140. Choose Set Range ... .
141. Set minimum and maximum values to <101280 101310>, press <Enter> and right-click.
142. Left-click inside the Cartesian plot.
143. Right-click and select Show H Grid Lines.
144. Right-click and select Show V Grid Lines.
145. Left-click each of the curves.
146. Right-click and select Curve Type.
147. Change Thickness from 2 to <1>.
148. Go to the Marker tab.
149. Change Symbol to Circle.
150. Change Size from 0.4 to <0.3>.
151. Change color to red.
152. Click Apply.
153. Left-click the Close button.
154. Left-click inside the Cartesian plot window.
155. Go to the View menu.
156. Select Maximize.
CFView™ offers the possibility to create and arrange Cartesian plots in different manners, with
numerous options related to the type,
the lines and symbols. The
manipulations are done interactively, mainly with the help of contextual menus. In addition,
CFView™ includes a powerful project and windows based management, giving the user
the
possibility to open multiple projects and manage several windows simultaneously. More details can be
found in the CFView™ User Guide.
thickness and colors of
7.7.4
3D Analysis
In the previous section, attention has been focused on the management and creation of plots in the
meridional plane, by means of the azimuthal averaged view. The creation of 3D plots is based on the
same concept of quantity selection and representation explained in the above sections. However, since
the plane of drawing is no longer two-dimensional, there is a need to select and/or create a surface for
representation first.
157. Go to the File menu.
158. Select Quit CFView to quit CFView™ and choose yes to confirm.
159. Access CFView™ again from the FINE™ GUI, pressing the
icon.
160. Deactivate View the azimuthal averaged solution.
161. Click Start CFView.
You will now enter 3D analysis mode in CFView™ !
Selection of surfaces for representation is controlled through the Surfaces area. Alternatively,
identical operations can be retrieved from the Geometry menu.
Patches flagged as solids are selected as default surfaces for representation. Groups created in the
boundary condition area inside FINE™ are transferred directly to CFView™, so that the selection of
surface entities can be performed in just a few clicks.
Fast selection of a group of surfaces in a large list including numerous surfaces, which are partly
checked/unchecked, can be done by first left-clicking (combined with <Ctrl> or <Shift> for multiple
surfaces) on the target surface(s) desired for representation, followed by a right- click to get the
contextual menu and choosing Select.
162. Go to the Geometry menu.
163. Select Grid to display the surface mesh on active surfaces.
Fast access to mesh representation is ensured using the binding key <g>.
164. Access the Render menu.
165. Select Shading -> Gouraud to shade active surfaces.
166. Make use of the Viewing buttons to modify the representation mode and position the wind
turbine to outline the blades and hub in a clear way.
167. Press the binding key <g> to deactivate the mesh on active surfaces.
168. Go to the Geometry menu.
169. Select Repetition Number.
170. Activate Max to set the number of repetitions to 2.
171. Click on Apply.
172. Open the Geometry menu.
173. Select Repetition on/off.
174. Go to the File menu.
175. Select Print ... .
Pictures can be printed in different formats, either in the active or graphics windows. Information can
be introduced in a banner. Options related to picture definition can also be modified.
176. Select Active View.
177. Set banner to <WIND TURBINE> and press <Enter>.
178. Set the format to PNG.
179. Click OK.
180. Select the picture name and appropriate location.
181. Click Save.
The selection of Graphics Window is recommended to insert several pictures in a unique file, as
they appear in the graphical window (WYSIWYG = what you see is what you get mode).
The ".png" format is often the preferred choice for printing.
182. Go to Update -> Delete -> All.
183. Go to Geometry -> Repetition on/off.
184. Select Quantity -> Solid Data -> Static pressure.
185. Select Representation -> Color Contour -> Strip.
186. Select Representation -> Scalar Range -> Colormap Optimum Range.
The static temperature is now enabled on the active surfaces (hub and blades). The range of
representation has been adapted automatically to the variations of the static temperature on the
selected surfaces to outline details as effectively as possible.
187. Make use of the Viewing buttons to modify the representation mode and find a suitable
viewpoint.
7.7.5
Blade-to-Blade View
188. Go to Update -> Delete -> All.
189. Go to Representation -> Colormap to remove the colormap.
190. Open the Render menu.
191. Select Shading -> Gouraud.
192. Go to Geometry menu.
193. Select Blade to Blade Surface ... .
194. Set Surface type to Blade to blade.
195. Set S to <0.5> <Enter> (section located 50% spanwise).
196. Click the Apply button.
197. Click the Save button.
198. Click Close to quit the dialog box.
CFView™ integrates the possibility to create cuts at constant spanwise position (also called "blade-to-
blade" planes). This capability is especially useful when the endwalls are not planar. The surface for
representation at constant spanwise position is then created based on linear interpolation between the
endwalls.
Pressing the Save button in the dialog box creates an additional surface for representation in the
Surfaces area, enabling quantity selection and representation as discussed in the previous sections.
199. Left-click "CUT1" in the Surfaces area.
200. Right-click to access the contextual menu.
201. Choose Select in order to select "CUT1" as the only active surface for representation.
202. Go to the Quantity menu.
203. Select Field Data -> Basic Quantities -> Static Pressure.
204. Open the Representation menu.
205. Select Color Contour -> Smooth.
206. Open the Representation menu.
207. Select Scalar Range -> Colormap Set Range.
208. Enter the range <101150 101370> in the keyboard area and press <Enter>.
209. Right-click to quit.
210. Left-click the colormap.
211. Right-click and select Move or Resize.
212. Drag and drop the colormap to an appropriate location.
213. Move the mouse to a corner of the colormap to adjust the size.
It is advised to put the colormap at a location where it does not interfere with the representation, to
avoid any difficulty in the interpretation of the results.
214. Left-click the colormap.
215. Right-click and select Smooth Only.
216. Press the binding key <b> to deactivate the boundaries on active surfaces.
217. Access the Representation menu.
218. Select Isolines -> Isolines ... .
219. Activate increment mode.
220. Change Value to <10> <Enter>.
221. Activate Color Uniform.
222. Click Apply.
223. Close the dialog box.
224. Go to Update -> Delete -> Isoline.
225. Go to the Quantity menu.
226. Select Field Data -> Basic Quantities -> Wxyz.
227. Go to the Representation menu.
228. Select Vector Type.
229. Select Tangent Component in Representation Type.
230. Select Color Uniform in Vector Size.
231. Click the Apply button.
232. Click the Close button to quit the dialog box.
233. Go to Representation -> Vector On Grid Nodes.
234. Go to Representation -> Colormap to remove the colormap.
235. Make use of the Viewing buttons and the
icons under Representation/Vectors in
the Quick Access Pad to modify the representation mode and zoom in near the leading and
trailing edge of the blade.
The representation of velocity vectors in a relative frame of reference (Wxyz) outlines the quality of
the flow impinging the blade. Ideally, these vectors should be aligned with the blade. In off-design
conditions, the alignment is not adequate, possibly leading flow separation.
7.7.6
Representation on Cutting Plane (Vector Lines)
236. Click Update/Delete/All to delete all previous manipulations in the Graphics area.
237. Go to Geometry -> Create Cutting Plane ... .
238. Set Point to <0> <0> <0.2> for respectively X, Y and Z.
239. Set Normal to <0> <0> <1> for respectively X, Y and Z.
240. Click the Apply and Save buttons.
241. Click Close to quit the dialog box.
242. Left-click "CUT2" in the Surfaces area in the Quick Access Pad (QAP).
243. Right-click to access the contextual menu.
244. Click Select in order to select "CUT2" as the only active surface for representation.
245. Keep Wxyz quantity selected.
246. Click Representations/Vector Lines section in QAP.
247. Click the Vector Lines Parameters icon.
248. Change the direction to both, representation to tube and the color to Velocity.
249. Change r0 to <0.05> <Enter> under thumbnail Ribbon & Tube Type.
250. Click Apply to validate and then Close the dialog box.
251. Click the Vector Lines from Section icon.
252. Enter <5> in the keyboard input area to draw 5 vector lines.
253. With the mouse, draw a line on the cutting plane by left-clicking and drag on it.
254. Right-click to quit the vector lines representation.
255. Press the binding key <b> to deactivate the boundaries on active surfaces.
256. In the Surfaces tab, activate Type under Filter.
257. Under Unselect, select All.
258. Under Select, select SOL (Solid).
259. In the QAP/Representations area, click the Render Gouraud icon in the Grid section to
activate the shading. Select Geometry -> Repetition on/off menu.
7.7.7
Turbomachinery Mode
260. Select Geometry -> Repetition on/off.
261. Open the File menu.
262. Select Turbomachinery.
263. Select Load Flow Solver Pitch Average under Meridional Average.
264. Click Ok.
You have now entered the Turbomachinery mode! It gives simultaneous access to meridional,
meridional average, blade-to-blade and 3D views.
Actions required for surface representation, quantity selection and representation apply similarly to
those described in the previous sections. More details can be found in the CFView™ User Guide.
TUTORIAL 8.
FRANCIS HYDRAULIC TURBINE WITH
DRAFT TUBE
8.1
NUMECA SOFTWARE
The resolution of computational fluid dynamics (CFD) problems involves three main steps:
l spatial discretization of the flow equations,
l flow computation,
l visualization of the results.
To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal
and Turbomachinery assimilations. Called FINE™/Turbo,
integrates the
following tools:
the environment
l IGG™ is an Interactive Geometry modeler and Grid generator software, based on structured
multi-block techniques.
l AutoGrid5™ is a three- dimensional Automated Grid generation software, dedicated to
is based on structured multi- block
it
turbomachinery applications. Similarly to IGG™,
techniques.
l Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes
equations in the laminar, transitional and turbulent regimes.
l CFView™ is a highly interactive flow visualization and post-treatment software.
l FINE™ Graphical User Interface is a user-friendly environment that includes the different
software. It integrates the concept of projects and allows the user to achieve complete
simulations, going from the grid generation to the flow visualization, without the need of file
manipulation.
A turbomachine is a device in which the energy is transferred either to or from a continuously
flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in
particular in aircraft, marine space (liquid rockets), land propulsion system but also in hydraulic,
gas and steam turbines applications. It is also involved in industrial pipeline and processing
equipment such as gas, petroleum and water pumping plants. Other applications can be related to
heart-assist pumps, industrial compressors and refrigeration plants, among others.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is
composed of several basic elements including the blade (also called vane if it is non-rotating),
hub, and shroud. Several technological effects involving clearances, seal leakages and cooling
holes among others can complete the machine. Due to the complexity of the blade shapes, the
presence of technological elements and the rotation of machine, the nature of the flow is strongly
three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the simulation of a Francis hydraulic turbine application
(guide vanes / runner / draft tube). It makes use of FINE™/Turbo and describes how to deal with
the specific options implemented in FINE™ environment. In this tutorial you will learn how to:
In AutoGrid5™:
l define multi-rows;
l generate and optimize the blade-to-blade mesh;
l check for mesh quality;
l define a bulb topology.
In IGG™:
l import an existing geometry;
l create internal grid faces;
l project face grid onto a surface;
l create butterfly topology;
l check mesh quality.
In FINE™/Turbo:
l manage fluid database;
l manage preconditioning parameters;
l model rotor-stator interface using mixing plane approach;
l set up boundary and initial conditions;
l numerical process management;
l select adequate outputs;
l control calculation process;
l check for convergence.
In CFview™:
l visualize and analyze results.
8.2
PREREQUISITES
This tutorial does not
FINE™/Turbo.
require any particular prerequisite with the menu structure in
8.3
PROBLEM DESCRIPTION
The problem is related to a Francis hydraulic turbine with medium/high specific speed. It has been
designed at IMHEF for experimental research study in the hydraulic laboratory. The model has
been used as a test case in the 1989 GAMM workshop.
The spiral casing of the GAMM turbine has been designed to ensure a constant meridional
velocity distribution, and fillets have been added on both sides of the distributor inlet in order to
achieve well-defined inlet conditions. The distributor consists of 24 stay vanes and 24 guide
vanes. The runner includes 13 blades, with an external diameter of 0.4 m.
A draft tube connects the Francis hydraulic turbine to a "tail race". The velocity of water at the
runner outlet is very high. The increase of the draft tube section area allows to decrease this
velocity and thus, a part of the kinetic energy is recovered as a gain of water pressure.
8.4
PREPARATION
l Start FINE™/Turbo v13.1:
l For Linux systems, you can access FINE™/Turbo graphical user interface with the
following command line :
fine -niversion 131 -print
l For WINDOWS systems, you can access FINE™/Turbo graphical user interface from the
start menu going to /Programs/NUMECA software/Fine131/FINE.
l Click the Create a New Project icon to create a new project.
l Select your directory of choice to store the project.
l Enter the project name in the dialog box as <Tutorial8> <Enter>.
l Click on Create Grid File to access the interactive geometry modeler and grid generator
IGG™.
l Access the menu Modules, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.
You are now ready to start
configuration! Click here to start the mesh generation...
the grid generation process and mesh the GAMM turbine
8.5
TUTORIAL 8: MESH GENERATION
The mesh generation consists in meshing the turbine rows with AutoGrid5™ first and then
completing the mesh with the draft tube in IGG™. The limits of the AutoGrid5™ mesh are
imposed to avoid overlapping/gaps and to match the IGG™ mesh in the draft tube correctly. In
the "geomTurbo" file imported in step 6 the last point defining the shroud is imposed with
coordinates (Z,R) corresponding to the entrance of the draft tube.
You are now ready to start the grid generation process of the turbine rows in AutoGrid5™.
8.5.1
Stay Vanes, Guide Vanes & Runner Mesh Generation
AutoGrid5™ graphical user interface includes several windows that allow to visualize the
geometry and mesh of the turbomachine simultaneously in the meridional, blade-to-blade and 3D
view. The access to main menu and controls is proposed through a menu bar and a quick access
pad, and is completed with a tool/icon bar. The execution of the different actions undertaken is
summarized in the message box at the bottom of the interface.
A step by step approach is proposed in the following lines. It aims at driving you through various
steps that need to be executed from the creation of the mesh project to the validation of the final
mesh quality of the turbine rows.
A. Create Mesh Project
1. Close the Open Turbo Project Wizard dialog box.
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with
associated grid) including the data required to regenerate a mesh on an identical or similar geometry.
In this tutorial, these data will be progressively introduced based on the geometry of the project case.
2. Go to menu File -> New Project.
3. Click yes to close the active project.
4. Choose the icon Initialize a New Project from a geomTurbo File.
B. Load Geometry
5. Locate and select "SV_GV_RUNNER.geomTurbo" (geometry defined in [Millimeter]) in the
dialog box and click Open. "Where to Find the Files Used in the Tutorials?" (p. 10)
The ".geomTurbo" file is including the geometry definition of the stay vanes (SV), the guide vanes
(GV) and the runner.
6. Set geometry units:
l Go to Geometry Definition -> Units.
l Change the units to Millimeters.
The " units " of
the imported geometry must be changed to impose a scaling factor and a
corresponding tolerance that will ensure correct
treatment during the grid generation when
computing, for example, the intersection. If not necessary, we recommend to keep the default settings
(Scale Factor set to 1).
7. Select Expert Mode if necessary in the toolbar.
C. Row Wizard
8. Left-click on Rows Definition -> SV in the Quick Access Pad (QAP) to active the current
row, if not done already.
9. Left-click on Row Wizard in the Mesh Control -> Grid Level subpad.
10. Click yes to start the wizard and to reset the mesh generation parameters.
The reset will keep the modifications performed by the user in the Row Wizard but will reset to the
default value the parameters modified in Expert Mode.
The wizard is divided in 6 steps:
l the geometry check (optional),
l the machine characteristics definition,
l the gap and fillet definition,
l the flow path definition,
l the blade-to-blade mesh definition,
l the end of the initialization.
11. Click yes to confirm the geometry check (step1).
During the geometry check of a blade, AutoGrid5™ performs the following operations: check blade
definition, check orientation of the blade section curves, detect loop detection into the blade section
curves and between the blade sections. More details in AutoGrid5™ User Guide.
12. Click on Next in the dialog box to define the machine characteristics definition (step2).
13. Select Francis Turbine as Row type in the Blade row type dialog box.
14. Enter the Periodicity (number of blades) if necessary. Left-click inside the string input area
and type <24>, press <Enter> to confirm.
15. Select Stator.
16. Click on Next in the dialog box to start the gap and fillet definition (step 3).
17. Keep all data unchanged (no gap or fillet).
18. Click on Next>> in the dialog box to start the flow path definition (step 4).
19. Keep Spanwise Grid Point Number to <57> <Enter> (corresponding to the flow paths
number) in the Layer Control dialog box.
When increasing or decreasing the number of flow paths, the number of flow paths in the gaps and
fillets is automatically updated as well as the percentage of constant cells, leading to an increase or
decrease of the spanwise expansion ratio.
20. Estimate the width of the first cell at the wall:
The width of the first cell close to the wall must be selected with care since the quality of the flow
solution will often depend upon the capture of the flow phenomena inside the boundary layers which
develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends to locate the nearest grid
point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low
Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must
be modeled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven
by the Blasius equation, expressed as follows for turbulent flows:
where:
l ywall is the distance of the nearest grid point to the wall (in meter);
l Vref is a reference velocity of the flow, for instance, the inlet velocity (in m/s);
l ν is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
l Lref is a reference length of the test case (in meter);
l y+ is a non-dimensional value.
In the present case, one can estimate that Vref=8.6 m/s, Lref=0.4 m and ν=1.01e-6 m2/s. Assuming
one wishes to get y+=5 at the wall, it comes that y=2.10-5 m.
Input the value of the Wall Cell Width = <0.02> [Millimeters] <Enter> in the Layer Control
dialog box.
21. Click on Next>> in the dialog box to start the blade-to-blade mesh definition (step 5).
22. Set the Number of Points (of the 3D mesh) around 250,000 by clicking on the << or >>
buttons in the B2B Control dialog box.
23. Click on Preview B2B to plot the blade-to-blade mesh at mid-span: default O4H topology is
used with additional upstream/downstream H-blocks.
The Full Visibility option allows to see the mesh moving in the blade to blade view when applying
the optimization steps.
The default O4H topology includes 5 blocks as follows:
l the skin block is a O-mesh surrounding the blade;
l the inlet block is a H-mesh located upstream the leading edge;
l the outlet block is a H-mesh located downstream the trailing edge;
l the up block is a H-mesh located above the blade section;
l the down block is a H-mesh located under the blade section.
24. Select Skewness or Expansion Ratio to plot respectively the orthogonality or expansion ratio
field of the blade-to-blade mesh at mid-span.
25. Click on Finish to end the initialization process (step 6).
26. Click no in order to setup the guide vanes and runner before making the complete 3D mesh
generation.
27. Left-click on Rows Definition -> GV in the Quick Access Pad (QAP) to active the current
row, if not done already.
28. Repeat step 9 to step 26 for the guide vanes (GV) with the following parameters:
l Francis Turbine as Row type, Periodicity=<24>, Stator.
l Spanwise Grid Point Number=<57>, Wall Cell Width=<0.02> [Millimeters].
l Set Number of Points around 250,000.
29. In the present case, the two stators can be meshed in tandem. For this purpose, left-click on
Rows Definition -> SV in the QAP to active the current row, if not done already. Right-click on
it and click on Properties in the menu appearing. Select then With Next in the section Tandem
Row. Close the dialog box
30. Repeat the same operation for the row GV , and verify that With previous has been
automatically activated in Tandem Row.
31. Left-click on Rows Definition -> runner in the Quick Access Pad (QAP) to active the
current row, if not done already.
32. Repeat step 9 to step 26 for the runner with the following parameters:
l Francis Turbine as Row type, Periodicity=<13>, Rotor, Rotation speed (rpm)=<408.93>.
l Spanwise Grid Point Number=<57>, Wall Cell Width=<0.02> [Millimeters].
l Set Number of Points around 300,000.
D. Outlet Bulb Topology Control
A bulb is a specific region of a machine where the hub has a zero radius. A machine can have a bulb
at its inlet and/or its outlet.
Bulbs are automatically detected and the domain is automatically extended from this point at zero
radius to the shroud axial position extremity. One or two meridional control lines are automatically
created to capture discontinuity generated by the bulb, the first one representing the machine inlet
(outlet), the second one to capture either the zero-radius point for sharp topology. They cannot be
deleted and some control points cannot be moved.
The rotor/stator (inlet) of the row following the bulb is positioned after the control line capturing the
zero-radius point or the limit between the radial and axial domain, and should not be moved before it.
Three topologies are available for bulbs: sharp (H-mesh), rounded (C-mesh) or radial.
In the Francis Turbine case, the Row Wizard imposed a rounded bulb topology when the
configuration is presenting a bulb.
33. Left-click on
to access the bulb topology settings:
l Keep the Rounded Topology type.
l Keep the default settings and left-click on the Preview Flow Paths button to adapt the flow
paths respecting the newly imposed topology in bulb area.
Using a C- mesh, the bulb area can be meshed with a singular line (triangular cells) or a butterfly
topology. The mesh is then divided into respectively 3 or 5 blocks limited by the inlet of the row and
the bulb domain limit.
The Smoothing Steps controls the number of iterations for flow paths smoothing in the bulb.
l Close the dialog box.
l Move the mouse on the runner outlet curve in the meridional view.
l Left-click when highlighted in yellow.
l Change the "outlet" control line shape as presented below: left-click on each control point,
move the mouse and left-click to impose its new position.
E. 3D Mesh Generation & Visualization
34. In Row Definition, left-click on Select All Rows.
35. Click on Generate 3D in the toolbar and confirm (Start) the generation.
36. Close the dialog box after checking the grid quality. The page can be reopened by clicking
.
37. Change the Number of Graphics Repetition for the stay vanes.
l Left-click Row Definition -> SV in the Quick Access Pad (QAP) to activate the current row.
l Right-click SV and select Properties to activate Default in order to plot the full turbomachine.
l Close the dialog box.
38. Repeat step 37 for the GV and the runner.
39. Select Toggle 3D Solid View in the View menu to access the shaded blades in 3D view.
40. Right-click to get the contextual menu and select Full View.
41. Use the Viewing buttons to visualize the GAMM turbine.
F. Check Boundary Conditions & Mesh Quality
42. Left-click in the 3D view to activate the view (red border), if not done already.
43. Check for boundary conditions by clicking
.
44. Select UND under Type pull-down menu and press <Enter> to check that there are no
patches in the patch list that are still set to an undefined type.
It is important to make sure that no undefined patches (UND) are present in the mesh. If this is not
they can usually be removed by increasing the tolerance and launching the Search
the case,
procedure.
45. Close the dialog box.
46. Left-click anywhere in the 3D view to activate the view (red border), if not done already.
47. Check for negative cells by clicking
.
48. Click Apply.
The computation of the negative volumes is performed first. Negative cells can be outlined in the
mesh by pressing View neg cells button. Beware that the visualization of negative cells can be
memory consuming when a large number of cells must be displayed. It is thus advised to first check
the number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.
49. Click ok and Close the dialog box.
50. Left-click in the 3D view to activate the view (red border), if not done already.
51. Check for grid quality by clicking
.
A detailed analysis of the mesh quality on a 3D mesh can only be performed once the 3D mesh has
been generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell
width can be outlined in this window using the Type pull-down menu.
52. Select block number (0 for all) - <Enter>.
53. Select quality criteria using the Type pull-down menu.
54. Left-click Show chart to visualize the distribution of the selected criteria in the form of a
histogram. The histogram is drawn per block (0 = all blocks).
55. Left-click part of the histogram to plot the concerned cells in the 3D view.
56. Left-click the More info button to obtain information regarding the minimum and maximum
values of the selected criteria and block.
57. Close the dialog box.
G. Save project
58. Go to File -> Save Project As <SV_GV_Runner> <Enter> to save mesh and template files.
You are now ready to start the grid generation process of the draft tube in IGG™.
59. Access the menu Modules, select IGG and confirm (yes) to enter IGG™ to start the mesh
generation of the draft tube.
8.5.2 Draft Tube Mesh Generation
IGG™ graphical user interface allows to visualize the geometry and mesh of the internal or
external test case in a 3D view by default. The access to main menu and controls is proposed
through a menu bar and a quick access pad, and is completed with a tool/icon bar and a
control area (including the keyboard input area).
A step by step approach is proposed in the following lines. It aims at driving you through various
steps that need to be executed from the creation of the mesh project to the validation of the final
mesh quality of the draft tube.
A.
Import Geometry
). A file chooser is opened. Select the "DT_
60. Select File/Import/IGG Data... menu (
geom.dat" file in the "Tutorial_8" directory of the documentation package. The curves are loaded
in IGG™ and displayed in the active view.
61. Go to Grid subpad in Quick Access Pad (QAP) and click on Insert new block to create a
block.
A local coordinate axis system IJK will appear at the location of the first vertex. Its orientation can
be modified so that the K-axis points in the flow direction, as an example.
62. Choose the block axes:
l Press the <o> key to change the axis origin if necessary.
l Press the 
 key to change the axis orientation if necessary.
l Left-click to validate the axis choice, the axis K must be in the streamwise direction.
Right-click will abort the block insertion.
63. Move vertices to map the block onto the geometry:
l Right-click on
of the viewing buttons to display I,J,K axis of the block. The axis K must
be in the streamwise direction.
l Move the mouse to the desired vertex.
l Left-click when highlighted in yellow to pick it.
l Move to mouse to place the vertex on the geometry.
l Left-click to fix the vertex position (edges are automatically mapped onto the geometry when
the vertices used by the edge are on the same curve or surface).
559
FINE™/Turbo 13.1 Tutorials
560
FINE™/Turbo 13.1 Tutorials
561
FINE™/Turbo 13.1 Tutorials
l Right-click on
of the viewing buttons to hide I,J,K axis of the block.
64. Go to Grid/Insert/Edit in the QAP and click on Insert Internal Face to adapt the block
according to the geometry by creating internal faces normal to the main flow direction.
65. Left-click on the bock to generate it. Confirm by clicking yes.
66. Change K=<7> (if K-direction corresponds to the main flow direction) and then Save to
create the internal face at constant K. Move the vertices as shown in the following figure.
Internal faces are very convenient to control the block generation and to improve the generation of
blocks in case negative cells appear.
Each internal face is composed of four edges and four vertices (diamond).
67. Repeat step 64 and step 66 for K from <6> to <2> by placing the vertices on right edges.
68. Increase the Number of Grid Points throughout the block.
l Left-click on a segment to select it (the selected segment is highlighted in yellow).
l Right-click and select Segment/Set Number of Points menu.
l Type for example <13> <Enter> in the Set Number of Points dialog box - Apply.
l Repeat above steps to set the number of points as presented in figure below.
The number of points specified is recommended to be 4xn + 1 (where n is an integer) to allow for
multigrid processing on a minimum of 3 grid levels within FINE™.
l Close the dialog box.
B. Define Clustering
The clustering is used to modify the grid points distribution along the segments defining the blocks.
69. Select the Cluster Points icon (
dialog box appears which can be used to control the distribution.
) in the Quick Access Pad/Grid/Insert/Edit menu. A
70. Select the Define/Edit group button to define a new group: a new dialog box is opened.
71. Select the Create button. The dialog is extended to provide a field in which the name of the
group can be specified. Enter the name <Group1> <Enter> (or the Create button). The group is
added to the list. Do not close the dialog at this stage.
72. The segments will now be added to the group one by one in the following way:
l Move the cursor to one of the segment defining a block section and left-click to select it. When
selected, arrows appear on the segment and the parent block is highlighted. If this is not the
proper segment, repeat the step.
l Middle-click to add the segment to the list. The segment appears in the group in the dialog
box.
l Repeat above steps to add all the segments defining the section of the block as presented in the
figure below.
l Select the Close button in the dialog box or right-click in the graphics area to complete the
group creation.
The group is now defined and can be used to specify the clustering on all segments at once.
73. In the pop-up menu of the Clustering dialog box, select the group name "Group1" (it should
be the default).
74. Select the distribution type Uniform .
75. Press the Apply to group button to apply the clustering to each segment in the group.
Uniform type is used to obtain a uniform grid points distribution on the segment (grid points equally
spaced on segment).
The clustering on the segments can also be set one by one, with no group defined.
76. Select the segment presented in figure below by left-click on it (highlighted in yellow).
77. Select the distribution type Hyperbolic Tangent. Set Init spacing at start to <9.0> and Init
spacing at end to <16.0>.
78. Press on the Apply to seg button to perform the clustering.
79. Repeat above steps to impose the clustering on all the segments (draft tube inlet area) of the
mesh presented in the figure below.
Hyperbolic Tangent type allows imposing the cell size at the beginning and the end of the segment.
The sizes of the first segment cell and the last segment cell are requested in absolute units.
80. Close the dialog box.
The grid point distribution can be visualized by selecting the Quick Access Pad/View/Grid/Toggle
Grid Points icon (or <Ctrl-l>). The effect of the clustering on the mesh can be seen by viewing the
mesh using the icon Quick Access Pad/View/Grid/Toggle Face Grid (<Ctrl-z>).
C. Face Projection
81. Select the surfaces corresponding to the draft tube (Geometry/Select/Surfaces item). Select
all surfaces using the left-click + drag.
82. Select one of the faces by left- clicking on one face segment until the face edges are
highlighted in white or black.
83. Select the Project Face icon (
dialog box to select projection parameters.
) in the Quick Access Pad/Grid/Generate page. It opens a
84. Keep the default parameters: projection on Selected Surfaces - validation level 2 - boundary
projection Off, since the edges are already on the surface (automatic mapping feature) - entire
Face projection.
85. Apply to perform the projection of the face.
86. Repeat above steps for the other faces to project and Close the dialog box.
573
FINE™/Turbo 13.1 Tutorials
D. Generate Block Grid
Before generating the block grids, a check must be done to ensure that the faces still lie on the input
geometry. This might not be the case anymore if an operation has been performed on the block faces,
like for example adjusting a vertex interactively. In that case, IGG™ performs a default algebraic 4
boundary interpolation to keep the face grids inline with the boundaries.
87. Select the icon (
to select the block(s) to generate.
) in the Quick Access Pad/Grid/Generate page. A dialog box is opened
88. Select the All option.
89. Apply to generate the grid in the block.
90. Close the dialog box.
91. Check for negative cells by clicking on (
). Click on Apply - Ok.
E. Define Butterfly Topology
The butterfly technique is a multi-block method used to mesh curved geometrical configurations. It
aims for a great improvement of the mesh quality. Meshed with a 5 blocks butterfly topology, it leads
to cell angles of 120 degrees near the four corners of the inner block, hence a high improvement of
the mesh quality.
The inner block will always be present in a butterfly topology. The other surrounding blocks, called
here "buffer blocks" are chosen according to the shape that has to be meshed.
92. Activate the block and select the Create Butterfly icon (
) of the Quick Access
Pad/Grid/Create page. It opens the following dialog box and displays a default butterfly
topology in the block 1.
93. Keep K as Preferential direction (axial direction of the draft tube (streamwise direction)).
The IJK coordinates of the block can be plotted by right-clicking on the
buttons. This button acts as a toggle.
icon in the Viewing
94. Remove the buffer blocks at faces 1 and 2 by left-click on the corresponding buttons 1 & 2 in
the General variables frame. The shape of the butterfly topology is automatically updated in the
first block.
95. In the Section control frame, activate Straight radial edges to create radial straight lines
from the "inner" block to the parent block and set the Radial depth to <20> for the first section
(Section number ID = <0>). The four control points of the section are now closer to the cylinder
center.
Radial Depth parameter controls the global position of the inner block corners within a section. An
automatic optimization is done on the corners position in order to put them on the bisecting line
calculated at the corresponding corner of the parent block.
96. Now parameters of the second control section will be copied from the first one:
l Activate the second section by setting the Section number ID to <1>.
l Press the Copy from section button.
l Select face 1 (upward face) of the first block by left-clicking on one of its segments.
l Middle-click to perform the copy : control points of the second section are now positioned in
the same manner as those of the first section.
l Repeat the same operation by selecting all sections from <1> to <7> and performing the copy.
97. Select face 0. In the Clustering frame, set Number of radial points set to <17>.
98. Left-click on Radial clustering button and set the clustering as presented in the following
figure.
99. Activate the option Clustering reciprocity parent -> inner.
If the button Clustering reciprocity parent->inner is activated, the clustering of the parent block
is copied on the inner block, destroying the optimized clustering. Moreover, both clusterings (on
parent and inner blocks) will be linked, meaning that each modification of the parent block clustering
will be applied automatically on the inner block.
100. Create the butterfly topology in the first block by pressing the Create/update button.
101. Close the dialog box.
F. Control Mesh Quality
102. Check for negative cells by clicking on
.
103. Click on Apply and Ok.
The computation of the negative volumes is performed first. Negative cells can be outlined in the
mesh pushing View neg cells button. Beware that the visualization of negative cells can be memory
consuming when a large number of cells must be displayed. It is then advised to first check the
number of negative cells by pressing the Apply button.
It is mandatory to remove all negative cells before the calculation can be started.
104. Close the dialog box.
105. Check for grid quality by clicking on
.
Detailed analysis of mesh quality on 3D mesh can be performed only once the 3D mesh has been
generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell
width can be outlined in this window using the Type pull-down menu.
106. Select block number (0 for all).
107. Select quality criteria using the Type pull-down menu.
108. Left-click on Show chart button to visualize the distribution of selected criteria in the form
of a histogram. The histogram is drawn per block (0 = all blocks).
109. Left-click on a part of the histogram to plot the concerned cells in the 3D view.
110. Left-click on More info button to obtain information about minimum and maximum values
of the selected criteria and block.
111. Close the dialog box.
G. Define Boundary Conditions
Note that only the parent block patches appear in the lists of the dialog box. Consequently,
connections are performed between parent block patches. Therefore these ones are visualized instead
of the butterfly block patches.
112. Select the Grid/Boundary Conditions... menu to open the dialog box.
113. Select all UND patches as Type (undefined).
114. Select the outlet of the draft tube and Set the Patch type to OUT.
115. Select the inlet of the draft tube and Set the Patch type to ROT.
The rotor/stator patches could include regions where R=0.
116. Apply SOL for the four solid patches.
117. Select UND under Type pull-down menu and check that no patches are in the patch list still
set with an undefined type.
118. Close the dialog box.
H. Save Project
119. Go to File -> Save -> Save As <Draft_tube> <Enter> to save mesh files.
The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the
boundary
and
(".xmt_ txt"),
".qualityReport". The meaning of these files is detailed in the User Guide.
condition
".config"
".geom"
".cgns",
".igg",
".bcs",
types:
8.5.3 Merge Meshes
120. Open "SV_GV_Runner" Mesh by File/Open...menu.
121. Define runner outlet boundary condition (four outlet patches illustrated in the figure below)
as ROT in Grid/Boundary conditions... menu.
122. Go to File/Import/IGG Project and import "Draft_tube" mesh to merge the Francis turbine
mesh to the draft tube mesh.
123. Set <DT> as Project Prefix.
To easily recognize blocks and groups of an imported project from those in the current project, a
prefix can be specified during importation.
124. Go to File -> Save -> Save As <SV_GV_Runner_DT> <Enter> to save mesh files.
Now that the mesh is saved, click here to set up the computation in the FINE™/Turbo interface!
8.6
TUTORIAL 8: FLOW SETTINGS
The mesh generation process is now completed and one can now come back to FINE™ graphical
user interface in order to set the various flow settings required before the calculation can start. The
access to the main menu and controls is proposed through a menu bar and a left-tree, and is
completed with an icon bar.
Access to FINE™ graphical user interface from the AutoGrid5™ window is proposed through
the Modules/Fine Turbo menu and confirm (yes) to enter FINE™ GUI. You're now back to
FINE™ graphical user interface!
A step by step approach is proposed in the following lines. It aims at driving you through the
various steps that need to be executed from mesh linking to the execution of the calculation.
8.6.1
Link Mesh & Project
125. Click the icon
and link the mesh "SV_GV_Runner_DT.igg" with the project.
The user may be prompted a warning message concerning the solver precision; accept this message.
The change of the solver precision is detailed in step 187.
126. Define grid
"tutorial8.geomTurbo" file are expressed in millimeters.
in Millimeters
units
as
the geometrical data
inserted
in
the
127. Select a Cylindrical and 3 Dimensions configuration.
128. Click OK to close the dialog box.
8.6.2 Manage Computations
129. Rename the default computation "computation_1" as "000_SA" in the Computations area
to indicate that the calculation will be executed on the coarse grid first and use Spalart-Allmaras
turbulence model. This can be achieved by left-clicking on Rename button, drag and modify the
"computation_1" as "000_SA".
Similar operations could be executed using the New Computation or Remove buttons, respectively
to create a new computation or remove one.
8.6.3
Set Flow Configuration
130. Go to the tree in the left menu and double left-click on the Configuration menu.
Three sub-menus related to the definition of the working fluid, main flow characteristics and rotating
machinery definition can then be accessed.
131. Double left-click on Fluid Model to access the fluid database.
132. Select WATER as a working fluid.
The fluid database includes a number of pre-defined fluids, covering various approximations in fluid
definition such as perfect gas, ideal (real) gas, incompressible fluids and fluids defined as a set of
thermodynamic tables (optional, subjected to a separate license key).
A default fluid database is provided by FINE™/Turbo. The user is also able to create and modify his/
her own fluids and/or use fluids created by others. More details about these functions are available in
the FINE™ User Guide.
133. Double left-click on Flow Model to set the flow characteristics.
134. Select Steady to indicate that a steady solution is of interest.
135. Select Turbulent Navier-Stokes to activate the resolution of RANS equations.
136. Select Spalart-Allmaras as the turbulence model of choice.
A number of turbulence models can be accessed through the interface. They require the additional
resolution of 0-equation to 4-equations, depending upon the model selected. Some of these models do
need a fine resolution near the wall (y+ ranging from 1 to 5), while others use the log-law concept
and can mimic the logarithmic law. More details can be found in the FINE™ User Guide.
137. Set Reynolds Number Related Info:
l Set the Characteristic Length = <0.4> < Enter>,
l Set the Characteristic Velocity = <8.6> < Enter>,
l Keep the Characteristic Density = <1001> < Enter>.
Characteristic variables (length, velocity, density) are required to estimate the Reynolds number. This
number is used at a few locations inside the flow solver, in particular inside the damping functions
related to the modeling of turbulence down to the walls.
The impact of the characteristic variables on the flow solution is very limited, but it is advised to
select values in accordance with characteristic quantities of the geometrical domain and flow
conditions. As an example, the characteristic length may be defined by a reference diameter or length
at inlet and/or outlet of the computational domain, and/or the chord of the blade (if any). The
characteristic velocity may be set to the averaged inlet velocity. The characteristic density is fixed as
the average (molecular) fluid density.
138. Double left-click on Rotating Machinery to set the rotating machinery definition.
Since the stay vane and the guide vane have been meshed in tandem in AutoGrid5™, only one group
containing these two rows is appearing in the FINE™ interface. The user can separate this group into
two different groups by the button Group on the bottom of the page.
139. Select the patches corresponding to the draft tube inner and buffer blocks by doing a left-
click on each of them while maintaining <Ctrl> pressed; Group these patches in a group called
<DT> <Enter>
591
FINE™/Turbo 13.1 Tutorials
140. Left-click on SV.
141. Check that the Rotational Speed = <0> <Enter>.
142. Left-click on runner.
143. Check that the Rotational Speed = <408.93> <Enter>.
In the cylindrical mode, the flow solver resolves the equations by default in a relative frame of
reference. As a consequence, the mesh attached to the blade is rotating at the same speed as the blade,
as far as no rotor- stator interaction is concerned. The rotation speed has been introduced in
AutoGrid5™ and transferred through FINE™, limiting user interventions in the graphical user
interface.
For rotating machinery projects, the axis of rotation must be aligned along Oz. In addition, a unique
rotation speed must be considered for the entire computational domain.
144. Left-click on the Rotor-Stator tab to set the rotor-stator interface parameters.
A separate ID is allocated to each rotor-stator interface, based on data included in AutoGrid5™. Each
interface is defined with 2 patches, located upstream and downstream of the rotor-stator interface. The
definition of ID's and allocation of upstream/downstream sides is performed automatically in FINE™.
145. Change "outlet_id_20" patch parameters:
l Left-click on "outlet_id_20".
l Keep Full Non Matching Mixing Plane.
l Keep ID Number to <20> <Enter>.
l Select Upstream for Side.
146. Change "inlet_id_20" patch parameters:
l Left-click on "inlet_id_20".
l Keep Full Non Matching Mixing Plane.
l Keep ID Number to <20> <Enter>.
l Select Downstream for Side.
147. Change "bulb_at_outlet" patches parameters:
l Left-click on patches "bulb_at_outlet".
l Keep Full Non Matching Mixing Plane.
l Keep ID Number to <1> <Enter>.
l Select Upstream for Side.
148. Change "DT#blocks" patches parameters:
l Left-click on patches "DT#blocks".
l Keep Full Non Matching Mixing Plane.
l Keep ID Number to <1> <Enter>.
l Select Downstream for Side.
Several methods, based on steady quasi 3D approximations, can be accessed to ensure a proper
treatment of rotor-stator interfaces.
l The Conservative Coupling by Pitchwise Row method guarantees an exact conservation of
mass flow, momentum and energy through the interface and is proved to be robust in most
circumstances.
l The Local Conservative Coupling method is recommended in projects coupling an impeller
with a volute, and is proved to offer more robustness than the Conservative Coupling by
Pitchwise Row in these cases.
l The Full Non Matching Mixing Plane method is the default option. It guarantees an exact
conservation of mass flow, momentum and energy through the interface and relaxes several
constraints with respect to the preparation of the mesh. It is not activated as a default option but
may be a candidate of choice in some circumstances
l The Non Reflecting 1D Mixing Plane method is recommended when wave reflection is
observed at the interface, which can occur when the interface is close to the blade.
l The Non Reflecting 2D Mixing Plane method is recommended when a shock wave is crossing
the interface, and can give a better representation of the shock wave.
l The Full Non Matching Frozen Rotor method considers the rotor-stator interface as a perfect
connection and neglects the movement of the rotor in the connecting algorithm. In this approach,
the periodicities must necessarily be equal between the rotor and the stator.
8.6.4
Set Boundary Conditions
149. Go to the tree in the left menu and double left-click on the Boundary Conditions menu.
During the grid generation process, AutoGrid5™ defines the type of the boundary conditions to be
applied on each block face. The most common types are INLET, OUTLET, PERIODIC and SOLID
boundary conditions.
PERIODIC boundary conditions are set automatically by the flow solver and must not be modified by
the user.
It is important to confirm each entry by pressing the <Enter> key.
150. Go to Mesh -> View On/Off to load the mesh in FINE™ GUI.
This toggle menu is used to visualize the grid in FINE™. The parameters area will be overlapped by a
graphics window, and the small control button on the upper-left corner of the graphics window can
be used to resize the graphics area in order to visualize the parameters and the mesh simultaneously.
The selection of patches in the left column outlines the corresponding patch in the graphics area, thus
enabling a fast and easy visualization of the boundary conditions.
151. Go to the INLET tab:
l Select Mass Flow Imposed (related patches must be grouped),
l Select Velocity Direction,
l Set Vr / V = <-0.485> <Enter>,
l Set Vt / V = <0.875><Enter>,
l Set Vz / V = <0> <Enter>,
l Set static temperature = <293> <Enter>,
l Choose Turbulent Viscosity as the Turbulent Quantities and set Turbulence Viscosity to
<5e-06> <Enter>,
l Set mass flow = <293> <Enter>.
Mass Flow Imposed boundary condition permits to impose the value of the mass flow through a
specified control surface. Related patches must be grouped. In addition to the mass flow, the direction
of the velocity vector and the static temperature are imposed.
152. Go to the OUTLET tab:
l Select all patches,
l Select Pressure Imposed,
l Select Static Pressure Imposed,
l Set Static Pressure = <101300> <Enter>.
An averaged static pressure of 101300 Pa is fixed at the exit boundary of the computational domain.
Based on this data, at each iteration, the flow solver keeps the distribution of static pressure at the exit
and moves it to respect the averaged static pressure imposed.
153. Go to the SOLID tab .
For each row, patches including the keyword "hub" are by default collected in a unique group named
as "row*_ hub". Patches including the keyword "shroud" are grouped in "row*_ shroud". Finally,
patches of the blade are grouped in "row*_blade". If the part of the row is rotating, the suffix "_
(r.p.m. rot_speed)" is added to the group name. The presence of a tip gap is automatically taken into
account in the blade group, thus minimizing user intervention in the definition of the boundary
conditions. For a rotor, which is defined in AutoGrid5™, it is assumed that the hub and the blade are
fully rotating. The rotation speed takes the value introduced during the mesh generation process. The
shroud is assumed to be a fixed entity, with no rotation speed assigned.
154. Change the runner hub parameters:
l Left-click on "runner_hub_(r.p.m. 408.93)" group,
The rotation speed is usually considered as a constant for the entire patch (group). However, FINE™
integrates the possibility to define that only part of a patch is rotating (e.g. part of the hub). This
applies to the Francis turbine runner, where only part of the hub and shroud is considered as a
rotating body.
l Left-click Adiabatic,
l Left-click Area Defined Rotation Speed,
l Set Rotational Speed 1 = <0> <Enter>,
l Set Rotational Speed 2 = <408.93> <Enter>,
l Set Lower Radius Limit = <0> <Enter>,
l Set Higher Radius Limit = <0.158> <Enter>,
l Set Lower Axial Limit = <-1> <Enter>,
l Set Higher Axial Limit = <0.0565> <Enter>,
l Click on check button Compute force and torque.
The convergence of both axial thrust and torque can be monitored in the computational steering
window, to make sure that both quantities have reached stable values at the end of the convergence
process. Both values are also available from the *.mf file located in the computation directory. The
torque can also be used for the calculation of the efficiency of the machine. It is common practice to
enable force and torque calculation on rotating patches only.
l Keep all other default settings.
155. Change the runner shroud parameters:
l Left-click on "runner_shroud_(r.p.m. 408.93)" group,
l Left-click Adiabatic,
l Left-click Area Defined Rotation Speed,
l Set Rotational Speed1 = <0> <Enter>,
l Set Rotational Speed2 = <408.93> <Enter>,
l Set Lower Radius Limit = <0> <Enter>,
l Set Higher Radius Limit = <0.203> <Enter>,
l Set Lower Axial Limit = <-0.165> <Enter>,
l Set Higher Axial Limit = <-0.0703> <Enter>,
l Click on check button Compute force and torque.
156. Change the runner blade parameters:
l Left-click on "runner_blade_(r.p.m. 408.93)" group,
l Keep Adiabatic,
l Left-click Constant Rotation Speed,
l Set Rotational Speed =<408.93> <Enter>,
l Click on check button Compute force and torque,
l Group the draft tube patches in a group called <DT> <Enter>,
l Left-click on SV and DT, keep Adiabatic and click-left Constant Rotation Speed (set to 0
rpm).
157. Go to Mesh -> View On/Off to toggle for mesh visualization, if needed.
8.6.5
Set Numerical Model
158. Go to the tree in the left menu and double left-click on the Numerical Model menu.
This menu gives access to the most frequently used numerical parameters, including the Courant
Fredericks Lewy (CFL) number and the selection of the grid level on which the simulation will apply.
It is important to confirm each entry by pressing the <Enter> key.
159. Keep CFL unchanged to 3.
The CFL number drives the pseudo-time step selected to reach a steady state solution using the time-
marching method integrated in the flow solver. In combination with the 4- steps Runge- Kutta
integration scheme included in the flow solver, it has a theoretical stability limit close to 2.8.
However, the additional implicit smoothing scheme can increase this value slightly, which justifies the
default value of 3.
The default value for CFL number is adequate in most cases, but can be decreased in some
circumstances, in particular at off-design conditions.
160. Define the grid level on which the simulation will apply:
time integration technique, which is accelerated using
The flow solver is based on an explicit
dedicated multi- grid methods. To this end, several levels of intermediate grids must be generated
started from the finest one. This is achieved by taking one node over 2 in each I-, J- or K-directions,
starting from the finer grid level.
It is strongly advised to enable the definition of at least 3 grid levels, by carefully selecting the
number of nodes on every edge forming the patches and blocks. More details can be found in IGG™,
AutoGrid5™ and FINE™ User Manuals.
In the FINE™ terminology, the finest grid level a user can access will be called as 000, while the
intermediate and coarsest ones will respectively be named as 111 and 222 levels, assuming 3 grid
levels can be selected.
Hybrid grid levels can theoretically be defined (e.g. 010 or 211). It is however not advised to use such
hybrid levels since it deforms the mesh in a preferential direction and thus possibly increasing the
aspect ratio. Consequently, the quality of the resulting mesh can be decreased.
l Keep Current Grid Level = 0 0 0,
l Keep Number of Grid(s) = 3,
l Keep the Coarse Grid Initialization active.
In addition to the multi-grid acceleration technique, the number of iterations to convergence can be
significantly reduced activating the coarse grid initialization process. In that case, the simulation starts
on the coarsest grid level available,
the flow solver
automatically interpolates the current flow solution on the intermediate levels before the iterative
process is restarted. A similar process occurs up as long as the expected finest grid level is reached.
The iterative process is then pursued up as far as the convergence criteria is not reached or the
maximum number of iterations is exceeded. More details can be found in FINE™ User Guide.
leading to fast convergence. Once done,
161. Define preconditioning parameters: select Hakimi and keep the default parameters.
Preconditioning is applied at low-speed flows and/or modeling incompressible fluids. At low Mach
numbers, the convergence rate of the iterative process can be largely slowed down due to the
numerical formulation selected in the flow solver. The equations are then preconditioned to recover a
satisfactory rate for convergence. Preconditioning is controlled in the Hakimi method through a user-
controlled parameter ß.
This parameter ß is imposed by the user through a coefficient ß* and the characteristic velocity Uref
such that:
ß² = ß* . (Uref
²) or,
ß² = ß* . max(Uref
²,Uloc
²) when local velocity scaling is active (Uloc is the local velocity)
Uref is the representative value of the maximum velocity in the flow field. For the user's convenience,
the constant Uref is always equal to the reference velocity specified in the Flow Model page and used
in the calculation of the Reynolds Number. In that case, U ref must be carefully selected since it
influences the convergence and when changed in the Numerical Model page, the value will also be
adapted automatically in the Flow Model page.
8.6.6
Set Initial Conditions
162. Go to the tree in the left menu and double left-click on the Initial Solution menu.
163. Left-click on group ROWS.
The group is automatically created when the mesh is loaded in FINE™ GUI. In complex projects,
hybrid initial solutions can be useful. In that case, a constant initial solution per block can be selected
for some groups, while others can benefit from an initial solution for Turbomachinery. Limitations
related to the use of hybrid initial solutions are described in FINE™ User Manual
164. Keep for turbomachinery to access the initial solution menu for turbomachinery.
Initial conditions can be selected in different forms, going from constant values per block to
throughflow based solutions. When running a rotating machinery project case, it is common practice
to select the initial solution for Turbomachinery. Based on a 1D estimation of the flow solution, the
initial solution for Turbomachinery often enables a drastic reduction in the number of iterations in
running 3D simulations. Inputs ("best estimation") related to static pressure at inlet and rotor-stator
interfaces (if it applies) are requested.
l Left-click on the inlet patch ("SV_flux_1_Main_Blade_upStream_inlet")
l Set Estimated Static Pressure = <139000> <Enter>
l Left-click the rotor/stator interface ID20.
l Set Estimated Static Pressure = <126000> <Enter>.
l Left-click the rotor/stator interface ID1.
l Set Estimated Static Pressure = <95000> <Enter>.
l Choose Turbulent Viscosity as the Turbulent Quantities and set Turbulence Viscosity to
<5e-06> <Enter>.
165. Make a group for "DT#blocks" and change the following parameters:
l Keep Constant Values,
l Keep coordinate system as Cylindrical,
l Pressure = <100000> [Pa] <Enter>,
l Temperature = <293> [K] <Enter>,
l Vr = <2> [m/s] <Enter>,
l Vtheta = <0> [m/s] <Enter>,
l Vz = <-1> [m/s] <Enter>,
l Choose Turbulent Viscosity as the Turbulent Quantities and set Turbulence Viscosity to
<5e-06> <Enter>.
8.6.7
Select Outputs
166. Go to the tree in the left menu and double left-click on the Outputs menu.
167. Double left-click on Computed Variables.
Quantities of interest in the simulation must be pre-selected in this menu. They will be stored in the
solution file (*.cgns) once the iterative process will be finished and/or during intermediate steps.
Quantities can be accessed both in the 3D field (Computed Variables) and/or in the meridional
plane (following circumferential averaging, see Azimuthal Averaged Variables). Additional data
can be selected on the solid walls and/or on predefined surfaces (Surface Averaged Variables).
The adequate selection of outputs of interest will reduce the size of the solution file. This is in
particular important when projects involving very fine meshes and/or unsteady capabilities are
managed.
168. Select Static, Total Absolute and Total Relative Temperature if not yet selected.
169. Select Static, Total Absolute and Total Relative Pressure if not yet selected.
170. Select Density, Entropy, Rothalpy and Dynamic viscosity if not yet selected.
171. Left-click on Velocities in the menu Categories.
172. Select Vxyz if not yet selected.
173. Select Wxyz if not yet selected.
Vxyz and Wxyz relate to the velocity vectors field respectively in the absolute and relative frame of
reference. The examination of solution quantities in the relative frame of reference is in particular
useful to observe the flow angles relative to the blade close at leading and trailing edge.
174. Left-click on Solid data in the menu Categories.
175. Select Static pressure, Static temperature, Cf, Relative velocity and y+ (in first inner
cell) if not yet selected.
Cf relates to the friction coefficient.
The parietal coordinate y+ is a direct function of the distance from the wall.
Therefore, y+ = 0 at the wall and takes a non-zero value at the center of the first cell close to the wall
(also called "inner cell"). As a consequence, the examination of y+ "at the wall" should be understood
as the examination "in the first inner cell". Although it is not correct theoretically speaking, this
concept is very often used to ease the post-treatment and benefit from the existing solid surfaces.
176. Left-click on Turbulence in the menu Categories.
177. Select Wall distance and Turbulent Viscosity ratio if not yet selected.
The analysis of the Turbulent Viscosity ratio field is often of major interest to make sure that the
turbulent quantities are computed accurately according to the turbulence model and mesh refinement
selected.
Running k- epsilon related models gives access to additional quantities in particular related to the
production term, the kinetic energy and dissipation rate fields. It is strongly advised to activate these
fields for post-treatment.
178. Double left-click on Azimuthal Averaged Variables.
179. Go through the various categories and select quantities as for Computed Variables.
Additionally, outputs can be re- directed using the PLOT3D format, using various formats. More
details can be found in FINE™ User Guide.
8.6.8
Control Computation Steering
180. Go to the tree in the left menu and double left-click on the Computation Steering menu.
181. Double left-click on Control Variables.
182. Set Maximum Number Of Iterations = <1000> <Enter>.
183. Set Save Solution Every = <200> <Enter>.
184. Keep Convergence Criteria = -6, and change the solver precision from Single to Double.
In the list of expert parameters (only visible when the Expert Mode is active in the toolbar), in
the float parameters section, set RSTOL to <4e-05> and MUCLIP to <50000>.
The expert parameter RSTOL pilots the tolerance used in the full non- matching rotor- stator
algorithm. This parameter should be smaller than the ratio of the first inner cell distance to the hub-
shroud distance. With a wall cell width of 0.02 mm and a hub- shroud radius of 450 mm, this
parameter is set to 4e-5.
The expert parameter MUCLIP permits to control and avoid the clipping of the turbulence ratio in
the flow field but not on the boundaries.
Depending upon the quality of the initial solution, the density of the mesh (number of nodes) and the
complexity of the underlying flow field, from few hundreds to few thousand iterations are typically
required to reach convergence. The iterative process is stopped once the convergence criteria is
reached over the entire domain or the maximum number of iterations is executed on the current grid
level (111 in the present case).
Ability to select for Minimum output gives the possibility to minimize the size of the solution files.
In that case, the flow solution is stored only once the iterative process is finished, and limited
information is proposed during the intermediate storage. This limited information allows to perform a
restart procedure from an existing flow solution, but cannot be visualized within CFView™.
Static memory allocation is enabled inside the flow solver. An estimation of the memory required to
run and save the flow solution is calculated and proposed as a default. However,
in some
circumstances, the estimation may be too short and it is then required to manually increase the
number of reals or integers necessary to drive the solution to success. In that case, click on Set the
requested memory and increase the inputs accordingly.
8.6.9
Save Project & Start Calculation
185. Go to File menu and Save project.
The project parameters are stored in the *.iec file. This file includes the entire set of parameters
required to reproduce the project, excluding the mesh.
186. Press the icon
appearing.
and Start Flow Solver to start the calculation: a task manager window is
The calculation will start in serial mode (1 processor) on the local machine. FINE™ includes multi-
processor capabilities and the ability to manage computations through a task manager and/or in batch
mode. More details can be found in the FINE™ User Guide.
8.6.10 Follow Convergence Steering
187. Double left-click on Convergence History.
The evolution of averaged residuals on the entire domain can be observed during the convergence
process. Similarly,
the mass flow balance (in/ out) and/or global quantities
(isentropic efficiency, torque and axial thrust on solid walls selected in the boundary conditions page,
pressure ration) can be displayed.
the evolution of
Local and global quantities may also be added for follow- up during the convergence process.
However, their representation in the graphical area will only be effective once they are added in the
Selected Variables list, see in the FINE™ User Guide.
The examination of residuals per block and/or for a given primitive variable can be achieved
accessing the monitorTurbo tool. The tool is included in the FINE™ package and can be accessed
through the adequate command line. More details can be found in the FINE™ User Guide.
188. Once the calculation is converged or reaches the maximum number of iterations allowed on
the current grid level, the flow solver stops.
189. The final solution is then stored in the solution file (*.cgns) and the task manager window is
closed.
To check the convergence of the computation, NUMECA recommends to observe the evolution of
multiple criteria including (a) an adequate decrease in residuals (minimum 3 orders of magnitude);
(b) complete stabilization of global performances; (c) stabilization of mass flow in/out, with
satisfactory correspondence (usually less than 0.5% difference between in/out).
Now that the iterative process is over, click here to start the visualization of the solution within the
post-treatment tool CFView™ integrated in FINE™/Turbo.
8.7
TUTORIAL 8: POST PROCESSING
The iterative process is now over and the flow solution is stored in the ".cgns" file. The number of
nodes in a typical mesh usually ranges from few hundred thousands to several millions, which
makes visualization delicate in most cases. As part of the FINE™ environment, NUMECA
proposes the home- made visualization and post- treatment tool CFView™ for that purpose.
CFView™ is entirely integrated in the environment and includes numerous tools which are
particularly best suited for the analysis of turbomachinery configurations.
Access to CFView™ from the FINE™ graphical user interface is proposed through the
Modules/CFView... menu, or alternatively by pressing the icon
.
A step by step approach is proposed in the following lines. It aims at driving you through the
various steps that need to be executed from reading the solution to the extraction of the main
results. CFView™ automatically opens the file ".run" file associated with the active computation.
Running turbomachinery projects and assuming some variables have been selected in the
Azimuthal Averaged Variables section of FINE™ graphical user interface output page,
CFView™ proposes to open the azimuthal averaged solution first. Otherwise, the full 3D solution
will be opened.
190. Activate View the azimuthal averaged solution.
191. Left-click on Start CFView.
You now enter CFView™ !
8.7.1
Select Surfaces
192. Left-click on "domain1" and "domain14" while holding <Shift> in Surfaces area., then
right-click and choose Select in the pop-up menu to activate from "domain1" to "domain14".
8.7.2
Select Quantity
193. Go to Quantity menu.
194. Enter Field Data -> Basic Quantities sub-menu.
195. Select quantity Wxyz.
All quantities selected in the FINE™ graphical user interface are transferred to CFView™. However,
additional derived output can be accessed directly from the visualization and post- treatment tool,
including vector components, gradients, divergence and curl of selected quantities. New quantities,
defined as an arithmetic combination of existing quantities possibly combined with regular operations
(trigonometric functions, logarithmic functions,...) can further be created.
8.7.3
Select Representation
196. Go to Representation menu.
197. Select Vector Type....
198. Activate Color Uniform.
199. Left-click on Apply and Close the dialog box.
Once the candidate quantity for visualization is selected, the user must choose a representation mode.
Representation is typically executed in the form of color contours (smoothed or stripped) and/or
isolines. CFView™ also includes the possibility to investigate the flow field locally ("local value")
and create 1D Cartesian plots. Advanced capabilities involving curve and/or surface integration can
also be accessed. More details can be found in the CFView™ User Guide.
200. Select Vector On Grid Nodes in Representation menu.
201. Adapt Step in respectively I and J directions at <3> and <2>.
202. Left-click on Apply and Close the dialog box.
618
FINE™/Turbo 13.1 Tutorials
CFView™ gives the possibility to superpose representation modes. In the present case, color contour
of the relative velocity magnitude will be superposed to the relative velocity vector field in order to
clearly identify the acceleration of the flow at the bend.
203. Go to Quantity -> Field Data -> Vector Components -> Wxyz sub-menu.
204. Select Magnitude of Wxyz to add the relative velocity magnitude in the list of quantities
available.
205. Go to Representation menu.
206. Select Color Contour -> Smooth.
207. Go to Representation menu.
208. Select Cartesian Plot -> Along Section.
209. Left-click and drag in the graphics area to select the first point and the second point of the
section.
210. Left-click on the Cartesian plot window to activate it (red border).
211. Right-click and select Show H Grid Lines.
212. Right-click and select Show V Grid Lines.
213. Left-click on the curve.
214. Right-click and select Curve Type.
215. Change Thickness from <2> to <1>.
216. Go to Marker tab page.
217. Keep Symbol to Circle.
218. Change Size from 0.4 to <0.3>.
219. Change color to red.
220. Left-click on Apply button.
221. Left-click on Close button.
222. Left-click inside the Cartesian plot window.
223. Go to View menu.
224. Select Maximize.
CFView™ offers the possibility to create and arrange Cartesian plots in different manners, with
the lines and symbols. The
numerous options related to the type,
manipulations are done interactively, mainly with the help of contextual menus. In addition,
CFView™ includes a powerful project and windows based management, giving the possibility to the
user to open multiple projects and manage several windows simultaneously. More details can be
found in the CFView™ User Guide.
thickness and colors of
8.7.4
3D Analysis
In the previous section, attention has been focused on the management and creation of plots in the
meridional plane, using the azimuthal averaged view. The creation of 3D plots is based on the same
concept of quantity selection and representation explained in the above sections. However, since the
plane of drawing is no longer two-dimensional, there is a need to select and/or create a surface for
representation first.
225. Go to File menu.
226. Select Quit CFView to quit CFView™ and yes to confirm.
227. Access CFView™ again from FINE™ GUI, pressing the icon
.
228. Deactivate View the azimuthal averaged solution.
229. Left-click on Start CFView.
You now enter 3D analysis mode in CFView™ !
230. Go to Geometry menu.
231. Select Boundary to deactivate boundary representation.
Boundary activation/deactivation is used as a toggle and acts on all selected surfaces. Fast access is
ensured using the binding key <b>.
232. Double left-click on the check boxes:"SV_shroud" and "runner_shroud_(r.p.m. 408.93)"
inside the Surfaces area to deactivate the set of patches that define the entity shroud. Groups
"DT", "SV_ hub_ (r.p.m. 0)", "SV_ blade","runner_ hub_ (r.p.m. 408.93)" and "runner_ blade_
(r.p.m. 408.93)" are the only entities that remain active at this moment.
Selection of surfaces for representation is controlled through the Surfaces area. Alternatively,
identical operations can be retrieved from the menu Geometry.
Patches flagged as solids are selected as default surfaces for representation. Groups created in the
boundary condition area inside FINE™ are transferred directly to CFView™, so that the selection of
surface entities can be performed in a few clicks.
Fast selection of a group of surfaces in a large list including numerous surfaces, which are partly
checked/unchecked, can be done by first left-clicking (combined with <Ctrl> or <Shift> for multiple
surfaces) on the target surface(s) desired for representation, then right- click to get the contextual
menu and choose Select.
233. Go to Geometry menu.
234. Select Boundary again to activate boundary representation on active surfaces.
235. Go to Geometry menu.
236. Select Grid to display surface mesh on active surfaces.
Fast access to mesh representation is ensured using the binding key <g>.
237. Go to Render menu.
238. Select Shading -> Gouraud to shade active surfaces.
239. Make use of the Viewing buttons to modify the representation mode and locate the Francis
turbine to outline the blades and hub in a clearer manner.
240. Press the binding key <g> to deactivate the mesh on active surfaces.
241. Go to Geometry menu.
242. Select Repetition Number.
243. Activate Max to set the maximum number of repetitions for all rows.
244. Click on Apply.
245. Go to Geometry menu.
246. Select Repetition on/off menu.
247. Go to File menu.
248. Select Print menu.
Pictures can be printed in different formats, either on the active or graphics windows. Information
can be introduced in a banner. Options related to picture definition can also be modified.
249. Select Active View.
250. Set banner to <SV_GV_RUNNER_DT> <Enter>.
251. Set format to PNG.
252. Click OK.
253. Select the picture name and appropriate location.
254. Click Save.
Selection of Graphics Windows is recommended to insert several pictures in a unique file, as they
appear on the graphical window (WYSIWYG = what you see is what you get mode).
The ".png" format is often the preferred choice for printing.
255. Go to Update -> Delete -> All.
256. Go to Geometry -> Repetition on/off.
257. Click the icon
to fit the geometry.
258. Select Quantity -> Solid Data -> y+.
259. Select Representation -> Color Contour -> Strip.
260. Select Representation -> Scalar Range -> Colormap Set Range.
261. Enter in keyboard area the range to <0 9> <Enter>.
The parietal output y+ is now enabled on active surfaces (hub and blades). The range of
representation on the selected surfaces has been adapted manually to outline the details the best.
262. Make use of the Viewing buttons to modify the representation mode and locate outline the
proper position.
263. Go to Representation menu.
264. Select Isolines -> Isolines....
265. Activate mode increment.
266. Change Value to <0.5> <Enter>.
267. Change min range to <0> <Enter>.
268. Change max range to <9> <Enter>.
269. Activate Color Uniform.
270. Left-click on Apply button.
271. Close the dialog box.
Gradients are clearly observed nearby the leading and trailing edge of the blades. The combination of
color contours and isolines representation enables to outline the main characteristics of the flow in a
clear and elegant manner.
8.7.5
Blade-to-Blade View
272. Go to Update -> Delete -> All.
273. Go to Representation -> Colormap to remove the colormap.
274. Go to Render menu.
275. Go to Shading -> Gouraud.
276. Go to Geometry menu.
277. Select Blade to Blade Surface.
278. Set Surface type to Blade to blade.
279. Set S to <0.5> <Enter> (section located 50% spanwise).
280. Click Apply button.
281. Click Save button.
282. Click Close to quit the dialog box.
CFView™ integrates the possibility to create cuts at constant spanwise position (also called "blade-to-
blade" planes). This capability is especially useful when the endwalls are not planar. The surface for
representation at constant spanwise position is then created based on linear interpolation between the
endwalls.
Pressing Save button in the dialog box creates an additional surface for representation in the
Surfaces area, enabling quantity selection and representation as discussed in the previous sections.
283. Left-click on "CUT1" in the Surfaces area.
284. Right-click to get the contextual menu.
285. Go to Select in order to select only "CUT1" as the active surface for representation.
286. Go to Quantity menu.
287. Select Field Data -> Basic Quantities -> Absolute Total Pressure.
288. Go to Representation menu.
289. Select Color Contour -> Smooth.
290. Go to Representation menu.
291. Select Scalar Range -> Colormap Optimum Range.
Colormap Optimum Range restricts the bounds of the colormap to those related to active surfaces
instead of the complete 3D domain. This capability is often useful to outline, in a clearer manner, a
number of details. It can also be accessed by pressing the icon
.
292. Left-click on the colormap.
293. Right-click and select Move or Resize.
294. Drag and drop the colormap to an appropriate location.
295. Drive the pointer at a corner of the colormap and resize accordingly.
It is advised to set the colormap at a location where it does not interfere with the representation, so as
to avoid any difficulty in the interpretation of the results.
296. Left-click on the colormap.
297. Right-click and select Smooth Only.
8.7.6
Turbomachinery Mode
298. Go to File menu.
299. Select Turbomachinery.
300. Select Load Flow Solver Pitch Average.
301. Click on Ok button.
You now enter the Turbomachinery mode! It gives simultaneous access to meridional, meridional
average, blade-to-blade and 3D views.
Actions required for surface representation, quantity selection and representation apply similarly to
those described in the previous sections. More details can be found in the CFView™ User Guide.
TUTORIAL 9.
MULTISTAGE AXIAL TURBINE
9.1
NUMECA SOFTWARE
The resolution of computational fluid dynamics (CFD) problems involves three main steps:
l spatial discretization of the flow equations,
l flow computation,
l visualization of the results.
To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal
integrates the
and Turbomachinery assimilations. Called FINE™/Turbo,
following tools:
the environment
l IGG™ is an Interactive Geometry modeler and Grid generator software, based on structured
multi-block techniques.
l AutoGrid5™ is a three- dimensional Automated Grid generation software, dedicated to
is based on structured multi- block
it
turbomachinery applications. Similarly to IGG™,
techniques.
l Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes
equations in the laminar, transitional and turbulent regimes.
l CFView™ is a highly interactive flow visualization and post-treatment software.
l FINE™ Graphical User Interface is a user-friendly environment that includes the different
software. It integrates the concept of projects and allows the user to achieve complete
simulations, going from the grid generation to the flow visualization, without the need of file
manipulation.
A turbomachine is a device in which the energy is transferred either to or from a continuously
flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in
particular in aircraft, marine space (liquid rockets), land propulsion system but also in hydraulic,
gas and steam turbines applications. It is also involved in industrial pipeline and processing
equipment such as gas, petroleum and water pumping plants. Other applications can be related to
heart-assist pumps, industrial compressors and refrigeration plants, among others.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is
composed of several basic elements including the blade (also called vane if it is non-rotating),
hub, and shroud. Several technological effects involving clearances, seal leakages and cooling
holes among others can complete the machine. Due to the complexity of the blade shapes, the
presence of technological elements and the rotation of machine, the nature of the flow is strongly
three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the simulation of a multistage axial turbine application. It
makes use of FINE™/Turbo and describes how to deal with the specific options implemented in
FINE™ environment. In this tutorial you will learn how to:
In AutoGrid5™:
l define multi-rows;
l use row wizard;
l check for mesh quality;
In FINE™/Turbo:
l manage fluid database;
l use harmonic method;
l set up boundary and initial conditions;
l numerical process management;
l select adequate outputs;
l control calculation process;
l check for convergence;
In CFView™:
l visualize and analyze time-averaged results;
l reconstruct flow in time;
l visualize and analyze unsteady results.
9.2
PREREQUISITES
This tutorial does not
FINE™/Turbo.
require any particular prerequisite with the menu structure in
9.3
PROBLEM DESCRIPTION
The problem is related to a high-pressure turbine for the General Electric Energy Efficient Engine
(GEE3).
The GE- E3 high- pressure turbine is a two- stage, low thru- flow high- pressure turbine with
moderate loading. The aerodynamic design point is the integrated core/low spool cycle point at
maximum climb (Ma 0.8, 10.67km).
9.4
PREPARATION
l Start FINE™/Turbo v13.1:
l For Linux systems, you can access FINE™/Turbo graphical user interface with the
following command line:
fine -niversion 131 -print
l For WINDOWS systems, you can access FINE™/Turbo graphical user interface from the
start menu going to /Programs/NUMECA software/Fine131/FINE.
l Click the Create a New Project icon to create a new project.
l Select your directory of choice to store the project.
l Enter the project name in the dialog box as <Tutorial9> <Enter>.
l Click on Create Grid File to access the interactive geometry modeler and grid generator
IGG™.
l Access the menu Modules, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.
You are now ready to start the grid generation process and mesh the GEE3 turbine configuration!
Click here to start the mesh generation...
9.5
TUTORIAL 9: MESH GENERATION
AutoGrid5™ graphical user interface includes several windows that allow to visualize the
geometry and mesh of the turbomachine simultaneously in the meridional, blade-to-blade and 3D
view. The access to main menu and controls is proposed through a menu bar and a quick access
pad (QAP ), and is completed with a tool/icon bar . The execution of the different actions
undertaken is summarized in the message box at the bottom of the interface.
A step by step approach is proposed in the following lines. It aims at driving you through various
steps that need to be executed from the creation of the mesh project to the validation of the final
mesh quality of the turbine rows.
9.5.1
Create Mesh Project
1. Close the Open Turbo Project Wizard dialog box.
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with
associated grid) including the data required to regenerate a mesh on an identical or similar geometry.
In this tutorial, these data will be progressively introduced based on the geometry of the project case.
2. Go to menu File -> New Project.
3. Click yes to close the active project.
4. Choose the icon Initialize a New Project from a geomTurbo File.
9.5.2
Load Geometry
5. Locate and select "Tutorial9.geomTurbo" (geometry defined in [Inches]) in the dialog box and
click Open. "Where to Find the Files Used in the Tutorials?" (p. 10)
The ".geomTurbo" file format is structured in three main blocks: the header, the channel and the row
definitions.
The channel format contains the definition of the turbomachinery meridional contour (hub, shroud).
It is composed by curves defined by a set of points. The ".geomTurbo" file must contain two channel
curves named respectively "hub" and "shroud".
The row definition contains the geometry of a complete row. It is defined by a row name, a row type,
a periodicity and the definition of the main blade and possibly the splitter(s). The blade and splitter
are defined by the pressure and the suction side surfaces identified by the keywords "pressure" and
"suction". Both surfaces are specified by a set of cross sections of the blade at several spanwise
locations from hub to shroud. Each section is defined by a set of points from leading to trailing edge.
6. Set geometry units:
l Go to QAP -> Geometry Definition -> Units.
l Change the units to Inches.
the imported geometry must be changed to impose a scaling factor and a
The "units" of
corresponding tolerance that will ensure correct
treatment during the grid generation when
computing, for example, the intersection. Unless it is necessary to change this, we recommend keeping
the default settings (Scale Factor set to <1>).
7. Select Expert Mode in the toolbar, if necessary.
9.5.3
Row Wizard
8. Left-click on Rows Definition -> row1 in the QAP to active the current row, if not done
already.
9. Left-click on Row Wizard in the Mesh Control -> Grid Level subpad.
10. Click yes to start the wizard and to reset the mesh generation parameters.
The reset will keep the modifications performed by the user in the Row Wizard but will reset to the
default value the parameters modified in Expert Mode.
The wizard is divided in 6 steps:
l the geometry check (optional),
l the machine characteristics definition,
l the gap and fillet definition,
l the flow path definition,
l the blade-to-blade mesh definition,
l the end of the initialization.
11. Click yes to confirm the geometry check (step 1).
During the geometry check of a blade, AutoGrid5™ performs the following operations: check blade
definition, check orientation of the blade section curves, detect loop detection into the blade section
curves and between the blade sections. More details in AutoGrid5™ User Guide.
12. Click on Next in the dialog box to define the machine characteristics definition (step2).
13. Select Axial Turbine as Row type in the Blade row type dialog box.
14. Change the Periodicity (number of blades) if necessary. Left-click inside the string input
area and type <46>, press <Enter> to confirm.
15. Select Stator.
16. Click on Next in the dialog box to start the gap and fillet definition (step 3).
17. Keep all data unchanged (no gap or fillet).
18. Click on Next>> in the dialog box to start the flow path definition (step 4).
19. Set Spanwise Grid Point Number to < 57 > < Enter> (corresponding to the flow paths
number) in the Layer Control dialog box.
When increasing or decreasing the number of flow paths, the number of flow paths in the gaps and
fillets is automatically updated as well as the percentage of constant cells, leading to an increase or
decrease of the spanwise expansion ratio.
20. Estimate the width of the first cell at the wall:
The width of the first cell close to the wall must be selected with care since the quality of the flow
solution will often depend upon the capture of the flow phenomena inside the boundary layers which
develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends to locate the nearest grid
point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low
Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must
be modelled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven
by the Blasius equation, expressed as follows for turbulent flows:
where:
l ywall is the distance of the nearest grid point to the wall (in meter);
l Vref is a reference velocity of the flow, for instance, the inlet velocity (in m/s);
l υ is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
l Lref is a reference length of the test case (in meter);
l y+ is a non-dimensional value.
In the present case, one can estimate that V ref=270 m/s, L ref=0.06 m and υ=66.25e-6 m²/s.
Assuming one wishes to get y+=1 at the wall, it comes that y=0.00025 inches.
Input the value of the Wall Cell Width = <0.00025> [Inches] <Enter> in the Layer Control
dialog box.
21. Click on Next>> in the dialog box to start the blade-to-blade mesh definition (step 5).
22. Set the Number of Points (of the 3D mesh) around 370,000 by clicking on the << or >>
buttons in the B2B Control dialog box.
23. Click on Preview B2B to plot the blade-to-blade mesh at mid-span: default O4H topology is
used with additional upstream/downstream H-blocks.
The Full Visibility option allows to see the mesh moving in the blade to blade view when applying
the optimization steps.
The default O4H topology includes 5 blocks as follows:
l the skin block is a O-mesh surrounding the blade;
l the inlet block is a H-mesh located upstream the leading edge;
l the outlet block is a H-mesh located downstream the trailing edge;
l the up block is a H-mesh located above the blade section;
l the down block is a H-mesh located under the blade section.
24. Select Skewness or Expansion Ratio to plot respectively the orthogonality or expansion ratio
field of the blade-to-blade mesh at mid-span.
25. Click on Finish to end the initialization process (step 6).
26. Click no in order to set up the other rows before making the complete 3D mesh generation.
27. Left-click on Rows Definition -> row 2 in the QAP to active the current row, if not done
already.
28. Repeat step 9 to step 26 for the rotor with the following parameters:
l Axial Turbine as Row type, Periodicity (number of blades)=<76>, Rotor.
l Rotation Speed (rpm)=<8283>
l Tip Gap: Width at leading edge=Width at trailing edge=<0.016>[Inches]
l Spanwise Grid Point Number=<73>, Wall Cell Width=<0.00025> [Inches].
l Set Number of Points around 430,000.
29. Left-click on Rows Definition -> row 3 in the QAP to active the current row, if not done
already.
30. Repeat step 9 to step 26 for the stator with the following parameters:
l Axial Turbine as Row type, Periodicity (number of blades)=<48>, Stator.
l Spanwise Grid Point Number=<57>, Wall Cell Width=<0.00025> [Inches].
l Set Number of Points around 340,000.
31. Left-click on Rows Definition -> row 4 in the QAP to active the current row, if not done
already.
32. Repeat step 9 to step 26 for the rotor with the following parameters:
l Axial Turbine as Row type, Periodicity (number of blades)=<70>, Rotor.
l Rotation Speed (rpm)=<8283>
l Tip Gap: Width at leading edge=Width at trailing edge=<0.016>[Inches]
l Spanwise Grid Point Number=<73>, Wall Cell Width=<0.00025> [Inches].
l Set Number of Points around 550,000.
9.5.4
3D Mesh Generation & Visualization
33. In Row Definition, left-click on Select All Rows.
34. Click on Generate 3D in the toolbar and confirm (Start) the generation.
You can check the blade-to-blade mesh quality at the hub and/or shroud before generating the 3D
mesh.
Go to Row Definition and click Select All Rows to select all rows. Go to Mesh Control ->
Active B2B Layer to specify the flow path (layer) on which the mesh will be plotted in the blade-
to-blade view. By default, at the mid-span of the machine (Active Layer (%span) set to 50). The
layer selected for visualization is defined in percentage of span, going from hub (0%) to shroud
(100%). Enter <0> <Enter> or <100> <Enter> in order to visualize the mesh at hub or shroud
respectively.
Select Update B2B View to regenerate the blade-to-blade mesh on the new specified layer in the
blade-to-blade view.
A detailed analysis of the mesh quality can be performed on a blade-to-blade mesh after generation.
Information on orthogonality, aspect ratio and expansion ratio can be outlined in this window by
clicking
:
l Select a row in the Row list <Enter>.
l Select quality criteria using the Type pull-down menu.
l Left- click Show chart to visualize the distribution of the selected criteria in the form of a
histogram. The histogram is drawn for each row.
l Left- click part of the histogram to plot the concerned cells in blade- to- blade view or select
Display all cells to have an overview of the mesh quality.
l Left- click the More info button to obtain information regarding the minimum and maximum
values of the selected criteria.
l Close the quality checkbox.
After performing the blade-to-blade mesh quality, the 3D mesh generation can be started by clicking
Row Definition -> Select All Rows and then clicking the Generate 3D button.
Once 3D grid generation is completed, a grid quality check is performed and displayed. Minimum
cell skewness, maximum expansion ratio and aspect ratio are reported, among others. Data is available
for the entire mesh and separately for each entity (row, technological effect, bulb). Data related to
grid quality report is automatically stored in a report file, once the project file is saved.
35. Close the dialog box after checking the grid quality. The page can be reopened by clicking
.
36. Select the View -> View 3D Solid Mesh menu.
37. Left-click in the 3D view and then right click and select the menu Full view to visualize only
the 3D view.
By default, the 3D solid mesh is plotted on hub and blades. To remove the plot, select View -> Hide
3D Solid Mesh
38. Click the Repetition icon (
) to toggle the repetition of the channel
39. Use the View menu in the QAP to toggle edge, mesh and/or solid shading.
660
FINE™/Turbo 13.1 Tutorials
9.5.5
Check Boundary Conditions & Mesh Quality
40. Left-click in the 3D view to activate the view (red border), if not done already.
41. Check for boundary conditions by clicking
.
42. Select UND under Type pull-down menu and press <Enter> to check that there are no
patches in the patch list that are still set to an undefined type.
It is important to ensure that no undefined patches (UND) are present in the mesh. If this is not the
case, they can usually be removed by increasing the tolerance and launching the Search procedure.
In a multi-stage context, interfaces between rotating and non-rotating rows are set to ROT.
43. Close the dialog box.
44. Left-click anywhere in the 3D view to activate the view (red border), if not done already.
45. Check for negative cells by clicking
.
46. Click Apply.
The computation of the negative volumes is performed first. Negative cells can be outlined in the
mesh by pressing View neg cells button. Beware that the visualization of negative cells can be
memory consuming when a large number of cells must be displayed. It is thus advised to first check
the number of negative cells by pressing the Apply button. It is mandatory to remove all negative
cells before the calculation can be started
47. Click ok and Close the dialog box.
48. Left-click in the 3D view to activate the view (red border), if not done already.
49. Check for grid quality by clicking
.
A detailed analysis of the mesh quality on a 3D mesh can only be performed once the 3D mesh has
been generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell
width can be outlined in this window using the Type pull-down menu.
50. Select block number (0 for all) - <Enter>.
51. Select quality criteria using the Type pull-down menu.
52. Left-click Show chart to visualize the distribution of the selected criteria in the form of a
histogram. The histogram is drawn per block (0 = all blocks).
53. Left-click part of the histogram to plot the concerned cells in the 3D view.
54. Left-click the More info button to obtain information regarding the minimum and maximum
values of the selected criteria and block.
55. Close the dialog box.
9.5.6
Save Project
56. Go to File -> Save Project As <Tutorial9> <Enter> to save mesh and template files.
The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the
boundary
and
(".xmt_ txt"),
".qualityReport". The meaning of these files is detailed in the User Guide.
condition
".config"
".geom"
".cgns",
".igg",
".bcs",
types:
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh
with AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these
files is detailed in the User Guide.
Now that the mesh is saved, click here to set up the computation in the FINE™/Turbo interface!
9.6
TUTORIAL 9: FLOW SETTINGS
The mesh generation process is now completed and one can now come back to FINE™ graphical
user interface in order to set the various flow settings required before the calculation can start. The
access to the main menu and controls is proposed through a menu bar and a left-tree, and is
completed with an icon bar.
Access to FINE™ graphical user interface from the AutoGrid5™ window is proposed through
the Modules/Fine Turbo menu and confirm (yes) to enter FINE™ GUI. You're now back to
FINE™ graphical user interface!
A step by step approach is proposed in the following lines. It aims at driving you through the
various steps that need to be executed from mesh linking to the execution of the calculation.
9.6.1
Link Mesh & Project
57. Click the icon
and link the mesh "Tutorial9.igg" in "_mesh" folder with the project.
The user may be prompted a warning message concerning the solver precision; accept this message.
The change of the solver precision is detailed in step 119.
58. Define grid units in Inches as the geometrical data inserted in the "Tutorial9.geomTurbo" file
are expressed in inches.
59. Select a Cylindrical and 3 Dimensions configuration.
60. Click OK to close the dialog box.
9.6.2 Manage Computations
61. Rename the default computation "computation_1" as <SA_rank1> in the Computations area,
so as to indicate that the calculation will use the Spalart-Allmaras turbulence model and rank1
NLH method. This can be achieved by clicking left on Rename button, drag and modify the
"computation_1" as <SA_rank1>.
Similar operations could be executed using the New Computation or Remove buttons, respectively
to create a new computation or remove one.
9.6.3
Set Flow Configuration
62. Go to the tree in the left menu and double left-click on the Configuration menu.
Three sub-menus related to the definition of the working fluid, main flow characteristics and rotating
machinery definition can then be accessed.
63. Double left-click on Fluid Model to access the fluid database.
64. Select AIR(Perfect) as a working fluid.
The fluid database includes a number of pre-defined fluids, covering various approximations in fluid
definition such as perfect gas, ideal (real) gas, incompressible fluids and fluids defined as a set of
thermodynamic tables (optional, subjected to a separate license key).
A default fluid database is provided by FINE™/Turbo. The user is also able to create and modify his/
her own fluids and/or use fluids created by others. More details about these functions are available in
the FINE™ User Guide.
65. Double left-click on Flow Model to set the flow characteristics.
66. Select Harmonic to indicate that a Non-Linear Harmonic solution is of interest. Keep the
default configuration Basic.
The Harmonic method, introduced by He and Ning (1998), can be considered as a hybrid method
conjugating the advantages of classical steady state and full unsteady calculations: it provides an
approximate unsteady solution at affordable calculation costs.
The main idea is that the flow perturbations that make the flow unsteady are written about a time-
averaged value of the flow and are Fourier decomposed in time. Casting the unsteady Navier-Stokes
system into the frequency domain, transport equations are obtained for each time frequency. The user
controls the accuracy of the unsteady solution through the order of the Fourier series.
FINE™/Turbo provides several NLH methods:
l Basic : The basic harmonic method is a rank- 1 method, which considers only the perturbation
from the adjacent relative rotating rows of the reference row.
l Clocking: The clocking harmonic method is a simplified rank- 2 method, which considers the
the reference row and also simulates the
perturbation from the adjacent rotating rows of
rotor/rotor and stator/stator interaction in a multi-row turbomachine.
l Multi-rank: The multi-rank harmonic method is a generalized harmonic method, which considers
not only the perturbation from the adjacent successive N rows of the reference row, but also the
interaction of harmonics between the adjacent successive N rows.
67. Select Turbulent Navier-Stokes as the mathematical model.
68. Select Spalart-Allmaras as the turbulence model of choice.
A number of turbulence models can be accessed through the interface. They require the additional
resolution of 0-equation to 4-equations, depending upon the model selected. Some of these models do
need a fine resolution near the wall (y+ ranging from 1 to 5), while others use the log-law concept
and can mimic the logarithmic law. More details can be found in the FINE™ User Guide.
69. Set Reynolds Number Related Info:
l Set the Characteristic Length = <0.07> < Enter>,
l Set the Characteristic Velocity = <60> < Enter>,
l Keep the Characteristic Density = <1.2> < Enter>.
Characteristic variables (length, velocity, density) are required to estimate the Reynolds number. This
number is used at a few locations inside the flow solver, in particular inside the damping functions
related to the modeling of turbulence down to the walls.
The impact of the characteristic variables on the flow solution is very limited, but it is advised to
select values in accordance with characteristic quantities of the geometrical domain and flow
conditions. As an example, the characteristic length may be defined by a reference diameter or length
at inlet and/or outlet of the computational domain, and/or the chord of the blade (if any). The
characteristic velocity may be set to the averaged inlet velocity. The characteristic density is fixed as
the average (molecular) fluid density.
70. Double left-click on Rotating Machinery to set the rotating machinery definition.
71. Left-click on row 1 .
72. Check that the Rotational Speed = <0.0>.
73. Left-click on row 2.
74. Check that the Rotational Speed = <8283.0>.
75. Left-click on row 3.
76. Check that the Rotational Speed = <0.0>.
77. Left-click on row 4.
78. Check that the Rotational Speed = <8283.0>.
In the cylindrical mode, the flow solver resolves the equations by default in a relative frame of
reference. As a consequence, the mesh attached to the blade is rotating at the same speed as the blade,
as far as no rotor- stator interaction is concerned. The rotation speed has been introduced in
AutoGrid5™ and transferred to FINE™/Turbo GUI, limiting user interventions in the graphical user
interface.
For rotating machinery projects, the axis of rotation must be aligned along axis Z. In addition, a
unique rotation speed must be considered for the entire computational domain.
79. Left-click on the Rotor-Stator tab to set the rotor-stator interface parameters.
A separate ID is allocated to each rotor-stator interface, based on data included in AutoGrid5™. Each
interface is defined with 2 patches, located upstream and downstream of the rotor-stator interface. The
definition of IDs and allocation of upstream/downstream sides are performed automatically in
FINE™/Turbo GUI.
80. Check the parameters of the patch outlet_id_10:
l left-click on outlet_id_10.
l keep the method to Full Non Matching (Non Reflecting).
l keep ID Number to <10>.
l keep Upstream for Side.
l keep Zero Order for Extrapolation
81. Check the parameters of the patch outlet_id_20:
l left-click on outlet_id_20.
l keep the method to Full Non Matching (Non Reflecting).
l keep ID Number to <20>.
l keep Upstream for Side.
l keep Zero Order for Extrapolation.
82. Check the parameters of the patch outlet_id_30:
l left-click on outlet_id_30.
l keep the method to Full Non Matching (Non Reflecting).
l keep ID Number to <30>.
l keep Upstream for Side.
l keep Zero Order for Extrapolation.
83. Check the parameters of the patch inlet_id_10:
l left-click on inlet_id_10.
l keep the method to Full Non Matching (Non Reflecting).
l keep ID Number to <10>.
l keep Downstream for Side.
l keep Zero Order for Extrapolation.
84. Check the parameters of the patch inlet_id_20:
l left-click on inlet_id_20.
l keep the method to Full Non Matching (Non Reflecting).
l keep ID Number to <20>.
l keep Downstream for Side.
l keep Zero Order for Extrapolation.
85. Check the parameters of the patch inlet_id_30:
l left-click on inlet_id_30.
l keep the method to Full Non Matching (Non Reflecting).
l keep ID Number to <30>.
l keep Downstream for Side.
l keep Zero Order for Extrapolation.
In case of NLH computations,
Reflecting) is automatically selected.
the type of rotor/stator treatment ( Full Non Matching Non
9.6.4
Set Boundary Conditions
86. Go to the tree in the QAP and double left-click on Boundary Conditions.
During the grid generation process, AutoGrid5™ defines the type of the boundary conditions to be
applied on each block face. The most common types are INLET, OUTLET, PERIODIC and SOLID
boundary conditions.
PERIODIC boundary conditions are set automatically by the flow solver and must not be modified by
the user.
It is important to confirm each entry by pressing the <Enter> key.
87. Go to Mesh -> View On/Off to load the mesh in FINE™/Turbo GUI.
This toggle menu is used to visualize the grid in FINE™. The parameters area will be overlapped by a
graphics window, and the small control button on the upper-left corner of the graphics window can
be used to resize the graphics area in order to visualize the parameters and the mesh simultaneously.
The selection of patches in the left column outlines the corresponding patch in the graphics area, thus
enabling a fast and easy visualization of the boundary conditions.
88. Go to the INLET tab:
l Select Total Quantities Imposed,
l Select Angle from Axial Direction (Vz extrapolated),
l Set arctg(Vr/V) = <0> <Enter>,
l Set arctg(Vt/V) = <0><Enter>,
l Set Absolute Total Pressure = <344740> <Enter>,
l Set Absolute Total Temperature = <709> <Enter>,
l Choose Turbulent Viscosity as the Turbulent Quantities and set Turbulence Viscosity to
<0.0001> <Enter>.
89. Go to the OUTLET tab:
l Select Pressure Imposed,
l Select Averaged Static Pressure (related patches must be grouped)
l Set Static Pressure = <52000> <Enter>.
An averaged static pressure of 52,000 Pa is fixed at the exit boundary of the computational domain.
Based on this data, at each iteration, the flow solver keeps the distribution of static pressure at the exit
and moves it to respect the averaged static pressure imposed.
90. Go to the SOLID tab.
91. Keep the default settings for all the groups.
For each row, patches including the keyword "hub" are by default collected in a unique group named
as "row*_ hub". Patches including the keyword "shroud" are grouped in "row*_ shroud". Finally,
patches of the blade are grouped in "row*_blade". If the part of the row is rotating, the suffix "_
(r.p.m. rot_speed)" is added to the group name. The presence of a tip gap is automatically taken into
account in the blade group, thus minimizing user intervention in the definition of the boundary
conditions. For a rotor, which is defined in AutoGrid5™, it is assumed that the hub and the blade are
fully rotating. The rotation speed takes the value introduced during the mesh generation process. The
shroud is assumed to be a fixed entity, with no rotation speed assigned.
The rotation speed is usually considered as a constant for the entire patch (group). However, FINE™
integrates the possibility to define that only part of a patch is rotating (e.g. part of the hub) by using
Area Defined Rotation Speed.
The convergence of both axial thrust and torque can be monitored in the computational steering
window, to make sure that both quantities have reached stable values at the end of the convergence
process. Both values are also available from the *.mf file located in the computation directory. The
torque can also be used for the calculation of the efficiency of the machine. It is common practice to
enable force and torque calculation on rotating patches only.
92. Go to Mesh -> View On/Off to toggle off mesh visualization, if needed.
9.6.5
Set Numerical Model
93. Go to the tree in the QAP and double left-click on the Numerical Model menu.
This menu gives access to the most frequently used numerical parameters, including the Courant
Fredericks Lewy (CFL) number and the selection of the grid level on which the simulation will apply.
It is important to confirm each entry by pressing the <Enter> key.
94. Keep CFL unchanged to 3.
The CFL number drives the pseudo-time step selected to reach a steady state solution using the time-
marching method integrated in the flow solver. In combination with the 4- steps Runge- Kutta
integration scheme included in the flow solver, it has a theoretical stability limit close to 2.8.
However, the additional implicit smoothing scheme can increase this value slightly, which justifies the
default value of 3.
The default value for CFL number is adequate in most cases, but can be decreased in some
circumstances, in particular at off-design conditions.
95. Define the grid level on which the simulation will apply, change Current Grid Level = <1 1
1>.
96. Keep Number of Grid(s) = 2.
The flow solver is based on an explicit time integration technique, which is accelerated using multi-
grid methods. To this end, several levels of intermediate grids must be generated started from the
finest one. This is achieved by taking one node over 2 in each I-, J- or K-directions, starting from the
finer grid level.
It is strongly advised to enable the definition of at least 3 grid levels, by carefully selecting the
number of nodes on every edge forming the patches and blocks. More details can be found in IGG™,
AutoGrid5™ and FINE™/Turbo User Manuals.
In the FINE™/Turbo terminology, the finest grid level that a user can access will be called as 000,
while the intermediate and coarsest ones will respectively be named as 111 and 222 levels, assuming 3
grid levels can be selected.
Hybrid grid levels can theoretically be defined (e.g. 010 or 211). It is however not advised to use such
hybrid levels since it deforms the mesh in a preferential direction and thus possibly increasing the
aspect ratio. Consequently, the quality of the resulting mesh can be decreased.
97. Keep the Coarse Grid Initialization active.
In addition to the multi-grid acceleration technique, the number of iterations to convergence can be
significantly reduced activating the coarse grid initialization process. In that case, the simulation starts
on the coarsest grid level available,
the flow solver
automatically interpolates the current flow solution on the intermediate levels before the iterative
process is restarted. A similar process continues tills the expected finest grid level is reached. The
iterative process goes on as long as the convergence criterion is not reached or the maximum number
of iterations is not exceeded. More details can be found in FINE™ User Guide.
leading to fast convergence. Once done,
9.6.6
Set Initial Conditions
98. Go to the tree in the QAP and double left-click on the Initial Solution menu.
99. Left-click on group ROWS.
The group is automatically created when the mesh is loaded in FINE™ GUI. In complex projects,
hybrid initial solutions can be useful. In that case, a constant initial solution per block can be selected
for some groups, while others can benefit from an initial solution from Turbomachinery. Limitations
related to the use of hybrid initial solutions are described in FINE™/Turbo User Manual.
100. Keep for turbomachinery to access the initial solution menu for turbomachinery.
Initial conditions can be selected in different forms, going from constant values per block to
throughflow based solutions. When running a rotating machinery project case, it is common practice
to select the initial solution for Turbomachinery. Based on a 1D estimation of the flow solution, the
initial solution for Turbomachinery often enables a drastic reduction in the number of iterations in
running 3D simulations. Inputs ("best estimation") related to static pressure at inlet and rotor-stator
interfaces (if it applies) are requested.
l Left-click on the inlet patch (row_1_flux_1_Main_Blade_upStream_inlet)
l Set Estimated Static Pressure = <340000> <Enter>.
l Left-click the rotor/stator interface ID 10.
l Set Estimated Static Pressure = <200000> <Enter>.
l Left-click the rotor/stator interface ID 20.
l Set Estimated Static Pressure = <150000> <Enter>.
l Left-click the rotor/stator interface ID 30.
l Set Estimated Static Pressure = <100000> <Enter>.
l Choose Turbulent Viscosity as the Turbulent Quantities and set Turbulence Viscosity to
<0.0001> <Enter>.
9.6.7
Select Outputs
101. Go to the tree in the QAP and double left-click on the Outputs menu.
102. Double left-click on Computed Variables.
Quantities of interest in the simulation must be pre-selected in this menu. They will be stored in the
solution file (*.cgns) once the iterative process will be finished and/or during intermediate steps.
Quantities can be accessed both in the 3D field (Computed Variables) and/or in the meridional
plane (following circumferential averaging, see Azimuthal Averaged Variables). Additional data
can be selected on the solid walls and/or on predefined surfaces (Surface Averaged Variables).
The adequate selection of outputs of interest will reduce the size of the solution file. This is in
particular important when projects involving very fine meshes and/or unsteady capabilities are
managed.
103. Select Static and Total Absolute Temperature if not yet selected.
104. Select Static and Total Absolute Pressure if not yet selected.
105. Select Density if not yet selected.
106. Left-click on Velocities tab.
107. Select Vxyz and Absolute Mach Number if not yet selected.
108. Select Wxyz and Relative Mach Number if not yet selected.
Vxyz and Wxyz are related to the velocity vectors field in the absolute and relative frame of
reference respectively. The examination of solution quantities in the relative frame of reference is in
particular useful to observe the flow angles relative to the blade close at leading and trailing edge.
109. Left-click on Solid data tab.
110. Select Static pressure , Static temperature , y+ (in first inner cell) and Harmonic
Pressure (Real and Imaginary) if not yet selected.
Cf relates to the friction coefficient.
The parietal coordinate y+ is a direct function of the distance from the wall.
Therefore, y+ = 0 at the wall and takes a non-zero value at the center of the first cell close to the wall
(also called "inner cell"). As a consequence, the examination of y+ "at the wall" should be understood
as the examination "in the first inner cell". Although it is not correct theoretically speaking, this
concept is very often used to ease the post-treatment and benefit from the existing solid surfaces.
111. Left-click on Turbulence tab.
112. Select Wall distance and Turbulent Viscosity ratio if not yet selected.
The analysis of the Turbulent Viscosity ratio field is often of major interest to make sure that the
turbulent quantities are computed accurately according to the turbulence model and mesh refinement
selected.
Running k- epsilon related models gives access to additional quantities in particular related to the
production term, the kinetic energy and dissipation rate fields. It is strongly advised to activate these
fields for post-treatment.
113. Left-click on Harmonics tab.
114. Select Real & Imaginary and Amplitude for Pressure, Relative Pressure and Absolute
Pressure.
115. Double left-click on Azimuthal Averaged Variables.
116. Go through the various tab pages and select quantities as for Computed Variables.
Additionally, outputs can be re- directed using the PLOT3D format, using various formats. More
details can be found in FINE™ User Guide.
9.6.8
Control Computation Steering
117. Go to the tree in the QAP and double left-click on the Computation Steering menu.
118. Double left-click on Control Variables.
119. Set Maximum Number Of Iterations = <1000> <Enter>, keep Save Solution Every =
100 and Convergence Criteria = -6; change the solver precision from Single to Double.
Depending upon the quality of the initial solution, the density of the mesh (number of nodes) and the
complexity of the underlying flow field, from few hundreds to few thousand iterations are typically
required to reach convergence. The iterative process is stopped once the convergence criterion is
reached over the entire domain or the maximum number of iterations is executed on the current grid
level (111 in the present case).
Ability to select for Minimum output gives the possibility to minimize the size of the solution files.
In that case, the flow solution is stored only once the iterative process is finished, and limited
information is proposed during the intermediate storage. This limited information allows to perform a
restart procedure from an existing flow solution, but cannot be visualized within CFView™.
Static memory allocation is enabled inside the flow solver. An estimation of the memory required to
run and save the flow solution is calculated and proposed as a default. However,
in some
circumstances, the estimation may be too short and it is then required to manually increase the
number of reals or integers necessary to drive the solution to success. In that case, click on Set the
requested memory and increase the inputs accordingly.
9.6.9
Save Project & Start Calculation
120. Go to File menu and Save project.
The project parameters are stored in the *.iec file. This file includes the entire set of parameters
required to reproduce the project, excluding the mesh.
121. Press the icon
appearing.
and Start Flow Solver to start the calculation: a task manager window is
The calculation will start in serial mode (1 processor) on the local machine. FINE™ includes multi-
processor capabilities and the ability to manage computations through a task manager and/or in batch
mode. More details can be found in the FINE™ User Guide.
9.6.10 Follow Convergence Steering
122. Double left-click on Convergence History.
The evolution of averaged residuals on the entire domain can be observed during the convergence
process. Similarly,
the mass flow balance (in/ out) and/or global quantities
(isentropic efficiency, torque and axial thrust on solid walls selected in the boundary conditions page,
pressure ration) can be displayed.
the evolution of
Local and global quantities may also be added for follow- up during the convergence process.
However, their representation in the graphical area will only be effective once they are added in the
Selected Variables list, see FINE™ User Guide.
The examination of residuals per block and/or for a given primitive variable can be achieved
accessing the monitorTurbo tool. The tool is included in the FINE™ package and can be accessed
through the adequate command line. More details can be found in the FINE™ User Guide.
123. Once the calculation is converged or reaches the maximum number of iterations allowed on
the current grid level, the flow solver stops.
124. The final solution is then stored in the solution file (*.cgns) and the task manager window is
closed.
To check the convergence of the computation, NUMECA recommends to observe the evolution of
multiple criteria including (a) an adequate decrease in residuals (minimum 3 orders of magnitude);
(b) complete stabilization of global performances; (c) stabilization of mass flow in/out, with
satisfactory correspondence (usually less than 0.5% difference between in/out).
Now that the iterative process is over, click here to start the visualization of the solution within the
post-treatment tool CFView™ integrated in FINE™/Turbo.
9.7
TUTORIAL 9: POST PROCESSING
The iterative process is now over and the flow solution is stored in the ".cgns" file. The number of
nodes in a typical mesh usually ranges from few hundred thousands to several million, which
makes visualization delicate in most cases. As part of the FINE™ environment, NUMECA
proposes the home- made visualization and post- treatment tool CFView™ for that purpose.
CFView™ is entirely integrated in the environment and includes numerous tools which are
particularly best suited for the analysis of turbomachinery configurations.
A step by step approach is proposed in the following lines. It aims at driving you through the
various steps that need to be executed from reading the solution to the extraction of the main
results. CFView™ automatically opens the file ".run" file associated with the active computation.
9.7.1
Post Processing Of Time-Mean Results
The harmonic method solves the time-averaged flow equations and the harmonic equations. All the
exported time- averaged quantities and harmonic quantities can be directly post- processed in
CFView™.
125. Access CFView™ from FINE™/Turbo GUI, pressing the icon
.
126. Deactivate View the azimuthal averaged solution.
127. Left-click on Start CFView.
You now enter 3D analysis mode in CFView™!
A. View Static Pressure On Solid Surfaces
128. Go to Geometry menu.
129. Select Boundary to deactivate boundary representation.
Boundary activation/deactivation is used as a toggle and acts on all selected surfaces. Fast access is
ensured using the binding key <b>.
130. Double left-click on the checkboxes:"row #_shroud"(# indicates a number) inside the Quick
Access Pad/Surfaces area to deactivate the set of patches that define the entity shroud. Groups
"row #_blade(s)" and "row #_hub", are the only entities that remain active at this moment.
Selection of surfaces for representation is controlled through the Surfaces area. Alternatively,
identical operations can be retrieved from the menu Geometry.
Patches flagged as solids are selected as default surfaces for representation. Groups created in the
boundary condition area inside FINE™/Turbo GUI are transferred directly to CFView™, so that the
selection of surface entities can be performed in a few clicks.
Fast selection of a group of surfaces in a large list including numerous surfaces, which are partly
checked/unchecked, can be done by first left-clicking (combined with <Ctrl> or <Shift> for multiple
surfaces) on the target surface(s) desired for representation, then right- click to get the contextual
menu and choose Select.
131. Go to Geometry menu.
132. Select Boundary again to activate boundary representation on active surfaces.
133. Select Quantity -> Solid Data -> Static Pressure.
134. Select Representation -> Color Contour -> Smooth
135. Select Representation -> Scalar Range -> Colormap Optimum Range.
Colormap Optimum Range restricts the bounds of the colormap to those related to active surfaces
instead of the complete 3D domain. This capability is often useful to outline, in a clearer manner, a
number of details. It can also be accessed by pressing the icon
.
136. Make use of the Viewing buttons to modify the representation mode.
B. View Harmonic Quantity On Blade-to-Blade Surface
137. Select Update -> Delete -> All to delete all color contour.
138. Select Geometry -> Boundary to deactivate boundary representation.
139. Select Geometry -> Blade to Blade Surface to create a blade to blade surface.
140. Keep the default settings and click on the button Save. This will create a blade-to-blade
surface at 50% span.
141. Click on the button Close to close the dialog box.
CFView™ integrates the possibility to create cuts at constant spanwise position (also called "blade-to-
blade" planes). This capability is especially useful when the endwalls are not planar. The surface for
representation at constant spanwise position is then created based on linear interpolation between the
endwalls.
Pressing Save button in the dialog box creates an additional surface for representation in the
Surfaces area, enabling quantity selection and representation as discussed in the previous sections.
142. Right-click on the surface "CUT1" in the Quick Access Pad/Surfaces area and select the
menu Select. The created surface "CUT1" will be selected only.
143. Double left-click on the quantity Harmonic Pressure Amplitude - 1 Harmonic in the
Quick Access Pad/Quantities to select it.
144. Select Representation -> Color Contour -> Smooth
145. Select Representation -> Scalar Range -> Colormap Optimum Range
146. Make use of the Viewing buttons to modify the representation mode.
147. Select File -> Close Project to close the opened project
9.7.2
Reconstruction In Time
The "harmo2time" tool, integrated in CFView™, allows to reconstruct the unsteady flow by using the
time- averaged solutions and harmonic solutions. More details can be found in CFView™ User
Guide.
148. Select File -> Open Project Selection to open the harmonic computation.
149. Locate and select the computation file "Tutorial9_SA_rank1.run".
150. In the partial
Reconstruct the flow in time.
loader dialog box, keep the default settings and click on the option
151. Select all groups in the frame Group information and set Number of repeated blade
channels to <2>.
692
FINE™/Turbo 13.1 Tutorials
152. Keep all other settings and click on the Apply button.
153. Save the reconstructed solution with the default name "Tutorial9_SA_rank1_unst.run".
After reconstruction, all unsteady steps will be loaded into CFView™ by default.
9.7.3
Post Processing Of Unsteady Results
154. Select Geometry -> Boundary to deactivate boundary representation.
155. Select Geometry -> Blade to Blade Surface to create a blade to blade surface.
156. Keep the default settings and click on the button Save. This will create a B2B surface at
50% span.
157. Click on the button Close to close the dialog box.
158. Right-click on the surface "CUT1" in the Quick Access Pad/Surfaces and select the menu
Select. The created surface "CUT1" will be selected only.
159. Select Quantity - > Filed Data - > Computed Thermodynamics - > Relative Mach
Number to compute the derived quantity relative Mach number.
160. Select Representation -> Color Contour -> Smooth
161. Select Quantity -> Time Label to show the current time in the view
162. Make use of the Viewing buttons to modify the representation mode.
163. Click the button Animate (
steps.
) to view the contour of the relative Mach number at all time
164. Select File -> Quit CFView to quit CFView™.
TUTORIAL 10.
FLUTTER AXIAL COMPRESSOR
10.1 NUMECA SOFTWARE
The resolution of computational fluid dynamics (CFD) problems involves three main steps:
l spatial discretization of the flow equations,
l flow computation,
l visualization of the results.
To answer these questions, NUMECA has developed a Flow INtegrated Environment for internal
integrates the
and Turbomachinery assimilations. Called FINE™/Turbo,
following tools:
the environment
l IGG™ is an Interactive Geometry modeler and Grid generator software, based on structured
multi-block techniques.
l AutoGrid5™ is a three- dimensional Automated Grid generation software, dedicated to
is based on structured multi- block
it
turbomachinery applications. Similarly to IGG™,
techniques.
l Euranus is a state-of-the-art multi-block flow solver, able to simulate Euler and Navier-Stokes
equations in the laminar, transitional and turbulent regimes.
l CFView™ is a highly interactive flow visualization and post-treatment software.
l FINE™ Graphical User Interface is a user-friendly environment that includes the different
software. It integrates the concept of projects and allows the user to achieve complete
simulations, going from the grid generation to the flow visualization, without the need of file
manipulation.
A turbomachine is a device in which the energy is transferred either to or from a continuously
flowing fluid by the dynamic action of one or more moving blade rows. It plays a major role in
particular in aircraft, marine space (liquid rockets), land propulsion system but also in hydraulic,
gas and steam turbines applications. It is also involved in industrial pipeline and processing
equipment such as gas, petroleum and water pumping plants. Other applications can be related to
heart-assist pumps, industrial compressors and refrigeration plants, among others.
The turbomachinery field includes turbines, pumps, fans, compressors. A turbomachine is
composed of several basic elements including the blade (also called vane if it is non-rotating),
hub, and shroud. Several technological effects involving clearances, seal leakages and cooling
holes among others can complete the machine. Due to the complexity of the blade shapes, the
presence of technological elements and the rotation of machine, the nature of the flow is strongly
three-dimensional, often depicting complex flow paths.
This tutorial is particularly adapted to the Fluid/Structure Interactions (FSI) of a single blade row
axial-flow turbomachine. There are different types of interactions according to the nature of the
phenomena involved in the interaction. Flutter is one of the most feared in the turbomachinery
application, it is defined as a self-excited vibration of a structure in a fluid flow.
This tutorial makes use of FINE™/Turbo and describes how to deal with the specific options
implemented in the FINE™ environment. In this tutorial, you will learn how to:
In AutoGrid5™:
l read an existing geometry file;
l define the blade periodicity;
l define a tip clearance;
l generate and optimize the blade-to-blade mesh;
l check for mesh quality.
In FINE™/Turbo:
l manage the fluid database;
l use the harmonic method;
l set up both boundary and initial conditions;
l set up the fluid/structure settings;
l control the numerical process;
l select the adequate outputs;
l control and launch the calculation process;
l check for convergence.
In CFView™:
l visualize and analyze the time-averaged results;
l reconstruct the flow in time;
l visualize and analyze the unsteady results.
10.2 PREREQUISITES
This tutorial does not
FINE™/Turbo.
require any particular prerequisite with the menu structure in
10.3 PROBLEM DESCRIPTION
The problem considers a single blade row axial-flow turbomachine as shown here below. The
Rotor 67 is the first stage rotor of a two-stage fan; it has been experimentally analyzed at the
National Aeronautics and Space Administration (NASA) Lewis Research Center.
The Rotor 67 is characterized by the following representative values:
- number of blades: 22
- blade aspect ratio: 1.56
- tip relative inlet Mach number: 1.38
- tip solidity: 1.29
- rotational speed (RPM): 16 043
- total pressure ratio: 1.63
10.4 PREPARATION
l Start FINE™/Turbo v13.1:
l For Linux systems, you can access FINE™/Turbo graphical user interface with the
following command line:
fine -niversion 131 -print
l For WINDOWS systems, you can access FINE™/Turbo graphical user interface from the
start menu going to /Programs/NUMECA software/Fine131/FINE.
l Click the Create a New Project icon to create a new project.
l Select your directory of choice to store the project.
l Enter the project name in the dialog box as <Tutorial10> <Enter>.
l Click on Create Grid File to access the interactive geometry modeler and grid generator
IGG™.
l Access the menu Modules, select AutoGrid5 and confirm (yes) to enter AutoGrid5™.
You are now ready to start the grid generation process and mesh the ROTOR 67 configuration!
Click here to start the mesh generation...
10.5 TUTORIAL 10: MESH GENERATION
The AutoGrid5™ graphical user interface includes several windows that allow to visualize the
geometry and mesh of the turbomachine simultaneously in the meridional, blade-to-blade and 3D
view. Access to the main menu and controls is proposed through a menu bar and a quick access
pad (QAP ), and is completed with a tool/icon bar . The execution of the different actions
undertaken is summarized in the message box at the bottom of the interface.
A step by step approach is provided in the following lines. It aims at driving you through various
steps that need to be executed from the creation of the mesh project to the validation of the final
mesh quality.
10.5.1 Create Mesh Project
1. Close the Open Turbo Project Wizard dialog box.
The Open Turbo Project Wizard dialog box enables the user to retrieve a ".trb" file (with
associated grid) including the data required to regenerate a mesh on an identical or similar geometry.
In this tutorial, these data will be progressively introduced based on the geometry of the project case.
2. Go to menu File -> New Project.
3. Click yes to close the active project.
4. Choose the icon Initialize a New Project from a geomTurbo File.
10.5.2 Load Geometry & Define Main Properties
5. Locate and select "rotor67.geomTurbo" (geometry defined in [Centimeters]) in the dialog box
and click Open. "Where to Find the Files Used in the Tutorials?" (p. 10)
The ".geomTurbo" file format is structured in three main blocks: the header, the channel and the row
definitions.
The channel format contains the definition of the turbomachinery meridional contour (hub, shroud).
It is composed by curves defined by a set of points. The ".geomTurbo" file must contain two channel
curves named respectively "hub" and "shroud".
The row definition contains the geometry of a complete row. It is defined by a row name, a row type,
a periodicity and the definition of the main blade and possibly the splitter(s). The blade and splitter(s)
are defined by the pressure and the suction side surfaces identified by the keywords "pressure" and
"suction". Both surfaces are specified by a set of cross sections of the blade at several spanwise
locations from hub to shroud. Each section is defined by a set of points from leading to trailing edge.
6. Set geometry units:
l Go in the QAP -> Geometry Definition -> Units.
l Change the units to Centimeters, if not done already.
7. Select Expert Mode if necessary in the toolbar.
the imported geometry must be changed to impose a scaling factor and a
The "units" of
treatment during the grid generation when
corresponding tolerance that will ensure correct
computing, for example, the intersection. Unless it is necessary to change this, we recommend keeping
the default settings (Scale Factor set to 1).
8. Move inlet position:
l Left-click on the inlet line when highlighted in yellow in the meridional view.
l Right-click the Top Point when highlighted in yellow.
l Set the Z value to <-2.203> <Enter> in the Point Location dialog box.
l Left-click the Bottom Point.
l Set the Z value to <-2.203> <Enter> in the Point Location dialog box.
l Close the Point Location dialog box by clicking the cross at the top right corner.
9. Repeat step 8 for the outlet: for the top and bottom points, set the Z value to <21> and press
<Enter>.
The inlet and outlet limits of the domain are by default defined by AutoGrid5™ using two straight
lines joining the limits of the hub and shroud definitions. The shape and the location of the inlet and
outlet boundaries can be modified interactively.
You can access the control points of the inlet/outlet and modify their location by dragging the points.
The exact coordinates of the control points can also be introduced by right-clicking the control point.
A dialog box will appear, enabling the user to enter the point coordinates in (rz) mode.
There is another way to control the shape of inlet/outlet. Move the mouse to the inlet/outlet and when
it becomes highlighted in yellow, right-click and select Properties in the pop-up menu. Activate for
example Z constant and enter the coordinates where the inlet/outlet should be located.
10. Left-click on Rows Definition -> row 1 in the QAP to activate the current row, if not done
already.
11. Right-click on row 1 and select Properties in the pop-up menu.
12. Enter the Periodicity (number of blades). Left-click inside the string input area and type
<22>, press <Enter> to confirm.
13. Enter <-16043> and press <Enter> in Rotation Speed (rpm).
This speed will be transferred to the FINE™ graphical user interface and will ease the input of
boundary conditions later on. The sign of the rotational speed is positive (+) when the blade row is
rotating in the positive θ-direction, and negative otherwise.
14. Close the dialog box.
15. Left-click Row Definition -> row 1.
16. Right-click row 1 and select Gap/Fillet / Define Shroud Gap in the pop-up menu.
17. Define Width At Leading Edge = <0.1016> [Centimeters] and press <Enter>.
18. Define Width At Trailing Edge = <0.1016> [Centimeters] and press <Enter>.
The width at the leading/trailing edge allows the user to specify the size of the gap at the leading and
trailing edge of the blade. The gap curve is then constructed as a linear offset of the hub (or the
shroud) according to these values.
19. Close the dialog box.
10.5.3 Initialize Topology & Grid Distribution
20. Left-click on Rows Definition -> row 1 in the QAP to activate the current row, if not done
already.
21. Select Grid Level/Medium through Mesh Control in the QAP, if not done already.
22. Estimate the width of the first cell at the wall:
The width of the first cell close to the wall must be selected with care since the quality of the flow
solution will often depend upon the capture of the flow phenomena inside the boundary layers which
develop along the solid walls.
Depending upon the turbulence model selected, NUMECA recommends to locate the nearest grid
point along the wall, at a distance that corresponds to parietal coordinate y+ ranging from 1-5 (low
Reynolds number models) or 30-50 (high Reynolds number models). Assuming thermal effects must
be modeled accurately, y+ can reach values as low as 0.1.
The relation between the parietal coordinate y+ and width of the first cell close to the wall y is driven
by the Blasius equation, expressed as follows for turbulent flows:
where:
l ywall is the distance of the nearest grid point to the wall (in meter);
l Vref is a reference velocity of the flow, for instance, the inlet velocity (in m/s);
l υ is the kinematic viscosity of the fluid (in m²/s), i.e. the dynamic viscosity divided by the density;
l Lref is a reference length of the test case (in meter);
l y+ is a non-dimensional value.
In the present case, one can estimate that V ref=429 m/s, L ref=0.09 m and υ=1.57e-5 m²/s.
Assuming one wishes to get y+=5 at the wall, it comes that y=5 x 10-6 m.
Input the value of the Wall Cell Width = <0.0005> [Centimeters] <Enter> in the Mesh Control
-> Row Mesh Control in the QAP.
23. Select Initialize Topology & Grid Points Distribution in the toolbar and confirm (yes). This
button will set the mesh topology to the default O4H topology.
The default O4H topology includes 5 blocks:
l the skin block is an O-mesh surrounding the blade;
l the inlet block is a H-mesh located upstream of the leading edge;
l the outlet block is a H-mesh located downstream of the trailing edge;
l the upper block is a H-mesh located above the blade section;
l the lower block is a H-mesh located under the blade section.
10.5.4 Meridional Control
24. Left-click Row Definition -> row 1 in the QAP to activate the current row, if not done
already.
25. Go to Mesh Control -> Row Mesh Control-> Flow Paths Control in the QAP.
26. Set the Flow Paths Number to <97> and press <Enter>.
27. Keep Cell Width at hub = <0.0005> [Centimeters].
28. Keep Cell Width at shroud = <0.0005> [Centimeters].
29. Set the Percentage of Mid-flow Cells to <50> % and press <Enter>.
Percentage of Mid-flow Cells controls the number of cells of constant size in the main part of the
channel (excluding gaps).
30. Keep all other data unchanged.
The Expert section allows the user to control the visualization, the shape and the parameters related
to flow path smoothing. For the meaning of these parameters see: Flow Paths Control.
The Manual Edition mode allows the user to directly control the block faces which are used to
construct flow paths. Edges can be moved, segments can be created or modified and the grid points
distribution on segments can be controlled. See also: Flow Paths Manual Editing.
31. Close the dialog box.
32. Left-click Row Definition -> row 1 in the QAP to activate the current row, if not done
already
33. Left-click Row Definition -> row 1 -> Blades -> Main Blade -> Shroud gap, right-click
and select Properties in the contextual menu.
34. Increase the Number of Points to <25> <Enter> to increase the default number of flow paths
between the main blade tip and the shroud.
35. Keep all other data identical.
The Cell Width controls the cell size imposed at the blade extremity (at the hub or shroud according
to the gap type).
The Percentage of Mid-flow Cells controls the number of cells of constant size in the gap region
of the channel.
The Number of Points controls the number of points in the gap in the spanwise direction. This
number is part of the Flow Paths Number specified through Mesh Control - > Row Mesh
Control -> Flow Paths Control in the QAP.
36. Close the dialog box.
37. Click Generate Flow Paths (
values are modified.
10.5.5 Blade-to-Blade Control
) to regenerate the flow paths when default
38. Left-click Row Definition -> row 1 in the QAP to activate the current row, if not done
already.
39. Control blade-to-blade mesh through Mesh Control -> Row Mesh Control -> B2B Mesh
Topology Control.
40. Open the Topology control field, and keep the dialog box opened.
41. Activate Matching Periodicity in the Topology control field to switch to matching
periodicity.
By default, non-matching connections are applied at periodic boundaries. You can see the periodic
boundary by showing the repetitions.
42. Activate Blend the Blade At Trailing Edge in the Topology control field.
43. Activate Blend the Blade At Leading Edge in the Topology control field.
The selection of the options Blend the Blade At Leading Edge and Blend the Blade At Trailing
Edge automatically closes the blunt edges by circular shape edges.
44. Click Initialize Topology & Grid Points Distribution in the toolbar and confirm (yes). This
button will set the mesh topology to the default skin-like topology considering matching periodic
connections and blended blade at the leading and trailing edges.
45. Repeat step 24 to step 37 to reapply the manual modifications on the flow paths.
46. Close the Topology control field.
47. Left-click Row Definition -> row 1 in the QAP to activate the current row, if not done
already.
48. Open the Grid Points control field in the Define B2B Topology dialog box to control the
number of grid points in the blade-to-blade view.
49. Left-click any number of nodes, make the proper modification according to the figure below
in the entry box and press <Enter> to confirm the modification.
The number of points specified is recommended to be 4xn + 1 (where n is an integer) to allow for
multigrid processing on a minimum of 3 grid levels within FINE™.
The Number of Points in Clearance O-mesh allows the user to control the number of points in
the tip/hub gap (butterfly topology defined by two blocks).
50. Close the dialog box.
51. Visualize the result in the blade-to-blade view after clicking Generate B2B (
regenerate the mesh in the blade-to-blade view.
) to
52. Go to Mesh Control -> Row Mesh Control -> Optimization Control to adapt the mesh
optimization parameters to enhance the quality of the mesh if necessary.
Optimization is performed in the form of smoothing and is executed on each layer using multi-block
elliptic techniques. The number of Optimization Steps represents the number of
iterations
performed with the elliptic smoother. By default, 100 iterations are applied.
53. Set Optimization Steps = <200> and press <Enter> and Gaps and/or CHT Optimization
Steps = <200> and press <Enter>. Keep all other data unchanged.
54. Close the dialog box.
55. Click on Mesh Control -> Row Mesh Control -> Add Z Constant Line in the QAP in
order to add one control line upstream the blade and one downstream the blade as illustrated on
the following picture. Right-click to leave the menu. You can modify the control line by left-
clicking on it and move each point one by one to make it look like the next figure.
Control lines can be added in meridional space to control the meridional mesh (spanwise flow paths
distribution), to change the topology of the 3D mesh (additional H block created upstream or
downstream the control line) or to impose a Z constant line in the meridional space (i.e. to capture
corner). They are displayed in blue in the meridional view.
56. Right-click on the upstream control line and click on Properties. Set the Streamwise Npts =
<49> <Enter> and unselect Fixed Geometry. Keep all other data unchanged.
Streamwise Npts is used when the control line is not located on a blade and specifies the number of
streamwise points in the H block upstream or downstream the control line in the blade to blade view
if, respectively the control line is upstream or downstream from the blade.
Fixed Geometry specifies if the control line shape should be respected or can be relaxed and have
the shape obtained by the optimizer.
57. Right- click on the downstream control line and click on Properties . Unselect Fixed
Geometry and keep all other data unchanged.
Both control lines are added in order to control the number of points in the streamwise direction for
the H blocks upstream and downstream the blade. You can visualize the difference by generating the
B2B mesh before and after adding the control lines.
58. Press Generate B2B (
) to regenerate the mesh in the blade-to-blade view.
10.5.6 3D Mesh Generation
59. Left-click Row Definition -> row 1 in the QAP to activate the current row, if not done
already.
60. Click on Generate 3D in the toolbar and confirm (Start) the generation.
You can check the blade-to-blade mesh quality at the hub and/or shroud before generating the 3D
mesh.
Go to Row Definition and click Select All Rows to select all rows. Go to Mesh Control ->
Active B2B Layer to specify the flow path (layer) on which the mesh will be plotted in the blade-
to-blade view. By default, at the hub of the machine (Active Layer (%span) set to 0). The layer
selected for visualization is defined in percentage of span, going from hub (0%) to shroud (100%).
Enter <0> <Enter> or <100> <Enter> in order to visualize the mesh at hub or shroud respectively.
Select Generate B2B to regenerate the blade-to-blade mesh on the new specified layer in the blade-
to-blade view.
A detailed analysis of the mesh quality can be performed on a blade-to-blade mesh after generation.
Information on orthogonality, aspect ratio and expansion ratio can be outlined in this window by
clicking
:
l Select a row in the Row list <Enter>.
l Select quality criteria using the Type pull-down menu.
l Left- click Show chart to visualize the distribution of the selected criteria in the form of a
histogram. The histogram is drawn for each row.
l Left- click part of the histogram to plot the concerned cells in blade- to- blade view or select
Display all cells to have an overview of the mesh quality.
l Left- click the More info button to obtain information regarding the minimum and maximum
values of the selected criteria.
l Close the quality checkbox.
After performing the blade-to-blade mesh quality, the 3D mesh generation can be started by clicking
Row Definition -> Select All Rows and then clicking the Generate 3D button.
Once 3D grid generation is completed, a grid quality check is performed and displayed. Minimum
cell skewness, maximum expansion ratio and aspect ratio are reported, among others. Data is available
for the entire mesh and separately for each entity (row, technological effect, bulb). Data related to
grid quality report is automatically stored in a report file, once the project file is saved.
Note that the quality criteria might be slightly different depending on the position of the different z-
constant lines of the mesh
61. Close the dialog box after checking the grid quality. The page can be reopened by clicking
.
10.5.7 3D Mesh Visualization
62. Left-click Row Definition -> row 1 in the QAP to activate the current row, if not done
already.
63. Right- click row 1 and select Properties to activate Default in order to plot the full
turbomachine.
64. Close the dialog box.
65. Select Toggle 3D Solid View in the View menu to access the shaded blades in 3D view.
66. Right-click in the 3D view to get the contextual menu and select Full View.
67. Go to View in the QAP to toggle edge or mesh.
68. Right-click in the 3D view and activate MultiView.
69. Left-click the configuration view to retrieve the original QAP.
10.5.8 Check Boundary Conditions & Mesh Quality
70. Check for boundary conditions by clicking
.
71. Select UND from the Type pull-down menu and press <Enter> to check that there are no
patches in the patch list that are still set to an undefined type.
It is important to ensure that no undefined patches (UND) are present in the mesh. If this is not the
case, they can usually be removed by increasing the tolerance and launching the Search procedure.
72. Close the dialog box.
73. Left-click anywhere in the 3D view to activate the view (red border), if not done already.
74. Check for negative cells by clicking
.
75. Click Apply.
The computation of the negative volumes is performed first. Negative cells can be outlined in the
mesh by pressing View neg cells button. Beware that the visualization of negative cells can be
memory consuming when a large number of cells must be displayed. It is thus advised to first check
the number of negative cells by pressing the Apply button. It is mandatory to remove all negative
cells before the calculation can be started
76. Click ok and Close the dialog box.
77. Left-click in the 3D view to activate the view (red border), if not done already.
78. Check for grid quality by clicking
.
A detailed analysis of the mesh quality on a 3D mesh can only be performed once the 3D mesh has
been generated. Information on orthogonality, angular deviation, aspect ratio, expansion ratio and cell
width can be outlined in this window using the Type pull-down menu.
79. Select block number (0 for all) - <Enter>.
80. Select quality criteria using the Type pull-down menu.
81. Left-click Show chart to visualize the distribution of selected criteria in the form of a
histogram. The histogram is drawn per block (0 = all blocks).
82. Left-click part of the histogram to plot the concerned cells in the 3D view.
83. Left-click the More info button to obtain information regarding the minimum and maximum
values of the selected criteria and block.
84. Close the dialog box.
10.5.9 Save Project
85. Go to File -> Save Project As <Tutorial10> <Enter> to save mesh and template files in the
directory _mesh.
The mesh files (7 files) contain the multiblock mesh topology, geometry and grid points and the
boundary
and
(".xmt_ txt"),
".qualityReport". The meaning of these files is detailed in the User Guide.
condition
".config"
".geom"
".cgns",
".igg",
".bcs",
types:
The template files (4 files) contain the parameters and the geometry needed to reproduce the mesh
with AutoGrid5™: ".geomTurbo" (".geomTurbo.xmt_txt"), ".trb" and ".info". The meaning of these
files is detailed in the User Guide.
Now that the mesh is saved, click here to set up the computation in the FINE™/Turbo interface!
10.6 TUTORIAL 10: FLOW SETTINGS
The mesh generation process is now completed and one can now go back to FINE™ graphical
user interface in order to set the various flow settings required before starting the calculation.
Access to the main menu and controls is proposed through a menu bar and a left-tree, and is
completed with an icon bar.
Access to the FINE™ graphical user interface from the AutoGrid5™ window is provided
through the Modules/Fine Turbo menu and confirm (yes) to enter FINE™ GUI. You're now
back at the FINE™ graphical user interface!
A step by step approach is provided in the following lines. It aims at driving you through the
various steps that need to be executed starting from linking the mesh to the project till the
execution of the calculation.
10.6.1
Link Mesh & Project
86. Click the icon
project.
and link the mesh "Tutorial10.igg" located in "_mesh" folder of the
The user may be prompted a warning message concerning the solver precision; accept this message.
The change of the solver precision is detailed in step 135.
87. Define
the
"Tutorial10.geomTurbo" file is expressed in centimeters.
in Centimeters
units
grid
as
geometrical data
inserted
in
the
88. Select a Cylindrical and 3 Dimensions configuration.
89. Click OK to close the dialog box.
90. Go to File/Preferences...
91. Under Project Units tab, select angle and change the units to degree [deg]. Close the dialog
box.
This step will be useful for the boundary condition definition where we will define the angles in
degree.
For the initialization of a fluid/structure interactions (FSI) computation, it is recommended to start
from a converged steady computation. It will allow to start the FSI computation from already stable
initial conditions.
10.6.2 Steady computation
A. Manage Computations
92. Rename the default computation "computation_1" as "111_Std" in the Computations area, to
indicate that the calculation will be executed on a coarser grid level (grid level 111) and will be a
steady computation. This can be achieved by left-clicking the Rename button and replacing
“computation_1” by <111_Std> <Enter>.
Similar operations can be executed using the New Computation or Remove buttons, to respectively
create a new computation or remove one.
B. Set Flow Configuration
93. Go to the tree in the left menu and double left-click on the Configuration menu.
Three sub-menus related to the definition of the working fluid, main flow characteristics and rotating
machinery definition can then be accessed.
94. Double left-click on Fluid Model to access the fluid database.
95. Select AIR(Perfect) as a working fluid.
The fluid database includes a number of pre-defined fluids, covering various approximations in fluid
definition such as perfect gas, ideal (real) gas, incompressible fluids and fluids defined as a set of
thermodynamic tables (optional, subjected to a separate license key).
A default fluid database is provided by FINE™/Turbo. The user is also able to create and modify his/
her own fluids and/or use fluids created by others. More details about these functions are available in
the FINE™ User Guide.
96. Double left-click on Flow Model to set the flow characteristics.
97. Select Steady to indicate that a steady solution is of interest.
98. Select Turbulent Navier-Stokes to activate the resolution of the RANS equations.
99. Select Spalart-Allmaras as the turbulence model of choice.
A number of turbulence models can be accessed through the interface. They require the additional
resolution of 0-equation to 4-equations, depending upon the model selected. Some of these models do
need a fine resolution near the wall (y+ ranging from 1 to 5), while others use the log-law concept
and can mimic the logarithmic law. More details can be found in the FINE™ User Guide.
100. Set Reynolds Number Related Info:
l Set the Characteristic length = <0.09> < Enter>,
l Set the Characteristic velocity = <429> < Enter>,
l Set the Characteristic density = <1.2> < Enter>.
Characteristic variables (length, velocity, density) are required to estimate the Reynolds number. This
number is used at a few locations inside the flow solver, in particular inside the damping functions
related to the modeling of turbulence down to the walls.
The impact of the characteristic variables on the flow solution is very limited, but it is advised to
select values in accordance with characteristic quantities of the geometrical domain and flow
conditions. As an example, the characteristic length may be defined by a reference diameter or length
at inlet and/or outlet of the computational domain, and/or the chord of the blade (if any). The
characteristic velocity may be set to the averaged inlet velocity. The characteristic density is fixed as
the average (molecular) fluid density.
101. Double left-click on Rotating Machinery to set the rotating machinery definition.
102. Check that the Rotational Speed = <-16043> [RPM].
In the cylindrical mode, the flow solver resolves the equations by default in a relative frame of
reference. As a consequence, the mesh attached to the blade is rotating at the same speed as the blade,
interaction is present. The rotation speed has been introduced in
as long as no rotor- stator
AutoGrid5™ and transferred through FINE™, limiting user interventions in the graphical user
interface.
For rotating machinery projects, the axis of rotation must be aligned along the z-direction.
The page related to Rotor-Stator is not required in the frame of this tutorial. Please consult Tutorial
2 for more information regarding the treatment of rotor-stator interfaces.
C. Set Boundary Conditions
103. Go to the tree in the left menu and double left-click on the Boundary Conditions menu.
During the grid generation process, AutoGrid5™ defines the type of the boundary conditions to be
applied on each block face. The most common types are INLET, OUTLET, PERIODIC and SOLID
boundary conditions.
PERIODIC boundary conditions are set automatically by the flow solver and must not be modified by
the user.
It is important to confirm each entry by pressing the <Enter> key.
104. Go to Mesh -> View On/Off to load the mesh into the FINE™ GUI.
This toggle menu is used to visualize the grid in FINE™. The parameters area will be overlapped by a
graphics window, and the small control button on the upper-left corner of the graphics window can
be used to resize the graphics area in order to visualize the parameters and the mesh simultaneously.
The selection of patches in the left column outlines the corresponding patch in the graphics area, thus
enabling a fast and easy visualization of the boundary conditions.
105. Go to the INLET tab:
l Select Total Quantities Imposed,
l Select Angle from Axial Direction (Vz extrapolated) type of boundary conditions,
l Set arct(Vt / Vz) from Constant Value to fct(space),
l Left-click the
icon to access the boundary conditions profile editor,
l Left-click Import in the profile editor and select the profile data "Inlet_flow_direction.p"
stored in "/_profiles/",
1D Boundary condition profiles can be set as a function of the radius (r), but also as a function of the
Cartesian coordinates (x, y, z) or circumferential direction.
The profile editor also enables the introduction of 2D (surface) data. In that case, the Surface data
check button should be activated in the profile editor.
l Click OK to close the profile editor,
l Set arct(Vr / Vz) = <0> <Enter>,
l Set Absolute Total Pressure from Constant Value to fct(space),
l Click the
icon to access the boundary conditions profile editor,
l Left-click Import in the profile editor and select the profile data "Inlet_Ptot.p" stored in "/_
profiles/",
l Click OK to close the profile editor,
l Set Absolute Total Temperature from Constant Value to fct(space),
l Click the
icon to access the boundary conditions profile editor,
l Left-click the Import button in the profile editor and select the profile data "Inlet_Ttot.p"
stored in "/_profiles/",
l Choose Turbulent Viscosity as the Turbulent Quantities and set Turbulence Viscosity to
<0.0001> <Enter>.
106. Go to the OUTLET tab:
l Select Pressure Imposed,
l Activate Radial Equilibrium,
l Set Static Pressure = <121833.2> <Enter>,
l Set Radius = <0.1961> <Enter>,
l Keep Radial Direction to J.
A constant static pressure of 121,833.2 Pa is fixed at the exit boundary of the computational domain,
at radius r = 0.1961 m. Based on this data, the flow solver calculates the distribution of static pressure
at
the exit, along the spanwise (J) direction, according to the radial equilibrium equation. This
boundary condition should be restricted to axial machines.
107. Go to the SOLID tab:
For each row, patches including the keyword "hub" are by default collected in a unique group named
as "rotor_ hub". Patches including the keyword "shroud" are grouped in "rotor_ shroud". Finally,
patches of the blade are grouped in "rotor_blade". If the part of the row is rotating, the suffix "_
(r.p.m. rot_speed)" is added to the group name. The presences of a tip gap is automatically taken into
account in the blade group, thus minimizing user intervention in the definition of the boundary
conditions. For a rotor, which is defined in AutoGrid5™, it is assumed that the hub and the blade are
fully rotating. The rotation speed takes the value introduced during the mesh generation process. The
shroud is assumed to be a fixed entity, with no assigned rotation speed.
l Left-click group "rotor_hub_(r.p.m.-16043)",
The rotation speed is usually considered as a constant for the entire patch (group). However, FINE™
integrates the possibility to define that only part of a patch is rotating (e.g. part of the hub). This
applies to ROTOR 67 project, where only part of the hub is considered as a rotating part.
l Keep Adiabatic,
l Select Area Defined Rotation Speed,
A schematic sketch is provided in the page. It enables the definition of some geometrical windows on
the selected patch (or group). The window is defined according to 4 quantities related to the abscissa
(z) and radius (r) in the meridional plane. Solid walls included in the window will be considered as
rotating, with rotation speed 2, while portions of solid walls located outside of the window will rotate
with a speed equal to the rotation speed 1. In this manner, it is feasible to define rotating parts
independently for the mesh.
l Set Rotational Speed 1 = <0> <Enter>,
l Set Rotational Speed 2 = <-16043> <Enter>,
l Set Lower Radius Limit = <0> <Enter>,
l Set Higher Radius Limit = <1> <Enter>,
l Set Lower Axial Limit = <-0.01374> <Enter>,
l Set Higher Axial Limit = <0.09365> <Enter>.
The convergence of both axial thrust and torque can be monitored in the computation steering to
make sure that both quantities have reached stable values at the end of the convergence process. Both
values are also available from the *.mf file located in the computation directory. The torque can also
be used for the calculation of the efficiency of the machine. It is common practice to enable force and
torque calculation on rotating patches only.
D. Set Numerical Model
108. Go to the tree in the left menu and double left-click on the Numerical Model menu.
109. Switch to Expert Mode.
By clicking on the arrow at the right the user may select the user mode. For most projects the
available parameters in Standard Mode are sufficient. When selecting Expert Mode, parameters
area included additional parameters. These expert parameters may be useful in some more complex
projects.
This menu gives access to the most frequently used numerical parameters, including the Courant
Friedrichs Lewy (CFL) number and the selection of the grid level on which the simulation will apply.
It is important to confirm each entry by pressing the <Enter> key.
110. Keep CFL unchanged to 3.
The CFL number drives the pseudo-time step selected to reach a steady state solution using the time-
marching method integrated in the flow solver. In combination with the 4- step Runge- Kutta
integration scheme included in the flow solver, it has a theoretical stability limit close to 2.8.
However, the additional implicit smoothing scheme can increase this value slightly, which justifies the
default value of 3.
The default value for CFL number is adequate in most cases, but can be decreased in some
circumstances, in particular at off-design conditions.
111. Define the grid level on which the simulation will apply:
time integration technique, which is accelerated using
The flow solver is based on an explicit
dedicated multi- grid methods. To this end, several levels of intermediate grids must be generated
starting from the finest one. This is achieved by taking one node over 2 in each I, J or K directions,
starting from the finer grid level.
It is strongly advised to enable the definition of at least 3 grid levels, by carefully selecting the
number of nodes on every edge forming the patches and blocks. More details can be found in the
IGG™, AutoGrid5™ and FINE™ User Guides.
In FINE™ terminology,
the finest grid level a user can access will be called 000 while the
intermediate and coarsest ones will be named 111 and 222 level respectively, assuming 3 grid levels
can be selected.
Hybrid grid levels can theoretically be defined (e.g. 010 or 211). It is however not advised to use such
hybrid levels since it deforms the mesh in a preferential direction, possibly the aspect ratio.
Consequently, the quality of the resulting mesh could be decreased.
l Set Current Grid Level = <1 1 1> <Enter>,
l Keep Number of Grid(s) = 2,
l Keep Coarse Grid Initialization active.
In addition to the multi-grid acceleration technique, the number of iterations to convergence can be
significantly reduced by activating the Coarse Grid Initialization process. In that case,
the
simulation starts on the coarsest grid level available, leading to fast convergence. Once done, the flow
solver automatically interpolates the current flow solution on the intermediate levels before the
iterative process is reached. The iterative process is then continued as long as the convergence
criterion is not reached or until the maximum number of iterations is not exceeded. More details can
be found in the FINE™ User Guide.
112. Define the Full MultiGrid Parameters:
l Set Maximum number of cycles per grid level = <400> <Enter>,
l Set Convergence criteria on each grid level = <-4> <Enter>.
E. Set Initial Conditions
113. Go to the tree in the left menu and double left-click on the Initial Solution menu.
114. Left-click the ROWS group.
The group is automatically created when the mesh is loaded into the FINE™ GUI. In complex
project, hybrid initial solutions can be useful. In that case, a constant initial solution per block can be
selected for some groups, with others can benefit from an initial solution from Turbomachinery.
Limitations related to the use of hybrid initial solutions are described in the FINE™ User Guide.
115. Select for turbomachinery to access the initial solution menu for turbomachinery.
Initial conditions can be selected in different forms, going from constant values per block to
throughflow based solutions. When running a rotating machinery it is common practice to select the
initial solution for Turbomachinery. Based on a 1D estimation of the flow solution, the initial solution
for Turbomachinery often offers a drastic reduction in the number of iterations when running 3D
simulations. Inputs ("best estimation") related to static pressure at inlet and rotor-stator interfaces (if
it applies) are requested.
116. Select the inlet patch ("row_1_flux_Blade_upStream_inlet").
117. Set Estimated Static Pressure = <81060> and press <Enter>.
118. Choose Turbulent Viscosity as the Turbulent Quantities and set Turbulence Viscosity to
<0.0001> <Enter>.
F. Select Outputs
119. Go to the tree in the left menu and double left-click on the Outputs menu. Double left-click
Computed Variables.
Quantities of interest in the simulation must be pre-selected in this menu. They will be stored in the
solution file (*.cgns) once the iterative process is finished and/or during intermediate steps. Quantities
can be accessed in both the 3D field ( Computed Variables ) and/or in the meridional plane
(following circumferential averaging, see Azimuthal Averaged Variables). Additional data can be
selected on the solid walls and/or predefined surfaces (Surface Averaged Variables).
The adequate selection of outputs of interest will reduce the size of the solution file. This is in
particular important when projects involving very fine meshes and/or unsteady capabilities are
managed.
120. Select and add (Add -->) Static, Total Absolute and Total Relative Temperature if not
yet selected.
121. Select and add (Add -->) Static, Total Absolute and Total Relative Pressure if not yet
selected.
122. Select and add (Add -->) Density, Entropy, Rothalpy and Dynamic viscosity if not yet
selected.
123. Left-click the Velocities in the menu Categories.
124. Select and add (Add -->) Vxyz and Absolute Mach number if not yet selected.
125. Select and add (Add -->) Wxyz and Relative Mach number if not yet selected.
Vxyz and Wxyz are the velocity vectors fields in respectively the absolute and relative frame of
reference. The examination of solution quantities in the relative frame of reference is particularly
useful to observe the flow angles relative to the blade close to leading and trailing edge.
126. Left-click the Solid data in the menu Categories.
127. Select and add (Add -->) Static pressure, Static temperature, Cf, Relative velocity and
y+ (in first inner cell) if not yet selected.
Cf is known as the friction coefficient.
The parietal coordinate y+ is a direct function of the distance from the wall. Therefore, y+ = 0 at the
wall and takes a non- zero value at the center of the first cell close to the wall (also called "inner
cell"). As a consequence, the examination of y+ "at the wall" should be understood as the examination
"in the first inner cell". Although it is not correct theoretically speaking, this concept is very often
used to ease the post-treatment and benefit from the existing solid surfaces.
128. Left-click the Turbulence in the menu Categories.
129. Select and add (Add -->) Wall distance and Turbulent Viscosity ratio if not yet selected.
The analysis of the Turbulent Viscosity ratio field is often of major interest to ensure that the
turbulent quantities are computed accurately, according to the selected turbulence model and mesh
refinement.
G. Control Computation Steering
130. Go to the tree in the left menu and double left-click on the Computation Steering menu.
131. Double left-click Control Variables.
132. Set Maximum Number Of Iterations = <1000> <Enter>.
133. Set Save Solution Every = <100> <Enter>.
134. Set Convergence Criteria = <-8> <Enter>; change the solver precision from Single to
Double.
Depending upon the quality of the initial solution, the density of the mesh (number of nodes) and the
complexity of the underlying flow field, a few hundred to few thousand iterations are typically
required to reach convergence. The iterative process is stopped once the convergence criterion is
reached over the entire domain or the maximum number of iterations is exceeded on the finest grid
level (000).
The ability to select Minimum output offers the possibility to minimize the size of the solution files.
In this case, the flow solution is stored only once the iterative process is finished, and limited
information is provided during the intermediate storage. This limited information allows the user to
perform a restart procedure from an existing flow solution, but cannot be visualized within
CFView™.
Static memory allocation is enabled inside the flow solver. An estimation of the memory required to
in some
run and save the flow solution is calculated and provided as a default. However,
circumstances, the estimation may be too low. It is then required to manually increase the number of
reals or integers necessary to drive the solution to success. To do this, click Set the requested memory
and increase the inputs accordingly.
H. Save Project & Start Calculation
135. Open the File menu and Save the project.
The project parameters are stored in the *.iec file. This file includes the entire set of parameters
required to reproduce the project, excluding the mesh.
136. Press the
task manager window will appear.
icon and click Start Flow Solver in the dialog box to start the calculation: a
The calculation will start in serial mode (1 processor) on the local machine. FINE™ includes multi-
processor capabilities and the ability to manage computations through a task manager and/or in batch
mode. More details can be found in the FINE™ User Guide.
I.
Follow Convergence Steering
137. Double left-click Convergence History.
The evolution of averaged residuals on the entire domain can be observed during the convergence
process. Similarly, the evolution of the mass flow balance (in/out) and/or global quantities (isentropic
efficiency, torque and axial thrust on solid walls selected in the boundary conditions page, pressure
ration) can be displayed.
Local and global quantities may also be added for follow- up during the convergence process.
However, their representation in the graphical area will only be effective once they are added in the
Selected Variables list, see FINE™ User Guide.
The examination of residuals per block and/or for a given primitive variable can be achieved
accessing the monitorTurbo tool. The tool is included in the FINE™ package and can be accessed
through the adequate command line. More details can be found in the FINE™ User Guide.
138. Once the calculation has converged or has reached the maximum number of iterations
allowed on the finest grid level, the flow solver will stop.
139. The final solution is stored in the solution file (*.cgns) and the task manager window is
closed.
To check the convergence of the computation, NUMECA recommends observing the evolution of
multiple criteria including (a) an adequate decrease in residuals (minimum 3 orders of magnitude);
(b) complete stabilization of global performances; (c) stabilization of mass flow in/ out, with
satisfactory correspondence (usually less than 0.5% difference between in/ out)
10.6.3 Flutter computation
A. Manage Computations
140. Click on the computation <111_Std> and then click on New Computation.
141. Rename the new computation by left-clicking the Rename button and replacing "new_111_
Std" by < 111_ NLH_ Flutter> < Enter> to indicate that this will be a harmonic computation
modeling the fluid/structure interactions, more specifically the Flutter phenomena.
When clicking on New Computation, the active computation "111_ Std" is copied and the new
computation "new_111_Std" has the same project parameters as the previous selected computation
"111_Std".
B. Set Flow Configuration
142. Go to the tree in the left menu and double left-click on the Configuration menu.
143. Double left-click on Flow Model to set the flow characteristics.
144. Select Harmonic to indicate that a Non-Linear Harmonic solution is of interest. Keep the
default configuration Basic.
145. Set the Number of frequencies per perturbation to <1> <Enter>.
146. Set the Max number of perturbations per blade row to <1> <Enter>.
The Harmonic method, introduced by He and Ning (1998), can be considered as a hybrid method
conjugating the advantages of classical steady state and full unsteady calculations: it provides an
approximate unsteady solution at affordable calculation costs.
The main idea is that the flow perturbations that make the flow unsteady are written about a time-
averaged value of the flow and are Fourier decomposed in time. Casting the unsteady Navier-Stokes
system into the frequency domain, transport equations are obtained for each time frequency. The user
controls the accuracy of the unsteady solution through the order of the Fourier series.
FINE™/Turbo provides several NLH methods:
l Basic : The basic harmonic method is a rank- 1 method, which considers only the perturbation
from the adjacent relative rotating rows of the reference row.
l Clocking: The clocking harmonic method is a simplified rank- 2 method, which considers the
the reference row and also simulates the
perturbation from the adjacent rotating rows of
rotor/rotor and stator/stator interaction in a multi-row turbomachine.
l Multi-rank: The multi-rank harmonic method is a generalized harmonic method, which considers
not only the perturbation from the adjacent successive N rows of the reference row, but also the
interaction of harmonics between the adjacent successive N rows.
When activating Harmonic in the Flow Model page and select the button Basic, two boxes appear:
l Number of frequencies per perturbation :
perturbation modeled in a row. Default value: 3.
the number of time harmonics per periodic
l Max number of perturbations per blade row :
the highest number of blade passing
frequencies to which a blade row is subjected. Default value: 2.
147. Keep all other data unchanged as it was defined for computation "111_Std".
C. Set Fluid/Structure Model
148. Go to the tree in the left-menu and double left-click on the Optional Models menu.
149. Double left-click Fluid Structure to set the fluid/structure interactions.
150. Activate Mechanical Coupling in the Mechanical tab.
151. Keep the default setting for Global Parameters: Elastic deformation – Modal.
For modal coupling simulations, external structural analysis software should be used first to compute
the modal shapes and the eigen frequencies of the structure. With the computed modal shapes and the
eigen frequencies, the FINE™/Turbo flow solver will consider the interaction between the flow and
the structure and compute the deformation of the structure by solving the modal equations.
152. Select "row1_blade_(r.p.m.-16043)" in Solid Patches & Groups.
153. Go to Mesh -> View On/Off to load the mesh into the FINE™ GUI in order to make sure
you selected the right group patch.
154. Activate Coupled for the selected group "row1_blade_(r.p.m.-16043)".
The user can select the patches/groups that belong to the same structure. One structure can consist of
multiple patches/groups. To select multiple patches/groups, keep the key <Ctrl> pressed and left-click
on the patches/groups
The FINE™/Turbo solver can model multiple structures. The user has to specify a Structure ID for
each structure.
155. Click the
icon next to Modal to access the modal parameters.
156. Keep the value of the Structure ID to 1. It is the same value as the one displayed when you
activated Coupled for the group patch "row1_blade_(r.p.m.-16043)".
157. Keep the default Structure Name: "struct_row1_blade_(r.p.m.-16043)".
The Structure Name is by default the name of the group patch with the prefix "struct_”.
158. For the Structure File, click on the icon
reduced.dat" stored in the "_structure" directory.
and locate the file "Rotor_ 67_ modes_
The Structure File includes the modal properties and the initial deformation (optional). The modal
properties (eigen frequencies and mode shapes) are needed by the flow solver in order to compute the
elastic deformation of the structure. These properties can be computed by a CSM (Computational
Solid Mechanics) code or measured experimentally. As the modal resolution is a linear method, an
initial deformation can be specified. This is useful to take into account non-linear effects independent
of the fluid load, such as the centrifugal load effect.
The Structure File must be written in ASCII format. First, this file includes the number of
dimensions of the structure, the number of modes, the number of structure nodes at which the modes
are defined and a flag to specify if an initial deformation is specified. Then, the eigen frequencies are
listed in increasing order. The frequencies have to be written in [Hz]. Finally, the initial deformation
and the mode shape information are written node by node. For each node one line contains the three
the parameter Initial
(or
deformation is set to 1) and the components of each mode sorted in increasing frequency order. The
coordinates and the mode shapes have to be written in the SI unit system and in the Cartesian system.
For mode shape the conversion factor is the inverse of the square root of the mass conversion factor.
two for 2D computation) coordinates,
the initial deformation (if
The mode shape must be normalized with the mass for a generalized mass equal to 1. After all modes
are normalized, the mass matrix [M] becomes the unit matrix and the stiffness matrix [K] is a
diagonal matrix where the elements are the square of the mode frequency, see Theory Guide for
more details.
159. Set the Number of Modes to <10> <Enter>.
The Number of Modes used in the computation must be specified. The number of used modes must
be less or equal to the number of modes defined in the structure file.
160. Keep Mode to 1 and click on Preview to visualize the mode shapes on the graphic window.
161. Activate the option Display only 1 point in: <10> <Enter> for better visualization. You can
observe that the first mode is a bending mode.
The graphic window must be opened (go to Mesh / View On/Off) before clicking on Preview to
visualize the mode shapes.
The user also has the possibility to modify the size of the arrows by modifying the Scaling Factor
parameter.
162. Set the Mode to <3> <Enter> and look in the graphic window the visualization of the mode
shapes. You can observe that the third mode is a torsion mode.
163. After visualization, set the Mode back to <1> <Enter>.
164. Set the Generalized Displacement to fct(frequency).
In case of harmonic computations, a frequency domain definition of the generalized displacements
can be specified.
The generalized displacements are linked to the physical deformation according to the following
equation:
where:
is the displacement of the structure;
is the generalized displacement;
are the natural mode shapes.
165. Set the Frequency = < 567.955 > < Enter > [Hz], which corresponds to the first eigen
frequency. You can find the values of each eigen frequency at the top of the structure file "Rotor_
67_modes_reduced.dat".
This Frequency defines the frequency of the vibration of the selected mode.
166. Set the IBPA = <0> <Enter> [deg].
IBPA stands for Inter Blade Phase Angle. The IBPA represents the motion phase shift between
adjacent blades in the same row.
When combining the harmonic method and the modal method, FINE™/Turbo is able to perform
flutter analysis with only one channel meshed whatever IBPA is considered.
167. Set the Mean = <0> <Enter>.
This Mean value defines the time-averaged value of the profile of the generalized displacements.
168. For the Generalized Displacement, for the first and only harmonic, set the Real part to <0>
and the Imaginary part to <5.1431e-05>.
169. In order to visualize the generalized displacement in time, click on Update Graph.
170. Close the dialog box by clicking on OK.
171. Activate the Expert Mode, if not done already.
172. For the Mesh Deformation, activate the method Radial Basis Functions --> Transfinite
Interpolation.
Transfinite Interpolation (TFI) is a very fast method reducing the computational time for mesh
deformation. For this method, a displacement of the topology is needed.
Radial Basis Functions (RBF) provide the initial solution for TFI. The displacements of the
boundary nodes at the corners serve as a reference for the interpolation of the interior mesh block
nodes.
For more information about mesh deformation techniques, see FINE™ User Guide.
D. Set Initial Conditions
173. Go to the tree in the left menu and double left-click on the Initial Solution menu.
174. Left-click the ROWS group.
175. Select from file and click on the icon
to select "Tutorial10_111_Std.run".
and locate the first steady computation directory
176. Activate the option Reset convergence history.
When activating the option Reset convergence history, the ".res" file, which contains all the
residuals from the previous computation, will be erased. The new residuals will be calculated with
respect to the first iteration of the new computation. If the from file solution is already very close to
the exact solution, the normalized residuals will decrease slowly, because the starting state is already a
good approximation of the solution.
E. Select Outputs
177. Go to the tree in the left menu and double left-click on the Outputs menu.
178. Double left-click Computed Variables.
179. Left-click the Deformation in the menu categories.
180. Select and add (Add --> ) Dx , Dy , Dz , Harmonic Dx (Amplitude), Harmonic Dy
(Amplitude) and Harmonic Dz (Amplitude) if not yet selected.
F. Control Computation Steering
181. Go to the tree in the left menu and double left-click on the Computation Steering menu.
182. Double left-click Control Variables.
183. Set Maximum Number Of Iterations = <1500> <Enter>.
184. Set Save Solution Every = <500> <Enter>.
185. Set Convergence Criteria = <-8> <Enter>.
186. Keep Number Of Steady Iterations = 0.
As the initial solution in this case is already a steady solution, there is no need to set additional steady
iterations.
Depending upon the quality of the initial solution, the density of the mesh (number of nodes) and the
complexity of the underlying flow field, from few hundreds to few thousand iterations are typically
required to reach convergence. The iterative process is stopped once the convergence criterion is
reached over the entire domain or the maximum number of iterations is executed on the current grid
level (111 in the present case).
Ability to select for Minimum output gives the possibility to minimize the size of the solution files.
In that case, the flow solution is stored only once the iterative process is finished, and limited
information is proposed during the intermediate storage. This limited information allows to perform a
restart procedure from an existing flow solution, but cannot be visualized within CFView™.
187. Modify the Memory Requirements by activating the option Set the static requested
memory:
l Set the required number of reals to <500> Mb and press <Enter>,
l Set the required number of ints to <10> Mb and press <Enter>.
By default, an estimation for the required memory is given. Depending on the parameters defining the
computation, additional memory may be needed. To allocate more memory for the computation,
activate the option Set the static requested memory. This will allow to define the amount of
memory in Mb used for reals and integers.
188. Activate Expert Mode (if not done already) in the toolbar to access the list of expert
parameters:
l Left-click MVGAP in the Integer parameters list,
l Set Value to <1> <Enter>,
Set MVGAP = 1 allows a free movement of the nodes along the hub or the shroud that copies the
blade displacement. It usually avoids having negative cells in the tip gap when the mesh is deformed.
See more details in FINE™ User Guide.
189. Double left-click Convergence History.
190. In the Available Variables , select global residual harmonics and click on Add for
Selection.
191. In the Available Variables, select the aerodynamic power and click on Add for Selection.
192. Set the GroupName = <row 1_blade_(r.p.m. -16043)> and press <Enter>.
The aerodynamic power is defined by
, where
is the velocity of the wall
deformation.
G. Save Project & Start Calculation
193. Go to File menu and Save project.
The project parameters are stored in the *.iec file. This file includes the entire set of parameters
required to reproduce the project, excluding the mesh.
194. Press the icon
appearing.
and Start Flow Solver to start the calculation: a task manager window is
The calculation will start in serial mode (1 processor) on the local machine. FINE™ includes multi-
processor capabilities and the ability to manage computations through a task manager and/or in batch
mode. More details can be found in the FINE™ User Guide.
H. Follow Convergence Steering
195. Go to the tree in the left menu and double left-click on Convergence History.
196. Once the calculation is converged or reaches the maximum number of iterations allowed on
the current grid level, the flow solver stops.
197. Check the converged value of the aerodynamic power.
The sign of the aerodynamic power is important for flutter analysis. If the aerodynamic power is
negative,
is a stable situation. If the
aerodynamic power is positive, the fluid gives energy to the structure and amplifies the structure
motion which leads to flutter phenomena.
the fluid damps the structure motion,
this means that
it
198. The final solution is then stored in the solution file (*.cgns) and the task manager window is
closed.
To check the convergence of the computation, NUMECA recommends to observe the evolution of
multiple criteria including (a) an adequate decrease in residuals (minimum 3 orders of magnitude);
(b) complete stabilization of global performances; (c) stabilization of mass flow in/out, with
satisfactory correspondence (usually less than 0.5% difference between in/out).
Now that the iterative process is over, click here to start the visualization of the solution within the
post-treatment tool CFView™ integrated in FINE™/Turbo.
10.7 TUTORIAL 10: POST PROCESSING
The iterative process is now over and the flow solution is stored in the ".cgns" file. The number of
nodes in a typical mesh usually ranges from few hundred thousands to several million, which
makes visualization delicate in most cases. As part of the FINE™ environment, NUMECA
proposes the home- made visualization and post- treatment tool CFView™ for that purpose.
CFView™ is entirely integrated in the environment and includes numerous tools which are
particularly best suited for the analysis of turbomachinery configurations.
A step by step approach is proposed in the following lines. It aims at driving you through the
various steps that need to be executed from reading the solution to the extraction of the main
results. CFView™ automatically opens the file ".run" file associated with the active computation.
First, the time-mean results will be post-processed. The amplitude of deformation and the static
pressure field will be displayed on the solid surfaces. The harmonic quantities (first harmonic of
pressure and first harmonic of entropy) will also be visualized in blade-to-blade cutting planes.
Then, the flow will be reconstructed in time in order to visualize the evolution of the amplitude of
deformation on the solid surfaces over time.
10.7.1 Post Processing Of Time-Mean Results
The harmonic method solves the time-averaged flow equations and the harmonic equations. All the
exported time- averaged quantities and harmonic quantities can be directly post- processed in
CFView™.
199. Access CFView™ from FINE™/Turbo GUI, pressing the icon
.
200. Deactivate View the azimuthal averaged solution.
201. Left-click on Start CFView.
You now enter 3D analysis mode in CFView™!
A. View Amplitude Of Deformation On Solid Surfaces
202. Go to Geometry menu.
203. Select Boundary to deactivate boundary representation.
Boundary activation/deactivation is used as a toggle and acts on all selected surfaces. Fast access is
ensured using the binding key <b>.
204. Double left-click on the checkboxes:"rotor_shroud" inside the Quick Access Pad/Surfaces
area to deactivate the set of patches that define the entity shroud. Groups "rotor_blade_(r.p.m.-
16053)" and "rotor_hub_(r.p.m.-16053)", are the only entities that remain active at this moment.
Selection of surfaces for representation is controlled through the Surfaces area. Alternatively,
identical operations can be retrieved from the menu Geometry.
Patches flagged as solids are selected as default surfaces for representation. Groups created in the
boundary condition area inside FINE™/Turbo GUI are transferred directly to CFView™, so that the
selection of surface entities can be performed in a few clicks.
Fast selection of a group of surfaces in a large list including numerous surfaces, which are partly
checked/unchecked, can be done by first left-clicking (combined with <Ctrl> or <Shift> for multiple
surfaces) on the target surface(s) desired for representation, then right- click to get the contextual
menu and choose Select.
205. Go to Geometry menu.
206. Select Boundary again to activate boundary representation on active surfaces.
207. Select Quantity -> Field Data -> Vector Components -> Dxyz -> Magnitude of D.
208. Select Representation -> Color Contour -> Strip.
209. Select Representation -> Scalar Range -> Colormap Optimum Range.
Colormap Optimum Range restricts the bounds of the colormap to those related to active surfaces
instead of the complete 3D domain. This capability is often useful to outline, in a clearer manner, a
number of details. It can also be accessed by pressing the icon
.
210. Make use of the Viewing buttons to modify the representation mode.
B. View Static Pressure On Solid Surfaces
211. Select Update -> Delete -> All to delete all color contour.
212. Select Quantity -> Field Data -> Basic Quantity -> Static Pressure.
213. Select Representation -> Color Contour -> Smooth.
214. Select Representation -> Scalar Range -> Colormap Optimum Range.
C. View Harmonic Quantity On Blade-to-Blade Surface
215. Select Update -> Delete -> All to delete all color contour.
216. Select Geometry -> Boundary to deactivate boundary representation.
217. Select Geometry -> Blade to Blade Surface to create a blade to blade surface.
218. Keep the default settings and click on the button Save. This will create a blade-to-blade
surface at 50% span.
219. Click on the button Close to close the dialog box.
CFView™ integrates the possibility to create cuts at constant spanwise position (also called "blade-to-
blade" planes). This capability is especially useful when the endwalls are not planar. The surface for
representation at constant spanwise position is then created based on linear interpolation between the
endwalls.
Pressing Save button in the dialog box creates an additional surface for representation in the
Surfaces area, enabling quantity selection and representation as discussed in the previous sections.
220. Select the surface "CUT1" in the Quick Access Pad/Surfaces area, right-click on it and
select the menu Select. The created surface "CUT1" will be selected only.
221. Double left-click on the quantity Harmonic Pressure Amplitude - 1 Harmonic in the
Quick Access Pad/Quantities to select it.
222. Select Representation -> Color Contour -> Strip.
223. Select Representation -> Scalar Range -> Colormap Optimum Range.
224. Make use of the Viewing buttons to modify the representation mode.
225. Select Update -> Delete -> All to delete all color contour.
226. Select Geometry -> Boundary to deactivate boundary representation.
227. Double left-click on the "CUT1" checkbox inside the Quick Access Pad/Surfaces area to
deactivate the set of patches that define the cutting plane.
228. Select Geometry -> Create IJK Surface… to create a structured surface.
229. In Domains, select the domains from 1 to 7.
230. Select the J direction and set the Value to <27> <Enter>.
231. Click on the button Save to create the structured internal surface.
232. Click on the button Close to close the dialog box.
233. Double left-click on the quantity Harmonic Entropy Amplitude – 1 Harmonic in the
Quick Access Pad/Quantities to select it.
234. Select Representation -> Color Contour -> Smooth.
235. Select Representation -> Scalar Range -> Colormap Optimum Range.
236. Make use of the Viewing buttons to modify the representation mode.
237. Select File -> Close Project to close the opened project
10.7.2 Reconstruction In Time
The "harmo2time" tool, integrated in CFView™, allows to reconstruct the unsteady flow by using the
time- averaged solutions and harmonic solutions. More details can be found in CFView™ User
Guide.
238. Select File -> Open Project Selection to open the harmonic computation.
239. Locate and select the computation file "Tutorial10_111_NLH_Flutter.run".
240. In the partial
Reconstruct the flow in time.
loader dialog box, keep the default settings and click on the option
241. Select all groups in the frame Group information and set Number of repeated blade
channels to <2> <Enter>.
242. Keep all other settings and click on the Apply button.
243. Save the reconstructed solution with the default name "Tutorial10_ 111_ NLH_ Flutter_
unst.run".
After reconstruction, all unsteady steps will be loaded into CFView™ by default.
10.7.3 Post Processing Of Unsteady Results
244. Select Geometry -> Boundary to deactivate boundary representation.
245. Unselect “rotor_shroud” in the QAP/Surfaces.
246. Select Geometry -> Boundary to activate the boundary representation.
247. Select Render -> Shading -> Gouraud.
248. Right-click on the surface "rotor_blade_(r.p.m.-16043)" in the QAP/Surfaces and select the
menu Select. The surface "rotor_blade_(r.p.m.-16043)" will be selected only.
249. Select Quantity -> Field Data -> Vector Components -> Dxyz -> Magnitude of D to
compute the amplitude of the deformation field.
250. Select Representation -> Color Contour -> Smooth.
251. Select Quantity -> Time Label to show the current time in the view.
252. Make use of the Viewing buttons to modify the representation mode.
253. Click the button Animate (
all time steps.
) to view the contour of the magnitude of the deformation at
254. Select File -> Quit CFView to quit CFView™.
© NUMECA International, all rights reserved
EN201808281641

CONTENTS
NOMENCLATURE
CHAPTER 1. EULER AND NAVIER-STOKES EQUATIONS
1.1 Euler Equations
1.2 Navier-Stokes Equations
1.2.1 General Navier-Stokes Equations
1.2.2
1.2.3
1.2.4
1.2.5
Time Averaging of Navier-Stokes Equations
Treatment of Turbulence in the RANS Equations
Formulation in Rotating Frame for the Relative Velocity
Formulation in Rotating Frame for the Absolute Velocity
CHAPTER 2. FLUID MODELS
2.1 Calorically Perfect Gas
2.2 Real Gas
2.3
2.4 Condensable Fluid
Incompressible Fluid
CHAPTER 3. TURBULENCE MODELS
3.1 Linear Eddy Viscosity Turbulence Models
3.1.1
3.1.2
3.1.3
3.1.4
3.1.5
3.1.6
Baldwin-Lomax Model
Spalart-Allmaras Model
SARC Model
k-ε Turbulence Models
k-ω Turbulence Models
v²-f Model
3.2 Nonlinear Eddy Viscosity Turbulence Models
3.3 Detached Eddy Simulations
3.4 Laminar-Transition Model
3.4.1 Global Correlation Transition Model
A. Transition Models
B.
C. Modification of the turbulence models
Intermittency Distribution
3.4.2 Generalized Transition Model
A. Transport equation for intermittency
B. Transport equation for the transition momentum thickness Reynolds Number
C. Empirical correlation for the transition onset momentum thickness Reynolds Number
D. Variant models
E. Coupling with the SST turbulence model
F. Coupling with the EARSM turbulence model
3.5 Modeling Flow near the Wall
3.5.1 Velocity
3.5.2
3.5.3
Temperature
Turbulence
FINE™/Turbo and FINE™/Design3D 13.1 Theory Guide
10
10
12
13
15
16
19
21
23
25
30
30
32
34
35
38
41
42
49
49
49
50
53
54
57
57
60
62
63
64
65
66
66
3.6 References
CHAPTER 4. BOUNDARY CONDITIONS
4.1
Inlet Boundary Conditions
4.1.1
Cylindrical Inlet Boundary Conditions
A. Static Quantities Imposed (Subsonic)
B. Total Quantities Imposed (Subsonic)
C. Mass Flow Imposed (Subsonic)
D. Total Enthalpy & Dryness Fraction Imposed (Subsonic - Condensable Gas)
E. Total Pressure & Dryness Fraction Imposed (Subsonic - Condensable Gas)
F. Total Pressure & Total Enthalpy Imposed (Subsonic - Condensable Gas)
G. Distributions of the flow variables for the nonlinear harmonic method
H. Total Quantities Imposed (Supersonic)
Static Quantities Imposed (Supersonic)
Cartesian Inlet Boundary Conditions
A. Static Quantities Imposed with Extrapolation of the Static Pressure (Subsonic)
B. Total Quantities Imposed (Subsonic)
C. Mass flow, Direction of Absolute Velocity Vector and Static Temperature Imposed (Subsonic)
D.
Turbulent Inlet Boundary Conditions
Imposing the Complete Flow Conditions (Supersonic)
4.1.2
4.1.3
4.1.4
4.2 Outlet Boundary Conditions
4.2.1 Outlet Boundary Conditions for Subsonic Flow
A. Pressure Imposed
B. Mass Flow Imposed
C. Averaged Mach Number
D. Characteristic Imposed
4.2.2 Outlet Boundary Conditions for Supersonic Flow
Treatment of Backflow at Outlet (Radial Diffuser)
4.2.3
4.3 Solid Wall Boundary Conditions
4.3.1
Euler Walls
4.3.2 Navier-Stokes Walls
A. Adiabatic Walls
B. Adiabatic Walls with Acoustic Impedance
C.
D. Wall with Imposed Heat Flux
E. Wall with Imposed Heat Transfer Coefficient
F. Rothalpy Preserving Walls
G. Turbulent wall Boundary Conditions
Isothermal Walls
4.4 Far-field Boundary Conditions
4.5 Unsteady Inlet and Outlet Boundary Conditions
4.6 Non Reflecting Inlet and Outlet Boundary Conditions
4.7 References
CHAPTER 5. NUMERICAL SCHEMES
5.1 Discretization and Solution Theory
5.1.1
Spatial Discretization
FINE™/Turbo and FINE™/Design3D 13.1 Theory Guide
72
76
76
76
76
80
81
81
82
83
83
84
84
84
84
85
86
86
89
89
89
90
92
93
94
94
95
95
97
97
98
99
99
99
100
101
102
106
107
113
NOMENCLATURE
acceleration vector
speed of sound; progress variable
specific heat at constant pressure
specific heat at constant volume
internal energy per unit mass
total energy per unit mass
external force vector
vector (column matrix) of inviscid flux
vector (column matrix) of inviscid flux
vector (column matrix) of viscous flux
gravity acceleration
enthalpy per unit mass
total enthalpy
rothalpy per unit mass
turbulent kinetic energy
mass flow rate
molecular weight; Mach number
pressure
pitch
Prandtl number
turbulent Prandtl number
heat flux
flux of variables; limiter
gas constant per unit mass
cp
cv
Pr
Prt
r, θ, z
cylindrical coordinates
Re
universal gas constant
Reynolds number
entropy per unit mass
surface
vector (column matrix) of source term
surface vector
time
temperature
dimensionless temperature
turbulence intensity
vector (column matrix) of conservative variables
velocity vector with component u, v, w
ST
T+
Tu
(u,v,w)
specific volume; vector (column matrix) of primitive variables
relative velocity vector
x,y,z
x, y, z cartesian coordinates
y+
dimensionless normal distance from the wall
mass fraction of the species
specific heat ratio
turbulent dissipation rate; emissivity
coefficient of thermal conductivity; absorption coefficient
coefficient of dynamic viscosity
coefficient of turbulent viscosity
density
stress tensor
kinematic viscosity
turbulent kinematic viscosity
scalar dissipation rate
angular velocity; specific dissipation rate; weighting function, chemical source term, scattering
albedo
volume
CHAPTER 1.
EULER AND NAVIER-STOKES EQUATIONS
The flow solver integrated into the FINE™/Turbo user environment is a finite volume solver for 2D
and 3D flows in complex geometries, using the latest numerical developments in CFD. A structured
mesh is required and complex geometries can be easily handled through a flexible multiblock meshing
procedure.
This chapter describes the basic governing equations solved in the FINE™/Turbo solver:
In this section
1.1 Euler Equations
1.2 Navier-Stokes Equations
10
1.1
EULER EQUATIONS
The general Euler equations written in a Cartesian frame can be expressed as:
where Ω is the volume and S is the surface. U is the vector of the conservative variables:
is the inviscid flux vectors:
where the total energy is defined by:
contains the source terms:
with
,
and
are the component of external forces
.
the work performed by
those external forces:
Other source terms are possible, like gravity, depending on the selected functionalities.
1.2
NAVIER-STOKES EQUATIONS
1.2.1
General Navier-Stokes Equations
The general Navier-Stokes equations written in a Cartesian frame can be expressed as:
,
where Ω is the volume and S is the surface, U is the vector of the conservative variables:
and
are respectively the inviscid and viscous flux vectors:
and
where the total energy and the heat flux components are defined by:
κ is the laminar thermal conductivity.
contains the source terms:
with
,
and
are the component of external forces
.
is the work performed by
those external forces:
Other source terms are possible, like gravity, depending on the selected functionalities.
To close the Navier-Stokes equations, it is necessary to specify the constitutive laws and the
definition of the shear stress tensor in function of the other flow variables. Here only Newtonian
fluids are considered for which the shear stress tensor is given by:
where μ is the dynamic molecular viscosity.
More information about the constitutive laws and properties of the fluids can be referred to " Fluid
Models" (p. 18).
1.2.2
Time Averaging of Navier-Stokes Equations
In principle, the Navier-Stokes equations describe both laminar and turbulent flows. However,
turbulence is a nonlinear process with a wide range of spatial and temporal scales. The direct
simulation of complex turbulent flows in most engineering applications is not possible and will
not be for the foreseeable future.
In the context of scale modeling, the most direct approach is offered by the partitioning of the
flow field into a mean and fluctuating part. This process will produce the Reynolds Averaged
Navier-Stokes (RANS) equations.
The Reynolds averaged equations are derived by averaging the viscous conservation laws over a
time interval T, large enough with respect to the time scales of the turbulent fluctuations, but small
enough with respect to all other time-dependent effects. Time averaging is performed as follows.
The quantity A in the Navier-Stokes equations is time averaged related to the instantaneous value
through:
where
is the time averaged value and
is the fluctuating part. Furthermore, we have:
The corresponding density weighted average is defined through:
with
and
Density and pressure are time averaged, whereas energy, velocity components and temperature
are density weighted time averaged.
The averaged form of the Navier-Stokes equations is the same as the general Navier-Stokes
equations, with:
where the density averaged total energy is given by:
k is the turbulent kinetic energy and is defined by:
1.2.3
Treatment of Turbulence in the RANS Equations
The Reynolds-averaged Navier-Stokes equations lead to the introduction of the Reynolds stress
tensor and turbulent heat diffusion term. Since these quantities are unknown, the application of the
Navier-Stokes equations to the computation of turbulent flows requires the introduction of some
modelizations of these unknown relations, based on theoretical considerations coupled to
unavoidable empirical information.
For the linear eddy viscosity turbulence models, a first- order closure model, based on
Boussinesq's assumption, is used for the Reynolds stress:
where
is the turbulent eddy viscosity.
For the turbulent heat diffusion term, a gradient approximation is used:
is the turbulent thermal conductivity and is connected to the turbulent eddy-viscosity
where
through a turbulent Prandtl number
:
Finally, the resulting system of governing equations with the assumptions above is the same as
general Navier-Stokes equations, with:
where the Reynolds stress and the heat flux components are given by:
and
and
need to be solved by the turbulence models. More information about the turbulence
models can be referred to "Turbulence Models" (p. 28).
In contrast to the laminar case, both the static pressure and the total energy contain contributions
from the turbulent kinetic energy k and are defined as:
1.2.4
Formulation in Rotating Frame for the Relative
Velocity
In many applications, such as turbomachinery problems, it is necessary to describe the flow
behavior in the relative system and solve the governing equations for the relative velocity
components.
The Reynolds averaged Navier-Stokes equations for the relative velocities in the rotating frame of
reference become:
where
is the
component of the relative velocity
. The source term vector
contains
contributions of Coriolis and centrifugal forces and is given by:
with ω is the angular velocity of the relative frame of reference.
The stress and the heat flux components are given by:
and
The static pressure and the total energy are defined as:
1.2.5
Formulation in Rotating Frame for the Absolute
Velocity
Although the governing equations for rotating systems are usually formulated in the relative
system and solved for the relative velocity components, the formulation retained for ship propeller
applications, ventilators or wind turbine are often expressed in the relative frame of reference for
the absolute velocity components. This formulation is different from the one generally used to
solve internal turbomachinery problems, where the equations are solved for the relative velocity.
The two formulations should lead to the same flow solution. However, experience shows that the
solution can be different, especially in the far field region. For propeller problems, the formulation
based on relative velocities has the disadvantage that the far field relative velocity can reach high
values. This induces an excess of artificial dissipation leading to a non-physical rotational flow in
the far field region, this dissipation being based on the computed variables.
The Reynolds averaged Navier-Stokes equations for the absolute velocities in the rotating frame
of reference become:
where the velocity
is the xi
component of the absolute velocity . This formulation involves thus both the absolute and the
is the xi component of the relative velocity
and the velocity
relative velocity components.
The source term vector
is given by:
with ω is the angular velocity of the relative frame of reference. Other source terms are possible,
like gravity, depending on the chosen functionalities.
The stress and the heat flux components are given by:
and
The static pressure and the total energy are defined as:
CHAPTER 2.
FLUID MODELS
In this chapter, details are provided about the different fluid types available in FINE™/Turbo:
In this section
2.1 Calorically Perfect Gas
2.2 Real Gas
2.3 Incompressible Fluid
2.4 Condensable Fluid
19
21
23
25
2.1
CALORICALLY PERFECT GAS
Equation of State
The perfect gas law is used as constitutive equation:
with r the gas constant for the perfect gas under consideration:
with R the universal gas constant and M the molecular weight of the perfect gas.
γ is the specific heat ratio,
constant volume with:
the specific heat at constant pressure, and
the specific heat at
When the gas temperature is so low that the vibrational and electronic modes are frozen, the
internal energy of the gas will be proportional to the temperature. The specific heats as well as γ
are then constant. The gas is called "calorically perfect". This is the usual assumption of moderate
speed aerodynamics.
The relation between r and
is given by
The values of γ and
variables through the following relation:
are user input. The static pressure is obtained from the conservative
Transport Properties
The Laminar Viscosity
The laminar kinematic viscosity can be
l constant,
l given in terms of a polynomial function of the temperature,
l given by a profile for a certain temperature range,
l varying according to Sutherland's law.
The dynamic viscosity is then computed within the code by multiplying the kinematic viscosity by
the reference density.
The Sutherland law is given by:
For
For
is the dynamic viscosity specified in the Fluid Model page or which is
The viscosity
obtained from the kinematic viscosity and the density both specified in the Fluid Model page.
are the reference temperature and the Sutherland temperature respectively, also
and
specified in the Fluid Model page.
The Heat Conductivity
The laminar heat conductivity can be
l constant,
l given in terms of a polynomial function of the temperature,
l given by a profile for a certain temperature range,
l specified through the Prandtl number.
In case the Prandtl number Pr is specified, the laminar thermal conductivity is obtained as:
The turbulent viscosity is calculated iteratively using one of the turbulence models discussed in
Turbulence Models chapter. The turbulent conductivity is obtained from the turbulent viscosity
and a turbulent Prandtl number whose value can be controlled through the expert parameter PRT
(default: 1.0):
2.2
REAL GAS
Equation of State
For real gases or more precisely thermally perfect gases, cp and γ depend on the temperature T.
The corresponding values can be entered either through a polynomial approximation or through a
profile.
The thermally perfect gas model is based on two equations:
l the perfect gas relation, still valid:
l the enthalpy equation:
where T0 is a reference temperature. In practice T0 is set equal to the minimum temperature of the
temperature range specified in the Fluid Model page.
These two equations lead to:
In the case of a real gas with varying specific heats one can notice that it is not possible to respect
the 2 above equations with a constant value of r, unless the difference (cp-cv) does not vary with
temperature.
Two solutions are proposed in the FINE™/Turbo solver in order to model real gases:
l Constant r model. The user specifies the gas constant r (R). Then cp(T) or γ(T) is provided and
respectively γ is calculated as
or cp is calculated as
l Perfect gas with compressibility factor. It is used when the user specifies cp(T) and γ(T) to
define the specific heat law. The equation of state is modified to include a compressibility
factor Z:
where T0 corresponds to the new TMIN when from the two ranges, [TMING,TMAXG] for γ
taken: TMIN=MIN
(T) and [TMINC,TMAXC]
(TMING,TMINC) and TMAX=MAX(TMAXG,TMAXC). Then the range is expanded by
(TMAX-TMIN)/2 on the lower and upper side. This results in respectively a lowered TMIN
and a higher TMAX, and a two times wider range. cp(T) and γ(T) are constant (zero order
extrapolation) outside their respective ranges.
for c p (T),
the smaller
range is
In such case, in the compressibility factor, the variable "ZrT" computed from user data (cp(T) and γ
(T)) is directly used in the equation of state to define the pressure from the density.
Transport Properties
The theory of the real gas transport properties is the same as that of the perfect gas. The details
can be seen in Transport Properties section.
2.3
INCOMPRESSIBLE FLUID
Liquid
Equation of State
The density is user input:
This implies a decoupling of the mass and momentum conservation equations from the energy
conservation equation, since no term in the mass and momentum equations depends on the
temperature.
Transport Properties
The theory of the liquid transport properties is the same as that of the perfect gas. The details can
be seen in Transport Properties section.
Barotropic Liquid
Equation of State
The density is a user defined function of the pressure:
The corresponding values can be entered either through a polynomial approximation or through a
profile.
The particularity of the barotropic liquid formulation is that although the density is not constant, a
incompressible
decoupling of the energy equation is still adopted, exactly as in the full
formulation.
Modification of the treatment of the energy equation
A modification of the treatment of the energy is required in order to account for the density
variations. The temperature equation for any type of fluid can be written as:
where εv is the viscous dissipation term and V is the specific volume (inverse of density). Since
for a barotropic fluid there is a unique relation between the pressure and the density the first term
on the right hand side of the above equation vanishes and the temperature for a barotropic fluid
becomes:
In addition, since from classical thermodynamics it is known that
the specific heat at constant volume depends only on the temperature
. Note that for
an incompressible fluid the specific heats at constant pressure and at constant volume are equal (
).
The modification of the formulation of the energy for a barotropic fluid can be derived from the
above relations. For a barotropic fluid:
The barotropic relation can be integrated from a reference state to finally obtain:
Compared to an incompressible formulation the energy depends on both pressure and
temperature.
Transport Properties
The theory of the barotropic liquid transport properties is the same as that of the perfect gas. The
details can be seen in Transport Properties section.
2.4
CONDENSABLE FLUID
Introduction
The aim of the condensable fluid module is modeling the real thermodynamic properties of the
fluid by means of interpolation of the variables from dedicated tables.
The module can be used for a single-phase fluid whose properties are too complex to be treated
with a perfect or real gas model. It can also be used in order to treat thermodynamic conditions
that are close to the saturation line. Note that the model can be used on the liquid or on the vapour
side of the saturation curve. In case the thermodynamic state lies inside the two-phase region a
homogeneous equilibrium two-phase mixture of vapour and liquid is considered. The hypothesis
of an equilibrium mixture is however not valid if the dryness (wetness) fraction exceeds 20%. The
module can not be used above these fractions, as it completely ignores evaporation-condensation
phenomena.
For a real fluid the equation of state may be a complicated and usually implicit expression,
generating unacceptable computational overhead if the corresponding equations are explicitly
introduced in the solver. Similarly when an equilibrium mixture of vapour and droplets (wet steam
for instance) is considered as a single fluid, the calculation from the saturation properties of
thermodynamic variables must be done iteratively.
The approach that has been adopted in the FINE™/Turbo solver consists of using a series of
thermodynamic tables, one table being required each time a thermodynamic variable must be
deduced from two other ones. This implies the creation of many tables as input, but presents the
advantage that no iterative inversion of the tables is done in the solver, with as a consequence a
very small additional CPU time. This additional time corresponds to the one that is needed by the
bilinear (or bicubic) interpolation procedures through the tables. In order to optimize the efficiency
of these interpolations, the input tables are always built on basis of a Cartesian mesh in the plane
of the input variables (V1,V2) (N1 and N2 values for the variables V1 and V2 respectively).
Thermodynamic Tables
Tables are generated based on TabGen, which are based on various sets of well-known equations
as described below:
l Vander Waals equation.
l Benedict Webb Rubin equation
l Starling modified Benedict Webb Rubin equation (usually used for hydrocarbons),
l 32 terms modified Benedict-Webb-Rubin equation
l Equation of state derived from the Helmoltz free energy equation (as for water tables that are
based on the release 1997 IAPWS)
Single tables are generally used, which means that the tables cover both single-phase and two-
phase regions. A bilinear interpolation approach is well adapted to these tables, providing an
adequate smoothing of the saturation region. Bicubic interpolation techniques have also been
implemented and tested. They provide a higher accuracy for a given number of data points but
tend to create spurious oscillations in the saturation region. These oscillations can be weakened by
using more points.
Five categories of tables are used by the solver:
1. Basic tables: p(e,ρ) and T(e,ρ) or ρ(h,p) and T(h,p)
For non- preconditioned equations, the numerical scheme is based on a formulation of the
equations on basis of the energy and the density. The basic tables are used in order to update the
pressure and the temperature after each update of the formulation variables. For preconditioned
equations, the basic variables are enthalpy and pressure, they are used in order to update the
density and temperature.
2. Entropy tables: p(h,s), ρ(h,s), s(h,p), h(s,p)
The entropy tables are used at the inlet/outlet boundary conditions, and are required in order to
calculate the total (static) thermodynamic conditions from the static (total) ones.
3. The (p,T) tables: e(p,T) and ρr(p,T)
These tables are required in order to allow the use of the inlet boundary conditions based on total
pressure and temperature. They are also required by the turbomachinery initial solution procedure.
4. The viscosity and conductivity tables: μ(e,ρ) and κ(e,ρ)
The viscosity and conductivity can also be interpolated from tables. If these tables are not present
the other laws available within the user interface can be used.
5. The saturation table
This table contains the liquid and vapour values of all thermodynamic variables along the
saturation line. It is only required if the user activates the dryness fraction output and/or if the inlet
boundary condition based on total enthalpy and dryness fraction is selected.
Integration of Thermodynamic Tables in the Solver
Provided that all the input tables are present, the full functionality of the basic solver is accessible.
All boundary conditions are available, as well as the initial solution procedures. The numerical
schemes are not different, making use of the same acceleration techniques (multigrid, local time
stepping, residual smoothing) providing robust and fast convergence to steady state.
The evaluation of the advective, viscous and artificial dissipation fluxes involves the pressure in
the momentum and energy equations and the temperature in the energy equation. For a perfect gas
both are easily deduced from the equation of state, the conversion being so rapid that only the
pressure and the density are stored and the other variables recalculated from these whenever they
are needed. In the condensable fluid module the density, the pressure, the temperature and the
energy are stored in order to limit the number of interpolations. Only one interpolation is made in
order to deduce the new values of pressure and temperature after the update of the density and the
energy.
The speed of sound is also required. It enters the numerical solution process through the spectral
radius in the time step and in the residual smoothing and artificial dissipation coefficients. It can
either be interpolated from a table or computed from the partial derivatives of the p(e,ρ) table:
The Baldwin-Lomax, Spalart-Allmaras and
conductivity calculation is based on the usual relation:
turbulence models can be used. The turbulent
The specific heat at constant pressure can either be constant (the value being provided in the user
interface) or deduced from the specific table.
CHAPTER 3.
TURBULENCE MODELS
This chapter provides details of the different turbulence models, laminar-transition model and the wall
functions available in FINE™/Turbo:
l Linear Eddy Viscosity Turbulence models:
l Algebraic model:
Baldwin-Lomax
l 1-equation model:
Spalart-Allmaras
Spalart-Allmaras (Extended Wall Function)
SARC
l 2-equation models:
k-ε (Standard wall function)
k-ε (Extended wall function)
k-ε (Low Re Chien)
k-ε (Low Re Yang-Shih)
k-ε (Low Re Launder-Sharma)
k-ω (Wilcox)
Shear Stress Transport (SST)
SST (Extended wall function)
l 4-equation model:
v²-f (code friendly)
l Nonlinear Eddy Viscosity Turbulence models:
l 2-equation models:
EARSM
EARSM (Extended wall function)
l Detached Eddy Simulations (DES)
l Laminar-Transition Model
l Modeling Flow near the Wall
3.1
LINEAR EDDY VISCOSITY TURBULENCE
MODELS
3.1.1
Baldwin-Lomax Model
The Baldwin-Lomax algebraic turbulence model, Baldwin & Lomax (1978), is a two layer model
where the turbulent viscosity in the inner layer is determined by using the Prandtl mixing length
model, and the turbulent viscosity in the outer layer is determined from the mean flow and a
length scale. The strain-rate parameter in the Prandtl mixing length model is taken to be the
magnitude of the vorticity.
The influence on the mean flow equations through the turbulent kinetic energy is neglected.
The turbulent viscosity is given by
where n is the normal distance to the wall, and nc is the smallest value of n at which the inner and
outer viscosity is equal.
The inner viscosity is
where
and
where
velocity
is the subscript for wall quantities,
from the wall.
at a distance
The outer viscosity is
is the Kronecker symbol and
is the friction
where
is the smaller of
The term
is the value of n corresponding to the maximum value of
,
, where
and
The constants used are hard coded and equal to:
The turbulent Prandtl number, needed to calculate the turbulent conductivity, is accessible through
the expert parameter PRT .
3.1.2
Spalart-Allmaras Model
The Spalart- Allmaras turbulence model is a one equation turbulence model which can be
considered as a bridge between the algebraic model of Baldwin-Lomax and the two equation
models. The Spalart-Allmaras model has become quite popular in the last years because of its
robustness and its ability to treat complex flows. The main advantage of the Spalart-Allmaras
model when compared to the one of Baldwin-Lomax is that the turbulent eddy viscosity field is
always continuous. Its advantage over the k-ε model is mainly its robustness and the lower
additional CPU and memory usage.
The principle of this turbulence model is based on the resolution of an additional transport
equation for the eddy viscosity. The equation contains an advective, a diffusive and a source term
and is implemented in a non conservative manner. The implementation is based on the papers of
Spalart and Allmaras (1992) with the improvements described in Ashford and Powell (1996) in
order to avoid negative values for the production term (
).
The turbulent viscosity is given by
where
is the turbulent working variable and
a function defined by
with χ is the ratio between the working variable
and the molecular viscosity ν,
The turbulent working variable obeys the transport equation
where
is the velocity vector, ST the source term and σ,
constants.
The source term,
includes a production term,
and a destruction term,
:
where
The production term P is constructed with the following functions:
;
where d is the distance to the closest wall and S the magnitude of vorticity.
In the destruction term D, the function
is
with
The constants arising in the model are
3.1.3
SARC Model
The SARC model results from modifications brought to the Spalart-Allmaras (S-A) model, which
have been introduced by Spalart and Shur (1997) and Shur et al. (2000), in order to take into
account rotation and curvature effects.
The only difference of the SARC model with the original Spalart-Allmaras model is that the
production term in the Spalart-Allmaras eddy viscosity transport equation is multiplied by the
following function:
where cr1, cr2, and cr3 are model constants.
and
The variables
are derived from the strain rate and the vorticity tensors:
,
where the strain rate and the vorticity tensors are defined as
and the remaining variables derived from those two tensors:
and
and D²=0.5(S²+
)
In general, the modification will improve cases where rotation and curvature effects are important.
In the current implementation, the temporal derivative (unsteady term) of the strain tensor is
disregarded.
3.1.4
k-ε Turbulence Models
General Formulation
In the k-ϵ turbulence model two additional transport equations for the turbulent kinetic energy, k,
and the turbulent dissipation rate, ϵ, are solved. In the FINE™/Turbo solver, 4 linear models are
currently used.
In the following, the trace of the tensor X will be written {X}
These two additional equations can be put in the following general form:
where
is the mean strain tensor and the turbulent Reynolds stress tensor.
The variable
is the modified dissipation rate
and the turbulent viscosity
is given by the following relation
Linear Models
In the linear models, the turbulent Reynolds stress tensor is related to the mean strain tensor in a
linear way.
The implemented linear models are:
l Chien, low Reynolds number k-ε model (Chien, 1982).
l Extended wall functions (Hakimi, 1997) = Standard high Reynolds (Launder & Spalding,
1974) if the expert parameter INEWKE is set to 0.
l Launder-Sharma, low Reynolds number k-ε model (Launder & Sharma, 1974).
l Yang-Shih, low Reynolds number k-ε model (Yang & Shih, 1993).
The constants or functions Cμ, Cε1, Cε2, σk, σε, fμ,f1, f2, D, E and T are model dependent and are
defined in the TABLE 3.1 where
and
TABLE 3.1 Coefficients of the k-ε models
k-ε
Model
Chien
Standard high-
Re
Launder &
Sharma
Yang & Shih
Cμ
Cε1
Cε2
σk
σε
0.09
1.35
1.80
1.0
1.3
0.09
1.44
1.92
1.0
1.3
0.09
1.44
1.92
1.0
1.3
0.09
1.44
1.92
1.0
1.3
k-ε
Model
Chien
Standard high-
Re
Launder &
Sharma
Yang & Shih
fμ
f1
f2
kw
εw
1.0
κ/ϵ
0.
0.
1.0
1.0
1.0
κ/ϵ
0.
0.
1.0
/DNS
/DNS
0.
0.
Rey
1.5 10-4
5 10-7
10-10
0.5
1.0
1.0
0.
0.
The constants Cμ, Cε1, Cε2, σk, σε can however be changed by the user (respectively the expert
parameters CMU, CE1, CE2, SIGK, SIGE) in the Computation Steering/Control variables
page. The turbulent Prandtl number, needed to calculate the turbulent conductivity, is also an
expert parameter (PRT).
Two variants of the high Reynolds k-ε with wall functions exist:
l If the expert parameter INEWKE=10 (default), the wall functions are derived from DNS (Direct
Numerical Simulation) curve fitting. The k-ε model is in that case derived from the Yang-Shih
model. This new model, named extended wall functions, allows to obtain accurate results on fine
mesh contrary to the standard high Reynolds k-ε model.
l if the expert parameter INEWKE=0, standard wall functions are applied and the y+ value of the
near wall cell should be greater than 20.
3.1.5
k-ω Turbulence Models
Wilcox k-ω Model
The k-ω turbulence model is a widely tested two-equation eddy viscosity model with integration
to wall. This model was originated at about the same time and was developed in parallel with the
k-ϵ model as an alternative to define the eddy viscosity function. In the k-ω turbulence model two
additional transport equations for the turbulent kinetic energy, k, and the specific dissipation rate,
ω, are solved.
The Wilcox k-ω model has been proven to be superior in numerical stability to the k-ϵ model
primarily in the viscous sublayer near the wall. This model does not require explicit wall-damping
functions as the k-ϵ model and other two-equation models due to the large values of ω in the wall
regions. The numerical wall boundary conditions require the specification of the distance from the
wall to the first point off the wall. In the logarithmic region, the model gives good agreement with
experimental results for mild adverse pressure gradient flows.
In this model, the turbulent kinematic viscosity is defined as a function of the turbulent kinetic
energy, k, and the specific dissipation rate of the turbulent frequency, ω, as follows:
The two transport model equations for the k and ω scalar turbulence scales are defined below.
where
is the production rate of turbulence. The model constants are defined as:
,
,
,
,
Shear-Stress Transport (SST) Model
The worst shortcoming of the Wilcox k-ω turbulent model is that its results are extremely sensitive
to the small free stream value of ω in free-shear layer and adverse-pressure-gradient boundary
layer flows. In order to solve this problem, a blended model has been proposed by Menter (1994)
that allows to use Wilcox k-ω model near solid walls and the standard k-ϵ model, in a k-ω
formulation, near boundary layer edges and in free-shear layers, as called BSL k-ω model. The
BSL k-ω model uses the definition of the turbulence viscosity derived from the original k-ω
model.
In order to blend the k-ω and the k-ϵ model, the latter is transformed into a k-ω formulation. The
differences between this formulation and the original k-ω model are that an additional cross-
diffusion term appears in the ω-equation and that the modeling constants are different. The
and the transformed k-ϵ model by the
original k-ω model is then multiplied by a function
function
function
and the corresponding equations of each model are added together. The
is designed to be a value of one in the half inner part of the boundary layer (where
the model behaves like the original model) and decreases to vanish far from the wall.
The Shear-Stress Transport model (SST) is identical to the BSL k-ω model except that the values
of the model constants and the definition of the turbulence viscosity. The SST model modifies the
turbulence viscosity function to improve the prediction of separated flows and to avoid invariably
overestimated Reynolds stresses with the k-ω and k-ϵ models in adverse pressure gradients. This
modification is done on the basis of a Townsend-Lighthill design for the specification of turbulent
eddy viscosity. Two-equation models generally under-predict the retardation and separation of the
boundary layer due to adverse pressure gradients. This is a serious deficiency, leading to an
underestimation of the effects of viscous- inviscid interaction which generally results in too
optimistic performance estimates for aerodynamic bodies. The reason of this deficiency is that
two-equation models do not account for the important effects of transport of the turbulent stresses.
The Johnson-King model (1985) has demonstrated that significantly improved results can be
obtained with algebraic models by modeling the transport of the shear stress as being proportional
to that of the turbulent kinetic energy. A similar effect is achieved in the present model by a
in boundary
modification in the formulation of the eddy viscosity using a blending function
layer flows.
The turbulent kinematic viscosity is defined as the following function of the turbulent kinetic
energy, k, and specific dissipation rate of turbulent frequency, ω:
where
In turbulent boundary layers, the maximum value of the eddy viscosity is limited by forcing the
. The auxiliary
turbulent shear stress to be bounded by the turbulent kinetic energy times
function,
, is defined as a function of wall distance d as:
The two transport equations of the model are defined below with a blend function
for the
model coefficients of the original ω and ϵ model equations.
where
is the production rate of turbulence. The last term on the right hand side of the equation
above is a cross diffusion term that only active outside of the boundary layer.
The constant
. The variables γ, β,
,
denoted with the generic symbol ϕ are
defined by blending the coefficients of the original k-ω model, denoted as
, with those of the
transformed k-ϵ model, denoted as
:
with the coefficients of the original models defined as:
l Inner model constants
l Outer model constants
,
,
,
,
,
,
The auxiliary blending function
, designed to blend the model coefficients of the original k-ω
model in boundary layer zones with the transformed k-ϵ model in free-shear layer and free-stream
zones, is defined as:
with
3.1.6
v²-f Model
Though they produces relatively good results for a number of flow aspects, the Low-Reynolds k-
ε turbulence models use damping functions that correct the improper asymptotic behavior of the
eddy-viscosity formulation close to solid walls. Insofar as the objective of this damping effect is to
represent the kinematic blocking by the wall, Durbin (1991) suggests to use the turbulent stress
normal to streamlines instead of the turbulent kinetic energy in the definition of the turbulent
viscosity. Therefore, he introduces a new v²-f turbulence model that does not require any damping
function: v² represents the turbulent stress normal to streamlines and f is a redistribution function.
The present code-friendly variant of v²-f turbulence model derived from the one described in Lien
and Kalitzin (2001). It is based on the high-Reynolds k-ε model with two additional equations for
the turbulent stress normal to streamlines and the redistribution function:
The eddy viscosity is computed as
where the turbulent time (T) and length (L) scales are defined by:
The terms that include the strain-rate magnitude (S ) are linked to the realizability constraint
introduce by Durbin (1995) in order to overcome a too high production close to stagnation points.
The turbulent time and length scales are also bounded by the Kolgomorov scales.
The parameter used in this model and available through expert parameter in the Control
Variables page under Expert Mode are: C μ = 0.22, σ k = 1, σ ε = 1.3, C ε1 =
, Cε2 = 1.9, C1 = 1.4, C2 = 0.3, CL = 0.23, Cη = 70.
3.2
NONLINEAR EDDY VISCOSITY
TURBULENCE MODELS
EARSM Model
Explicit Algebraic RSM (EARSM) can be considered as a subset of nonlinear constitutive
relations in which a part of the higher-order description of physical processes on the RSM-level is
transferred into the two-equation modeling level. As a result, EARSM is much less demanding
than RSM from the computational standpoint and, at the same time, is capable of reproducing
some important features of turbulence (e.g. its anisotropy in the normal stresses), which are
beyond the capabilities of linear eddy viscosity turbulence models.
In FINE™/Turbo, two EARSM models are applied.
Model proposed by Menter
The fisrt EARSM model implemented is the simplified baseline explicit algebraic Reynolds stress
model proposed by Menter et al. (2009).
In the EARSM model, the Reynolds-stress tensor is expressed using an effective eddy-viscosity
formulation including a corrective extra-anisotropy tensor
:
where the effective turbulence eddy viscosity is defined as:
and the extra anisotropy tensor terms are defined as:
All the terms and coefficient of the effective turbulence eddy viscosity and the extra anisotropy
tensor terms are defined in the following equations as:
The turbulence time scale,
, is
The k and ω equations write:
where the production term is
The clipping coefficient can be controlled by the expert parameter PRCLIP when the expert
parameter IMINUT is larger than 0.
The turbulent kinematic viscosity is:
The variable
and the constant
defined as:
. The variables β,
,
denoted with the generic symbol ϕ are
with the coefficients:
l Inner model constants
l Outer model constants
,
,
,
,
The auxiliary blending function
, designed to blend the model coefficients of the original k-ω
model in boundary layer zones with the transformed k-ϵ model in free-shear layer and free-stream
zones, is defined as:
with
Model proposed by Hellsten
Another EARSM model implemented is the model proposed by Hellsten (2005), which is based
on the modified BSL k-ω model.
In the EARSM model, the Reynolds-stress tensor is expressed using an effective eddy-viscosity
formulation including a corrective extra-anisotropy tensor
:
where the effective turbulence eddy viscosity is defined as:
and the extra anisotropy tensor terms are defined as:
with:
In the terms
,
and
are the mean strain tensor and the mean rotation tensor
normalized by the turbulent timescale, respectively.
The
coefficients are defined as:
where
The turbulence time scale,
, is
where
The k and ω equations write:
where the production term is
The variablesγ, β,
,
,
denoted with the generic symbol ϕ are defined as:
with the coefficients:
l Inner model constants
l Outer model constants
,
,
,
,
,
,
,
,
The auxiliary blending function
, designed to blend the model coefficients of the original k-ω
model in boundary layer zones with the transformed k-ϵ model in free-shear layer and free-stream
zones, is defined as:
3.3
DETACHED EDDY SIMULATIONS
With steady RANS unable to meet the increasing demand for very detailed analysis of three-
dimensional flows and the continuing advance in computing development on one side, the fact
that, on the other side, for the foreseeable future, DNS and LES remain far too expensive for
today's engineering applications, methods hybridizing LES and RANS such as Detached Eddy
Simulation, originally proposed by Spalart et al (1997), have appeared.
The model was proposed by Shur et al. (2000), based on Spalart-Allmaras model (1994).
Turbulent length scale dw (distance to the wall) is replaced by DES length scale lDES.
where
Δ is a measure of the width of the filter related to the calculation.
is a calibration constant.
Recommended value for
is 0.65. This model is often called DES97.
3.4
LAMINAR-TRANSITION MODEL
3.4.1
Global Correlation Transition Model
The boundary layer which develops on the surface of a solid body starts as a laminar layer but
becomes turbulent over a relatively short distance known as the transition region. Four models are
available in FINE™/Turbo to take into account the transition onset:
l Fully turbulent
l Fully laminar
l Forced transition
l Abu-Ghannam and Shaw Model
The transition models can be used only with the Spalart-Allmaras, Yang-Shih k-epsilon ,
Wilcox k-omega and SST turbulence models.
A. Transition Models
The transition models consist of introducing a so-called intermittency, Γ, defined as the fraction of
time during which the flow over any point on a surface is turbulent. It should be zero in the
laminar boundary layer and one in fully developed turbulent boundary layer.
Fully Turbulent
When the Fully Turbulent model is selected, the intermittency, Γ is set to 1 on the whole blade
suction and/or pressure sides (fully developed turbulent boundary layer).
Fully Laminar
When the Fully Laminar model is selected, the intermittency, Γ is set to 0 on the whole blade
suction and/or pressure sides (laminar boundary layer).
Forced Transition
The first step is to have a description of the blades in the FINE™/Turbo solver to be able to
position the transition line. Therefore AutoGrid™ has been adapted to output the position of the
leading and trailing edges and the topological patches composing the blade surfaces.
This last information is read by FINE™/Turbo and transmitted to the flow solver. A dialog box
has been created to allow the positioning the transition line on the blade surfaces (FIGURE 3.1).
In Forced Transition mode, each transition line is positioned through a point on the hub and a
point on the shroud. By default, these points are defined by a percentage of the arc length
(FIGURE 3.1). However, a special treatment is also available where the transition points are
defined by a percentage of the axial chord (only available for axial machines). This option can be
activated via the expert parameter INTERL that should be set to 1 (default value = 0).
FIGURE 3.1
Example of the calculation of a transition point on a blade suction side as a percentage of the
chord length.
The intermittency, Γ, is then computed on each point of the blade surface (it is set to 0 upstream of
the transition line and tends towards 1 downstream). Each point of the computational domain has
the same intermittency as the one at the closest point on the blade surface. However a special
treatment is required close to the trailing edge and in tip gaps.
Abu-Ghannam & Shaw Model (AGS)
The location of transition could be computed from the flow solution by using empirical relations
related to external parameters. Here the correlations obtained by Abu-Ghannam and Shaw [1980]
and derived from experimental data from transition on a flat plate with pressure gradients are used.
According to these authors transition starts at a momentum thickness Reynolds number:
λθ is a dimensionless pressure gradient defined as:
where Ue is the velocity at the edge of the boundary layer, s is the streamwise distance from the
leading edge, and θ denotes the momentum thickness in the laminar region.
Tu is the free stream turbulence level (in %). For the Spalart-Allmaras turbulence model, Tu is
computed based on the upstream (inlet or rotor/stator) eddy viscosity and assuming a turbulent
length scale of about 10% of the reference length scale:
For the Yang-Shih k-ε, SST and Wilcox k-omega turbulence models, Tu is computed by using
the following definition:
The function F(λθ ) depends on the sign of the pressure gradient:
for adverse pressure gradient (λθ < 0)
for a favorable pressure gradient (λθ > 0)
Therefore, according to these relations, transition is promoted in adverse pressure gradient
whereas it is retarded in favorable pressure gradient.
The range of application of the AGS correlation is 0.1 > λθ > -0.1, and for a free stream turbulent
level ranging from 0.3 to 10%.
B.
Intermittency Distribution
Spalart-Allmaras model
The intermittency function is defined on each point of the blade surface and at each iteration. It is
extended to the computational domain by a simple orthogonal extension (i.e., each point of the
computational domain has the same intermittency than the closest point on the blade surface).
Either using the Forced Transition option or the Abu-Ghannam and Shaw (AGS) Model, the
stream-wise evolution of intermittency should be defined. It could be either a binary field or a
smoother field. In the current implementation those two options are available. It is controlled by
the expert parameter INTERI. With its default value (INTERI = 0) the intermittency is 0 before
transition and 1 after the transition onset. If INTERI = 1, intermittency is defined following the
relation of Dhawan and Narasimha [1958]:
where st is the position of the transition onset and s is the current position on the arc from leading
edge to trailing edge. λ is the characteristic extent of the transition region and is determined from
the correlation:
Close to the trailing edge the intermittency is set to 1. This is necessary in order to allow a
turbulent wake to be generated downstream of the blade. This special treatment is controlled by
the expert parameter FTURBT that is set to 0.95 by default (i.e., only the last 5% of a blade side
will have an intermittency of 1). In order to get a tri-dimensional distribution of the intermittency,
the intermittency of a cell is the one of the closest cell on a solid surface (hub, shroud, and tip gap
are fully turbulent and have an intermittency equal to unity).
Yang-Shih k-ε, Wilcox k-ω and SST models
The intermittency function is defined on each point of the blade surface and at each iteration.
Then it is extended to the computational domain. This is done by comparing the distance to blade
with the momentum thickness θ computed by Thwaites relation and multiplied by expert
parameter BLFACT (default value is 5). If the distance to blade is smaller than (BLFACT*θ) the
intermittency of the current cell will be set to the intermittency of the closest point on the blade.
Otherwise the intermittency will be set to unity. Near the leading edge the distance on which the
intermittency is applied is computed in the same way but the θ value is taken at the position
corresponding to the expert parameter FTRAST to avoid insignificant distance.
The definition of the stream-wise evolution of intermittency is the same as that used by the
Spalart-Allmaras turbulence model.
C. Modification of the turbulence models
The Spalart-Allmaras turbulence model
The intermittency is used to multiply the turbulence production term in the Spalart-Allmaras
turbulence model in the Source term equation. This gives:
where
is the production term. Free-stream wakes (with only a weak production term) will not
be affected by the intermittency. A laminar boundary layer will be preserved upstream of the
transition location and turbulence could freely develop thereafter.
The Yang-Shih k-ε turbulence model
In the original Yang- Shih k - ε turbulence model , three terms (the turbulent kinetic energy
production term, the turbulent kinetic dissipation term and the dissipation rate production term)
need to be modified. Three modifications have been implemented. This is controlled by the expert
parameter KETRAN:
When KETRAN is equal to 1:
When KETRAN is equal to 2:
When KETRAN is equal to 3:
The Wilcox k-ω turbulence model
In the original Wilcox k-ω turbulence model, three terms (the turbulent kinetic energy production
term, the turbulent kinetic dissipation term and the specific dissipation rate production term) need
to be modified. Three modifications have been implemented. This is controlled by the expert
parameter KETRAN:
When KETRAN is equal to 1:
When KETRAN is equal to 2:
When KETRAN is equal to 3:
The SST turbulence model
In the original SST turbulence model, three terms (the turbulent kinetic energy production term,
the turbulent kinetic dissipation term and the specific dissipation rate production term) need to be
modified. Three modifications have been implemented. This is controlled by the expert parameter
KETRAN:
When KETRAN is equal to 1:
When KETRAN is equal to 2:
When KETRAN is equal to 3:
3.4.2 Generalized Transition Model
The generalized transition model is the model proposed by Menter and Langtry (2004). This
model is based on two transport equations for the intermittency (γ) and for the transition
momentum thickness Reynolds Number (
the transition process. Experimental correlations are used to relate the turbulence intensity (
and the pressure gradient in the freestream to the momentum thickness Reynolds number (
). The model does not attempt to model physics of
)
)
at transition onset. The innovation using two additional transport equations is that only local
information is used to define the transition onset on all solid walls. This allows to remove all
limitations that exist in the global correlation transition model.
The generalized transition model is applied with the SST/EARSM turbulence models. The
intermittency is used to turn on the production term of the turbulent kinetic energy downstream of
the transition point. The equation for the transition momentum thickness Reynolds Number is
used to capture the non local effects in the freestream (turbulence intensity and pressure gradient)
and to diffuse them into the boundary layers.
A. Transport equation for intermittency
The intermittency is used to trigger the transition locally. It is set to one in the freestream and must
be set to zero in the laminar boundary layer. Its production/destruction is driven by the transition
criteria.
The intermittency equation is formulated as follows:
with
where S is the magnitude strain rate,
is an empirical correlation that controls the length of
the transition region and
is a function to trigger the intermittency production and thus the
transition onset. The function
depends on the vorticity Reynolds Number (
), the
critical momentum thickness Reynolds Number (
) and the viscosity ratio (
) as described
below:
If the vorticity Reynolds Number becomes much larger than the critical momentum thickness
Reynolds Number, the transition onset is triggered. This critical Reynolds Number gives the
location where the intermittency first starts to increase in the boundary layer. It is related to the
in the production term.
transition Reynolds Number by an empirical correlation as well as
Menter (2010) provided recently these correlations based on the ERCOFTAC T3 series of flat
plate experiments and the Schubauer and Klebanof test cases:
This value is forced to be equal to its maximum value of 40 in the viscous sublayer:
with
and
The destruction term in the intermittency equation is defined as follows:
Where Ω is the vorticity magnitude strain rate and
is a function decreasing with the
turbulence to disable the destruction source term outside of a laminar boundary layer or in the
viscous sublayer. It is defined as follows:
The constant values in the intermittency equation are:
The definition of γ has been improved for the separation induced transition because the model
location too far downstream in comparison with the
predicted a turbulent reattachment
experimental data. The local intermittency is allowed to exceed 1 whenever the laminar boundary
layer separates and this implies a larger production of k that causes earlier reattachment. The
modification for separation-induced transition is given by Langtry (2006) and Menter (2010):
with
is the blending function defined,
= 2.
Finally,
The boundary condition on the walls is the zero normal flux:
The inlet boundary condition is:
This inlet value is necessary in order to preserve the freestream turbulence decay rate in the
original turbulence model.
B. Transport equation for the transition momentum
thickness Reynolds Number
The transport equation for the transition momentum thickness Reynolds Number (
) is:
with
where t is a time scale and
is the blending function used to turn off the source term in the
boundary layer (0 in the freestream and 1 in the boundary layer). They are defined as follows:
,
,
,
The
function ensures that the blending function is not active in the wake regions.
The constant for the equation are:
,
.
The boundary condition on the walls is the zero normal flux:
The inlet boundary condition is calculated from the empirical correlation based on the inlet
turbulence intensity:
C. Empirical correlation for the transition onset momentum
thickness Reynolds Number
The empirical correlation for the transition onset momentum thickness Reynolds Number
proposed by Langtry is implemented. This attempts to combine the favorable aspects of already
existing correlations (Suzen et al. for Tu<0.3, Abu-Ghannam and Shaw for 0.3<Tu<3, Mayle for
Tu>3). Note that, the first published version (Menter, 2004) has been improved for low freestream
turbulence intensity (Tu<1) when the natural transition occurs (Langtry, 2006 and Menter, 2010).
This correlation is based on the following parameters:
and
Where
is the acceleration along the streamwise direction and
.
Note that the correlations are defined with respect to the wall boundary layer and all velocities are
therefore relative to the wall in the two equations above.
The empirical correlation is defined as follows:
with
D. Variant models
Many authors have proposed their correlations for the transition length (
) and the critical
momentum thickness Reynolds Number (
) in order to apply the generalized transition
model based on the γ- equations. Some of them are compared by Kelterer (2010) and described
hereafter. Each of them can be activated by the expert parameter IGTLAW.
Malan et al. (2009) (IGTLAW=2):
Sorensen (2009) (IGTLAW =3):
with
Kelterer et al. (2010) (IGTLAW =4):
When combining the EARSM model with the generalized transition model, a new relation is used
(IGTLAW =5).
E. Coupling with the SST turbulence model
When combining the generalized transition model with the SST turbulence model, the two
additional transport equations for the turbulent kinetic energy and for the specific dissipation write
as:
where the production term and the destruction term in the turbulent kinetic equation are modified
as follows:
Moreover the original blending function
(responsible for switching between k-ω and k-ε
models) is modified to ensure that it is equal to 1 not only in turbulent boundary layers but also in
the laminar and transitional boundary layers:
with
and
.
This new blending function can be used in the original SST model by setting the expert parameter
INEWF1 to 1.
F. Coupling with the EARSM turbulence model
When combining the generalized transition model with the EARSM turbulence model, the
transport equation for the turbulent kinetic energy is modified as:
where the production term and the destruction term in the turbulent kinetic equation are modified
as follows:
When combining the generalized transition model with the EARSM turbulence model, the
following modifications are introduced in the transport equation of the generalized transition
model:
The transition length (
) and the critical momentum thickness Reynolds Number (
)
are computed by IGTLAW=5.
When combining the generalized transition model with the Menter's EARSM turbulence model,
the expert IMINUT is used to control the approach computing the turbulent thermal conductivity
in the energy equation. If settings to 0, the turbulent thermal conductivity is computed by:
If setting to 1, the turbulent thermal conductivity is computed by:
When combining the generalized transition model with the Menter's EARSM turbulence model, it
is suggested to use IMINUT = 1 and PRCLIP=10.
3.5 MODELING FLOW NEAR THE WALL
The wall functions are used to mimic the presence of the walls by reflecting the effect of the steep,
non-linear variations of the flow properties through the turbulent boundary layer. They define the
shear stress and the heat flux on the cell faces lying on solid boundaries as well as the values of
the turbulent variables in the vicinity of the wall.
For the models that do not use wall functions, the profile of the boundary layer is directly inferred
from the input values at the wall. Consequently, particular attention must be paid to the grid
refinement in this region in order to capture the viscous sublayer. A typical value is given by
at the first node from the wall.
3.5.1
Velocity
Smooth walls
The wall function in the viscous sublayer is given by:
with
, the dimensionless normal distance from the walls and
, the
wall friction velocity directly related to the wall shear stress.
While in the turbulent layer, the wall function becomes:
where κ is the Von Karman constant (default value 0.41) and Bo another constant (default value
5.36). Both κ and Bo can be modified by the user in the Boundary Condition page.
Rough walls
Old Method (IROUGH=0)
The wall function is given by (no viscous sublayer considered):
where κ is the Von Karman constant (default value 0.41). For rough walls, the constant Bo is
).
usually zero (when the non- dimensional roughness height k s
+ > 70 with
Otherwise the value of Bo is evolving as presented in below graph.
k0 and d0 are constants asked for each rough wall.
where ks is the equivalent roughness height.
The constant d0 is known as the height of the zero displacement plane, defined by:
if Bo=0
For small roughness elements,
wall was located at a distance d0 from the real wall position.
. For high roughness elements, the flow behaves as if the
New Method (IROUGH=1)
Using the old method, seen above, the user has to give the constant Bo as input parameters.
However, the value of the constant Bo is depending on the value of the wall friction velocity
.
. The user has to iterate this
And the value of Bo will also correct the wall friction velocity
procedure and converge to the desired value of Bo . This is not straightforward and a new
approach has been introduced in the flow solver in order to simplify the computations with
roughness.
For the new method, the wall function is given by (no viscous sublayer considered):
where κ is the Von Karman constant (default value 0.41) and Bo another constant (default value
5.36). Both κ and Bo can be modified by the user in the Boundary Condition page.
McKeon et al. (2004) have shown the
is a function of
with
, as shown
in FIGURE 3.2. The function has a special behaviour in the range
. Below
=3, the
flow is considered as smooth and there is no modification of the classical log-law (
= 0).
For
>70, the flow is considered as fully rough and
shows logarithmic increase with
increasing
.
FIGURE 3.2
Roughness function
A function is used to interpolate
in the flow solver:
where a1=-0.7649, a2=1.9 and
is a constant.
The new method has the advantage that no more iteration has to be done on the constant Bo.
3.5.2
Temperature
Similarly, for isothermal walls, the following laws are considered in the code:
in the viscous sublayer
where Pr is the laminar Prandtl number and:
in the turbulent layer, where
.
The heat flux at the wall is defined as:
A complete description of the available thermal boundary conditions at walls is provided in the
Solid Wall Boundary Conditions section.
The "law of the wall" distributions of velocity, temperature and other variables are assumed to prevail
across the boundary layer. They are imposed at the node of a single grid cell for which the user is
advised to check that 20<y+<100. As a result, if the first cell node from the wall is placed too close,
calculation is conducted in the viscous sublayer and the law is no longer valid. Similarly, if the first
node is placed too far away, then a discrepancy may exist between the profiles and their assumed
shape.
3.5.3
Turbulence
Standard Wall function for k-ε model
The values of k and ε in the first inner cell are imposed based on the value of the wall friction
velocity uτ:
where Cμ = 0.09 and κ is the Von Karman constant (default value 0.41).
Extended Wall Function for k-ε model
For the extended wall functions model, the wall functions for k and ε are fitted with polynomials
to the DNS data.
Extended Wall Function for Spalart-Allmaras model
The turbulent working variable
friction velocity uτ:
in the first inner cell is imposed based on the value of the wall
with
and κ is the Von Karman constant (default value 0.41).
This relation can be rewritten as:
and holds true in the viscous layer and in the log layer.
Extended Wall Function for SST model
The value of k in the first inner cell is obtained from the tabulated values already used for the k-ε
model. ω in the first inner cell can be imposed based on the value of the wall friction velocity uτ,
in the sublayer
in the log layer
where β1=0.075, Cμ=0.09 and κ is the Von Karman constant (default value 0.41).
In the intermediate region, ω+ is approximated with the form of interpolation between the viscous
and log layer value:
with
3.6
REFERENCES
Abu-Ghannam B.J., Shaw R., 1980, "Natural Transition of Boundary Layers- The Effects of
Turbulence, Pressure Gradient and Flow History", Journal of Mechanical Engineering Science,
Vol. 22, No. 5, pp 213-228.
Ashford G.A., and Powell K.G., 1996, "An unstructured grid generation and adaptative solution
technique for high-Reynolds number compressible flow", VKI (Von Karman Institute) Lecture
Series 1996-06.
Baldwin B., Lomax H., 1978, "Thin Layer Approximation and Algebraic Model for Separated
Turbulent Flows", AIAA-78-257.
Chien K.Y., 1982, "Predictions of Channel and Boundary-Layer Flows with a Low-Reynolds-
Number Turbulence Model", AIAA J., Vol. 20, No. 1.
Durbin P.A., 1991, "Near-wall turbulence closure modeling without damping function", Theor.
Comput. Fluid Dynamics, Vol. 3, No. 1, pp 1-13.
Durbin P.A., 1995, "Separated flow computations with the k-e-v2 model". AIAA J., Vol. 33, No.
4, pp 659-664.
Hellsten A., 2005, "New advanced k-w turbulence model for high-lift aerodynamics", AIAA J.,
vol. 43, No. 9, pp 1857-1869.
Jameson A., Schmidt W., Turkel E., 1981, "Numerical Solutions of the Euler Equations by Finite
Volume Methods using Runge-Kutta Time-Stepping Schemes", AIAA-81-1259.
Jameson A., 1995, "Positive schemes and shocks modeling for compressible flows", International
Journal for Numerical Methods in Fluids, Vol 20, pp 773-776.
Johonson J. and King L., 1985, "A mathematically simple turbulence closure model for attached
and separated turbulent boundary layers", AIAA Journal, vol.23, pp.1684-1692.
Kalitzin G., Medic G., Iaccarion G., Durbin P., 2005, "Near- Wall Behavior of RANS
Turbulence Models and Implications for Wall Functions", Journal of Computational Physics,
Vol.204, pp265-291.
Kelterer M.E., Pecnik R., Sanz W., 2010, "Computation of laminar- turbulent transition in
turbomachinery using the Correlation-Based γ-Re transition model", ASME Turbo Expo 2010,
Glasgow, UK.
Lantry R.B., Menter F.R., Likki S.R., Suzen Y.B., Huang P.G., Volker S., 2004, "A Correlation-
Based Transition Model Using Local Variables, Part II – Test cases and industrial applications",
GT2004-53454, ASME Turbo Expo 2004, Vienna, Austria .
Langtry R.B, 2006, "A Correlation- Based Transition Model using Local Variables for
Unstructured Parallelized CFD codes", PhD thesis, Stuttgart University.
Launder B.E. and Sharma B.I., 1974, "Application of the Energy- Dissipation Model of
turbulence to the Calculation of Flow Near a Spinning Disc", Letters in Heat and Mass Transfer,
Vol. 1, pp. 131-138.
Launder B.E. and Spalding D.B., 1974, "The numerical computation of turbulent flow", Comput.
Methods App. Mech. Eng., vol. 3, pp. 269-289.
Lien F.S. and Kalitzin G., 2001, "Computations of transonic flow with the v2-f turbulence
model", International Journal of Heat and Fluid Flow 22, 53-61.
Mayle R.E., 1991, "The role of Laminar-Turbulent transition in Gas Turbines Engines", ASME
Journal of Turbomachinery, Vol 113, pp 509-537.
McKeon B.J., Li J., Jiang W., Morrison J.F., and Smits A.J., 2004, "Further observations on the
mean velocity distribution in fully developed pipe flow", J. Fluid Mech., Vol.501:135-147.
Mehdizadeh O., et al, 2012, "Applications of EARSM turbulence models to internal flows",
Proceedings of ASME Turbo Expo 2012, GT2012-68886, Copenhagen, Denmark.
Menter F., 1992, "Influence of freestream values on k-ω turbulence model predictions", AIAA J.,
Vol. 30, No. 6, pp1657-1659.
Menter F., 1993, "Zonal two-equation k-ω turbulence model for aerodynamic flows", in AIAA
24th Fluid Dynamics Conference, AIAA paper 93-2906, (Orlando, FL).
Menter F., 1992, "Performences of popular turbulence models for attached and separated adverse
pressure gradient flows", AIAA Journal, vol.30, pp.2066-2072.
Menter F., 1994, "Two-equation eddy viscosity turbulence models for engineering applications",
AIAA Journal, vol.32, pp.1299-1310.
Menter F., Lantry R.B., Likki S.R., Suzen Y.B., Huang P.G., Volker S., 2004, "A Correlation-
Based Transition Model Using Local Variables, Part I – Model Formulation", GT2004-53452,
ASME Turbo Expo 2004, Vienna, Austria.
Menter F., et al, 2009, "Explicit algebraic Reynolds stress models for anisotropic wall-bounded
flows", in EUCASS – 3rd European Conference for Aero-Space Sciences, July 6-9th, Versailles.
Menter F., Lantry R.B., 2010, "Effect of System Rotation on Turbulence with Applications to
Turbomachinery: Transition modeling for turbomachinery flows", Von Karman Institute for Fluid
Dynamics, Lecture Series 2010-08.
Nichols R.H., 1990, "A Two-Equation Model for Compressible Flows", AIAA paper 90-0494.
Piquet F., 1999, "Turbulent flow: Models and Physics", Berlin, Heilderberg, New York:
Springer-Verlag.
Sarkar S., Erlebacher G., Hussaini M.Y., Kreiss H.O., 1991, "The analysis and modeling of
dilatational terms in compressible turbulence", J Fluid Mech, Vol.227, pp.473-493.
Shur M. L., Strelets M. K., Travin A. K., Spalart P. R., 2000, "Turbulence Modeling in Rotating
and Curved Channels: Assessing the Spalart-Shur Correction", AIAA Journal, Vol 38:784-792.
Spalart P.R. and Allmaras S. R., 1992, "A one equation turbulence model for aerodynamic
flows", AIAA 92-0439.
Spalart P.R. and Shur M. L., 1997, "On the sensitisation of turbulence models to rotation and
curvature", Aerospace Science and Technology, No 5:297-302.
Suzen Y.B., Xiong G., Huang P.G., 2000, "Predictions of Transitional Flows in Low Pressure
Turbines Using an Intermittency Transport Equation", AIAA-2000-2654, AIAA Fluids 2000
Conference.
Vandromme D., 1991, "Turbulence Modeling for Compressible Flows and Implementation in
Navier-Stokes Solvers", VKI Lecture Series 1991-02.
Wilcox D., 1988, "Reassessment of the scale-determining equation for advanced turbulence
models", AIAA Journal, vol.26, pp.1299-1310.
Wilcox D., 1993, "Turbulence model for CFD", tech. rep., DCW Industries, Inc., 5354 Palm
Drive, La Canada, Calif.
Yang Z. and Shih T.H., 1993, "A k-e model for turbulence and transitional boundary layer",
Near-Wall Turbulent Flows, R.M.C. So., C.G. Speziale and B.E. Launder(Editors), Elsevier-
Science Publishers B. V., pp. 165-175.
Zhang H.S., So R.M.C., Speziale C.G., Lai Y.G., 1991, "A Near-Wall Model for Compressible
Turbulent Flow", ICASE Report 91-82.
CHAPTER 4.
BOUNDARY CONDITIONS
This chapter describes all the theories related to the boundary conditions available in the FINE™/Turbo
solver:
In this section
4.1 Inlet Boundary Conditions
4.2 Outlet Boundary Conditions
4.3 Solid Wall Boundary Conditions
4.4 Far-field Boundary Conditions
4.5 Unsteady Inlet and Outlet Boundary Conditions
4.6 Non Reflecting Inlet and Outlet Boundary Conditions
4.7 References
76
89
95
102
106
107
113
4.1
INLET BOUNDARY CONDITIONS
4.1.1
Cylindrical Inlet Boundary Conditions
A. Static Quantities Imposed (Subsonic)
The complete absolute velocity vector followed by the static temperature on the boundary are
specified. Several possibilities exist:
l the magnitude of the velocity and the flow angles α and γ are specified:
l the magnitude of the velocity and other flow angles δ and ε are specified:
with
the meridional velocity (
). This option has been designed to allow
radial inlet with zero axial velocities,
l the cylindrical velocity components are specified.
The static pressure is extrapolated from the interior. Using subscript 0 for the boundary, and
subscript 1 for the first internal cell one has:
which allows to calculate all the primitive variables on the boundary.
These conditions can also be used for incompressible flows.
B. Total Quantities Imposed (Subsonic)
Several variants are available based on the specification of flow angles or velocity components.
Absolute flow angles from axial direction
The user specifies two flow angles (of the absolute flow) at the boundary, α and γ, which are
defined by the magnitude of the velocity and the flow angles and given in radians.
The absolute total pressure and the absolute total temperature on the inlet boundary are also
specified and imposed.
Three variants are available depending on the value that is extrapolated.
l The module of the absolute velocity vector is extrapolated from the interior field. Using
subscript 0 for the boundary, and subscript 1 for the first internal cell:
where v represents the absolute velocity.
l the axial velocity component is extrapolated:
Note that it is assumed that the angular velocity vector is in the z-direction,
which makes this direction the axial one. Also note that, as a result of the angular velocity the
absolute and relative axial velocity component are equal.
l the mass flow is extrapolated, assuming that the meridional component of the velocity is the
one contributing to the mass flow.
with
This boundary condition is specially dedicated to radial turbomachinery for which a problem of
mass flow conservation can arise.
Relative flow angles from axial direction
For a stator calculation it may be convenient to impose the velocity angles of the relative flow at
the exit of the upstream rotor. In case of rotors the user may also prefer to impose relative
boundary conditions. This procedure is only available in case total conditions and flow angles are
imposed. In addition to that the extrapolation of vz must be selected. Note also that both flow
angles and total conditions are then treated in the relative mode.
The adopted approach consists of imposing boundary conditions, which are still defined in the
absolute frame of reference, but which vary from one iteration to the another in order to respect
the imposed relative value. This technique provides a robust algorithm with an under-relaxation of
the evolution of absolute conditions and a special treatment of the hub and shroud boundary
layers. Since the hub and shroud walls are usually not rotating, the relative flow angle tends to 90
degrees in the boundary layer, which complicates the boundary condition treatment if the relative
conditions are imposed. The above approach (switch to the absolute frame of reference) allows
computing the absolute flow angles distribution through an extrapolation in the boundary layers.
The under-relaxation factor as well as the percentage of the distance from the hub and the shroud
where the angle is extrapolated are specified in the expert parameter ANGREL.
The relation between the relative (β) and absolute (α) angles is the following:
where ω is the speed of rotation of the upstream rotor specified in the expert parameter OMGINL
and r the radial position.
The update of the flow angle is followed by the update of the absolute total conditions according
to:
The initial values of the absolute flow angle and total conditions are set to the value of the relative
ones, except for the initial solution for turbomachinery. In the initial solution for turbomachinery, the
flow angle and the absolute total conditions are used to compute the initial absolute flow angle and
total conditions from the specified relative values.
Velocity direction
The user first specifies a direction (given under the form of a vector) that corresponds to the
direction of the absolute velocity vector. Note that this vector does not have to be a unitary vector.
The r,θ,z components of the direction vector are given. E.g. if the user enters the direction (0,1,1)
the user imposes that the θ- and z-components of the absolute velocity vector at inlet are equal and
that the radial velocity is zero.
The absolute total pressure and the absolute total temperature on the inlet boundary are also
specified. These values will be imposed.
The module of the absolute velocity vector is obtained by extrapolation from the interior field, cf.
Eq. 4-4.
The velocity vector on the boundary is found by scaling the velocity vector specified in the
boundary condition file such that the correct module is obtained.
The mass flow can be extrapolated. This boundary condition is specially dedicated to radial
turbomachinery for which problem of mass flow conservation can arise. It is not interfaced but it
can be used by setting the expert parameter IMASFL to 1.
Tangential velocity and meridional angle
Imposing the tangential velocity at the inlet is useful for turbomachinery configurations with high
absolute tangential velocities.
The user specifies the direction of the radial and axial velocity, together with the magnitude of the
tangential velocity in [m/s]. The absolute total pressure and the absolute total temperature on the
inlet boundary are also specified. The application of the boundary condition can be described as
follows:
l The meridional velocity is extrapolated from the interior of the computational domain
l The velocity magnitude is deduced from the input of the tangential velocity
l The static pressure and temperature are computed from the imposed total values
l The radial and axial velocities are imposed in the appropriate direction
l The velocity components in the Cartesian frame of reference are deduced
Flow angle and total conditions in upstream rotational frame
This type of boundary condition is especially useful when a computation is done on only part of a
machine. As an example, a 2.5 stage computation including relative conditions can mimic the
behavior of a full 3.5 stage machine. In such a case, relative conditions can be set as extracted
from the full machine computation at the exit of the first machine.
The user specifies the direction of the radial and axial velocity, together with the flow angle in
[rad]. The relative total pressure and the relative total temperature on the inlet boundary are also
specified. To compute the relative frame of reference, the users needs to input the upstream
rotational speed. The application of the boundary condition can be described as follows:
l The meridional velocity is extrapolated from the interior of the computational domain
l The relative and absolute tangential velocities are computed using the upstream rotational
speed
l The relative velocity magnitude is deduced
l The static pressure and temperature are deduced from the relative pressure and temperature
l The radial and axial velocities are imposed in the appropriate direction
l The velocity components in the Cartesian frame of reference are deduced
Velocity normal to inlet (V extrapolated)
The absolute total pressure and the absolute total temperature on the inlet boundary are specified.
The orientation of the velocity will be set to be normal to the inlet surface. The magnitude of the
absolute velocity is extrapolated from the interior field.
where
and
represents the absolute velocity at the inlet,
is the velocity norm inside the domain
is the normal unit vector pointing outside of the domain.
In case that the relative velocity is used, to be normal to inlet, the relative velocity will be used
instead of the absolute velocity
in Eq. 4-11.
C. Mass Flow Imposed (Subsonic)
This boundary condition permits to impose the value of the mass flow through a specified control
surface. The control surface is defined by grouping several patches into the same group. In
addition to the mass flow the direction of the velocity vector and the static temperature are
imposed.
Three variants are available:
l the swirl can be imposed, as well as the direction of the velocity vector in the meridional plane
(vr/vm,vθ,vz/vm).
l the direction of the absolute velocity vector can be imposed (vr /|v|, vθ/|v|, vz/|v|).
l velocity normal to inlet.
Two possibilities exist for the treatment of the static temperature:
l it can be imposed at a given fixed value,
l a relation can be imposed between the inlet static temperature and the averaged temperature
along a specified outlet. In this case the user specifies the patch name (or group name) of the
connected outlet and the difference of temperature between the inlet and outlet temperatures.
The difference of temperature is specified instead of the static temperature. If the specified
value is zero, the temperature at the inlet will be equal to the average outlet temperature,
whereas if the specified values is for instance 20, the temperature will be equal to the outlet
temperature + 20.
D. Total Enthalpy & Dryness Fraction Imposed (Subsonic -
Condensable Gas)
In cases where the inlet thermodynamic state is located on the saturation curve or inside the
biphasic zone, traditional boundary conditions based on total temperature and total pressure are
not sufficient, as pressure and temperature become interdependent. An additional information is
required.
This boundary condition proposed under the FINE™/Turbo GUI is based on the absolute total
enthalpy and the dryness fraction. The velocity direction is also specified, either by means of two
flow angles (from axial direction) or of velocity direction vectors.
The implementation of the boundary condition is based on extrapolation of the static pressure,
which permits to evaluate the saturated liquid and gas values of the density and enthalpy. The
dryness fraction permits to deduce the values of the local static enthalpy and density. The other
boundary conditions are then used to calculate the velocity vector.
E. Total Pressure & Dryness Fraction Imposed (Subsonic -
Condensable Gas)
In cases where the inlet thermodynamic state is located on the saturation curve or inside the
biphasic zone, traditional boundary conditions based on total temperature and total pressure are
not sufficient, as pressure and temperature become interdependent. An additional information is
required.
This boundary condition proposed under the FINE™/Turbo GUI is based on the absolute total
pressure and the dryness fraction. The velocity direction is also specified, either by means of two
flow angles (from axial direction) or of velocity direction vectors.
The implementation of the boundary condition is based on extrapolation of the static pressure.
From the static pressure and the imposed dryness fraction, the density, the static enthalpy and the
entropy can be computed on the saturation line from the table PSA. The total pressure permits to
deduce the value of the total enthalpy. Then, the velocity vector can be computed by using the
total enthalpy, the static enthalpy and the imposed velocity direction.
F. Total Pressure & Total Enthalpy Imposed (Subsonic -
Condensable Gas)
In cases where the inlet thermodynamic state is located on the saturation curve or inside the
biphasic zone, traditional boundary conditions based on total temperature and total pressure are
not sufficient, as pressure and temperature become interdependent. An additional information is
required.
This boundary condition proposed under the FINE™/Turbo GUI is based on the absolute total
pressure and absolute total enthalpy. The velocity direction is also specified, either by means of
two flow angles (from axial direction) or of velocity direction vectors. Two variants are available
depending on the value that is extrapolated.
l The static pressure is extrapolated from the first inner cell. The implementation can be
described as follows:
l The static pressure is extrapolated from the first inner cell.
l The entropy is obtained by using the specified total pressure and total enthalpy.
l The static enthalpy is computed from the entropy and the extrapolated static pressure.
l The magnitude of velocity is obtained by using the total enthalpy and the static enthalpy.
l The density is computed from the static enthalpy and the extrapolated static pressure.
l The velocity components are extrapolated from the first inner cell. The implementation can be
described as follows:
l The velocity components are extrapolated from the first inner cell.
l The static enthalpy is computed by using the total enthalpy and the extrapolated velocity.
l The entropy is obtained by using the specified total pressure and total enthalpy.
l The static pressure is obtained by using the computed entropy and the static enthalpy.
l The corresponding density is computed from the static enthalpy and the static pressure.
G. Distributions of the flow variables for the nonlinear
harmonic method
This boundary condition, which can be used in combination with the nonlinear harmonic method,
allows the user to impose a distribution profile of the five flow variables: pressure, density and the
r, θ and z components of the velocity.
The imposed profiles must be periodic over the azimuthal length and specified for a constant
radius or axial position. The extracted spatial harmonics are transformed into time harmonics in
the frame of the domain that is subject to the relative motion of the distortion.
In the domain subject to the distortion, there can be some other time harmonics that are not
generated by the distortion itself, but by a downstream turbomachinery component. For these
harmonics, the non reflective inlet treatment is applied.
If a periodic circumferential profile is entered covering the full range [0,2π], the PERIODICITY
should be set to 1. If the profile is covering the range [0,2π/N], the PERIODICTY has to be set
to N. The profile is automatically rotating at the speed specified in RPM.
H. Total Quantities Imposed (Supersonic)
Velocity components imposed
The user can specify absolute total pressure, absolute total temperature, absolute Mach number
and two flow angles α, β defined as:
with the angles given in radians.
Velocity normal to inlet
The user can specify absolute total pressure, absolute total temperature, absolute Mach number.
The orientation of the velocity will be set to be normal to the inlet surface.
4.1.2
Static Quantities Imposed (Supersonic)
Velocity components imposed
The flow at inlet is completely specified, by giving the static pressure, static temperature and the
three absolute cylindrical velocity components.
Velocity normal to inlet
The user can specify the static pressure, the static temperature and the magnitude of the velocity.
The orientation of the velocity will be set to be normal to the inlet surface.
4.1.3
Cartesian Inlet Boundary Conditions
A. Static Quantities Imposed with Extrapolation of the Static
Pressure (Subsonic)
The complete absolute velocity vector followed by the static temperature on the boundary are
specified. For turbulent models with additional equations,
the corresponding quantities are
specified also.
The static pressure is extrapolated from the interior, which allows to calculate all the primitive
variables on the boundary.
These conditions can also be used for incompressible flows.
B. Total Quantities Imposed (Subsonic)
Mach Number extrapolated
The user first specifies a direction (given under the form of a vector) that corresponds to the
direction of the absolute velocity vector. Note that this vector does not have to be a unitary vector.
The x,y,z components of the direction vector are given. E.g., entering the direction (0,1,1)
imposes that the y- and z-component of the absolute velocity vector at inlet should be equal. In
other words, the flow comes in at an angle of 45 degrees between z- and y-direction, whereas the
angle between z- and x-direction is 0 degrees.
The absolute total pressure and the absolute total temperature on the inlet boundary are also
specified.
The absolute Mach number is extrapolated from the interior field (only available for compressible
fluid):
Magnitude of Absolute Velocity extrapolated
The user first specifies a direction (given under the form of a vector) that corresponds to the
direction of the absolute velocity vector. Note that this vector does not have to be a unitary vector.
The x,y,z components of the direction vector are given. E.g., entering the direction (0,1,1)
imposes that the y- and z-component of the absolute velocity vector at inlet should be equal. In
other words, the flow comes in at an angle of 45 degrees between z- and y-direction, whereas the
angle between z- and x-direction is 0 degrees.
The absolute total pressure and the absolute total temperature on the inlet boundary are also
specified. The absolute velocity vector is obtained by extrapolation from the interior field, cf. Eq.
4-4.
Velocity normal to inlet (V extrapolated)
The absolute total pressure and the absolute total temperature on the inlet boundary are specified.
The orientation of the velocity will be set to be normal to the inlet surface. The magnitude of the
absolute velocity is extrapolated from the interior field.
where
and
represents the absolute velocity at the inlet,
is the velocity norm inside the domain
is the normal unit vector pointing outside of the domain.
C. Mass flow, Direction of Absolute Velocity Vector and
Static Temperature Imposed (Subsonic)
This boundary condition permits to impose the value of the mass flow through a specified control
surface. The control surface is defined by grouping several patches into the same group. In
addition to the mass flow, the direction of the velocity vector and the static temperature are
imposed.
Two variants are available:
l the direction of the absolute velocity vector is imposed in the Cartesian coordinate system
(vx/|v|,vy/|v|,vz/|v|).
l Velocity normal to inlet.
Two possibilities exist for the treatment of the static temperature:
l it can be imposed at a given fixed value,
l a relation can be imposed between the inlet static temperature and the averaged temperature
along a specified outlet. In this case the user specifies the patch name (or group name) of the
connected outlet and the difference of temperature between the inlet and outlet temperatures.
The difference of temperature is specified instead of the static temperature. If the specified
value is zero, the temperature at the inlet will be equal to the average outlet temperature,
whereas if the specified values is for instance 20, the temperature will be equal to the outlet
temperature + 20.
D.
Imposing the Complete Flow Conditions (Supersonic)
The flow at inlet is completely specified, by giving the static pressure, static temperature and the
three absolute Cartesian velocity components. This boundary condition is only available for a
compressible fluid.
4.1.4
Turbulent Inlet Boundary Conditions
For a turbulent calculation with a turbulence model solving additional equation(s) for turbulent
variable(s), the turbulent inlet boundary conditions must be specified. It is important to note that
the level of turbulence quantities (i.e. turbulence intensity, µ t , k , ε,...) specified at the inlet
boundary can have a strong effect on the flow-field prediction for quantities like the total pressure,
velocity profiles, flow angles, total temperature etc.
The turbulent quantities specified at the inlet are global and only constant values are allowed (with
the exception of
for the others). All mathematical formulas that transform
the specified turbulent quantities to the turbulent variables, consider a uniform flow at the inlet
equal to the averaged inlet velocity. If the user wants to use a spatial profile for the turbulent
quantities, he has to select
for S-A and k and
for S-A or k and
for the others.
Spalart-Allmaras Model
When a Spalart-Allmaras model is selected, the turbulence at the boundaries can be specified by
different sets of turbulent quantities:
l Turbulent Viscosity:
(m²/s)
l Turbulent Viscosity Ratio:
(-), related to the turbulent viscosity by
with
(m²/s) the laminar viscosity
l Turbulent Intensity and Length Scale:
(%) and
(m), related to the turbulent viscosity
by
with
(m/s) the averaged velocity at boundary
l Turbulent Intensity and Hydraulic Diameter:
(%) and
(m), related to the turbulent
viscosity by
with
(m/s) the averaged velocity at the boundary
If no information is available on the turbulence properties of the flow, please refer to the User
Manual to get an estimated value.
k-ε Models
When a k-ε model is selected, the turbulence at the boundaries can be specified by different sets
of turbulent quantities:
l k and epsilon:
(m²/s²) and
(m²/s3)
l Turbulent Intensity and Viscosity Ratio:
(%) and
(-), related to
and
by
with
(m/s) the averaged velocity at the boundary
l Turbulent Intensity and Length Scale:
(%) and (m), related to
and
by
with
(m/s) the averaged velocity at the boundary
l Turbulent Intensity and Hydraulic Diameter:
(%) and
(m), related to
and
by
with
(m/s) the averaged velocity at the boundary
If no information is available on the turbulence properties of the flow, please refer to the User
Manual to get an estimated value.
k-ω Models
When a k-ω model is selected, the same turbulent quantities as for the k-ε models are available.
The value for ω is determined according to:
with
and
in the formulas presented for the k-ε models.
The only exceptions are the EARSM turbulence models for which the relation between the
viscosity ratio
is determined by
and
where the coefficients A1 and N depend on the EARSM model, .
v²-f Model
When the v²-f model is selected, the turbulence at the boundaries can be specified by different sets
of turbulent quantities:
l k and epsilon:
(m²/s²) and
(m²/s)
l Turbulent Intensity and Viscosity Ratio:
(%) and
(-), related to
and
by
with
(m/s) the averaged velocity at the boundary
l Turbulent Intensity and Length Scale:
(%) and (m), related to
and
by
with
(m/s) the averaged velocity at the boundary
l Turbulent Intensity and Hydraulic Diameter:
(%) and
(m), related to
and
by
with
(m/s) the averaged velocity at the boundary
The value of v² is deduced assuming isotropic turbulence:
If no information is available on the turbulence properties of the flow, please refer to the User
Manual to get an estimated value.
4.2 OUTLET BOUNDARY CONDITIONS
4.2.1
Outlet Boundary Conditions for Subsonic Flow
A. Pressure Imposed
Static Pressure Imposed
The static pressure at the outlet boundary is specified. The remaining dependent variables on the
outlet boundary are obtained from the interior field through extrapolation.
The default extrapolation is a zero order extrapolation of the static temperature and the absolute
velocity.
Several options are available:
l order of extrapolation: zero or first order (in expert user mode),
l backflow treatment: active or not.
The purpose of the treatment of backflow is to control the total temperature distribution along the
exit boundary. In case the flow partially re-enters the domain through the exit boundary, the total
temperature of the entering flow is controlled so that the entering and outgoing flow globally have
the same total temperature.
Averaged Static Pressure Imposed
In some cases, an uniform pressure can not be imposed on the whole outlet area. This boundary
condition allows imposing an averaged static pressure. The remaining dependent variables on the
outlet boundary are obtained from the interior field through extrapolation.
The pressure profile is obtained by extrapolation from the interior field and it is translated to
ensure that the computed averaged pressure on the outlet area is the target averaged pressure
specified by the user. This translated profile is then the imposed pressure profile.
The options described in the previous paragraph are still available.
Static Pressure Imposed with Radial Equilibrium
The static pressure in the outlet section is assumed to be uniform in the tangential direction and to
vary in radial direction according to:
The user specifies the static pressure at a specific radius, followed by that radius and the radial
direction. The radial direction is specified by using the block orientation (I-direction, J-direction or
K-direction).
The pressure distribution in the outlet section is then found by integrating the previous equation
with pitchwise averaged values of Vθ and r.
The other variables are extrapolated following the system of options exposed above . The
treatment of backflow is not implemented for this boundary condition.
B. Mass Flow Imposed
Velocity Scaling
This condition fixes the mass flow at a given control surface by scaling the velocity vectors on
this surface. The other variables are extrapolated following the system of options exposed above.
The scaling of the velocity vector is not totally free. The value of the scaling factor is constrained
between VELSCA and 1/VELSCA, where VELSCA is an expert parameter available in the
Control Variables page in the Expert Mode.
Given that the pressure is also extrapolated with this condition, it is imperative that the inlet
boundary condition fixes the pressure through the total pressure.
Fixing the mass flow is not as robust as to impose the pressure and this is particularly sensitive
with full-multigrid. A pressure is thus requested as input and is imposed during the full-multigrid
process. Consequently, the mass flow computed at outlet is not exactly the target mass flow
during the computation on the coarse grids.
This option is not recommended in case significant backflow is detected along the exit. The next
option (exit pressure adaptation) is then better suited.
Pressure Adaptation
This boundary condition is an adaptation of the ' Static Pressure Imposed ' and ' Radial
Equilibrium' boundary conditions.
An automatic procedure is included to introduce a variation of the imposed exit pressure at each
iteration of the calculation. The pressure is iteratively updated in order to reach the imposed mass
flow at convergence. The successive pressure modifications methodology is determined by the
expert parameter MASPAO in the Control Variables page.
l MASPAO = 1: the pressure adaptation at the outlet is based on the reference pressure and
temperature values, as well as on the specified characteristic length. The modification in the
outlet static pressure differs for each type of fluid:
o For a calorically or thermally perfect fluid:
o For a condensable fluid:
where
and
are respectively the characteristic length and reference temperature
specified in the Flow Model page. RGAS and RELAXP are expert parameters found in the
Control Variables page defining the specific gas constant
and the under-relaxation
factor for the successive modifications of the exit pressure, respectively. The default value of
RELAXP is 1. For condensable fluids, the speed of sound,
, is calculated as function of the
reference pressure,
, and of the reference temperature.
l MASPAO = 2 (default): the pressure adaptation is based on characteristic values directly
related to the outlet boundary according to:
o If
:
o Else:
where
and
are the area averaged values of flow velocity and density at the outlet,
respectively, and
is the exit surface area.
The value of the exit pressure provided by the user is the initial one. In case the radial equilibrium
is used, the initial value of the exit pressure is imposed at midspan.
Contrary to the previous option fixing the mass flow through velocity scaling, it is only after
convergence of the procedure that the mass flow reaches the imposed value.
C. Averaged Mach Number
This boundary condition is an adaptation of the 'Pressure Imposed' boundary condition. The exit
pressure is updated according to the specified averaged Mach number. Because the relation
between the averaged Mach number and the pressure is too complex, an automatic procedure is
included that introduces a variation of the imposed exit pressure at each iteration of the
calculation. The pressure is iteratively updated in order to reach at convergence the imposed
averaged Mach number. The successive pressure modifications are calculated according to:
if
if
where
and
are the pressure at the iteration n+1 and n, respectively.
is the averaged
Much number at the iteration n. RELAXP is an expert parameters defined in the Control
Variables page. The expert parameter RELAXP introduces an under-relaxation of the successive
modifications of the exit pressure. FACT is a factor that is dependent on the fluid model.
D. Characteristic Imposed
This boundary condition has been implemented to increase the robustness in the frame of a design
process. It is not always suitable to impose the pressure at the exit because it can drive the
machine to stall when the changes in geometry affect its characteristic line.
The proposed solution is to impose a relation between the mass flow and the pressure at the outlet.
It is no longer needed to choose between imposing pressure when working around the chocking
part and imposing mass flow when working close to the stall limit.
The user has to impose a line defined through 3 parameters: a target outlet mass flow (
), a
target outlet pressure (
) and the pressure at zero mass flow (
).
The implementation follows three principles:
l The relation between mass flow and pressure is imposed from a function of the type:
with
A linearisation of the relation is applied to obtain:
where the δ are the variations of the mass flow and averaged exit pressure and where F and its
derivatives are computed from the old values of p and
.
l The local outgoing characteristic variables are extrapolated.
l the relation between
and
is imposed as follows:
with Δp is constant over the whole outlet and with the subscripts 0 and 1 corresponding
respectively to the value in the first outer cell and in the first inner cell.
Combining these three principles and expressing
and p in function of Δp at the outlet, the
previous equation can be written as a polynomial of second order in Δp. The suitable root is
chosen so that the imposed pressure always respects the relation defined between the mass flow
and the pressure during the computation.
4.2.2 Outlet Boundary Conditions for Supersonic Flow
This condition is to be used in case of supersonic outflow and is only valid for compressible
fluids.
The dependent variables at the outlet are extrapolated from the interior through first- order
extrapolation.
If no preconditioning is used, there is some checking on negative or small pressures: if the static
pressure is less than 1E-15 after extrapolation, it is put to 1E-15.
4.2.3
Treatment of Backflow at Outlet (Radial Diffuser)
The option for the treatment of backflow can be used by activating the corresponding option in
the FINE™/Turbo interface. This option has been initially implemented in order to ensure a
proper treatment of radial diffusers outlets in case of flow separations.
The treatment is based on the hypothesis that the absolute total temperature should be constant
throughout the outlet section. If the flow is re-entering the numerical domain through a part of the
outlet section, a hybrid boundary condition is applied in that region:
l the static pressure is imposed,
l the velocity vector is extrapolated,
l the absolute total temperature is imposed at a value equal to the averaged total temperature
along the outlet (the averaging is performed throughout the region where the flow leaves the
domain.
This treatment permits to avoid the introduction of an uncontrolled total temperature level in the
regions where the flow re-enters the domain, and in this way to better respect the physics of the
flow.
4.3
SOLID WALL BOUNDARY CONDITIONS
4.3.1
Euler Walls
For Euler walls the velocity has to be tangential to the wall.
To obtain the velocity vector on the wall, the velocity vector is first extrapolated from the interior
with zero or first order extrapolation according to the selected option in the FINE™/Turbo
interface:
with subscripts w,1,2 denoting respectively the wall, the first and the second inner cell.
The tangential part of the extrapolated velocity vector is:
with
the normal to the wall. The velocity vector on the wall is finally found by a scaling process
such that its module equals:
The wall density and pressure are obtained through extrapolation from the interior with zero
order:
or first order:
Alternatively the pressure can be solved from the normal momentum equation:
which is written in a local curvilinear system as:
where ξ, η, ζ represent the coordinates in the i, j and k directions, and where it is assumed that the
are the
j-direction is directed away from the wall (not necessarily perpendicular to the wall).
surface vectors of the corresponding cell faces.
The previous equation is then solved for
, whereas zero-order extrapolation is used for the
density.
Adiabatic Walls with Acoustic Impedance
The acoustic impedance specifies a fluctuation of the normal velocity at the wall, following:
The impedance is of the form:
where the real part is resistance and the imaginary the reactance.
The acoustic impedance is assumed to be constant along the liner and the treatment is assumed to
be impermeable, meaning that the normal component of the time-mean velocity remains zero.
4.3.2 Navier-Stokes Walls
A. Adiabatic Walls
The velocity vector on the wall vanishes. If the cylindrical boundary condition is used, the angular
velocity of the wall (in the absolute frame of reference) has to be specified.
The velocity relative to the wall should be zero, leading to:
with subscripts s, w referring to respectively the system and the wall.
A relation for the pressure is obtained by projection of the momentum equation onto the wall
normal direction . Written in the absolute frame of reference:
The normal pressure gradient can be written as a function of pressure derivatives along the
coordinate lines:
,
where ξ, η, ζ represent the coordinates in the i, j and k directions, and where it is assumed that the
are the
j-direction is directed away from the wall (not necessarily perpendicular to the wall).
surface vectors of the corresponding cell faces.
Combining the relation for the pressure and the normal pressure gradient and considering that the
velocity vanishes on the wall, yields:
COR 1 COR2 COR3
Two implementations of the adiabatic Navier-Stokes wall are available.
In the simplest one, only the terms COR1 and COR2 of the equation above are taken into account
in the evaluation of the pressure derivative. This corresponds to assume that the normal pressure
gradient equals zero. Taking into account that the velocity, appearing in the term COR2, is the
velocity on the wall, this term can be simplified to:
Note that COR2 vanishes for a stator wall.
In the more complicated implementation the complete normal momentum equation is considered
in the evaluation of the pressure derivative, i.e. the term COR3 is also accounted for. Applying
Gauss' theorem this term can be rewritten as:
Once
is determined, the pressure on the wall is obtained as (assuming the direction
points inside the interior field, and with indices w,1 representing the wall and the first inner cell):
The temperature on the wall is obtained by expressing that the normal temperature gradient
vanishes, or in terms of the derivatives along the coordinate lines, cf. normal pressure gradient:
The wall temperature is then found using a similar equation as the pressure on the wall.
The density follows from pressure and temperature through the appropriate relation, depending on
the type of gas.
B. Adiabatic Walls with Acoustic Impedance
The acoustic impedance specifies a fluctuation of the normal velocity at the wall, following:
The impedance is of the form:
where the real part is resistance and the imaginary the reactance.
The acoustic impedance is assumed to be constant along the liner and the treatment is assumed to
be impermeable, meaning that the normal component of the time-mean velocity remains zero.
C.
Isothermal Walls
The isothermal wall boundary condition is very similar to the adiabatic Navier-Stokes wall. The
only difference is in the determination of the wall temperature, which is fixed to the specified
temperature in the current boundary condition. Again two versions are available, depending on
whether all the terms in the normal momentum equation are taken into account when determining
the wall pressure.
For the cylindrical isothermal walls the angular velocity of the wall has to be specified. For all
versions the wall temperature is specified.
The pressure is determined as in the adiabatic condition and the density follows from pressure and
temperature through the appropriate relation, depending on the type of gas.
D. Wall with Imposed Heat Flux
The wall with imposed heat flux boundary condition is very similar to the adiabatic Navier-Stokes
wall. The only difference is in the determination of the wall temperature. For this condition the
temperature is determined from the imposed heat flux (W/m²).
The pressure is determined as in the adiabatic condition and the density follows from pressure and
temperature through the appropriate relation, depending on the type of gas.
E. Wall with Imposed Heat Transfer Coefficient
The wall with imposed heat transfer coefficient boundary condition is very similar to the adiabatic
. For
Navier-Stokes wall. The only difference is in the determination of the wall temperature
this condition the temperature is determined from the imposed heat
(W/K/m²):
transfer coefficient h
where
wall,
is the fluid heat conductivity,
is the temperature in the first inner cell centre,
is the distance between the first inner cell centre and the
is the reference temperature imposed
by the user in the Boundary Conditions / SOLID page.
The pressure is determined as in the adiabatic condition and the density follows from pressure and
temperature through the appropriate relation, depending on the type of gas.
F. Rothalpy Preserving Walls
Preliminary design tools often use methods based on rothalpy conservation. However, a rather
standard way to investigate and even to design compressor blades using tri-dimensional CFD
calculations is to consider all solid walls as adiabatic . Both approaches could be found
contradictory and could be a reason for significant discrepancies between preliminary and final
designs. Changes in rothalpy of a fluid particle can be caused by:
l Unsteady pressure fluctuations in the rotating frame;
l Angular acceleration of the rotating frame;
l Work done by the net viscous forces per unit volume on the relative flow;
l Work done by body forces on the relative flow;
l Entropy changes due to viscous dissipation and heat transfer.
Therefore, for classical steady viscous flow calculations with adiabatic boundary conditions,
rothalpy is conserved as far as the power losses due to wall friction can be negligible. However,
for the static shroud of a rotating blade such an assumption is not valid. Power losses caused by
wall friction are rather important and lead to significant changes in rothalpy. This is particularly
true for turbomachines with an important outlet flow angle (such as for centrifugal compressors).
The conservation of rothalpy for a steady viscous flow can be expressed as:
The first term of the right hand side represents the work due to viscous term, whereas the second
one is the heat flux. In order to conserve rothalpy, both terms should be balanced. The rothalpy
preserving solid boundary condition ensures a zero gradient of rothaly normal to a solid wall.
For harmonic simulations, the thermal boundary condition for harmonics behaves as for an
adiabatic configuration. For unsteady RANS computations, the boundary condition is applied as
an instantaneous balance between the heat flux and the work caused by viscous terms following
exactly the equation above.
The rothalpy preserving type of boundary condition is recommended along the non-rotating shroud of
a centrifugal rotating row if an overshoot of total temperature is detected close to the casing.
The limitations of this feature are:
• Not compatible with cavitation and thermal effects.
• Only for rotating configurations.
• No option to have pressure “From Normal Momentum equation” but only from “Extrapolation”.
G. Turbulent wall Boundary Conditions
For a turbulent calculation with the turbulence model (except the Baldwin-Lomax model), the
turbulent wall boundary conditions need to be treated. For more information modeling the flow
near the wall.
Spalart-Allmaras Model
When the Spalart-Allmaras model is selected, the turbulent working variable
wall.
in the solid
k-ε Models
When the k-ε models are selected, the values of k and ε are imposed at the solid wall for the
Chien and Launder & Sharma, while for the Standard models, it is imposed in the first inner cell.
k-ω Models
When the k-ω models are selected, the boundary condition on solid wall is the following one:
It should be noted that the boundary value for ω in the Wilcox model is ten time smaller than the
result from the previous equation.
v²-f Model
When the v²-f model is selected, The boundary condition on solid wall boundaries are:
4.4
FAR-FIELD BOUNDARY CONDITIONS
External
Far-field boundary condition uses Riemann invariants that are defined as:
where
are the Riemann variables associated with the direction
and c is the local speed of
sound.
For subsonic inflow,
corresponds to a positive, incoming characteristic. In that case,
is obtained from the free stream values:
where
is the free stream velocity,
the free stream speed of sound.
, on the other hand, corresponds to an outgoing characteristic and has to be estimated from
inside the computational domain by an appropriate extrapolation:
where subscript i refers to values from the interior.
If the flow exits, the non-normal velocity components and the entropy are extrapolated from the
inner domain. If the flow enters, their value comes from the boundary conditions imposed. Other
variables are computed using the normal and non-normal components, entropy and speed of
sound.
The normal velocity and the local speed of sound can now be obtained on the boundary by
adding and subtracting both Riemann variables
and
:
The entropy on the wall is set to the free stream entropy. All the flow variables can then be
obtained.
Corresponding formulas hold for a subsonic outflow with the difference that
and the wall
entropy are obtained from interior values.
For supersonic flows, both Riemann variables and the entropy are obtained from free stream
values for inflow, interior values for outflow.
For computations with preconditioning, the same principle is used with modified invariants
defined as:
where
The free stream variables of static pressure, static temperature and the three velocity components
are specified by the user in the boundary condition file.
Turbulent External Boundary Conditions
For a turbulent calculation with a 1- or 2-equation turbulence model, the free stream values of the
turbulence on the external boundaries must be specified by the user. The turbulence values on the
external boundary are set to their free stream values (inflow) or extrapolated from the interior
(outflow).
Spalart-Allmaras Model
When a Spalart-Allmaras model is selected, the turbulence at the boundaries can be specified by
different sets of turbulent quantities:
l Turbulent Viscosity:
(m²/s)
l Turbulent Viscosity Ratio:
(-), related to the turbulent viscosity by
with
(m²/s) the laminar viscosity
l Turbulent Intensity and Length Scale:
(%) and
(m), related to the turbulent viscosity
by
with
(m/s) the averaged velocity at boundary
l Turbulent Intensity and Hydraulic Diameter:
(%) and
(m), related to the turbulent
viscosity by
with
(m/s) the averaged velocity at the boundary
If no information is available on the turbulence properties of the flow, please refer to the User
Manual to get an estimated value.
k-ε Models
When a k-ε model is selected, the turbulence at the boundaries can be specified by different sets
of turbulent quantities:
l k and epsilon:
(m²/s²) and
(m²/s3)
l Turbulent Intensity and Viscosity Ratio:
(%) and
(-), related to
and
by
with
(m/s) the averaged velocity at the boundary
l Turbulent Intensity and Length Scale:
(%) and (m), related to
and
by
with
(m/s) the averaged velocity at the boundary
l Turbulent Intensity and Hydraulic Diameter:
(%) and
(m), related to
and
by
with
(m/s) the averaged velocity at the boundary
If no information is available on the turbulence properties of the flow, please refer to the User
Manual to get an estimated value.
k-ω Models
When a k-ω model is selected, the same turbulent quantities as for the k-ε models are available.
The value for ω is determined according to:
with
and
in the formulas presented for the k-ε models.
The only exceptions are the EARSM turbulence models for which the relation between the
viscosity ratio
is determined by
and
where the coefficients A1 and N depend on the EARSM model, .
v²-f Model
When the v²-f model is selected, the turbulence at the boundaries can be specified by different sets
of turbulent quantities:
l k and epsilon:
(m²/s²) and
(m²/s)
l Turbulent Intensity and Viscosity Ratio:
(%) and
(-), related to
and
by
with
(m/s) the averaged velocity at the boundary
l Turbulent Intensity and Length Scale:
(%) and (m), related to
and
by
with
(m/s) the averaged velocity at the boundary
l Turbulent Intensity and Hydraulic Diameter:
(%) and
(m), related to
and
by
with
(m/s) the averaged velocity at the boundary
The value of v² is deduced assuming isotropic turbulence:
If no information is available on the turbulence properties of the flow, please refer to the User
Manual to get an estimated value.
4.5
UNSTEADY INLET AND OUTLET BOUNDARY
CONDITIONS
For a steady state flow problem, to any quantity imposed at the inlet or outlet section, a space
distribution on the surface is corresponding. This space distribution can be uniform, one
dimensional (x,y,z,r,θ,z) or two dimensional (xy,xz,yz,rθ,rz,θz). These distributions are written in
a file and the code performs a linear interpolation to obtain the desired quantity on the cell face
centre of the section.
For an unsteady flow problem, the inlet and outlet imposed quantities may vary in time. Two
possibilities are available within the FINE™/Turbo solver:
user specified time function
For a fixed reference system with time dependent boundary conditions, the boundary condition
for a quantity q is given by:
where q0 is a space distribution (uniform, 1D or 2D) and f(t) is a scaling function read from a file:
(tn, f(tn)).
rotation of the reference system
The settings of a Rotating Boundary Condition can be seen in the Harmonic Method section.
4.6
NON REFLECTING INLET AND OUTLET
BOUNDARY CONDITIONS
Concept
Currently, several different boundary condition types are available for inlet and outlet patches in
FINE™/Turbo. The appropriate choice usually depends on the available data, the fluid model, the
flow regime (subsonic/supersonic), the presence of perturbations caused by a disturbing body, the
physical phenomena to be captured in the domain, among others. The complexity is often
increased when the inlet and outlet patches are located close to the blade rows. In such
configurations, spurious, non-physical reflections of waves can occur at the boundaries. These
waves come from the hyperbolic nature of the Navier and Stokes (NS) equations and are
identified as an entropy wave, two vorticity waves and two acoustic waves for the linearized
Euler equations with a compressible ideal gas.
Similar to the non reflecting treatment adopted at rotor- stator interfaces for steady states
computations, inlet and outlet non reflecting boundaries aim to remove or decrease the reflection
of the waves going out the domain so that, ideally, these patches become transparent to the
numerical evolution of the flow and the results independent on the distance to the blade row.
For turbomachinery applications, the flow is three-dimensional and not uniform. However, the
spanwise variations are usually smaller than pitchwise variations and consequently a quasi-3D
approach can be used by applying the 2D non reflecting boundary conditions at different
spanwise locations. The quasi-3D approach for non reflecting boundaries [Saxer and Giles, 1993]
can be sufficient for steady computations of many cases. This method is already implemented for
the non reflecting rotor-stator interfaces and extended successfully to real gases and fluids with
thermodynamic tables. It constitutes the base of the formulation (more details here) for inlet and
outlet non reflecting boundary conditions in the FINE™/Turbo solver.
Inlets
Theoretically, the entropy and the stagnation enthalpy should be uniform at the inlet, but this is
not respected because second order effects are neglected in the linear theory. Giles (1991)
proposes to combine the non reflecting treatment with the specification of an uniform entropy and
stagnation enthalpy as boundary conditions.
Starting from the equations presented for the non reflecting treatment at the rotor-stator interfaces
(2D non reflecting with LOCCOR = 3), two additional constraints are considered at the inlet for
the pitchwise average changes of the incoming characteristic variables: they concern the flow
direction that is specified at the inlet. By this way,
the boundary conditions that can be
transformed to the specification of entropy, stagnation enthalpy and flow direction can be
respected in combination with the non reflecting treatment.
Note that working with such an equivalent boundary condition excludes the inlets with specified static
quantities because the entropy and the stagnation enthalpy cannot be determined from these quantities.
For subsonic inlets, the specification of pitchwise averaged values for entropy and stagnation
enthalpy as well as for the flow direction are imposed by driving the following residuals to zero
(Giles, 1991):
The pitchwise average changes in the incoming characteristic variables which are required to
drive these residuals to zero, are obtained by solving the following equations
The jacobian matrix is obtained as the product of two other matrices:
Finally, the average changes in the characteristic variables are calculated by inverting the jacobian
matrix:
With
The next step is to calculate the local changes in the characteristic variables at each point on the
inflow boundary due to the pitchwise variation in the characteristic variables along the boundary.
For the second and third characteristics, the local changes are the difference between the correct
steady state 2D non reflecting conditions and the current values.
Where
stands for the grid indices in the pitchwise direction. When
is equal to zero,
is related to the local variations of the outgoing characteristic. The value of
is
directly computed from its definition:
Depending on the properties of the coefficient
shown below, a Fourier transform can be
required.
If
,
A Fourier transform of the fifth characteristic is performed along the
cells in the pitchwise
direction. Theoretically, the number of modes can increase up to the number of points. Usually
the range of
is from
to
:
Then
and the inverse transform gives the local value:
If
,
As
is real and independent of the mode, a direct relation is obtained:
For the first and fourth characteristics, the local changes are obtained from the condition that the
local entropy and stagnation enthalpy should match the average values. These local constraints are
imposed in order to get more uniform values for the entropy and the stagnation enthalpy at the
inlet (Giles, 1991). Similarly to the process performed to the average changes, this is equivalent to
drive the following residuals to zero:
From the formulation obtained with the jacobian matrix previously, the following relations are
obtained:
Finally the imposed changes of the characteristic
at each point
are under relaxed by a factor
with old values coming from the previous iteration.
In the case of supersonic inlet, all characteristics are entering on the boundary and the flow field at
the boundary is independent of the downstream flow field. So the correct boundary conditions
can be set directly.
Outlets
Only the case of a subsonic outlet is treated by the solver since no boundary condition can be
imposed with an axially supersonic outlet. Indeed all characteristic are going out on such a
boundary.
In the case of subsonic outlet, four characteristics are leaving and one characteristic is entering the
computational domain. One boundary condition can be imposed and this is usually an average
static pressure that can vary in the spanwise direction. So the average change of the incoming
characteristic at each spanwise location is set to drive the following residual to zero:
By applying an approach similar to one for inlets, the following average change is obtained:
The local change is given by the difference between the correct steady state 2D non reflecting
condition and the current value.
Similarly to the inlet boundary condition, a Fourier transform can be required depending on the
properties of the coefficient
.
If
,
cells in the
A Fourier transform of the second and fourth characteristics is performed along the
pitchwise direction. Theoretically, the number of modes can increase up to the number of points.
Usually the range of
is from
to
:
Then the Fourier transform of the fifth characteristic is computed and the inverse transform gives
the local value:
If
,
As
is real and independent of the mode, a direct relation is obtained:
Finally the imposed change of the fifth characteristic at each point
are under relaxed by a factor
with old values coming from the previous iteration.
4.7
REFERENCES
Saxer, A. P. and Giles, M. B., 1993, "Quasi- Three- Dimensional Nonreflecting Boundary
Conditions for Euler Equations Calculations", AIAA Journal of Propulsion and Power, Vol. 9,
No. 2.
Giles, M. B., 1991, “UNSFLO: A numerical method for the calculation of unsteady flow in
turbomachinery”. GTL Report No.205.
CHAPTER 5.
NUMERICAL SCHEMES
This chapter describes the basic solution theory in the FINE™/Turbo solver:
In this section
5.1 Discretization and Solution Theory
5.2 Preconditioning
5.3 Time Configuration
5.4 References
115
133
140
145
5.1
DISCRETIZATION AND SOLUTION THEORY
5.1.1
Spatial Discretization
The discretization in space is based on a cell centered control volume approach. The general
Navier Stokes equation is discretised as:
where
,
are respectively the inviscid and viscous fluxes.
Viscous Fluxes
The viscous fluxes are determined in a purely central way. As they contain gradients, gradients
must be evaluated on the cell faces. This is done by applying Gauss' theorem:
Two options exist:
1. IFACE = 0, the gradients are first calculated in cell corners. This is done by applying Guass'
theorem using as control volume, the volume that has the cell centres that surround the cell
corner of interest as corner points, as depicted in FIGURE 5.1 (a) below for two dimensions.
The cell face gradient is then obtained by averaging the gradients in the 4 corners of the cell
face. Arithmetic averaging (input variable IWAVVI=0) or a more accurate weighted averaging
may be chosen (IWAVVI=1).
2. IFACE = 1 (Default), gradients are calculated directly on cell faces. FIGURE 5.1 (b) and (c)
illustrate the control volumes used to find the gradient on respectively the cell face i+1/2 and
j+1/2.
The option IFACE=1 is more robust and therefore preferred (default), although it is more
expensive as the total number of cell faces is approximately 3 times the number of cell corners.
FIGURE 5.1
: Different control volumes used to calculate gradients in cell corners or cell faces.
Inviscid Fluxes
The inviscid fluxes are upwind based numerical fluxes, and therefore noted with a * superscript.
The inviscid numerical flux is expressed as, Hirsch (1990):
The first term in the right-hand-side of this equation corresponds to a purely central evaluation of
represents a numerical dissipation term, that may be an artificial
the flux. The term
dissipation, used in combination with central schemes, or the dissipation associated with upwind
schemes.
In the equation above an arithmetic averaging technique is used. Alternatively,
averaging the fluxes in this equation, a flux can be used, based on the averaged unknowns, i.e.
instead of
Theoretically, the formulation from Hirsch is to be preferred, but, in combination with the central
scheme, the latest formulation (default) is sometimes more robust, especially for high speed flows.
Both central schemes and upwind schemes are available within the FINE™/Turbo solver.
Central Scheme
In the former case, a Jameson type dissipation is used with 2nd and 4th order derivatives of the
conservative variables, Jameson (1981):
The scalar coefficients ε are given by:
The coefficients
are user input, respectively VIS2,VIS4 in the non- interfaced
parameters.
The cell centered values of
in the Jameson type equation are obtained by arithmetic
averaging of the cell face values of the scalar coefficients ε . The variables
are sensors to
activate the second-difference dissipation in regions of strong gradients, such as shocks, and to
deactivate it elsewhere. They are based on pressure and temperature variations (depending on the
value for the expert parameter IARTV2) and are defined as:
for all equations except the k and ε equations. For liquids, only a pressure switch is used. For the
is based on the pressure, on the turbulent kinetic energy and on the
k and ε equations,
dissipation rate:
in the scalar coefficients ε equations is a measure of the inviscid fluxes and is commonly
chosen as the spectral radius multiplied with the cell face area:
On high aspect ratio meshes, the resulting dissipation in the streamwise direction may become
very low. Increasing it may improve the robustness and the convergence rate. According to
Martinelli (1987), the spectral radii in the other directions are also accounted for. Instead of the
previous equation one uses:
The spectral radii in the other directions are defined similarly, e.g. for the j-direction:
The cell face normal
is obtained by averaging the normals on the 4 cell faces in the j-
direction, belonging to the 2 cells that share the i+1/2 cell face.
The parameter σ is user input (EXPMAR). The default value is 0.5, i.e. Eq. 5-9 is used. In the
current version of the FINE™/Turbo solver, the Martinelli approach is not yet implemented for
the turbulence equations.
Note that if the k-ϵ turbulence model is chosen, the resulting equations for k and ϵ can be solved
for the artificial
with the central scheme (IUPWTE=0). Separate coefficients
dissipation can be chosen, respectively VIS2KE and VIS4KE in the non- interfaced expert
parameters. Both the 2nd and 4th order dissipation are damped by multiplying them with the
following exponential function:
The constant
damping is applied in the region where y+<CDIDTE, the default is CDIDTE=100;
volume and
corresponds to the input variable CDIDTE. The above expression means that the
is the cell
the cell face area.
Upwind Schemes
In the upwind case, the dissipation term is:
where
conservative variables U or the primitive variables
through
represents the variation of the characteristic variables which is related to the
The matrices R and
contain respectively the right and left eigenvectors of the Jacobian
matrix.
in the dissipation term represents a diagonal matrix with
the
element in row and column l.
They are to be evaluated on the cell faces, and therefore require the knowledge of the primitive
variables on the cell face. These can be obtained either by arithmetic averaging of the primitive
variables in the cell centres left and right of the cell face (input variable IROEAV=0) or by a Roe-
type of averaging (IROEAV=1). In the latter case the following formulas are used:
Theoretically the Roe averages have to be used. However, in practice, arithmetic averages can be
used in most applications without any repercussion on accuracy or convergence. Arithmetic
averaging has the advantage that it is computationally less expensive.
Different upwind schemes result, depending on the expression for α. In the FINE™/Turbo solver
a TVD version of the Flux Difference Splitting scheme (FDS TVD), Roe (1981), and Symmetric
TVD (STVD), Yee (1987), are available.
For both schemes α can be expressed as:
where
represents the eigenvalues of the Jacobian matrix and
is a limiter function,
ensuring monotonicity.
Both the FDS TVD and STVD scheme do not have a built-in entropy criterion, which would
guarantee that the 2nd law of thermodynamics is satisfied. These schemes therefore may allow
unphysical solutions, such as expansion shocks.
In order to avoid unphysical solutions an entropy fix is used. The eigenvalue
in α is
replaced by
:
This equation limits the minimum value of
to . In subsonic and transonic cases a small
suffices (choose the input variable ENTRFX < 1.). For
constant value (<1.) for the entropy fix
flow simulations in high speed regime, it is advised to scale the entropy fix with the spectral
radius, by choosing the input variable ENTRFX > 1, e.g. ENTRFX=1.05 or 1.1. The scaling
factor is then ENTRFX-1., i.e.:
The latter choice also increases the robustness, at the expense of a slightly increased dissipation.
Two values for ENTRFX are to be specified. The first one applies to the linear field (the
), the second value to the nonlinear field
characteristic variables that propagate with speed
(the characteristic variables that propagate with speed
).
For first-order upwind schemes, the limiter vanishes and both FDS TVD and STVD reduce to the
same first-order accurate upwind scheme.
For second-order upwind schemes, the limiter is activated.
The limiter
acts on ratios
of variations of the characteristic variables, defined as:
For the FDS TVD scheme, Q is function of only one of the ratios, according to the sign of the
eigenvalue:
The following limiters are available:
l Min Mod limiter
l Van Albada limiter
l Van Leer limiter
l Super Bee limiter
the Van Albada limiter
which represent respectively the Min Mod limiter (LIMITE=1),
(LIMITE=2), the Van Leer limiter (LIMITE=3) and the Super Bee limiter (LIMITE=4). The
function minmod chooses the value with the minimum module.
In the STVD scheme, the check on the eigenvalue sign is avoided by choosing
as a function of
the two ratios
and
Since the 'classical' limiters such as Van Leer, Van Albada, Min Mod, Super Bee are defined as a
function of one ratio, this equation would exclude these limiters in a STVD context.
A new family of non-separable limiters, containing also smooth limiters, is proposed within the
FINE™/Turbo solver, Lacor et al. (1993).
The classical limiter functions are applied to a so-called effective ratio
, which is an average of
and
:
The same functions
as given in the limiters above can be chosen, where the ratio r is replaced
by the effective ratio
(the same limiters as for the FDS scheme are used).
The following possible choices for the effective ratio are proposed:
It can be shown that these new limiters guarantee monotonicity provided that:
which is easily achieved by switching the limiter off for negative
.
The effective ratios are given in order of increasing magnitude. It can be shown that the lower
,
the more diffusive the resulting limiter is. The choice of effective ratio is governed by the input
parameter IRATIO. IRATIO=1 corresponds to the smallest value in the list of effective ratios,
IRATIO=2 to the 2nd smallest value, and so forth, with IRATIO=6 corresponding to the
maximum value.
For both the FDS and the STVD scheme, different limiters can be applied to the linear field (the
) and to the nonlinear field (the
characteristic variables that propagate with speed
characteristic variables that propagate with speed
). In addition, for the STVD
scheme, a different specific ratio can be chosen for both fields.
To this end, the input variables LIMITE (corresponding to the type of limiter selected in the
Numerical Model page) and IRATIO are vectors of length two. The first component determines
the choice of limiter, respectively the effective ratio for the linear field, the second component for
the nonlinear field.
In general, robustness is increased by applying a more diffusive limiter. By applying this limiter
only to the nonlinear field, and a compressive one to the linear field, a good compromise between
robustness and accuracy can be obtained.
The upwind dissipation can also be reformulated to let the limiter act on ratios of variations of the
primitive variables.
Combining Eq. 5-9 to Eq. 5-11 the limiter function can be moved outside the diagonal matrix and
put in front of the primitive variable variation:
The limiter function is the same as before and acts on ratios where the characteristic variable
variations are replaced by primitive variable variations.
The previous equation can be simplified to
The Jacobian matrix in this equation is the Jacobian with respect to the primitive variables
:
5.1.2
Time Discretization: Multistage Runge-Kutta
An explicit q-stage Runge-Kutta scheme for the equation
can be written:
Where
is the value of U at the time step t and
at the time step
. The
coefficients
They can be chosen in such a way that they suit the problem to be solved.
determine the stability area and the order of accuracy of the Runge-Kutta scheme.
For inviscid calculations the local (i.e. for each cell) inviscid time step is calculated as:
is the user specified CFL number (variable CFL on theNumerical Model page). The vectors
S are cell normals at the cell centre (obtained by averaging the normals on the cell faces) in
respectively i,j and k-direction. The module corresponds to the cell face area.
For viscous calculations one also calculates a local viscous time step in each cell.
If a viscous CFL number
(expert parameter CFLVIS by default set at -1) is specified by the
user in the Control Variables page, i.e. the input variable CFLVIS > 0, the following formula is
used for the viscous time step:
with μ the local laminar viscosity (laminar simulation) or the sum of local laminar and turbulent
viscosity (turbulent simulation).
The actual local time step is then the minimum of both time steps:
If the input variable CFLVIS < 0 (Default) the viscous CFL number,
, is replaced by the
inviscid CFL number,
in the local inviscid time step . The actual local time step is then
obtained by weighting the inviscid and viscous time step according to a harmonic mean formula:
If local time stepping is used, i.e. each cell in the computation domain has its own time step given
by the local inviscid time step equation , for inviscid calculations and Eq. 5-36 or Eq. 5-37
(depending on CFLVIS) for viscous calculations.
If global time stepping is used, i.e. in all cells the same time step is used, which is, for stability
reasons, the minimum of the local time steps. This option is only to be used for unsteady
simulations when the dual time stepping approach (default) is not selected. For steady simulations,
it is recommended always to choose local stepping, as it will increase the convergence rate.
In practice, 4 or 5 stage Runge-Kutta schemes are mostly used. In the FINE™/Turbo solver the
following coefficients are default for 4 and 5 stage schemes:
For central schemes
For first-order upwind schemes:
For second-order upwind schemes:
The user has the possibility to provide the Runge-Kutta coefficients through the expert parameter
IRKCO. The first element of IRKCO corresponds to the first coefficient, the 2nd element to the
second, and so forth. A maximum of 10 coefficients (i.e. a 10-stage scheme) is foreseen. If all
elements of IRKCO are zero the default values are used.
In Jameson (1985) the dissipative terms are calculated only once or a few times in a q-stage
Runge-Kutta scheme. This approach reduces the computational cost substantially.
The disadvantage is that the dissipative terms need to be stored separately. For the laminar Navier-
Stokes equations with 5 equations, 5 extra arrays are required to store the dissipative residuals
from the artificial dissipation.
The residual
is split into a convective and a dissipative part:
The artificial (central or upwind) dissipation terms, are accounted for either in the convective part
(parameter IBOTH = 0) or in the dissipative part (parameter IBOTH = 1).
The expression for F in Eq. 5-33 at any stage m is then
where m is the current stage and r is the latest stage at which the dissipative residuals have been
evaluated.
The recalculation of the dissipative residuals is governed by the (vector) variable ISWV. For a m-
stage Runge- Kutta scheme the m first elements of this vector are used,
the first element
corresponding to the 1st stage, the 2nd element to the 2nd stage and so on. If the element of
ISWV is 0 it means that the dissipative residual should not be calculated at the corresponding
stage, and the latest available dissipative residuals will be used; if it is 1, D will be calculated.
Note that for consistency reasons, the first value of ISWV should always be one.
For upwind schemes, in order to run at high CFL numbers, it is advised to recalculate the upwind
dissipation at every stage. The best strategy is to chose IBOTH = 0 (upwind dissipation put in
convective residuals, and hence calculated at each stage). ISWV monitors then only the
recalculation of the physical dissipation (i.e. Navier-Stokes terms) and a calculation on the first
stage only is usually enough (ISWV = 1 0...0).
Central schemes are usually less sensitive to the recalculation of the artificial dissipation, so that
IBOTH = 1 can be used. The recalculation of artificial dissipation is then also governed by
ISWV. However only one calculation (ISWV = 1 0...0) may not be enough; a better choice is for
instance recalculation once every 2 stages, e.g. ISWV = 1 0 1 0 1 for 5-stage Runge-Kutta.
For IBOTH = 2 (Default), the same strategy as for IBOTH = 1 is used but in addition the physical
viscous terms are evaluated only once per iteration.
For non-equilibrium real gas calculations (ITYGAS = 4 in corresponding ".run" file) the input
variable ISWS governs the recalculation of the source terms of the species equations. Apart from
the source terms, ISWS also governs the recalculation of the diagonal terms of the Jacobians of
the source terms (which are used in the point implicit procedure).
From Eq. 5-33 it can be seen that, after the update in the last stage, the residual is normally not re-
calculated any more. Strictly spoken however, within a multigrid approach, one should use in the
calculation of the forcing function for the coarser level, the residual corresponding to the latest
solution. For single grid computations, re-calculation is never done.
Within multigrid, the Runge-Kutta operator can be applied more than once on each grid level, to
ensure a better smoothing. The parameter Number of sweeps on successive grid levels gives the
number of times the Runge-Kutta operator has to be applied to each grid level during the fine-to-
coarse - respectively the coarse-to-fine - part of the multigrid cycle. They can take different values
on each grid level.
Within the explicit Runge-Kutta approach, the source terms of the two-equation turbulence
models and of the chemistry equations (non-equilibrium real gas) are treated in a point implicit
way.
For the k-ε equations the Jacobian of the negative part of the source term is diagonalized by
assuming that the turbulent viscosity is approximately constant. This leads to the following
relations between
and
:
For instance, for the Chien model, this results in the following diagonal terms of the Jacobian,
including the compressibility corrections of Sarkar and of Nichols:
Note that in the equations above the damping function
is not taken into account.
5.1.3 Multigrid Strategy
The FINE™/Turbo solver uses multigrid for efficiency and fast convergence. The input variable
given by the user (Numerical Model page: Number of grid level(s)) denotes the number of grid
levels to be used. The coarser grids are automatically created within the FINE™/Turbo solver by
dropping nodes in each direction. If in a certain direction, the grid can not be coarsened anymore
(because of an odd number of cells) before reaching the desired number of grid levels, the
FINE™/Turbo solver will create the missing grids by coarsening only in the remaining directions.
FIGURE 5.2
Scheme of the multigrid strategy
The multigrid method is based on the Full Approximation Storage (FAS) approach. V (input
parameter MGRSTR = 1), W (MGRSTR = 2) and F-cycle (MGRSTR = 3) can be chosen by the
user, or if preferred their sawtooth variant (MGRSTR = 4, 5 or 6 for respectively V,W,F
sawtooth). In the sawtooth variant no smoothing (i.e. Runge-Kutta solver or implicit solver) will
be applied in the coarse-to-fine part of the cycle. As a result, the solution is only prolonged when
passing from coarse to fine.
FIGURE 5.3
Scheme of the multigrid method
Consider a set of meshes denoted with an index l = 1,...,L with L being the finest level. The
Navier-Stokes problem on the finest level can be written as:
where NL(UL) is the spatial discretization of the Navier-Stokes operator on the finest mesh L. The
problem is then approximated on coarser levels l as:
with Fl the forcing function, defined recursively as:
where
and
represent restriction operators of respectively the unknowns and the
residuals. If the input variable IRESTR=0, they are defined as:
where Rl+1 is defined as:
and ω represents the cell volume. The summation in
and
is over the 8 fine cells
contained within a coarse cell.
If IRESTR=1 a more complicated quadratic restriction is used both for the residuals and the
unknowns.
After temporal discretization, the problem approximated on a coarse level becomes:
Ul(0) is the current solution on mesh l, around which the equations have been linearized (in an
implicit method) and which has to be smoothed. One has:
ΔUl is an update of Ul(0) and is to be calculated.
S is the smoother. It is the operator that corresponds to the chosen time integration method.
In the FINE™/Turbo solver, an explicit multi-stage Runge-Kutta time-marching scheme has been
implemented, see below.
The linear problem can be solved for ΔUl. The updated solution Ul will be smoothed (provided S
is a good smoother) and can be restricted to the next coarser level, according to the equation of Ul
(0) with l replaced by l-1.
Note that the number of smoothing sweeps (i.e. the number of times the Runge-Kutta operator is
applied) can be chosen by the user for each grid level (Numerical Model page in Expert Mode:
Scheme definition and Number of sweep on successive grid levels).
Once the solution on the coarsest mesh is smoothed, the coarse-to-fine sweep of the multigrid
cycle is initiated. The current solutions on finer grids are updated with the solution on the next
coarser level:
The operator
parameter IPROLO = 0) or first-order (IPROLO = 1).
is a prolongation operator, which may be of zero- (i.e. piecewise constant, input
In the basic V,W,F cycle (MGRSTR = 1,2,3 respectively) the new solution on the finer mesh is
, with Ul(0)=Ul.
smoothed before proceeding to the next finer level, by solving
and
The number of sweeps of the smoothing operator is user input (Numerical Model page in
Expert Mode: Scheme definition and Number of sweep on successive grid levels).
In the sawtooth type cycles (MGRSTR = 4, 5 or 6) the system of equations is not solved in the
coarse-to-fine part of the multigrid cycle.
The user also has the possibility to smooth the corrections after prolongation (2nd term in the
right-hand-side of the solution on finer grids) before adding them to the current finer grid solution,
by applying the residual smoothing operator to the corrections. This is governed by the input
parameter SMCOR which has the same definition as RSMPAR, see below, and allows to
calculate the smoothing parameter, according to the chosen type of residual smoothing (parameter
IRSMCH), see below.
In the FINE™/Turbo solver, the computing cost of a multigrid cycle is significantly reduced by
using simplifying assumptions on coarser (i. e. all levels but the finest) grids (input parameter
MGSIMP). If MGSIMP = 1, a first-order accurate upwind scheme is used on coarser levels (if
Upwind spatial discretization scheme is selected in the Numerical Model page in Expert
Mode ), else a more diffusive central scheme is used on coarser levels (if Central spatial
discretization scheme is selected in the Numerical Model page in Expert Mode). If MGSIMP =
2 in addition to the changes for MGSIMP = 1 also viscous terms as well as source terms (of
turbulence and chemistry) are omitted on coarser levels.
5.1.4
Full Multigrid Strategy
In order to create a good initial solution, a Full Multigrid Strategy is also available.
The structure of Full Multigrid can be well explained through FIGURE 5.4 . One starts an
iteration method, such as a multi-stage Runge-Kutta explicit scheme, on the coarsest grid. The
solution on that level will not be interpolated to the next finer grid, until it converges to a certain
accuracy level. Then the solution on the finer grid is taken as the initial solution for further
iterations on that grid level. The process is recursively used until the finest grid is reached. The
initial solution on the finest grid is called the solution obtained by a Full Multigrid method.
It should be mentioned that there are two different kinds of prolongation in Full Multigrid. One is
the same as that used in the standard multigrid cycle, the other is the prolongation of solutions,
which replaces corrections in a standard multigrid prolongation. The latter could be different from
the former. Normally a zero-order prolongation is often used for the solution interpolation in a full
multigrid cycle.
FIGURE 5.4
Scheme of the full multigrid strategy
Based upon numerical experiments, it has been found that it is very important to check the
convergence level of solutions on the coarser grid before switching to the next finer grid level.
The reason for this is, that if solutions do not converge on the coarser grid, it may cause
divergence on the next finer grid.
In addition, an initial solution on coarse grids is less sensitive to multigrid convergence than on the
finest grid. A large cell size makes solutions converge easily and fast. Hence it takes much less
computational time and risk of blowing up to get reasonable solutions on the finest grid, when
compared to the start directly on the finest grid. A full multigrid method can therefore improve the
robustness and efficiency of numerical iterations methods.
5.1.5
Implicit residual smoothing
Implicit residual smoothing can be used in combination with Runge- Kutta to speed up the
convergence to steady state.
One stage in the explicit Runge-Kutta scheme might be written:
The residual R may then be smoothed first, before applying the update of previous equation. The
:
smoothing may be obtained by applying a central type operator leading to a smoothed residual
with the operator
and similar for the operators in the directions j and k.
ϵ is a smoothing parameter on which the stability criterion is:
where
are the CFL numbers of the smoothed and unsmoothed Runge-Kutta scheme
respectively. The result of the residual smoothing is thus that one can run at higher CFL numbers:
> 1 and by an adapted choice of ε, according to the equation above, the scheme
choose
remains stable. Though theoretically this equation guarantees stability for any value of
, in
practice this is not the case. A good practical value is
=2. The parameter
is user
input (RSMPAR).
Different types of residual smoothing, corresponding to different definitions of ε are available.
Each one corresponds to a different value of the input parameter IRSMCH.
For IRSMCH = 1 the definition of the previous equation is used, with the restriction that ε should
be positive.
For higher values of IRSMCH, the definition of ε also takes the mesh aspect ratio into account.
For IRSMCH = 2 one uses, after Radespiel & Rossow:
with the spectral radius (scaled with the cell face area), e.g.:
A similar definition as the previous equation holds for ε in the directions j and k.
For IRSMCH = 3, after Zhu, one has:
IRSMCH = 4 is after Swanson & Turkel for viscous flows. First Zhu is applied. Denoting the
obtained value as ε*, the final value is:
.
Finally, for IRSMCH = 5, one has, after Martinelli & Vatsa:
.
5.2
PRECONDITIONING
In the low subsonic Mach number regime, time-marching algorithms designed for compressible
flows show a pronounced lack of efficiency. When the magnitude of the flow velocity becomes
small in comparison with the acoustic speeds, time marching compressible codes converge very
slowly.
The problems faced by compressible codes at low Mach number are:
l High disparity between the convective eigenvalues u and the acoustic eigenvalues u+c, u-c
leading to a much too restrictive time step for the convective waves causing thus poor
convergence characteristics.
l Round off errors mostly due to the use of absolute pressure in the momentum equations.
l Impossibility to treat strictly incompressible flows.
Therefore the development of a low speed preconditioner was motivated in order to provide fast
convergence characteristics and accurate solutions as the Mach number approaches zero. Over the
past years and up to now, many attempts have been made to solve nearly incompressible flow
problems within available compressible codes and with minor programming efforts. The
corrective action brought
the conservation equations is called
preconditioning and is derived from the artificial compressibility method introduced for
incompressible flows by Chorin, (1967).
to the discretization of
For steady state applications solved by time marching algorithms the time derivatives of the
unknowns arising in the flow equations are of no physical meaning and can thus be modified
without altering the final steady state solution. The idea of preconditioning precisely uses this
property and consists of multiplying the time derivatives of the dependent variables with a matrix
called preconditioning matrix. The main property of this matrix is to remove the stiffness of the
eigenvalues. In addition, reduced flow variables such as the dynamic pressure and the dynamic
enthalpy are introduced, reducing drastically the round off errors at low Mach numbers. The
acoustic wave speed c is replaced by a pseudo-wave speed c' of the same order of magnitude as
the fluid speed. To be efficient the selected preconditioning matrix should be valid for inviscid
computations as well as for viscous computations with heat transfer.
5.2.1
Hakimi Preconditioning
The preconditioning methodology developed (Hakimi, 1997) is of sufficient generality and can
treat any type of fluids including perfect gases and incompressible Newtonian and non Newtonian
fluids. On the numerical
time
integration and boundary conditions have been adapted to the new transient behavior of the
conservation equations.
the solution procedure including space discretization,
level,
The low speed preconditioner has been validated for inviscid flows, viscous flows, turbulent
flows and unsteady flows. Efficient convergence rates and accurate solution have been obtained
for Mach numbers from M=0.1 to M=10-6, Reynolds numbers from Re=106 to 10-6 and aspect
ratios from 1 to 2000.
General Form of the Preconditioning Matrix
The Preconditioned Reynolds- Averaged Navier- Stokes equations including turbulence and
species transport equations written in a Cartesian frame of reference and integrated over a control
volume Ω are expressed as:
with
The variable
energy.
is the gauge pressure and the variables
is the total gauge
For a perfect gas with constant
,
is given by:
For an incompressible fluid with constant
,
is given by:
The extension of the preconditioning matrix to the turbulence transport equations is then given in
its general form both for compressible and incompressible fluids by:
* the term -1 should be added in compressible cases only.
We notice from this matrix that the preconditioning matrix does not apply to the transport
equations of k and ε. This choice is the simplest and did not cause any particular instability for
turbulent test cases run so far.
Eigenvalues of the System
The eigenvalues of the preconditioned system defined by the Preconditioned Reynolds-Averaged
Navier-Stokes equations are determined from the Euler part and can be obtained easily if the
equations are written in terms of the primitive variables (p,u,v,w,p or e ).
Their expression is given in 3D for compressible fluids by:
The two parameters α and β are chosen so that the stiffness of the eigenvalues is minimized at low
speed.
The corresponding eigenvalues for incompressible fluids are:
Compared to preconditioned system of compressible fluids,
the first three eigenvalues are
unchanged and the eigenvalues of the acoustic waves can be obtained by setting in this equation
the speed of sound to infinity. We note in particular that the acoustic eigenvalues are always of
opposite sign showing that the flow remains subsonic with respect to the pseudo-sonic speed. As
for the compressible preconditioner the two parameters α and β are chosen so that the stiffness of
the eigenvalues is minimised at low speed.
Note that if a k-ε model is considered, the corresponding eigenvalues will be:
Choice of the Parameters α, β and the Reference Velocity
The user control variables are
.
are accessible through the Flow Model page and are referred to as reference pressure
and reference temperature.
The parameter α is accessible as expert parameter in the Control Variables page under Expert
Mode as ALPHAP. According to several computations accomplished with the central scheme,
good convergence rates were obtained for values of α lying in the range [-1,1]. So far the best
value is found to be α=-1. This optimal value is not surprising since it increases the spectral radius
and therefore adds an additional amount of artificial dissipation.
The preconditioning parameter β is imposed by the user in the Numerical Model page through a
coefficient β* and a characteristic velocity
such that
is representative of the maximum velocity in the flow field. For example, in external flows,
Uref could be taken as the free stream velocity whereas in internal flows it could be taken as the
maximum inlet velocity. Note, for the user's convenience, the constant Uref is always equal to the
reference velocity specified in the Flow Model page, which means that one of them
(U ref /reference velocity in the Flow Model page) is changed, the other one will be changed
automatically.
The default value of β * is 3. Based on our experience with the presented low speed
preconditioner the parameter β* can be taken of order unity for inviscid flow computations. For
viscous computations associated with Reynolds numbers greater than about Re=1000, a constant
value β* of order unity is also adequate. If convergence difficulties are encountered at the very
beginning of a computation, it is recommended to increase the value of the parameter β * .
Remember however that a too large value of β* will introduce excessive artificial dissipation into
the solution.
For lower Reynolds number the parameter β* has to vary in order to preserve numerical stability
and a good convergence rate. The parameter β * should increase as the Reynolds number
decreases and may vary over several orders of magnitude .
If the local velocity scaling option is activated in the Numerical Model page, another definition
of β is used:
where
is the local velocity.
Typical variation of the preconditioning parameter
with Reynolds number
FIGURE 5.5
For high Reynolds flows it is suggested to choose β among the following values:
l β=3
l β=30
l β=300
Too small or too big values of β may lead to divergence or to a too dissipative solution (if β is too
high)
5.2.2 Merkle Preconditioning
The motivation for changing from the Hakimi to the Merkle preconditioner is to obtain a solution
scheme with an increased robustness. A further motivation is to get a solution scheme that is not
only efficient at all Mach numbers but also for all Reynolds and Strouhal numbers. The intention
of the change of the preconditioning concept is also to obtain a scheme, which is intuitive,
conceptually simple yet effective and general.
To derive the Merkle preconditioning scheme, the Navier-Stokes equations for compressible in
Cartesian coordinates are used as a basis.
with
.
The set of independent solution variables is changed from the vector of conservative variables U
by splitting up the unsteady
to the vector of viscous, primitive variables
term according to:
The Jacobian
is thereby given as:
The subscripts p and T represent the isothermal derivative with respect to the pressure and the
isobaric derivative with respect to the temperature, respectively.
To ensure efficiency for all Mach numbers the Jacobian is replaced by the preconditioning matrix:
The matrix
differs only from the Jacobian
by the fact that the physical quantities
,
,
and
are replaced by the scaled quantities
and
, respectively.
The parameters
and
are used to control the scaling of the dynamics for both
inviscid and viscous dominated flows. The parameters
and
are set to their physical
values, as these parameters only have a minor effect on the dynamics of the Navier-Stokes
the energy equation in the unscaled Navier- Stokes
equations. In the incompressible limit
equations is decoupled from the continuity and momentum equations. This property should be
should
kept for the preconditioned flow equations, wherefore the preconditioning parameter
be scaled proportional to its physical counterpart. In the FINE™/Turbo solver, this parameter is
remains in order to control the
set to its physical counterpart. Therefore, only the parameter
preconditioning. This parameter can be written:
where vp is the particle velocity.
The local preconditioning velocity plays a crucial role as it should be as low as possible but not
smaller than the local velocity, and should not be greater than the speed of sound in supersonic
regions. Furthermore, it plays a crucial role in the robustness of the preconditioning method. In the
flow solver the particle velocity vp is defined as:
for compressible fluids
for incompressible fluids
where:
c is the speed of sound used only for compressible cases;
is accessible through the Flow
Model page and are referred to as characteristic velocity.
is the turbulent viscosity only used for turbulent cases.
is the unsteady preconditioning velocity only used for harmonic computations. Where the
index k refers to the harmonics, σ is the harmonic inter-blade phase angle, ω is the harmonic blade
passing frequency, N is the blade periodicity, R is a reference radius and ϕ is the coefficient
controlled by the expert parameter VUNS2.
For two equations turbulence models two new limiters are included:
5.3
TIME CONFIGURATION
Unsteady flow phenomena may arise intrinsically as for example in separated flows, wake flows
or may be caused by an external time dependent driving force as for example an oscillating
structure. In any case an efficient time- accurate solver has to be employed to obtain time
dependent solutions within a reasonable computational time.
At present, the most effective approach is called the dual time stepping approach proposed by
Jameson, (1991): it consists in adding to the time dependent Navier-Stokes equations pseudo-time
derivative terms. At each physical time step, a steady state problem is solved in a pseudo time and
all available acceleration techniques such as multigrid, local time stepping and implicit residual
smoothing can be applied. This approach has been used for compressible flow simulations by
several authors, Arnone, (1995), Melson et al., (1993), Pierce et al., (1997), Eliasson et al., (1995)
and has proved to be an important improvement over the classical global time stepping approach.
5.3.1
Standard Time Accurate Solver (Non-preconditioned
Formulation)
For unsteady flow simulations the Reynolds-Averaged Navier-Stokes equations are expressed as:
where t is the physical time and τ is pseudo time, U is the solution vector of the conservative
are the source terms. The time
variables, Ω is the volume,
are the conservative fluxes and
discretization of the derivative of the conservative variables with respect to the physical time t is
made to meet the desired accuracy in time. Two formulations are available:
First order upwind in time:
This first order scheme is used only for the first time step of the unsteady computation except for a
restart when the two previous solutions are available.
Second order upwind in time:
All other terms in the Reynolds-Averaged Navier Stokes equations are computed at time n+1.
The equation is then treated as a modified steady state problem in the pseudo time τ:
Denoting by R the residual corresponding to the steady state problem, the new residual used for
time accurate computations RTA is given by:
For the second order upwind scheme we have β1=1.5, β0=-2, β-1=0.5 while for the first order
scheme we have β1=1, β0=-1, β-1=0. The new residual contains terms that depend only on the
solution of previous time steps, all other terms depend on the current solution vector U.
When steady state is reached at each physical time step, the left hand side of the new residual for
time accurate computation RTA tends to zero and the time accurate solution is obtained.
The Time Stepping
When integrating the previous equation in the pseudo time τ, it is recommended, Arnone et al.
implicitly. This is
(1995), Pierce and Alonso (1997), to treat the term
obtained by developing the solution vector U in a Taylor expansion:
Putting this equation into the new residual used for time accurate computations RTA, a modified
pseudo time step is introduced:
The pseudo time step is modified by an additional term containing the physical time step. This
term becomes dominant if the physical time step is significantly smaller than the pseudo time step.
This situation does not often happen since the physical time step is taken as large as possible.
However, in the far field where mesh dimensions are increased the pseudo time step might reach
high values and the contribution of the physical time step will have a stabilizing effect there.
The physical time step Δt is limited by the level of desired accuracy. For periodic flows the time
step is usually taken a fraction lying between 1/20-1/40 of the expected period.
Initial Solution at Each Physical Time Step
The simplest way to obtain an initial solution on the next time level is to choose the latest
available solution:
being the cell volume evaluated at the next time step. The volume evaluation at each
physical time step is only performed for moving meshes.
In Jameson (1991) it is suggested to take as initial solution an extrapolated solution from the
previous time steps. This is obtained by a Taylor expansion:
This expression leads to the following initial solution:
In practice however, using this expression does not show any convergence enhancement for the
next time step compared to the convergence obtained with the simplest way which is therefore
implemented.
In the particular case of turbomachinery applications a discretization in time of the blade passing
period is performed by the unsteady algorithm, and once one full period has been accomplished
by the algorithm, the solution may be initialised using the solution obtained at the same position at
the previous rotation. This requires the storage of all the intermediate solutions and the experience
has shown that it did not bring significant convergence improvements. The approach has however
been implemented in the FINE™/Turbo solver, and can be activated by setting the expert
parameter PREROT to 1.
5.3.2 Density Based Time Accurate Solver and
Preconditioning
Application of the dual time stepping approach along with low speed preconditioning to variable
and constant density flows is presented in Hakimi, (1997). For unsteady flow simulations the
preconditioned Reynolds-Averaged Navier-Stokes equations are expressed as:
where t is the physical time and τ is pseudo time, U is the solution vector of the conservative
variables, Q is the solution vector of chosen dependent variables, Γ is the preconditioning matrix,
are the source terms. For all fluids we
Ω is the volume,
are the conservative fluxes and
have:
The time discretization of the derivative of the conservative variables with respect to the physical
time t is made to meet the desired accuracy in time. The equation is then treated as a modified
steady state problem in the pseudo time τ:
with
The residual RTA being the preconditioned residual. The new residual contains terms that depend
only on the solution of previous time steps, all other terms depend on the current solution vector
Q. When steady state is reached at each physical time step, the left hand side tends to zero and the
time accurate solution is obtained
The Time Stepping
When integrating residual RTA in the pseudo time τ, we treat the term
implicitly. This is obtained by developing the solution vector U in a Taylor expansion:
Putting this relation into the modified steady state problem in the pseudo time τ we obtain the
following updating procedure:
where I is the identity matrix. The updating procedure has been modified and includes now the
time steps ratios, leading to a stabilizing effect.
Initial Solution at Each Physical Time Step
The initial solution on the next time level is the latest available solution:
Since the dependent variables are Q, these variables have to be computed at the beginning of each
physical time step from the conservative variables U.
5.4
REFERENCES
Arnone, A., Liou, M. and Povinelli, L., 1995, "Integration of Navier-Stokes Equations using dual
time stepping and multigrid method", AIAA-Journal, Vol. 33, No. 6, pp. 985-990.
Chorin, A. J., 1967, "A numerical method for solving incompressible viscous flow problems", J.
of Comput. Phys., Vol 2, pp. 12-26.
Eliasson, P., and Nordstrom, J., 1995, "The development of an unsteady solver for moving
meshes ", FFA/TN 1995-39.
Hakimi N., 1997, "Preconditioning methods for time dependent Navier-Stokes equations", PhD
Thesis, Dept of Fluid Mechanics, Vrije Universiteit Brussel.
Hirsch Ch., 1990, "Numerical Computation of Internal and External Flows. Volume 2", John
Wiley & Sons.
Jameson, A., 1991, "Time dependent calculations using multigrid, with applications to unsteady
flows past airfoils and wings", AIAA-Paper 91-1596.
Melson, N.D., Sanetrik, M.D., Atkins, H.L., 1993, "Time accurate Navier-Stokes calculations
with multigrid acceleration", AIAA paper, pp. 1041-1042.
Pierce, N.A., Alonso, J.J., 1997,"A preconditioned implicit multigrid algorithm for parallel
computation of unsteady aeroelastic compressible flows:, AIAA-Paper 97-0444.
CHAPTER 6.
PHYSICAL MODELS
This chapter describes the following physical models:
In this section
6.1 Fluid-Particle Interaction
6.2 Fluid-Structure
6.3 Passive Tracers
6.4 Porous Media Model
6.5 Cavitation Model
6.6 References
147
150
172
172
175
177
6.1
FLUID-PARTICLE INTERACTION
A Lagrangian approach is used here. In a Lagrangian approach the particle cloud is modelled by a
finite number of computational particles, representing a group of real physical particles with
similar properties. The particles are tracked separately, each as a single probe particle, through the
flow field.
6.1.1
Trajectories Calculation - Integration Method
The calculation of the trajectories is based on the Newton law:
where
is the acceleration vector of the particle of velocity
and
is the sum of the friction
force between the fluid and the particle and the eventual inertia and gravity forces:
The gravity force is defined by the user on the Flow Model page:
It is assumed that the mesh blocks for which a rotation of the reference system is introduced in the
carrier flow equations (when rotation of the reference system is activated under the Parameters
thumbnail of the Fluid-Particle Interaction page) are also considered as rotating ones for the
particles calculation. The inertia force due to the rotation of the reference system contains the two
terms related to the inertia and Coriolis effects:
is the drag force between the flow and the particles, calculated according to the Stokes law:
where D is the diameter of the particles,
is the velocity of the fluid and Fs depends on the
viscosity of the fluid and on the Reynolds number
based on D:
where:
or
(simple Stokes law for
)
(standard curve approximation).
Up to now, no model is incorporated in which the mass and the volume of the particle would
change (for instance by combustion or evaporation).
6.1.2
Integration Time Step - Relaxation Time
The calculation of the trajectories is obtained by integrating the Newton law in time, using either a
2- or 4-steps Runge-Kutta or an exponential scheme. At each time step the force vector is re-
calculated to obtain a new value for the velocity vector, whereas the velocity vector is used to
calculate the new position of the particle. This sequence is repeated until a boundary is reached. In
order to have an appropriate integration method to calculate the trajectories, the integration time
step must be properly chosen.
The time step used by the algorithm is the minimum between the time required to traverse the
mesh cell (which depends on the particle velocity and on the cell size) and the relaxation time,
which is the time required by the particle to lose its initial slip velocity:
For a stationary reference system (no inertia force) and in the case of no gravity, the relaxation
, whereas in the presence of
time is the time required by the particle to reach the flow velocity
an inertia and/or a gravity force, the velocity reached by the particle after the relaxation time is not
, but
.
In some cases (for instance with very small particles) the relaxation time is very small, which leads
to a large number of time steps per mesh cell, and hence to a larger CPU time for the particle
tracking algorithm. A faster convergence may then be reached by using the so-called exponential
scheme for the time integration step.
6.1.3
Full Coupling Carrier & Particle Flows
In case of a full coupling between the carrier and particles flows, the particles traces calculation is
followed by a coupled carrier flow calculation including the effect of the presence of the particles.
This is achieved by the introduction of source terms in the momentum equations, these source
terms being calculated according to the interphase force vector:
6.1.4
Interaction with Turbulence
While moving through a turbulent flow (and when Turbulence is activated under the
Parameters thumbnail of the Fluid-Particle Interaction page), each particle faces a sequence of
random turbulent eddies that result in a lack of accuracy in particle velocity and position. This
process is taken into account using a stochastic treatment. The k-ε turbulence model is assumed
for the carrier flow simulation.
The instantaneous fluid velocity is represented as the sum of the local mean velocity (available
from the computed carrier flow field) and a random fluctuation:
The fluctuation
is randomly sampled from the normal Gaussian distribution with the
probability-density-function f:
and
The individual components of the velocity fluctuation are assumed to be non-correlated. The
mean square deviation is evaluated from the turbulent kinetic energy:
It is accepted that this sample velocity fluctuation remains unchanged within the turbulent eddy
during its life time. The eddy life time Te and size Le are calculated according to:
and
Where
time).
is an empirical coefficient with a default value of 0.28 (Coefficient for eddy life
The eddy life time Te and size Le are bounded by the Kolgomoroff scales:
and
The calculated fluctuation gives the instantaneous flow velocity, which is used while tracking the
particle. As soon as the life time has expired or the particle has left the eddy, a new fluctuation is
chosen as described before, assuming no correlation with the previous sample.
6.2
FLUID-STRUCTURE
6.2.1
Conjugate Heat Transfer
Introduction
The conjugate heat transfer model allows the simulation of the thermal coupling between a fluid
flow and the surrounding solid bodies. It assumes that some of the blocks of the multiblock mesh
are "solid", whereas the other ones are "fluid". The connections between the solid and fluid
blocks become "thermal connections" along which the fluid-solid coupling is performed.
Simulation of Conduction
It has been shown in the previous chapters that the FINE™/Turbo solver is based on a cell
centered finite volume approach, associated with a centred or upwind space discretization scheme
together with an explicit Runge-Kutta time integration method. The same type of approach can be
used to simulate the conduction in solid bodies. The only term remaining in the finite volume
equilibrium results from the heat conduction. The discretised form of the remaining part of the
energy equation applied to the control volumes can be written as:
where
is the volume of the control volume,
is the normal vector to the faces of the control
volume and
body.
,
and
are respectively the conductivity, density and specific heat of the solid
This equation is applied to calculate the change of temperature
from the equilibrium of the conduction fluxes through the faces of the control volume.
at a given time step resulting
One can notice that the absence of any advective contribution in the equilibrium permits to avoid
the use of artificial dissipation (case of a centered scheme). It also imposes to adopt a pure
diffusive approach for the calculation of the time step. For a 2D problem the time step is
calculated according to:
One can notice that once the 2 above equations are put together the heat capacity
from the equation, and is hence not required as input data.
is eliminated
Exactly as for the flow solver the adopted time integration approach is a 4- or 5-steps Runge-
Kutta scheme whose efficiency is largely enhanced by the use of an implicit residual technique
and of a multigrid strategy.
This finite volume approach can be used for both steady and unsteady conduction problems. Its
efficiency has been compared for steady state applications to the classical Gauss-Seidel and
PSOR schemes often employed for the resolution of pure elliptic equations. The results have
shown that the use of a time marching approach together with multigrid is much more efficient.
Thermal Coupling Between Solid & Fluid Blocks
The fluid-solid interfaces constitute a new type of boundary condition, referred to as "thermal
connections", along which, the heat-flux and temperature are imposed to be equal.
The calculation is performed simultaneously on the fluid and solid blocks. The thermal coupling is
applied each time the boundary conditions are applied. Note that no particular procedure is
required in order to initiate the calculation. The full multigrid strategy is very efficient in order to
rapidly establish an overall temperature distribution in the domain.
On both solid and fluid sides, the thermal boundary condition imposes a temperature profile. This
profile is iteratively recalculated in order to ensure equality of the heat-fluxes calculated on both
sides:
where
and
are the heat transfer coefficients and
and
are the first inner cell
temperatures on fluid and solid side respectively. The heat transfer coefficients in the solid side are
calculated in a simple way, assuming a sufficient orthogonality of the mesh:
where
is the local conductivity and
is the distance between the inner cell center (where the
temperature of
and
is taken) and the wall.
In the fluid side, the conduction heat flux can be used only when the viscous sublayer is
discretized. If the first cell is not in the viscous sublayer, a convective heat flux must be
considered. The thermal connection between fluid and solid body is adapted to the high Reynolds
turbulence model with wall functions by using the following generalized formula for the heat
transfer coefficient:
with:
in the viscous sublayer (
<13.2);
in the turbulent layer.
Full Non-matching Thermal Connections
The Full Non-matching algorithm already used for the fluid-fluid connections can be used in the
Conjugate Heat Transfer (CHT) module. It is based on the same coupling procedure, including
the calculation of the interface temperature and heat- flux. In case the patches are not fully
connected, as for instance in FIGURE 6.1, the remaining patch is assumed to be adiabatic.
The thermal coupling equation is applied successively to all elements resulting from the FNMB
decomposition algorithm. This procedure gives as a result a separate value of the interface
temperature and of the heat-flux for all elements.
The interface temperature on the left and right patch cells is then calculated as a weighted
averaging of the temperatures of the elements concerned by the cell. If the cell is not fully
connected an additional contribution is added, the non connected part of the cell being assumed to
be adiabatic:
with
In the generic case of FIGURE 6.1:
l the cell 1 is not connected and the above equation is applied with
= 1,
l the cell 2 is partially connected and 0 <
< 1,
l the cell 3 is fully connected and
= 0.
The heat-flux density is calculated as the summation of the contribution of the elements:
Note that the heat-flux density is saved instead of the heat-flux so that the thermal connection
boundary condition is compatible with the boundary condition imposing the heat-flux density. In
the routine imposing the heat-flux into the residual the heat-flux density is re-multiplied by the cell
surface.
It should be mentioned that hybrid connections are allowed, this means that each side of the
interface can be composed of fluid and solid patches.
FIGURE 6.1
Generic example of FNMB/CHT connection
Conjugate Heat Transfer and Nonlinear Harmonic Method
The extension of the Conjugate Heat Transfer analysis to the Nonlinear Harmonic Method
requires two main steps:
l Solution of temperature harmonics in the solid domain, similar to the solution of the time-mean
temperature;
l Establishment of harmonic thermal connections between the solid and the fluid domains, again
similar to the time-mean thermal connection.
Harmonic equation of temperature in the solid domain
The formulation starts with the time-mean heat conduction equation in finite volume form in the
solid domain, as outlined previously. Since the time step
, the
is not required in practice. The harmonic equation has a similar form with the
value of
addition of the harmonic source term:
is directly proportional to
where
is the harmonic amplitude of temperature (a complex number),
is the imaginary unit,
and
is the harmonic frequency. In this implementation, the source term,
, is treated
implicitly for numerical stability. The implicit treatment of the source term leads to a system of
two equations and two unknowns (i.e., the real part and the imaginary part of the harmonic
, the system
amplitude of temperature). Defining the right-hand side of the equation above as
of equations can be written as:
The solution of system above gives:
is required in the harmonic
Note that unlike for the time-mean equation, the value of
equations. Also, note that when solid properties such as
are a function of temperature,
they are evaluated using the time-mean temperature. This is consistent with the fluid property
evaluation in the current nonlinear harmonic implementation.
and
Harmonic connection between solid and fluid domains
Thermal connections between solid and fluid domains require the continuity of temperature as
well as heat flux at the connections. Time-mean wall temperature is calculated as:
Wall temperature,
, is updated at each time step and applied as boundary condition for each
side. For harmonics of temperature, the same relation can be used by only replacing the time-
mean temperatures with the harmonic amplitudes of temperature:
It is important to note that the relation for thermal connection assumes a linear variation of
temperature between the wall and the first inner cell. Therefore, for an accurate connection
calculation, the first inner cell should be close enough to the wall for the linear assumption to
hold. For a harmonic thermal connection, it is recommended to keep this distance at 10% of the
thermal wave diffusion length,
,defined as:
6.2.2 Mesh Deformation and Solver Adaptations
Mesh deformation
Laplacian Smoothing
The present model assumes that the mesh deformation caused by a moving solid wall boundary is
small enough so that the mesh topology is not modified and the deformed mesh can be smoothed
inside the modelled domain without generating negative cells.
The assumption of the small displacements on the moving solid boundary allows keeping the
same mesh topology and generating the new mesh with a "simple" elliptic smoothing of these
displacements inside the meshed domain. The smoothing is applied in each block with the suitable
boundary conditions:
l Dirichlet type on vertices with a fixed displacement
l Neumann type on faces where a displacement is allowed on the face
The connections between blocks are treated by exchanging the displacements not only on the
common boundary face but also on the first inner face.
The movement of the moving solid boundary is imposed at each time step. The displacement (
)
of the vertices on such a surface is computed from the reference position (
) in the initial
mesh:
The displacement of each vertex is computed by solving the following equation:
with the suitable boundary condition:
l Dirichlet on the solid patches
l Neumann on the patches other than connections
The original elliptic smoothing of the displacement field has a modified form with the use of a
local diffusivity factor ω (activated by IMVWEI=1).
This diffusivity factor allows restricting the smoothing of the small volume cells in order to
preserve the quality of the mesh. It is based on the element volume Ω in the nondeformed
reference mesh.
The smoothing can be applied to the displacement field in cartesian coordinates (IMVCYL=0) or
in cylindrical coordinates (IMVCYL=1). The best choice is depending on the geometry of the
case. Note that the cylindrical mode is more expensive in term of CPU time.
Radial Basis Function
The interpolation function d describing the displacement in the whole domain is approximated by
a sum of radial basis function:
where
are the coordinates of the boundary nodes for which the value of the displacement is
known, p is a polynomial,
is the number of boundary nodes and ϕ is a given radial basis
function with respect to the Euclidian distance
. In the current implementation, a linear
polynomial is used:
The values for the coefficients
and the coefficients
are obtained by solving the following
linear system:
where
is the known values of the displacement at the boundary, α contains the coefficients
, β contains the coefficients
,
is a
matrix containing the evaluation of the radial
basis function:
and
is a
matrix with row j given by:
In FINE™/Turbo, the following Radial basis functions are considered:
l Function with compact support (Wendland C², MOVRBF=1):
where r is the support radius (expert parameter MOVRAD).
l Function with global support (thin plate spline, MOVRBF=2):
Elastic Analogy
In continuum mechanics and Euler formulation, Newton's second law is expressed as:
where
is a fixed positioning vector and t the simulation time.
refers to the long range forces field (also named as body forces).
refers to the volume masses field.
refers to the accelerations field.
Assuming that no long range forces are present in targeted application, the displacement field of
the mesh is dominated by the equilibrium equation of elasticity:
Dealing with small deformations, stress tensor with the strain tensor
can be linearly related.
Given a completely isotropic behavior, the Hooke law can then be written:
The coefficients
and
elastic properties characterizing our material:
refer to the Lame constants and both coefficients are related to the
where
l E refers to the material Young Modulus
l ν refers to the material Poisson Modulus
Finally, within the assumption of small deformations, the strain tensor
with the observed
displacement vector
have a linear relation:
Then a finite volume discretization is defined as:
Using the divergence theorem and assuming a surface S for the control volume and its normal
vector
, the equation above can be rewritten in the form:
With predefined E and ν, then Lame coefficients are available, thus the direct relation between
elastic properties of fictitious material and the displacement of the domain can be obtained.
Dirichlet boundary conditions are applied to the whole set of domain limits.
In order to adapt the elasticity of fictitious material to the geometrical particularities of the mesh, a
heterogeneous distribution of E can be considered. This behavior is driven by parameter
IELAED. The maximum value of Eis set by RELAEV while the considered Poisson Ratio is
taken as constant and introduced by RELAPV.
Transfinite Interpolation
Given a mesh segment going from point A to B, the arc-length of an interior point
is defined as:
where
arc-length of the segment is written as:
corresponds to the first dimension of our nodes reference position vector
. Total
Then, new edge interior points coordinates
interpolation:
can be computed by performing a linear
The same methodology is repeated in all directions. The 1D interpolation can be easily
extrapolated to a 2D version for block surface interpolation or to 3D for block interior nodes
recomputation.
Since an input of topology displacement is required for TFI method, RBF is adopted for
providing this initialization. The RBF applied for this purpose is a light version, since only the
nodes placed at block/patch corners are taken into account in this phase. This combination of
mesh deformation approaches is implemented as RBF+TFI method.
RBF+TFI+ELA is an extension of RBF+TFI. In this method, resulting mesh of the whole
RBF+TFI process as an initial solution for ELA solver.
Inverse Distance Weighting Interpolation
The Inverse Distance Weighting (IDW) is implemented with different interpolation methods. The
displacement in an interior mesh point at
can be calculated with:
where
is the number of boundary nodes,
is the known boundary point displacement and
is the weight function.
Improved weight function
The standard IDW algorithm is improved by modifying the weight function into:
in which
is the length of the deformation zone,
is the Euclidean distance
between the interior point and the boundary point,
boundary nodes and IDWAFX for fixed boundary nodes.
is defined by IDWAMV for moving
Interpolation of displacement due to rotation
The orthogonality of the mesh is improved by considering the rotation of the boundary nodes on
the moving solid patches. The rotation of each moving boundary node is determined by
considering the original position and the displacement of the neighboring points on the same patch
or edge. It is calculated and expressed as a hyper-complex number: a quaternion.
in which ,
and
are complex units with the properties:
Quaternions can represent a rotation
around an axis
in 3D:
Once the rotation of the points on the moving surfaces is determined, the total displacement vector
) and a part due to
of the boundary node is split into a part due to the rotation (quaternion
translation (vector
) of the boundary. Since
, this split is done according to:
where
vectors.
,
and
are the quaternions represent of the
The translation quaternion
is thus given by
The displacement field is then interpolated to the interior nodes with the improved weight
function.
Interpolation of dual quaternion
Dual quaternions are an extension of quaternions, in which each of the four numbers is replaced
by a dual number. The dual quaternion
can be written as the sum of two normal quaternions:
where
is the dual unit,
and
are the real and the dual quaternion respectively.
The rotation and the translation of a boundary point can be represented by a single dual
and the translation
quaternion. This dual quaternion
is constructed from the rotation
quaternion
in the following way:
where
is the dual part of the dual quaternion.
The new weight function for LERP of dual quaternions is:
where
is the length of the deformation zone,
the Euclidean distance between a
point and the boundary point and
and IDWAFX for fixed boundary nodes.
(>-1) is defined by IDWAMV for moving boundary nodes
Coarsening
Coarsening can be applied to improve the efficiency of the mesh deformation. This can be done in
several ways below:
l interior coarsening
For every interior point a loop over all considered boundary nodes is needed to interpolate the
displacement. The idea of interior coarsening is that for some interior nodes, only the
deformation of surrounding mesh nodes will be considered instead of the information from all
the boundary nodes.
The process of interior coarsening is illustrated in Figure 1.1. In this figure, a small 2D block
with only interior nodes is considered. The green nodes are interpolated using the information
from all considered boundary nodes (Note that the boundary nodes are not shown in the
figure). The orange nodes are treated after all green nodes are considered. Every orange node
is surrounded by four green nodes. The displacement of the orange node is done in a sub-
domain, colored in blue. This sub-domain consists of four moving boundary nodes and one
interior point. A 3D mesh is treated in the same way except that six surrounding interior nodes
will be considered.
FIGURE 6.2
Interior coarsening
In order to apply the interior coarsening, the rotation of the surrounding interior nodes has to
be known. The interpolation method using dual quaternions is the only method that gives
information about the rotation of the interpolated interior nodes. So, interior coarsening is only
possible for IDWRBF=3 and IDWROT=1.
l boundary coarsening
The number of boundary nodes considered is reduced. A greedy algorithm is used to select the
boundary nodes. It recreates the given deformed boundary by performing IDW interpolation of
the boundary itself by starting from an initial set (the corners of the domain). Two stopping
criteria are implemented for the greedy algorithm.
criterion 1: based on the aerodynamic reference length
,
criterion 4: based on the aerodynamic reference length
and the local boundary cell height.
Both criteria are based on the maximum error
,
where
is the interpolated displacement vector of boundary node b with known
displacement
.
Criterion 1 is based on the relative maximum error:
where
is
the maximum error,
the aerodynamic reference length and
.
Criterion 4 is based on the relative maximum error and the local boundary cell height. The
criterion for the boundary cell height, h is: 
where
.
To combine both the criteria, an equivalent reference length is defined.
The final stopping criterion is then defined as:
where
.
l boundary coarsening with interior coarsening
The combination of the two methods above.
Solver Adaptations
The flow solver needs several adaptations to solve the flow equations with mesh deformation.
Firstly the equations are changed with modified convective terms. Moreover new source terms are
added when the relative frame of reference is moving in the absolute frame. The boundary
conditions have to be adapted as well as the outputs.
Convective terms
In order to take into account the deformation of the cell in the finite volume method, the
convective term of a variable U on a cell face is now
where
is the flow velocity and
is the mesh velocity on the face.
It has been demonstrated that the implementation of this term has to respect the Geometric
Conservation Law (GCL) and it has to be consistent with the used temporal numerical scheme.
The GCL formulates the space conservation. The change in volume for each volume during a
given time step must be equal to the volume swept by the cell boundary during the same time
step:
On the other hand, the use of the second order backward difference scheme gives the following
equation in a uniform velocity field:
or
Applying the GCL in the equation above, we obtain the right implementation of the convective
term when the second order backward difference scheme is used. It can be written as follows:
Source terms
Considering a general case where the centre of the relative reference axis can move, if
defines
the velocity of the centre of the reference axis,
the relative velocity and
the rotating speed of
the relative frame of reference, the absolute velocity
is defined by the following equation:
The inertial and convective terms in the momentum equations can be written as follows:
l In the absolute frame of reference
l In the relative frame of reference
with
is the projection of
in the relative frame of reference.
l In the relative frame of reference in terms of relative velocity
In the previous equation, an additional term appears with the usual Coriolis and centrifugal forces.
It is due to the acceleration of the centre of the relative reference frame. This can be written in the
following form:
Another additional term appears in the equation of energy conservation (for the relative total
energy in the relative reference frame). It is the work of this additional force:
When the velocity of the centre of the relative reference frame is null, these additional terms
disappear.
Boundary conditions
Two types of adaptations are needed. The first one is linked to the moving wall in the reference
frame. The second one is linked to the movement of the centre of the relative reference frame.
For the moving wall, the adiabatic N-S walls have been adapted so that the convective flux is null
through the moving wall in the relative frame of reference and the acceleration of the actual
moving wall is taken into account in the pressure gradient. As the right computation of flux on a
moving face implies the integration on two time steps inorder to respect the GCL, this treatment
does not ensure that the imposed absolute velocity is strictly respected on the boundary.
The movement of the centre of the relative reference frame implies the adaptation of many inlet
boundary conditions where the absolute velocity is specified.
Outputs
With the presence of different frames of reference, the outputs have to be adapted an saved in one
frame that is usually the absolute reference frame. They are given on the deformed mesh in the
relative reference frame only if there is not rotor-stator interface.
6.2.3
Coupling
Modal Coupling
For the modal coupling approach in FINE™/Turbo, a structure code is used to compute the
modal shapes and the eigen frequencies. The flow solver use these inputs to compute the
deformation of the structure by solving the modal equation for the number of modes specified by
the user.
Solid mechanics is governed by the following equation:
Where:
[M] is the mass matrix;
[C] is the damping matrix;
[K] is the stiffness matrix;
is the displacement of the structure;
is the external load.
For FSI computation, the external load is applied by the flow. The fluid flow is also influenced by
the deformation of the structure. The FSI resolution solves both the fluid flow and structure
deformation by taking into account their interaction.
Considering the undamped structure without load, one can write:
This equation has not trivial solution only if:
This is an eigenvalue problem. Its resolution gives the eigenvalues
. The eigenvalues lead to
natural frequencies
of the structure and natural mode shapes
:
Mode shapes constitute a basis of deformation modes. The global deformation of the structure can
be written as a composition of these modes:
where
is the generalized displacement.
Using the equation above in the modal equation , assuming a Rayleigh damping, a stiffness
frequency-independent and choosing a proper scale factor for the mode shape, we can get a set of
independent equation for each mode k:
where
is the damping coefficient for each mode shape.
For the coupled simulation, the mode equation is solved by the flow solver at each physical time
step. After reconstruction with the equation of global deformation, it gives the new shape of the
structure around which the flow is computed. In case of combining with the harmonic method, the
mode equation is solved in the frequency domain every ITCPL iterations.
For the forced motion simulation, the generalized displacement
for each mode shape is
specified by the user. The new shape of the structure is directly computed by the equation of
global deformation. In case of combining with the harmonic method, the generalized displacement
is computed by:
where
is the time mean value specified in the interface,
with
the real part and
the imaginary part specified in the interface,
is the conjugate of the complex number
.
In the trigonometrical form, the generalized displacement
can be written as:
From the definition of the generalized displacement, the physical deformation is retrieved with a
time-averaged term and the harmonic fluctuations:
In case of real mode shapes, the harmonic fluctuations can be simplified as
.
Weak Coupling
The weak coupling is based on a staggered algorithm . The algorithm is called
staggered because fluid and structure equations are not resolved at the same time but successively.
The fluid load computed at time
structure position at time
, the new structure position at time
is sent to the structure equation (1). From
and the
is computed (2).
The new structure position
is then sent to the fluid solver (3). The fluid load at time
is computed from this new structure position (4).
Therefore, the structure equation (2) is resolved before the fluid resolution (4) for one physical
iteration between time
and time
.
FIGURE 6.3
Staggered algorithm
Strong Coupling
The strong coupling is based on an iterative algorithm. The algorithm is called iterative because a
subcycling loop is added to the weak coupling algorithm .
After the computation of the fluid load at time
, the structure position is recomputed
from the new value of the fluid load (5). Iteratively, the fluid load is recomputed from this new
structure position. This subcycle loops until the fluid load or the structure deformation does not
vary anymore within a certain convergence criterion.
FIGURE 6.4
Iterative algorithm
The convergence criterion for the subcycle loop is defined as:
with
, the number of subcycles.
6.3
PASSIVE TRACERS
The Passive Tracer model allows the user to introduce, into the computations, species that are
passive with regards to the carrier fluid. This means that the carrier fluid ignores the tracer and is
only defined by its own properties.
The species conservation equation is written as
where cs is the species concentration.
is the diffusion coefficient.
The diffusion coefficient Ds is calculated from a specific Schmidt number Sc:
For turbulent computations a turbulent Schmidt number Sc,t is added leading to:
6.4
POROUS MEDIA MODEL
The flow field in the porous media can be solved in FINE™/Turbo. It is done by adding the
additional source terms. Considering the general Navier-Stokes equations:
The source terms
can be represented by:
Where
is the pressure drop in the porous media,
is the thermal effects due to the heat
exchanges between the medium and the fluid.
Each porous medium defines a separate block in FINE™/Turbo. Hence each porous block is
characterized by its set of parameters. Three models are currently implemented, namely the Darcy
law, the Ergun law and an Integral law.
It is possible to impose a flow direction in any of the porous blocks. This option is useful when
the user would like to simulate the presence of fins without meshing them.
6.4.1
Porous Media Model
The Darcy law
The pressure drop in the porous medium is given by the following relation:
where the coefficient
is defined as
with μ the viscosity and κ the intrinsic
permeability.
The intrinsic permeability is given by the Carman-Kozeny relation:
where ε is the porosity (expert parameter EPORME) defined as the volume fraction of the voids
from the solid matrix, d is the mean particle diameter given by the following formula:
where the specific surface area A (expert parameter APORME) is the surface area of pores per
unit volume of the solid matrix.
The Ergun law
The Darcy law is valid in the viscous regime, while the Ergun law can be seen as its extension in
the inertial (convective) regime by adding the second source term.
The pressure drop in the porous medium in the Ergun law is given by the following relation:
where the coefficient
is defined as
with μ the viscosity and κ the intrinsic
permeability. The intrinsic permeability is given by the Carman-Kozeny relation. The coefficient
is defined as
. CE is the Ergun coefficient defined by:
The constant C (expert parameter KPORME) proves the dependence of the inertial regime on the
roughness of the pore's surface and takes the following value:
C = 1.8 For smooth walls;
= 4 For rough walls
The Integral Law
An alternative way often used in industry to define a porous medium is to give the relation
between the pressure drop and the mass flow through the porous medium of thickness L.
Considering the mass flow uniform over the entire porous medium, the pressure drop in the
porous medium can be given by the following relation:
where L [m] is the length of the porous media along the flow direction, expert parameter
LPORME.
[bar] is a pressure drop coefficient assumed to be constant over the porous media, expert
parameter KPORME.
n is a user defined exponent (default 2.0), expert parameter NPORME.
Apassage [m²] is defining the effective section area through which the fluid flows;
ATotal [m²] is defining the sum of Apassage and the solid section area of the porous media. The
ratio ATotal/Apassage is given by the expert parameter APORME.
6.4.2
Thermal Heat Flux model
The new thermal heat flux transferred from the inclusions to the fluid is represented by the
following relation:
where Kexch [W m-2 K-1] is the heat transfer coefficient (expert parameter HPORME); Sexch [m-
1] is the volumetric surface (expert parameter SPORME) selected to model heat transfer (i.e., the
ratio of the exchange surface to the domain volume); T is the local temperature and Tskin is the
skin temperature of the inclusions (expert parameter TPORME).
6.5
CAVITATION MODEL
Cavitation is a dynamic process of formation of bubbles inside the liquid, their growth and
subsequent collapse. It appears where the pressure of the liquid falls below its vapour pressure.
Such cavitation often occurs in pumps, propellers and impellers etc.
The development of the cavitation phenomena is related to the cavitation number σ, defined as:
where Pt,inlet is the absolute total pressure at the inlet of the domain;
Pvap,s is the vapour pressure;
ρ is the density of the liquid phase;
Vref is the reference velocity .
Cavitation develops with decreasing cavitation number, which can be achieved by increasing the
vapour pressure or decreasing the absolute inlet total pressure from an arbitrary non cavitating
state to the desired cavitating state (defined through σ).
To model the physics of cavitation, the approach used by FINE™/Turbo makes use of single
fluid approach, characterized with a density ρ that is allowed to vary within the computational
domain.
The Cavitation Model with the Barotropic Law
When the cavitation model with the barotropic law is used, the evolution of density and static
pressure are linked through a barotropic law, enabling macro simulation of the cavitation
phenomena with minimum user inputs.
The barotropic law
is used to evaluate the local density as a function of local static
pressure ps in the cell. According to local value of density and corresponding vapour pressure, the
), or a
computational cell can be considered as filled fully with liquid (
mixture of both. In the latter case, an equivalent density is considered. The corresponding local
fluid velocity is unique, still based on the single fluid approach.
), vapor (
FIGURE 6.5
Sinusoidal barotropic state law
In the biphasic region, the density is written as:
where
is the vapor pressure,
is the minimum speed of sound and
is the local static
pressure.
The parameter AMIN, which represents the slope of the barotropic law, is defined as follows:
Then, the sinusoidal barotropic law is written as:
The dynamic viscosity of the mixture is computed as follows:
and
where
α is defined as:
are the dynamic viscosity of the vapor and liquid, respectively. The void ratio
6.6
REFERENCES
Chang, K. C., Wang, M. R., Wu, W. J., Liu, Y. C., 1993, "Theoretical and Experimental Study
on Two-Phase Structure of Planar Mixing Layer", AIAA Journal, Vol. 31, No 1, pp 68-74.
de Boer A., van der Schoot M.S., Bijl H., 2007, "Mesh Deformation Based on Radial Basis
Function Interpolation", Computers and Structures, Vol.85:784-795.
Livne O.E., Wright G.B., 2006, "Fast Multilevel Evaluation of Smooth Radial Basis Function
Expansions", Electronic Transactions on Numerical Analysis, Vol.23:263-287.
CHAPTER 7.
DEDICATED TURBOMACHINERY MODELS
This chapter describes the theory dedicated to turbomachinery applications:
In this section
7.1 Rotor/Stator Interaction
7.2 Unsteady Turbomachinery Calculations
7.3 Harmonic Method
7.4 Cooling/Bleed
7.5 Uncertainty Quantification
7.6 Aeroacoustics
7.7 References
179
197
204
215
217
220
221
7.1
ROTOR/STATOR INTERACTION
The relative motion between successive blade rows together with boundary layers, wakes, shocks
and tip leakage jets are the major sources of unsteadiness that may affect a turbomachinery flow
locally or as it travels through the next rows. All these interactions are strongly coupled,
increasing in magnitude as the gap between successive blade rows is decreased, and affecting
consequently the performance of the machine.
Solving for such flows requires an unsteady and viscous flow solver with the capability to
manage enormous data storage. One way to optimize the computer memory requirement is to
resolve the steady flow field on a truncated computational domain. This requires a pitchwise
averaging process to be performed at the so-called rotor/stator interfaces. This particular boundary
condition is available under the FINE™/Turbo environment as the mixing plane approach. The
rotor- stator interaction is done by exchanging circumferentially averaged flow quantities.
Physically, this means that the blade wake or separation occurring in the blade passage are mixed
circumferentially before entering the downstream component. As a result,
the velocity
components and pressure is uniform in the circumferential direction at the rotor/stator interface.
This physical approximation tends to become more acceptable as rotational speed is increased.
This mixing plane technique is by far the most used rotor/stator modeling in industry approach.
See Default Mixing Plane Approach, Full Non-matching Technique for Mixing Planes and Non
Reflecting Boundary Conditions for more detail on the mixing plane approach.
The Frozen Rotor approach is another steady method considering the rotor/stator interface. The
method is a simplified full non-matching domain scaling approach. It is neglecting the rotor
movement in the connecting algorithm. See Frozen Rotor section for more detail on the Full Non
Matching Frozen Rotor approach.
The second step allowing for a higher level of accuracy consists of considering an unsteady
rotor/stator interaction. Various techniques allowing to treat configurations with an arbitrary
number of blades in the rotor and the stator have been proposed by many authors (Giles, 1990,
Lemeur, 1992, Erdos et al, 1977, He, 1997), each of them having their own advantages and
disadvantages, each of them affecting differently the memory requirement, solution time and the
most important parameter, the accuracy of the computed flow solution. But none of these
techniques allows to resolve on a truncated computational domain all time frequencies present in
the turbomachinery configuration, except if the pitch distance is the same in the successive rotors
and stators. In fact, each of them are affecting the computed time frequencies and Fourier modes
that are propagating the flow information inside the gap region.
The Domain Scaling Method is another type of unsteady rotor/stator interface treatment (Rai,
1989), that has been selected and implemented in the FINE™/Turbo solver. This technique is
based on the constraint that the pitch distance must be identical on both sides of the interface. If
the numbers of blades in the rotor and the stator are different, this implies either to increase the
number of passages modelled or to scale the geometry. The Domain Scaling Method presents the
advantage that it allows to resolve all time frequencies with an error that is proportional to the
scaling coefficient. The accuracy of the computed unsteady flow solution may then be improved
at the expense of more data storage and larger solution time if more blade passages are
considered.
The Phase Lagged Method is the second type of unsteady rotor/stator interface treatment that has
been selected and implemented in the FINE™/Turbo solver. This technique removes the Domain
Scaling constraint that the pitch distance must be identical on both sides of the interface. The
Phase Lagged Method presents the advantage that it allows to resolve all time frequencies with an
error that is proportional to the scaling coefficient. The accuracy of the computed unsteady flow
solution may then be improved at the expense of more data storage and larger solution time if
more blade passages are considered.
Finally,
the Nonlinear Harmonic Method is the last type of unsteady rotor/stator interface
treatment that has been selected and implemented in the FINE™/Turbo solver. This technique
does not have the constraint that the pitch distance must be identical on both sides of the interface.
It provides an approximate unsteady solution at affordable calculation costs. The user can control
the accuracy of the unsteady solution through the order of the Fourier series.
The following sections will introduce the steady rotor/stator interface treatments. The domain
scaling method and the phase lagged method will be described in Unsteady Turbomachinery
Calculations. The nonlinear harmonic method will be described in the Harmonic Method section.
7.1.1
Default Mixing Plane Approach
Geometrical and Topological Constraints
The rotor-stator interfaces are defined by stripes. A stripe is the element along which the required
averaging in tangential direction is carried out. It is composed of a number of boundary patches
which must cover the same range in the spanwise direction . The upstream and the
downstream sides are distinguished. Each boundary condition must belong either to the upstream
or to the downstream side. These two sides communicate through the exchange of pitch-averaged
variables. The meshes do not need to match in the spanwise direction, but the azimuthal mesh
lines on the boundaries must be circular arcs.
Communication Process
On both sides, the flow state is extrapolated from the inner cells onto the interface. It is then
interpolated onto meshes that share the same spanwise grid point distribution on both sides. The
pitchwise averaging is carried out on those meshes and the mixing process, depending on the
boundary condition type, is applied. This mixing process combines the variable on one side of the
interface with the pitchwise averaged variables of the other side. Once the mixing process is
completed, the flow state is interpolated back onto the initial mesh interface and the dummy cells
are set to impose the calculated variables on the interface.
The extrapolation of the flow state from the inner cells onto the interface can be done using
different techniques. These are the same as those used by the outlet boundary conditions.
Before the mixing process, the averaged variables can be underrelaxed to stabilize the calculation.
The relaxation factor is user input (RQSTDY), the default value being 1, which means that no
under-relaxation is performed in the default configuration of the solver. The possibility is given to
the user to update the rotor- stator boundary conditions every NQSTDY iterations. If the
parameter NQSTDY is set to zero (default), the update is done at every Runge-Kutta step.
Different Available Boundary Conditions
The rotor/stator interface included in the FINE™/Turbo solver exchange the mass, momentum,
and energy fluxes instead of the classical primitive variables. The advantage of a flux-based
approach is that a more strict global conservation through the interface is ensured. Two kinds of
boundary conditions are currently available and are described in this paragraph:
l The local conservative coupling (with flux decoding),
l The conservative coupling by pitchwise rows (no flux decoding).
Local Conservative Coupling (With Flux Decoding)
On each mesh point of both sides of the interface, a test is done to detect whether the interface can
be considered as a sub- or supersonic in- or outlet. Then a transfer of the fluxes and pressure from
the other side is performed depending on the result of the test.
l If the side is considered as a supersonic inlet, all the averaged fluxes from the other side are
taken with the averaged pressure.
l If the side is considered as a subsonic inlet, the averaged fluxes are taken from the other side.
The local pressure is kept.
l If the side is considered as a subsonic outlet, only the pressure is transferred from the other
side. The local fluxes are kept.
l If the side is considered as a supersonic outlet, nothing is taken from the other side.
Once the transfer is completed, a decoding of the fluxes with pressure is carried out on each side
with the formulas which depend on the type of fluid.
Compressible flows
For compressible flows, the density, velocity vector and pressure are derived from
,
respectively the flux of mass, the flux of momentum plus the pressure force and the flux of
energy. The other variables such as k or ε are also derived from their fluxes. They are referred to,
in the following as X an QX. The fluxes are constructed from the primitive variables using:
where ρ is the density,
the absolute velocity vector, T the temperature, Cp the heat capacity and
the surface vector of the cell face. After application of the mixing process the primitive
variables are calculated from the fluxes using:
where γ is the specific heat ratio.
Incompressible flows
For incompressible flows, the velocity vector and pressure are derived from
, respectively
the flux of mass and the flux of momentum plus the pressure force . The other
variables like k or ε are also derived from their fluxes. They are referred to, in the following, as X
and QX. As far as the energy equation is concerned, the temperature is also derived from its flux
like the other X variables.
Conservative Coupling by Pitchwise Rows (No Flux Decoding)
The local conservative coupling approach presents two weaknesses:
l The decoding of the fluxes might in some case lead to a blow up of the process, especially at
transonic flow conditions, because of the presence of a square root in the primitive variable
equations, whose positivity is not always guaranteed.
l The local approach may lead to opposite decisions on the flow direction for the corresponding
mesh points of both sides of the interface, which as a consequence decreases the accuracy on
the global conservation.
Therefore a new boundary conditions has been developed, in which the decision on the direction
of the flow is taken only once per pitchwise row, and which avoids the fluxes decoding. This new
boundary condition has shown to be more robust in most cases and guarantees a strict global
conservation. The only type of application for which a local approach would better suit is the
impeller-volute interaction.
7.1.2
Full Non-matching Technique for Mixing Planes
Concept
The full non matching mixing plane module removes the geometrical constraints imposed by the
default mixing plane module.
The full non matching mixing plane module uses the concept of image. An image of the real
mesh patches is built on both sides of the interface, the left and right images respecting the above
constraints and being in addition matching in the spanwise direction. The only remaining
constraints are the following:
l The rotor/stator patches belonging to a given interface should lie on the same common
axisymmetric surface.
l The hub and the shroud lines are assumed to be located on a circular arc, and each extremity of
the hub and shroud lines should coincide with one corner of one of the patches. The periodic
boundaries between the adjacient blades must be defined by continuous lines with edges
connected by their corners. For a 360- degree mesh, a similar continuous spanwise line
(defined by interconnected edges) must be used in the connection algorithm.
l All patches constituting a rotor/stator interface should form a filled closed surface with no gap.
l the rotor/stator patches should be fully included in the rotor/stator interface: contrary to the full
non matching algorithm, which includes an automatic detection of the connection zone, and in
which the patches can then be partially connected, the rotor/stator module assumes that the
patches are fully connected.
One image mesh is constructed on both sides of the interface. It respects the following constraints:
l The image is a "concatenation" of all the patches constituting the left or right side of the
interface.
l The pitchwise mesh lines lie on circular arcs.
l The left and right images have the same spanwise distribution of the nodes.
l The mesh density of the image is similar to the one of the initial patch.
The creation of the image mesh is illustrated by FIGURE 7.1, showing the creation of the image
of a butterfly configuration. With the previous version of the mixing plane module such a
configuration would have required the creation of an intermediate block with one face connected
to the butterfly and the opposite face respecting the constraints of rotor/stator patches.
FIGURE 7.1
Creation of the image mesh
Implementation of Mixing Plane Approach with Full Non Matching
Technique
The communication algorithm between rotors and stators is organised in several steps:
1. Extrapolation of the flow solution from the inner cells to the boundary: the cylindrical velocity
components are extrapolated.
2. Sending of the flow solution from the initial mesh to the image (on both sides): an interpolation
tree is built between the image and the initial mesh, by applying the full non matching
connecting algorithm.
3. Application of the mixing plane algorithm between the left and right images, with construction
of flux variables to be imposed on the left and right side.
4. Sending of the fluxes from the image to the initial meshes: this is again performed with the aid
of the full non matching algorithm, which allows for an exactly conservative distribution of the
calculated fluxes throughout the cells. The transformation of the flux variables to the primitive
ones is not required, as the fluxes are directly added to the residuals of the finite volume
scheme, without the use of the dummy cells.
The mixing plane algorithm implementation is similar to the one of the previous module. Only the
conservative coupling by pitchwise rows has been implemented. The algorithm is organised under
the following steps:
1. Calculation of the flux variables on both sides
2. For all spanwise positions perform a pitchwise averaging of the flux and of the primitive
variables.
3. For all spanwise positions determine the upstream and downstream side according to the flow
direction, and build the mixing plane fluxes.
The local fluxes on the upstream side are taken from the upstream, with a contribution of the
averaged downstream static pressure.:
On the downstream side the local fluxes are taken as the averaged fluxes on the upstream side
with a contribution of the local static pressure:
7.1.3
Non Reflecting Boundary Conditions
Concept
the strong interaction between neighboring rows,
Because of
the flow in multistage
turbomachinery is rather complex. This complexity is increased by the difficulty that CFD codes
have to handle rotor-stator interfaces located close to blade rows. In such configurations, spurious,
non-physical reflections of steady waves -such as shock waves-can occur at boundaries.
A common way to cope with this problem is to use a steady-state non reflecting boundary
condition based upon a characteristic analysis of the linearized Euler equations [Giles, 1988]. The
characteristic variables are imposed on each side of the rotor-stator interface. On the downstream
patch, the entropy wave, two vorticity waves, and the downstream running pressure wave are
imposed, whereas the upstream running pressure wave is imposed on the upstream patch.
Though the methodology is based on the linearized Euler equations, it could be applied to viscous
flows. Nonetheless, such an approach should be restricted to cases where the pitchwise variations
are much smaller than the pitch average quantities.
It should be noted that this method uses the Full Non-Matching technique and that the geometrical
constraints associated with the default mixing plane approach are eliminated. The procedure
described bellow is performed on the image meshes. The turbulent quantities is treated by the full
non-matching mixing plane approach.
Characteristic Variables
Non preconditioned equations
The characteristic variables (
perturbations to the average flow field:
) for non preconditioned equations are determined in terms of
where
is the density,
tangential velocities, and
the speed of sound. The characteristic variables are:
is the velocity normal to the boundary considered,
 are the
the pressure. The upper bar indicates the averaging procedure and  is
 and
: the linearized perturbation in entropy.
and
: the tangential velocity.
: the downstream running pressure wave.
: the upstream running pressure wave.
Preconditioned equations
The characteristic variables (
) for preconditioned equations are also determined in terms of
perturbations to the average flow field. With the preconditioning technique the acoustic wave
of the same order of magnitude as the fluid speed
speed
is replaced by a pseudo-wave speed
is still the velocity normal to the boundary considered, the relations can be written a
and
follows:
is the static enthalpy and
where
represent the
isothermal derivative with respect to the pressure and the isobaric derivative with respect to the
temperature, respectively. The variables
the temperature. The subscripts
are used to relate
and
and
to
:
and
The matrix equation shown above is slightly modified for the case of incompressible and
condensable fluids.
It can be demonstrated that, independently of the preconditioning matrix, the last characteristic has
the same direction than the others only when the normal velocity is higher than the physical speed
of sound
Average flow definition
The definition of the averaged quantities for the flow variables is not obvious as they are related
by non-linear equations. A rigorous definition can be based upon the mixed-out flow field that
provides averaged values to conserve mass, momentum and energy. This approach starts from the
steady two-dimensional Euler equations that are integrated in the pitchwise direction on the rotor-
stator interface at different spanwise locations. The averaged values (with a subscript
) are the
uniform values for which the fluxes are equal to the fluxes averaged in the pitchwise direction.
Therefore, for each spanwise location:
These equations are completed with the relation between the total enthalpy and the other
variables:
l for a perfect gas:
l for a real gas:
.
.
, with
and
l for a condensable fluid:
.
Solving these equations requires an iterative process except for perfect gases.
The flux-averaging method outlined above is not very robust when partially reversed flows in the
circumferential direction are present (e.g. downstream a blade blunt trailing edge). In this case, it
is recommended to adopt a classical area averaging approach to increase the solver robustness.
The flux-averaging method is controlled by the NRBCAM expert parameter, which has two
integer entries. The first one manages the averaging method on the Non reflecting Rotor-Stator
interfaces and the second one on the Turbo Non reflecting inlet/outlet boundary conditions. Each
entry can either be set to 1 (mixed- out flux averaging) or 2 (classical weighted area flux-
averaging).
Non Reflecting 1D
The 1D non reflecting treatment is simply
with
the index of the characteristic. The
relations between the flow characteristics and the primitive variables are resumed below:
No preconditioning
Preconditioning
At an inflow (downstream of the rotor/stator interface) the first four incoming characteristics are
specified, whereas the fifth characteristic is specified at an outflow (upstream of the rotor/stator
interface). For instance if a stator is located upstream of a rotor, at the stator outflow the imposed
characteristic is
and at the rotor inflow the imposed characteristics are
The outgoing characteristics are computed by using the preconditioned or non preconditioned
matrix equations show above. The system of equation is inverted in order to re-compute the
primitive variables on the boundary.
The
averaged vector,
(no preconditioning) or
(with
preconditioning) used in these equations is composed of the five averaged quantities (computed
by the mixing-out or the classical weighted area method) on the opposite side of the rotor/stator
interface. For instance, the averaged quantities computed on the downstream patch are used in
order to compute the incoming characteristic variables on the upstream patch.
Non reflecting 1D correction for entropy and enthalpy
The treatment described above leads to a global correction of the flow variables at the rotor/stator
interface. At downstream patches, the theory predicts a flow field with uniform entropy and
stagnation enthalpy. However, due to second order effects neglected in the linear theory, there are
small variations in the entropy and stagnation enthalpy. In order to limit these variations, the non
reflecting treatment is combined with an additional requirement that the entropy and stagnation
enthalpy are uniform across the inflow. This requirement is imposed by modifying the values of
some incoming characteristic variables.
The changes of the incoming characteristics on the boundary are split into two components: a
pitchwise average variation (
) at each spanwise location.
) and a local change (
l For the average component (
), the specification of an uniform entropy and stagnation
enthalpy are imposed by driving some residuals to zero.
No preconditioning
Preconditioning
Where
entropy:
the stagnation enthalpy (as outlined in the average flow definition) and
is the
o for a perfect gas:
.
o for a condensable fluid:
is computed from the SHP table (entropy function of enthalpy
and pressure).
The pitchwise average changes in the incoming characteristic variables which are required to
drive these residuals to zero are obtained by solving the following equations:
The changes in the characteristic variables are calculated by inverting the jacobian matrix:
No preconditioning
Preconditioning
with
,
and
. It is
noted that the determinant of the jacobian
matrices is greater than zero with physical
)
thermodynamic values (
and inflow conditions (
).
l The local changes of the first and the fourth characteristic variables are obtained from the
condition that the local entropy and stagnation enthalpy should match to the average values.
This is achieved by the same procedure used for the average values. The local residuals that
have to be driven to zero are defined by:
No preconditioning
Preconditioning
where
stands for the grid indices in the pitchwise direction. A development similar to the
previous one for the average values provides the following local changes for the characteristic
variables:
No preconditioning
Preconditioning
Where the local variations of the characteristic variables
and
are still kept equal to
zero in the 1D non reflecting treatment.
By adding the average and the local components of the changes in the characteristic variables the
specified values on the downstream patch is set depending on the expert parameter LOCCOR:
LOCCOR = 0
LOCCOR = (-)1
LOCCOR = (-)2
Non Reflecting 2D
For the Non Reflecting 2D rotor/stator interface, the way that the boundary condition is treated
depends on the local Mach number and is defined in terms of the pitchwise spatial Fourier
harmonics amplitude of the one-dimensional characteristic variables.
No preconditioning
Preconditioning
l For a subsonic compressible inflow:
l For a subsonic inflow:
l For a subsonic incompressible inflow:
l For a subsonic ouflow:
l For a subsonic compressible outflow:
l For a subsonic incompressible outflow:
with
for compressible fluids and
for incompressible fluids. In the equation above
represents the wave number in
the
direction and
.
Non reflecting 2D correction for entropy and enthalpy
Similarly to the 1D non reflecting treatment, the changes of the incoming characteristics on the
) and a local
rotor/stator interface are split into two components: a pitchwise average variation (
change (
) at each spanwise location. However the local changes are now adapted to respect
the two dimensional non reflecting conditions on the downstream surface on the upstream surface.
Therefore, they take into account the harmonic variations of the characteristic variables in the
pitchwise direction.
l On the downstream face:
The additional requirement that the entropy and stagnation enthalpy are uniform across the
) and the local changes (
inflow is still valid. Consequently the pitchwise average variation (
) are obtained by driving their respective residuals to zero (the same as for the 1D non
reflecting approach).
From the 2D non reflecting relations, only the variation of the second harmonic (
) is kept,
the fourth one (
) is provided by the constraints on the uniform enthalpy. Consequently, in
addition to the previous equations, the local changes of the second harmonic are given by the
difference between the correct steady state 2D non reflecting conditions and the current values:
where
stands for the grid indices in the pitchwise direction and
is related to the local
variations of the outgoing characteristic
. Since these relations can be complex depending
on the
value, Fourier transforms and inverse transforms can be used. The value of
is
directly computed from its definition:
No preconditioning
Preconditioning
o If
, the Fourier transform of the fifth characteristic is performed along
cells in the pitchwise direction. Theoretically, the number of modes can increase up
the
to the number of points. Usually the range of
is limited to
:
is set by the expert parameter NH2DNR which default value is
The range of variation of
set to 3 (range of = [-3;3]). This default value is usually sufficient for the potential effects
of large blades or shocks but it may need to be increased for the potential effects or wakes
of fine blades with low periodicity.
For the no preconditioning case,
and the inverse transform gives the
local value:
o If
, a direct relation is obtained, as shown below for the no
preconditioning case:
Similarly to the 1D non reflecting treatment, the changes of the incoming characteristics are
controlled by the expert parameter LOCCOR . The possible values of the parameter
LOCCOR and their effects are resumed in the table below. The difference between
when
LOCCOR =2 and LOCCOR =3 is the use of
in the local changes of
LOCCOR=3. In these equations,
is still kept equal to zero.
LOCCOR = 0
LOCCOR = (-)1
LOCCOR = (-)2
LOCCOR = (-)3
l On the upstream face:
The 2D non reflecting treatment provides now a relation between the local change of the
incoming characteristic and the ones of the outgoing characteristics. The local change is given
by the difference between the correct steady state 2D non reflecting condition and the current
value.
No preconditioning
Preconditioning
Similarly to the downstream conditions, a Fourier transform can be required depending on the
. The local variations of the outgoing characteristic variables are
properties of the coefficient
given by:
No preconditioning
Preconditioning
The corrections above will give better distribution of the entropy and the stagnation enthalpy that
match the averaged upstream values. However, this is not true near the end walls when the
rotation speed of the end wall is discontinuous through the rotor-stator interface. In this case, the
correction can be locally removed by setting the expert parameter LOCCOR to a negative value,
corresponding to the value 1,2 or 3, respectively. The criterion that removes the correction of the
characteristic variables is defined by:
and
Mass flux correction
As the non reflecting treatments impose the values of the primitive variables on the rotor-stator
interface, the flux conservations are not ensured through this interface. The FLXRS expert
parameter can be used to conserve the mass flux in combination with non reflecting treatments.
The first integer toggles mass flux correction at the Rotor/Stator interfaces for NLH computations
and the second integer controls the correction for Non reflecting 1D/2D steady computations.
Each integer can be set to 0 (no mass flux conservation) or 1 (mass flux conservation).
The mass flux correction approach is simple: after applying the non reflecting treatment, the mass
flux is recomputed at each spanwise location on the upstream and downstream sides of a
rotor/stator interface. The local fluxes are shifted so that the average mass fluxes are equal on both
sides and equal to the average value. Then, when the mass convective fluxes are computed on the
cell face at the interface, they are replaced by the modified ones. It is pointed out that a consistent
correction is performed to the other equations
(equations of momentum and energy
conservations).
7.1.4
Frozen Rotor
The frozen rotor technique consists of a simple connecting boundary condition, ignoring the
rotation of the rotor. The implementation is identical to the one adopted in the full non-matching
"Domain Scaling Method" (p. 200), except from the fact that no rotation of the rotor-linked image
is performed, allowing the creation of a steady-state solution.
7.2
UNSTEADY TURBOMACHINERY
CALCULATIONS
The relative motion between successive blade rows together with boundary layers, wakes, shocks
and tip leakage jets are the major sources of unsteadiness that may affect a turbomachinery flow
locally or as it travels through the next rows. All these interactions are strongly coupled,
increasing in magnitude as the gap between successive blade rows is decreased, and affecting
consequently the performance of the machine.
Five types of unsteady simulations are available within the FINE™/Turbo solver:
l single blade row calculation, periodic boundary conditions: the unsteadiness is created by a
time varying inlet or outlet conditions. The circumferential distribution of the imposed
inlet/outlet conditions has the same periodicity as the blade row, which permits to avoid the
introduction of any time periodicity in the periodic boundary conditions. The activation of this
unsteady mode requires to activate Rotating Boundary Condition in the Boundary
Conditions page and specifying the rotational speed in Rotational Speed Unsteady
respectively under the INLET and OUTLET thumbnails.
l single blade row calculation, phase- lagged periodic boundary conditions: contrary to the
previous case, the period of the varying inlet or outlet boundary conditions is different from the
blade passing period, and phase-lagged periodic boundary conditions have to be used. To
activate this mode, on the Rotating Machinery page, the Phase Lagged capability has to be
activated on the top of the page.
l multi-stage calculations with unsteady rotor/stator interactions: the domain scaling approach
and the phase lagged approach.
The phase lagged method is only allowed for one stage computations (stator-rotor). For multi-stage
computations, such as a 1-1/2 stage computation (stator-rotor-stator), it is only possible if the number
of both stators is the same.
l single blade row or multi-stage calculations with the nonlinear harmonic method.
7.2.1
Unsteady Inlet and Outlet Boundary Conditions
In turbomachinery the relative motion between stator and rotor blades induces an unsteadiness,
due to the fact that for instance in a turbine stage the flow conditions that a rotor sees at the inlet
are time dependent, whereas these conditions would be fixed for a fixed reference system.
If one of the imposed variables along the inlet or the outlet is not uniformly distributed in the
tangential direction in the fixed space, the inlet/outlet section sees a boundary condition that
changes in time. In this case, the space distribution of the imposed quantity being defined by qo
at each
(1D or 2D), each cell face centre coordinate is rotated by an angle
time step, before performing a new space interpolation.
The activation of this procedure along the inlet and/or the outlet is obtained by activating
Rotating Boundary Conditionin the Boundary Conditionspage and specifying the rotational
speed in Rotational Speed Unsteady respectively under the INLET and OUTLET thumbnails.
The use of a Rotating Boundary Condition imposes a limitation for the specified profiles at the
inlet and outlet. Only θ profiles (f(θ), f(r-θ) or f(θ-z)) are allowed and the 2D space profile f(r-θ)
must be structured (profile f(r) with the same number of points for different θ)
7.2.2
Phase Lagged Periodicity Boundary Conditions
If the inlet and/or outlet boundary conditions present a pitchwise variation with a period different
from the blade passing period, a time periodicity has to be introduced along the periodic boundary
conditions upstream and downstream of the blade passage, leading to the so-called "phase-
lagged" boundary conditions (Fatsis, Pierret and Van den Braembussche, 1995).
FIGURE 7.2
Illustration of a typical pump with periodicity conditions
Let us consider that the computational domain is the one defined by ABCDHGFE as shown in
FIGURE 7.2, where the solid blade walls correspond to the segments BC and FG. Under the
context of phase-lagged boundary conditions, the scalar variables (density, pressure, turbulent
viscosity,...)on AB, EF and CD, GH are not equal and the velocity vectors are not related by a
simple rotation operator, since the flow is not periodic. n is the time steps in current blade period
and is defined as:
Boundary conditions for segments EF and GH
Since, in the absolute frame of reference, the actual positions of segments EF and GH correspond
respectively to the positions of segments AB and CD n time steps earlier, the variables at time t on
segments EF, GH are obtained from those on segments AB, CD at time t- n Δt:
Therefore, the flow variables of segments AB and CD need to be stored for the n preceding time
steps.
Boundary conditions for segments AB and CD
In the absolute frame of reference, the actual positions of segments AB and CD correspond
respectively to the positions of segments EF and GH, (NOFROT-n) time steps earlier. The
variables at time t on segments AB, CD are obtained from those on segments EF, GH using:
Therefore, the flow variables of segments EF and GH need to be stored for the (NOFROT-n)
preceding time steps.
Since at the beginning of the computation no solution is available at the previous time steps,
standard periodic boundary conditions are applied at the first iteration and then frozen during n
time steps for segments EF, GH and (NOFROT- n) time steps for segments AB and CD.
Although this procedure is the simplest, it might contribute to slow down the convergence to a
periodic state.
7.2.3
Domain Scaling Method
The Domain Scaling Method considers in the computational domain respectively K 1 and K 2
blade passages with the following condition to be satisfied:
.
where the indices 1 & 2 refer to the upstream and downstream sides of the interface, and P1 & P2
are the pitches of the two connected blade rows.
If the numbers of blades in respectively the rotor and the stator are not equal, the user should
make the choice between:
l modeling a higher number of blade passages (or even the entire machine if a common multiple
can not be found). If for instance the numbers of blades are 16 & 24, the numbers of passages
to model are respectively 3 & 2. This permits to avoid the introduction of an error due to the
geometry scaling, at the cost of an increased memory requirement.
l scaling the geometry. The easiest way to proceed in order to obtain the required scaling is to
generate a mesh with a blade number different from the real one. The ratio between the
modified and the real blade numbers should be as close as possible to 1.0.
In some cases the most appropriate treatment may be a combination of the 2 above approaches. If
for instance the numbers of blades are 18 & 24, one could scale the stator by changing the number
of blades from 18 to 16, and then choose to model 2 & 3 passages. The scaling factor is then
1.125, instead of 1.33 in case only one blade passage is modelled.
The major advantage of having the same pitch distance on both sides of the interface is that it
permits to avoid considering any time periodicity in the boundary condition treatment. The
boundary conditions to be imposed along the periodic boundaries inside the gap region are given
by
,
where
is the pitch distance on both sides of the interface. The "+" sign is to be used
when imposing boundary conditions on the lower periodic segment (minimum azimuthal
coordinates) and the "-" sign is to be used for the higher periodic segment (maximum azimuthal
coordinates). Along the rotor/stator interface, the boundary condition is defined as
,
where the parameter m is selected such that the point
is part of the computational
domain of row 3-i to allow for the interpolation across the interface. Since only the spatial
periodicity is accounted for in the connecting boundary condition, the periodic surfaces become
simple non- matching rotating boundaries, while the interface is a non- matching connecting
boundary. The solution procedure is then as follows, for each physical time t:
l Rotate the grid in function of the physical time step and of the rotation speed of each row.
l Resolve the flow field at the given physical time t. The boundary conditions to be imposed
along the periodic segments and the boundary condition to be imposed along the interface
boundary are defined below
l Save the flow solution for future post-processing.
This method does not impose any time periodicity in the boundary condition treatment and thus,
allows to capture all time frequencies of the various unsteady interactions, but occurring on a
modified geometry due to the grid scaling. The effect of the grid scaling on the accuracy of the
computed flow solution is of great importance when comparing computational results with the
experimental data, as another one-stage configuration has been truly resolved. These effects may
be summarized as:
l a shift in the spectrum of time frequencies for the blade row that has not been scaled.
l the modification in both blade rows of the Fourier modes that are propagating the flow
information.
The unsteady governing flow equations are resolved in the relative system of each row. Thus, no
grid rotation needs to be performed at each physical time step and only the interpolation data
structure needs to be modified in function of the relative position of each component. For
example, a downstream rotor will see an upstream stator moving in the opposite direction of its
own rotation velocity, while the upstream stator will see the rotor moving in the direction of the
rotor rotation velocity.
Finally, the previous implementation lets the rotor do the full rotation. The problem in this method
is that the rotor and the stator are in front of each other for a little fraction of time. During this
time, no time shift is necessary at the R/S interface which acts then as a pure connection. The
modification proposed aims at increasing the time during which the R/S interface acts as a
connection. To perform this, only the periods during which the rotor and the stator are in front of
each other, are repeated. But, since the length of the periods are different in the 2 blades rows, the
solution has to be stored and reset in the row with the smallest period.
Example: if row 1 has the highest number of blades and therefore is submitted to the larger period,
this last period T1 is repeated over and over, while a fractional number of periods will be
simulated in row 2. The solution is thus stored at the end of the last completed period in row 2, to
be reused at the beginning of each T1. This method increases a lot the speed of exchange between
the two blade rows. It increases also the robustness of the computation.
Full Non-matching Approach
The FNMB approach is used for the domain scaling method. The implementation is practically
identical to the one that is adopted in the steady state frozen rotor approach. The FNMB
connecting algorithm is used in order to exchange the flow variables and fluxes between the left
and right image. The difference in the case of unsteady calculations is that the boundary condition
patches linked to the rotor side need to be positioned according to the current time step.
This implementation is organised in nearly the same way as the mixing plane approach, except
from the fact that the mixing plane technique applied between the two image must be replaced by
an additional full non-matching connection. The global organisation is the following:
1. Extrapolate the inner flow solution to boundary condition patches (on both sides),
2. Interpolate the flow solution from initial patches to the image (on both sides),
3. Full non-matching connection between the two images (with appropriate rotation of the rotor-
linked image),
4. Transfer of the calculated fluxes to the initial boundary condition patches.
7.2.4
Phase-lagged Method
In the phase-lagged method, the rotor/stator connection becomes a time dependent connection
between patches having different sizes in the pitchwise direction.
FIGURE 7.3
Illustration of rotor/stator interaction with phase-lagged method
The connection can be established through the reconstruction of the full flow solution at the time
t, using computed solutions at different time steps. The same procedure is applied on the rotor and
stator side, as the treatment of the stator can be seen as the one of a rotor rotating in the opposite
direction.
7.2.5
Choice of the Physical Time Step
For a general case the user specifies the amplitude of the physical time step. This time step is
constant through the whole calculation.
In the case of turbomachinery applications the user defines the time step in another manner, by
imposing the Number Of Angular Positions that the unsteady algorithm should solve within one
period. The time to accomplish one full rotation being equal to 2π /ω (ω the rotation speed of the
domain as defined in the Rotating Machinery page), the time step is computed using the
relations:
,
where Nperiods is the number of periodicities and NOFROT is the Number of Angular
Positions. In case of phase lagged option:
.
7.3
HARMONIC METHOD
An attractive feature of FINE™/Turbo is the computation of unsteady flows using the so-called
nonlinear harmonic method (He et al, 1998). The main idea is that the flow perturbations that
make the flow unsteady are written about a time-averaged value of the flow and are Fourier
decomposed in time. Casting the unsteady Navier-Stokes system into the frequency domain,
transport equations are obtained for each time frequency. The user controls the accuracy of the
unsteady solution through the order of the Fourier series.
7.3.1
Theory
The unsteady Reynolds Averaged Navier- Stokes equations are considered, formulated in
the conservative flow variable
Cartesian coordinates
in a rotating frame for
(x,y,z)
where
is the relative velocity.
The conservative variable is decomposed into a time-averaged value and a sum of periodic
perturbations, which in turn can be decomposed into N harmonics:
The first harmonic being the fundamental associated with the blade passing frequency (BPF) of a
blade row for instance. The harmonic amplitudes
are complex conjugates.
and
A time-mean flow equation is obtained by time-averaging the unsteady equations. This is like
Reynolds averaging, except that the unsteady perturbations are periodic fluctuations, assumed to
be preponderant over the turbulent fluctuations. The resulting time-mean flow equations are in a
conservative form and can be formulated following a finite-volume method as
where i is the cell number and Ωi its volume. Fc and Fv are respectively the discretized convective
and viscous fluxes, and ST is the source term that includes the Coriolis and centrifugal terms.
The nonlinearity makes the deterministic stress terms appear in the time-averaged equation in the
same way as Reynolds stress terms appear in the Reynolds averaged equations. They provide
new contributions Detc and Detv to the advective and viscous fluxes following:
where Dx = (τxx, τxy, τxz), Dy = (τyx, τyy, τyz), Dz = (τzx, τzy, τzz) are the strain terms and .
The deterministic stress contribution is of the form:
and
To compute the stress terms and perform the model closure, a transport equation for the unsteady
perturbations is obtained by retaining the first-order terms in the basic unsteady flow equations.
Considering the first N harmonic components of the periodic fluctuation U', a transport equation is
of the fluctuation. By casting the 1st order linearized
obtained for each complex amplitude
equation into the frequency domain, this harmonic perturbation equation is made space dependent
only like the time-averaged flow equation. It can be made pseudo time dependent and, being in a
conservative form, formulated following the finite-volume method:
where
Besides the linearized terms of the Coriolis and centrifugal forces, the harmonic source term
includes the complex term that was induced by the casting in the frequency domain:
.
Viscous Stresses & Turbulence Model
In the time-averaged and harmonic flow equations, the laminar viscosity is computed from the
averaged flow variables only.
The turbulence can be modelled by the eddy-viscosity models. The eddy viscosity is assumed
undisturbed by the unsteady fluctuations. Therefore, the total viscous terms are in a linear form:
and
Closure of the Model
The deterministic stress is directly computed from the harmonic values. The stress generated by
two fluctuations f' and g' reads
7.3.2
Basic Harmonic Method
The rotor/stator interface is treated in order to respect the matching of the solution between the
upstream and downstream sides. The goal is to lead to the continuity of the unsteady flow across
the interface. Since the harmonic method uses a limited number of harmonics, this continuity
cannot be rigorously reproduced but the treatment is such that the observed discontinuity in the
numerical results decreases with a higher number of harmonics.
The basic harmonic method is a rank-1 method, which considers only the perturbation from the
adjacent relative rotating rows of the reference row. FIGURE 7.4 shows a schematic view of the
basic harmonic method (one harmonic per perturbation). The time harmonics in a relatively
rotating frame (or so-called row) are connected by the rotor/stator interface to the harmonics of the
opposite row, including the time mean. Each time harmonic is given two spatial frequencies in
space (called spatial modes), each one being respectively that of a Fourier series in space of the
connected time harmonic at the opposite side and of its conjugate. A connection with the time-
mean gives one mode.
FIGURE 7.4
Basic harmonic method
Connections at the row interfaces between the time harmonics of the relatively rotating rows. The
time harmonics model the perturbation originating from the relatively rotating adjacent row. The
harmonics include the time mean, which is the time harmonic of order 0. The time mean is
represented by a black colour and the number 0. The other harmonics are obtained for one
harmonic per perturbation. Thus, for the general case, there are two harmonics in the central row
and only one in the end-rows. Each harmonic has a number of modes at the side of a rotor/stator
interface (numbers shown in the small square boxes).
The rotor/stator interface analysis is based on the Fourier decomposition of the unsteady flow in
space (azimuthal) and in time along the interface. The primitive flow variables can be represented
by a first decomposition formulated along the downstream side, and also a second decomposition
formulated along the upstream side, because of the relative motion of the blade rows. A necessary
condition of the equality of the two definitions is obtained that, together with the phase-lag
periodicity condition, is equivalent to the chorochronic conditions demonstrated by Gerolymos et
al (2002). This yields a relation between the time harmonics of the unsteady flow on both sides of
the interface. This matching condition is applied to the discrete number of time harmonics
considered by the harmonic method. Since the time harmonics are periodic in space over the blade
row, a spatial Fourier decomposition of these time harmonics is also written. This, together with
the matching condition leads to a reconstruction of the harmonic and the time-averaged flow
variables at the rotor/stator interface. The continuity of the unsteady flow across the rotor/stator
interface is exactly satisfied for an infinite number of time harmonics. The implemented harmonic
method should approach this continuity, the discontinuity error due to the finite number of
harmonics being reduced if the number of harmonics is higher.
Incoming and outgoing characteristics are calculated from these reconstructed harmonic and time-
mean values. These local characteristic values are injected in a local non-reflective boundary
treatment. This is different from the treatment where the time-averaged flow is treated via a non-
reflecting flux-averaged algorithm (Saxer and Giles, 1993, and Chen et al, 2001, using the
harmonic method).
7.3.3
Clocking harmonic method
The basic harmonic method can reproduce rotor/stator interaction with a good accuracy and also
at considerably reduced CPU times. The approach couples and solves the time-averaged flow and
the perturbations. In particular, the time-mean flow is modified by the deterministic stress which is
a product of the unsteadiness. Thus the time- mean solution in a row is influenced by the
unsteadiness brought about by a rotating upstream row and by relative rotation again disturbs the
flow in a downstream row. The upstream row has an influence on the downstream row via the
time-mean flow in the central row but it is only indirect. No rotor/rotor and/or stator/stator effects
were taken into account. Thus, the clocking effects cannot be modelled. He and Chen (2002)
presented an attractive method to solve this complication. The goal is to reproduce the spatial
distortions in the third row that originate from the co-rotating first row.
The clocking harmonic method is a simplified rank-2 method, which considers the perturbation
from the adjacent rotating rows of the reference row and also simulates the rotor/rotor and
stator/stator interactions in a multi-row turbomachine. FIGURE 7.5 shows a schematic view of
the clocking harmonic method (one harmonic per perturbation). The time harmonics still model
the unsteady perturbation provoked by the relatively rotating adjacent row, while additional space
harmonics model the steady effects in a stator (respectively rotor) coming from the consecutive
stator (respectively rotor). The space harmonics, or clocking harmonics, are calculated at the
rotor/stator boundary of a blade row from the time harmonics of the adjacent blade row at the
opposite side of the rotor/stator.
FIGURE 7.5
Clocking harmonic method
Connections between the time harmonics and space harmonics at the rotor/stator interfaces. This
is the case where the end-rows r1 and r3 rotate at the same speed, hence the appearance of space
harmonics Hks in these two rows, shown in black, like the mean flow. The space harmonics are
calculated from the time harmonics of the opposite side of the rotor/stator interface. The
connections between the time harmonics of the baseline NLH are preserved.
For a general case row1/row2/row3 with the blade number N1/N2/N3, the effects of the clocking
of row1 into row3 modify the time-averaged solution in row3. There is a direct contribution from
a time- harmonic at the exit of row2, this harmonic being induced by the rotation of row1
relatively to row2. The spatial amplitude of this harmonic in the tangential direction over the
periodicity N 1 is obtained by a spatial Fourier decomposition. It will be referred as
named clocking harmonic.
and
Also, the time-mean flow in row 3 cannot be considered N3-periodic if the clocking effects from
row1 are taken into account. This would imply a modification of the periodic treatment in the
time- mean solver and also modifications of the treatment of the rotor/stator interface at
row3/row2.
A straightforward average solution can be calculated over the blade pitch of row3:
where
is the time-mean flow over a channel.
This is referred as the passage-averaged flow in row3. However, this averaged flow can also be
obtained by sticking to the same blade pitch and virtually rotating the time-mean solution along
the azimuth over
.
The spatial phase shift of the time-averaged solution in row3 due to row1 is defined as the
constant
The time-mean flow in the channels of row3 can be computed as
where
is the time-mean value resulting from the rotor/stator connection algorithm.
are
the space harmonics in row3 associated with the spatial phase shift in row3 due to the imaginary
rotation of rowK relatively to row3. They are solved in the blade channel like time-harmonics,
with a frequency set to zero.
7.3.4 Multi-rank harmonic method
The basic harmonic method deals with rotor/stator interaction of only adjacent rows. The clocking
harmonic method allows to simulate the clocking effects between consecutive rotors or stators but
the consecutive rotors or stators must have the same rotation speed. For a contra-rotating open
rotors (CROR) case, if the pylon of the CROR mounted on the fuselage is taken into account,
then the reproduction of its unsteady effects on the flow in the rotor that is not adjacent to the
pylon cannot be performed by the basic/clocking harmonic methods. Besides the pylon-CROR
limitation, it has appeared that in certain applications the amplitude of the perturbation associated
with a BPF is not only created by that BPF but also by the interaction of two harmonics of BPFs
that contributes to that BPF. Also, other applications, such as stator/rotor/stator, may show
amplitudes of time harmonics induced by the rotor in the aft stator which are significantly higher
than the amplitudes predicted by the basic/clocking harmonic methods. This difference may come
from the interaction of the time harmonics with the clocking effects induced by the front stator.
There is therefore a need to consider a general case where there is no limitation on the rotation
speeds and the need to take into account the interactions between the effects produced by two
rows, whatever their nature is, space-varying or time-varying. Vilmin et al. (2013) present a
generalized multi-rank method for this purpose. Usually, at the rotor/stator interface is applied the
coupling of two boundaries, arbitrarily named left and right. Each boundary is the inlet or the
outlet of a row adjacent to the interface that can be displaced relatively to the row on the opposite
side of the interface. This displacement can be either periodic in time and space – associated with
a rotation speed – or can be periodic in space only as a change of azimuthal position. Thus, the
name rotor/stator is restrictive, because the stator/stator interface can be taken into account for
adjacent stators. By definition, any row which is separated from a reference row by a periodic
motion interface generates a rank-1 periodic disturbance into that row of reference; and a row
which is separated by two periodic motion interfaces creates a rank- 2 disturbance into the
reference.
FIGURE 7.6
Rank-2 disturbance
Contributions to the quantity in a reference row by surrounding rows that are positioned or
relatively moving in a periodic manner, such as a stator relatively to a stator or a row rotating
relatively to another row. The adjacent row gives a time-varying or space-varying contribution,
which is named a rank- 1 disturbance, and the adjacent of the adjacent produces a rank- 2
disturbance via the adjacent of the reference.
FIGURE 7.7 and FIGURE 7.8 show a general case of the rank-2 harmonic method where two
rows have the same rotation speed (one harmonic per perturbation), whether there are adjacent or
not: there appear harmonics with interblade phase angles that are given by the difference of
number of blades between these two rows. Some of these harmonics have a null frequency,
because of the null relative rotation between the two rows. These are space harmonics that are
associated with the time-mean flow, and a particular case is that of the clocking configuration,
discussed above. The others have the non-null frequency of a time harmonic and are associated
with that time harmonic, which can be called a base time harmonic. Thus, because the mean
solution (in the sense of passage-averaged) must keep the periodicity of the row, and because the
base time harmonics must keep their interblade phase angle in the same row (and in particular
their amplitude keep the periodicity of the row), there are additional space harmonics associated
with the time-mean and also additional time harmonics associated with the time harmonics. The
number of additional harmonics is
harmonics per perturbation.
per base harmonic for
FIGURE 7.7
Rank-2 harmonic method (r1 and r3 have the same rotation speed)
This is the same case as in FIGURE 7.5 , but the 2-rank NLH treatment solves additional
harmonics in the end-rows. They are of a time nature and are associated with the base time
harmonic H3 in this example of one harmonic per perturbation.
FIGURE 7.8
Rank-2 harmonic method (r2 and r3 have the same rotation speed)
Case where r2 and r3 have the same rotation speed, like a rotor/stator/stator configuration. New
time harmonics and space harmonics are respectively associated with the base time harmonics and
the mean flow in these two rows.
The relation between the harmonics at the left (L) and right (R) sides of the periodic motion
interface is given by a Fourier reconstruction in space, along the azimuthal angle θ , of the
complex amplitudes of the harmonics. This is analogous to the formulation by Giles (1988), and
can be shown to be equivalent to the chorochronic formulation by Gerolymos et al. (2002). It
reads (Vilmin et al., 2013)
where N is the number of harmonics to decompose the disturbances from the left row into the
right row; j is a list of time indices, and f is a list of time indices which is a function of k and j;
corresponds to a spatial frequency along the azimuth, named the azimuthal number or
spatial mode, common to
and
.
The relation between a harmonic and another harmonic gives to this harmonic a spatial mode at
the side of the row interface where the connection is made. At the side of a row interface, a
harmonic has as many modes as it has connections with other harmonics and their conjugates ( k
< 0 ) on the opposite side of the row interface.
In FSI- NLH computations, the frequencies of harmonics are defined as follows in case of
interactions between vibrations and passing blades. Considering two turbo-machinery rows
and
characterized by:
l their rotation speed
and
l their number of blades
and
;
;
A blade vibration in
is characterized by its frequency
and a nodal diameter
. As a result,
the blade vibration in the second row induces different perturbations in both rows connected at
rotor/stator interface. The definition of frequencies in each row is given by:
in
and
in
where , are harmonic indices and
indicates the difference in rotation speeds.
7.4
COOLING/BLEED
The Cooling/Bleed model allows both the simulation of cooling flows injected through solid walls
into the flow or bleed flows where mass flow leaves the main flow through solid wall.
The adopted technique makes use of additional sources of mass, momentum and energy located at
given points or along given lines of the solid walls and does not require the meshing of the
cooling flow injection channels. The major hypothesis of the model is that the injection/bleed
surface is smaller than the local cell surface.
If COOLFL=0, the model consists in the addition of local source terms to all the flow equations
(mass, momentum, energy and k-ε equations when a 2-equations turbulence model is used).
These terms are added as fluxes through the solid boundary cells where a cooling hole has been
placed by the user. Fluxes are computed as:
l Mass:
l Momentum
l Energy
l k,ε-equations:
where ρ is the density, wn is the velocity component normal to the solid wall and S is the cooling
hole surface. The increased static pressure is computed as:
and the total energy E* is:
The density required to calculate the velocity components is obtained from the computed pressure
field along the walls and from the imposed static or total temperature.
Note that for the momentum equations only the velocity term is added as a source term. The pressure
term already exists even in the absence of holes.
If COOLFL=2, the cooling injection/bleed are treated as additional inlet or outlet boundary
condition.
Finally, the turbulent kinetic energy and dissipation can either be directly imposed by the user or
be calculated from the turbulent intensity. In that case, the turbulent kinetic energy is obtained as:
where w is the velocity magnitude and Tu is the turbulent intensity. The turbulent dissipation is
obtained from the relation:
where D is the diameter of the hole and Cμ = 0.09.
It should be noted that the velocity remains equal to zero at the walls even in the cooling flow region.
Thus the boundary condition on the velocity is left unchanged and the effect of the cooling flow will
be observed in the surrounding cells. However, the temperature field will be affected on the wall
itself.
7.5
UNCERTAINTY QUANTIFICATION
Polynomial chaos methods (PCM) represent one class of non-deterministic methods which gained
wide acceptance in the CFD community for propagation of the uncertainties in numerical
simulations, where the random quantities are subjected to a spectral representation via a
polynomial chaos expansion (PCE). PCMs show interesting advantages with respect to the
perturbation methods. PCMs can handle more general types of uncertainties while they seem to be
more computationally efficient as the basic Monte Carlo methods. Anyhow, reliable conclusions
could be started, for particular applications, only after completing a comparative assessment of the
user-selected non-deterministic methods.
The principle of NIPCM will be described hereafter for the generic stochastic partial differential
equation (SPDE):
with L being a differential operator containing space and time partial derivatives, S the source
term,
random input parameter and u the solution also depending on the outcome (or realisation) θ
of an experiment related to a random event. By replacing the differential operator L with those
appearing in governing system of the compressible flows, the statements given hereafter can be
extended straightforwardly.
Non-intrusive probabilistic collocation method
The collocation methods use the space of interpolating polynomials as probabilistic space to
construct PCEs. The basic principle of such methods is to perform a polynomial approximation of
the solution of the SPDE in the probabilistic space starting from the computed values of the
solution in a priori selected collocation points. The computational efficiency and accuracy of the
non-intrusive method are influenced by the selection of the collocation points.
Here, the NIPCM method by Loeven (2007) is used. The Lagrange interpolating polynomials are
employed to construct the following PCE:
where
denotes the non-deterministic solution,
is the
deterministic solution at the collocation point
,
is the Lagrange interpolation PC
corresponding to the same collocation point
and
is the random variable depending on the
outcome θ. The Lagrange interpolating PC is given by:
with the special property
.
The procedure for selecting the collocation points in a Gauss quadrature based on the Golub-
Welsch algorithm capable of using general PDFs with compact support. This quadrature spreads
the collocation points over the compact support according to the PDF of the random variable
.
In order to propagate the input uncertainty modelled by the random variable
, the PCE
above is inserted in the SPDE. A Galekin projection on the subspace of Lagrange interpolating
polynomials follows and the outcome is a system of
uncoupled deterministic problems:
When L is the flow governing system, NIPCM requires performing
computations for the
input
values
associated
with
solutions
are obtained by the FINE™/Turbo flow solver, the mean of any
collocation
point.
Once
each
the
functional φ is evaluated with:
The variance of any functional φ are evaluated with:
The skewness of any functional φ are evaluated with:
The kurtosis of any functional φ are evaluated with:
where
is weight evaluated with the aforementioned Gauss quadrature.
Cubature rule
Full tensorization
In order to combine several simultaneous uncertainties the quadrature must be brought to the
multi-dimensional case. Multi-dimensional quadrature is achieved by tensor products. In the 1D-
case the quadrature is given by:
Multi-dimensional quadrature is then obtained by tensor products:
Each point along one direction is multiplied with each point along all other directions. The
weights are the products of the 1D-weights.
Sparse grid
The sparse grid is implemented based on the Smolyak quadrature. The sparse grid quadrature
works by combining different levels (orders) of quadrature. Given the maximum level of accuracy
the sparse grid varies in size. For different levels of accuracy k, a difference formula is defined:
.
where
with
. We get
.
For multi-dimensional quadrature the order of summation and tensor-product is changed:
The sum can now be truncated to include fewer mixed terms. This is done by use of a multi-index
k, which is truncated to total order:
For the Smolyak quadrature, the classical truncation is isotropic and is formulated as:
7.6
AEROACOUSTICS
The Lighthill acoustic analogy has been the dominant theory of aeroacoustics since 1950s. In
1969, Ffowcs Williams and Hawkings generalized the Lighthill acoustic analogy and included the
effects of general surfaces in arbitrary motion. The Ffowcs Williams - Hawkings (FW - H)
equation is the appropriate tool for predicting the noise generated by the complex motion of solid
bodies.
Consider a closed and non- deformable body surface S which is described by the equation
and t are the observer position and observer time. The surface S moves
where
with velocity in the fluid. The function f is defined such that f < 0 in the volume interior to the
denotes the unit vector that
surface, and f > 0 in the volume exterior to the surface. Let
is normal to the surface and directed outward into the fluid. The final form of the FW -H equation
can be written as:
where
denotes the wave operator and c is the speed of sound in the undisturbed
medium. The term Tij is the Lighthill's stress tensor.
The mass source term Q represents surface sources:
where ρ0 is the fluid density in quiescent medium. ρ and
velocity on the surface, respectively.
are the flow density and the flow
The force term
can be either the components of a volume force or a surface force, such as
surface tension or pressure and momentum fluxes on a moving surface:
where p is the surface pressure and τ is the shear stress tensor on the surface.
In the right hand side of the FW -H equation, the three source terms are referred to as "thickness",
"loading" and "quadrupole" respectively. The thickness and loading source terms are surface
distribution of sources, as indicated by the Dirac delta function δ(f). The quadrupole source, on
the other hand, is a volume distribution of sources, as indicated by the Heaviside function H(f).
The first term is related to displacement of fluid by the solid body and proportional to the
momentum injection at the body surface, while the loading term is related to the force applied by
the solid body on the fluid. The third term accounts for all the flow non-linearity in the domain
exterior to the control surface and can be neglected for subsonic propellers.
The FW- H equation is an exact rearrangement of the continuity and momentum equations
generalized to an unbounded fluid. Farassat has derived a solution of the FW -H equation, which
is called Formulation 1A. The solution of the wave equation, which is a convolution of the source
terms with the Green function, is given by,
where the expressions of the thickness and loading noise are reported below,
where
is the Mach number of a source point on the surface projected on the
radiation direction and
denotes the radial unit vector. The dots on
,
and
denotes the
rate of variation with respect to the retarded time.
7.7
REFERENCES
Adamczyk, J. J., 1985, "Model Equations for Simulating Flows in Multistage-Turbomachinery",
ASME Paper 85-GT-226.
Chen, T., Vasanthakumar, P., and He, L., 2001, "Analysis of Unsteady Blade Row Interaction
Using Nonlinear Harmonic Approach", AIAA Journal of Propulsion and Power, Vol. 17, No.3.
Hirsch Ch., Ghorbaniasl Gh., Ramboer J., 2003, " Fan noise simulation in the time domain:
Validation test cases", the second international symposium on Fan Noise, Senlis (France).
Erdos J.I., Alzner E. & McNally W., 1977, "Numerical Solution of Periodic Transonic Flow
Through a Fan Stage", AIAA Journal, Vol. 15, No. 11, pp. 1559-1568
Fatsis, A., Pierret, S., Van den Braembussche, R., 1995, " 3D unsteady flow and forces in
centrifugal impellers with circumferential distortion of the outlet static pressure ", ASME, 95-GT-
33.
Ffowcs Williams J.E. and Hawkings D.L., 1969, "Sound generation by turbulence and surfaces
in arbitrary motion", Philosophical transactions of Royal Society, London, (A), Vol. 264, pp.
321-342.
Gerolymos, G. A., Michon, G. J., and Neubauer, J., 2002, "Analysis and Application of
Chorochronic Periodicity in Turbomachinery Rotor/Stator Interaction Computations", AIAA
Journal of Propulsion and Power, Vol. 18, No. 6.
Giles, M.B., 1988, "Non-reflecting boundary conditions for the Euler equations", Technical
Report TR-88-1, MIT Computational Fluid Dynamics Laboratory.
Giles M.B., 1990, "Stator/Rotor Interaction in a Transonic Turbine", Journal of Propulsion and
power, Vol. 6, No. 5, pp. 621-627
He L., 1997, "Computational Study of Rotating-Stall Inception in Axial Compressors", Journal of
Propulsion and Power, Vol. 13, No. 1, pp. 31-38
He, L. and Ning, W., 1998, "Efficient Approach for Analysis of Unsteady Viscous Flows in
Turbomachines", AIAA Journal, Vol. 36, No. 11.
He L., Chen T., Wells R.G., Li Y.S. and Ning W., 2002, "Analysis of Rotor-Rotor and Stator-
Stator Interferences in Multi-Stage Turbomachines", ASME paper GT-2002-30355.
Lemeur A., 1992, "Calculs 3D stationnaire et
transonique", AGARD Report CP-510
instationnaire dans un étage de turbine
Li, H.D. and He, L., 2003, "Blade Count and Clocking Effects on Three-Bladerow Interaction in
a Transonic Turbine", Journal of Turbomachinery, Vol. 125, No. 4, pp 632-640.
Lighthill M.J., 1952, "On sound generated aerodynamically. Part 1. General theory", proceeding
of the Royal Society (a), Vol. 211, pp. 564-587.
Paniagua G., Persico G., Billiard, N., and Dénos, R., 2007, "Modulation of the rotor-stator
interaction due to clocking", ETC 2007 proceedings, pp 1229-1243.
Rai M.M., 1989, "Three- Dimensional Navier- Stokes Simulations of Turbine Rotor- Stator
Interaction; Part I - Methodology and Part II - Results", Journal of Propulsion and power, Vol. 5,
No. 3, pp. 305-319
Saxer, A. P. and Giles, M. B., 1993, "Quasi- Three- Dimensional Nonreflecting Boundary
Conditions for Euler Equations Calculations", AIAA Journal of Propulsion and Power, Vol. 9,
No. 2.
Van Leer B., 1985, "Upwind-Difference Methods for Aerodynamic Flows Governed by the
Euler Equation", Lectures in Applied Mathematics, Vol. 23, Part 2, AMS, Providence, pp. 327-
336
Vilmin S., Lorrain E., Hirsch C., Swoboda M., 2006, "Unsteady Flow Modeling Across The
Rotor/Stator Interface Using The Nonlinear Harmonic Method", ASME Paper GT-2006-90210.
Vilmin S., Lorrain E., Hirsch C., Swoboda M. 2009. "Application of a Nonlinear Harmonic
Method to the Simulation of Clocking Effects", ASME Paper GT2009-59475.
Vilmin S., Lorrain E., Tartinville B., Capron A., Hirsch C., 2013. "The nonlinear harmonic
method: from single stage to multi-row effects", International journal of computational fluid
dynamics, Vol. 27: pp. 88-99.
Vilmin S., Lorrain E., Debrabandere F., Tartinville B., Capron A., Hirsch C., 2013. "The
nonlinear harmonic method applied to the combined effects of multi-row unsteady flows", ASME
Paper GT2013-94847.
CHAPTER 8.
OUTPUTS
This chapter is dedicated to output variables calculated by FINE™/Turbo:
In this section
8.1 Computed Variables
8.2 Azimuthal Averaged Variables
8.3 Global Performance Output
225
226
228
8.1
COMPUTED VARIABLES
The flow solution is stored in the ".cgns" file and will be used for the 3D CFView™ output.
CFView™ requires a cell-vertex representation of the flow solution, i.e. the flow variables need
to be provided at the mesh nodes. Since the FINE™/Turbo solver considers the flow variables at
cell centres, an interpolation process is performed by the flow solver in order to compute the flow
variables at the mesh nodes.
The required interpolation of the flow solution is done by arithmetic averaging. If u represents one
of the primitive variables
the interpolated value,
and
,
where the summation is over the eight surrounding original locations of the respective variable.
The basic flow variables are calculated at the mesh nodes using the above procedure. Derived
are computed from this consistent representation of solution and
quantities
geometry. By contrast, if a quantity involves the surface normals, these are first calculated on the
cell faces of the original mesh and then averaged to the required location. Other exceptions are
quantities involving gradients or which are provided by the code:
l The Cartesian components of
are computed in the cell corners,
l If a cylindrical component is requested, transformation to cylindrical coordinates is done at the
. Only then are the requested component, the
cell corners, as is the calculation of
vector or its magnitude interpolated to the desired mesh.
l Some of the variables used in the turbulence models are provided by the code in the cell
corners and treated in the same way as the coordinates (wall distance,
,
).
If a k-ε, k-ω or v²-f turbulence model is selected, k and ε are additional variables treated in the
same way as the primitive variables. The residuals are also provided by the code in the cell centres
and therefore treated in the same way as the primitive variables, with the difference that they are
only defined in the interior and thus copied to the dummy cells as described above.
The above described arithmetic averaging process used to construct the CFView™ solution is
first order accurate, which has an important consequence if the user wants to extract quantitative
global quantities:
In case of high flow gradients the calculation within CFView™ of the average (surface integral) of a
given quantity throughout an I, J or K=constant surface of the mesh or a cutting plane will be
performed with an error with respect to the flow solution calculated by the flow solver.
8.2
AZIMUTHAL AVERAGED VARIABLES
Exact azimuthal averaging for general configurations requires a mechanism that is independent of
the computational grid. First a meridional mesh must be defined to support the azimuthal averaged
solution. Secondly, the latter must be extracted from the 3D computational mesh. The 2D mesh is
provided by the meridional projection of any suitable contiguous set of sub-surfaces contained in
the volumetric mesh. The domains and indices defining these sub-surfaces are provided in the
input file. Choosing sub- surfaces of the actual 3D mesh ensures that the resolution of the
meridional mesh is commensurate with the accuracy of the numerical solution.
Starting from each point
of the meridional mesh, the solution defined by the primitive
variables
is weighted averaged along a circular arc passing through that point,
where
denotes the azimuthal-average of the generic variable u,
is the quantity weight
(named as "weight" in CFView™), and w is the weight function:
is the meridional velocity. Either mass or area averaging can be requested. The same type of
averaging will be used for all the primitive variables.
The integrals in the previous equation are approximated by trapezoidal sums. Practically, the
-constant line along which the integration proceeds may be composed of k fragments of
data points,
, so that it is evaluated as:
with
and
All requested variables are derived, if possible, from the azimuthal averaged primitive variables.
Those variables that can not be computed from the azimuthal averaged primitive variables are
computed first. The fact that they are computed by the same routines that are used for generating
3D CFView™ output ensures consistency. The suction and pressure side of the blades can be
superimposed on the azimuthal averaged view.
For meshes that do not lie on surfaces of revolution the accuracy of the averaged solution is
decreased close to curved boundaries . Although all boundary grid points lie on
-
the same surface of revolution, the straight line segments forming the cell edges do not. The
constant ray associated with point 1 will therefore miss some cell faces or pick values from the
inside instead of boundary values. In the worst case it will not encounter any cell faces at all.
Strong curvature and cells with high aspect ratio increase the inaccuracy.
This problem has been addressed in two ways. First, meridional grid points encountering fewer
than two cell faces are set to zero (a message printed to the screen indicates for how many points
this was necessary). Secondly, the possibility is provided to shrink the meridional mesh by a small
amount to avoid the outermost regions of the volumetric mesh as shown in FIGURE 8.2 .
Independent shrink factors k can be specified in the streamwise and spanwise directions using the
expert parameter MERMAR. FIGURE 8.2 illustrates the global effect. Each mesh line is shrank
individually by uniformly contracting towards its centre. The grid points thereby slide along the
segments of the original line (dashed line in FIGURE 8.2).
FIGURE 8.1
Azimuthal averaging along circular arcs at curved boundary (light lines = meridional mesh
supporting the azimuthal-averaged solution, heavy lines = an arbitrary cell face of the
computational mesh), situation (a) before shrinking and (b) after shrinking.
FIGURE 8.2
Shrinking of the meridional mesh, schematic illustration of (a) the global effect and (b) the
modification applied to each mesh line (dashed line and circles = original line, solid line and
squares = shrank line, C = centre point of the original line)
8.3 GLOBAL PERFORMANCE OUTPUT
The surface integrals are approximated by rectangular sums: for any vector quantity
and scalar
quantity q,
The index B indicates a boundary cell face centre value, obtained by averaging the coordinates
of the four corners:
and the solution
(index 0):
in the first inner (index 1) and first outer cell
.
All variables, except flow angles, are first computed locally from this consistent representation of
solution and geometry and then summed, multiplied by the appropriate weight
factor
. Averages are calculated for the following variables:
or
.
Static pressure is area averaged, all other variables are mass averaged. Explicitly, q representing
any of the enumerated scalars (other than p) and
its average:
.
The mass flow
is obtained from the approximation by rectangular sums with
, the
area with
.
© NUMECA International, all rights reserved
EN201808281631