Flow360® Demo for HL-CRM Case
In this tutorial, we will walk you through the process of running Flow360® using the web interface. We will perform the demo using a case (HL-CRM) from AIAA CFD High Lift Prediction Workshop.
1 Access the web interface
- Visit flexcompute.com and click the tab “Flow360 Client” on the top menu.
- Sign in. If you do not have an account, please contact john@flexcompute.com to get an invitation code to sign up.
2 Download The HL-CRM Grid
For this Demo, we will be running a case from the AIAA High Lift Prediction Workshop (HLPW). The goal of the workshop is to research the state of the art in difficult-to predict aircraft configurations, such as take-off and landing scenarios. These cases may be harder to converge, and exhibit complex flow physics. The workshop allows comparisons to be made between different solvers and equation sets, and for performance and accuracy to be assessed.
The test geometry of the High Lift Prediction Workshop
Grids have been developed provided by the workshop to enable a fair comparison across a variety of solvers. The medium-resolution mesh, with about 27M nodes, can be downloaded here. The file is already compressed in .gz format. Meshes of different resolution can also be downloaded here
3 Upload a Mesh File
You have already downloaded and extracted the mesh in step 2. Now we can upload it to the Flow360® cloud.
Step 1, Go to the “Mesh” menu and click “Upload” a “UPLOAD MESH FILE” dialog window will appear as below.
Step 2, Upload the .ugrid file that you download in the previous step: Woeber_Pointwise_HLCRM_FullGap_PrismTets_Medium.b8.ugrid.gz. You can also upload zipped file such as .gz or .bz2 format to reduce the uploading time. If you choose to input the name of mesh, please leave no space in its name. You can also label it with a tag if needed.
Step 3, Enter the solid wall (no-slip) boundaries, separated by commas. For the HL-CRM mesh, the solid wall boundaries are 2,3,5,7,9 as indicated in the Woeber_Pointwise_HLCRM_FullGap_HexPrismPyrTets_Coarse.mapbc file where the 4000 boundary conditions are defined as walls. The boundaries must be specified at this stage, otherwise it will lead to error.
Step 4, Choose Format & Endianess as “Big endian aflr3” since in this case, we are using Big-endian ugrid files that NASA generated. Endienness is the order of the bytes or bits within a data type. On most modern architectures, data is stored in little endian format. Users will likely only need to use big endian format if using specific grids generated by NASA or if the user explicitly chooses to export in big endian format. Note that that .b8.ugrid files are big-endian and .lb8.ugrid files are little-endian.
Choose the release version of Flow360® you desire. Please use the latest version. However, if you want to access previous releases, they are also available in the dropdown menu.
Step 5, After submission of the file, the status of the mesh file will be “waitingForUpload” until the Upload finish and status will change to “Uploaded”. Note, that if you navigate away from the mesh page while in the process of uploading a mesh, the upload will not finish. In this case, the status will remain “waitingForUpload” indefinitely. It is recommended that users delete such abandoned meshes.
Step 6, Flow360® will automatically begin to process the mesh and generation visualization, the status of your uploaded case will be “Processing”. It takes a couple of minutes to see the result, You do not have to wait for the processing finish and can go to the next session to run a case based on the mesh you uploaded, the run will be queued and processed automatically.
Step 7, After the status change to “Processed”, you can see detail information of your mesh in the tab of “Description” and “Visualization” as the following:
If you have the status with “unknownError” please:
- Verify if you upload the right data files, Flow360® supports mesh files format in AFLR3, CGNS, and SU2, or their .gz or .bzip2 compression.
- Make sure you specify the correct “Format & Endianness” in step 3
- Contact cusomer support for any question, make sure you have your username and mesh ID included in your inquiry. Flow360® customer support should respond to you in 24 hours.
4 Create a Case
1, Now you can create a case by clicking on the new case icon “”, this pop up a dialog window for you to import the configuration file(.json file). Please note that you don’t need to wait for the mesh to become “processed” (see section 1.3) before submitting a case.
2, Upload the .json configuration file, and type the case name you desire to name it., for more information about config your case, please refer to here for a full dictionary of the configuration parameters, and you can download here the latest version of the sample configuration file.
3, Choose Processing Priority for your case in the Flow360® queue:
4, Submit the case, Flow360® will queue the case as shown in the following screenshot, the case is pending to pick it up in the Case Tab:
5, You can delete uploaded mesh file by using the delete icon “”, or locate the related cases by clicking the “go case” icon “
”. You can delete a case no matter what its status is, only “complete” cases will be billed. Please refer to section 1.7 Billing to see more information about billing.
5 Case Running and Result
After the case submitted from the mesh file, it will start running in a few minutes and you can monitor the running status in the Case tab, you can change the refresh time to specify the refresh frequency of the running result.
All runtime parameters you specified in the configuration .json file can be found in the descriptions.
To see the convergence of the result, go to the Convergence tab under the case:
For this example, the residual is convergent in two minutes as you can see from the following demo video:
There are three graphs: One for the Lift/Drag coefficients, one for the total force coefficients in the X/Y/Z directions, and one for the moment coefficients about the X/Y/Z axes.
You can also download the entire result using the download button “” or discard the case to delete icon “
”. You can delete a case no matter what its status is, only “complete” cases will be billed. Please refer to section 1.7 Billing to see more information about billing.
6 Fork a Case (Under development)
You can turn the runtime parameter and re-run a case by using the fork case icon “”, this will bring you to a “FORK A CASE” dialogue to change parameters, for example, change the “tolerance” or the maxSteps to re-run the case.
7 Billing
You can inquire about the cost your case running by specifying a range of time:

Flow360 charge based on the cases and the billing cycle is one month, you see the following example, the query result in Billing page will show all “complete” cases in the billing cycle and detail information about that case.
The summary also show the total S3 storage and Total cases cost, please note that only a “complete” case will be charged. You may want to periodically check the meshes and cases you have run, and clean them up to save space for the S3 storage.
For any question on the billing, you can contact cusomer support.

Equations
- Steady and unsteady viscous flows
- Coupled stationary and rotating domains
- Reynolds-Averaged Navier-Stokes
- Detached Eddy Simulation
Turbulence Models
- Spalart-Allmaras (sa-neg)
- Spalart-Allmaras with Rotation-Curvature correction
Boundary conditions
- Freestream
- Slip Wall
- No-slip Wall
- Subsonic Inflow (total pressure, total temperature)
- Subsonic Outflow (back pressure)
- Subsonic Outflow (Mach)
- Mass Flow In
- Mass Flow Out
Input
- AFLR3 (.ugrid)
- CGNS (single and multi-block)
- ParaView (.pvtu)
- Tecplot (.dat and .szplt)
- Web Interface
- Python API
Output
User Interface

Flow360 currently specializes in the simulation of external and internal flows at a wide range of speed regime. Applications include, but are certainly not limited to aircraft, cars, and engine components.



Performance
Flow360 is extremely fast compared to current industry-leading solvers. For example, Flow360 can converge the 26M-node Common Research Model from the High Lift Workshop in just 90 seconds. For comparison, NASA’s FUN3D solver requires 2 hours to converge the same mesh using 360 cores on Amazon Web Service C5 instances.

Flow360 has been validated against many large-scale test cases
High Lift Workshop Common Research Model
Flow360 has been validated against the committee-provided meshes in the 3rd AIAA High Lift Workshop. The following figures show the results obtained on the NAAS Common Research Model (CRM) with a full flap gap, meshed with mixed hexahedral, tetrahedral, prism, and pyramid elements.

Grid convergence of Flow360 compared to the participants of the 3rd AIAA CFD High Lift Prediction Workshop in 2017. The x-axis is the scale of the expected numerical error; the y-axis shows the lift (left plots) and drag (right plots) coefficients computed on various grids, at 8 (upper plots) and 16 (lower plots) degrees angle of attack.






Drag Prediction Workshop
The 6th AIAA CFD Drag Prediction Workshop (DPW).
Please contact John Moore if you would like to see additional validation data.
How do I download or view a finished case result?
To download the surface data (surface distributions and slices):
Replace the second parameter with your target location and output file name, ending with '.tar.gz'.
To download the entire flowfield:
My case is still running, but how can I check current residual or surface force result?
Where are my AWS credentials stored locally?
Your AWS credential is encrypted and stored locally (if you hit Yes previously at authentication step) at
For security, your password is stored as hashed value, so nobody can guess your password.
How to check my mesh processing status?
>>> flow360client.mesh.ListMeshes()
## to view one particular mesh
>>> flow360client.mesh.GetMeshInfo('
How can I delete my mesh or case?
>>>flow360client.mesh.DeleteMesh('
## Delete a case
>>> flow360client.case.DeleteCase('
Caution: You won't be able to recover your deleted case or mesh files including its results after your deletion.
Python API Tutorial
This tutorial will show you how to set up and run the High Lift Workshop CRM case with the Flow360 Python API.
Step 1. Download python client and install
Make sure you have setuptools. If not, sudo apt-get install python3-setuptools
flow360
cd flow360
python3 setup.py install --user
Step 2. Signing in with your account and password
An account can be created at www.flexcompute.com
Python3
>>> import flow360client
simulation.cloud email:********@gmail.com
Password: ***********
Do you want to keep logged in on this machine ([Y]es / [N]o)Y
Step 3. Download the HLCRM case
Download the HLCRM mesh
Step 3. Upload a mesh file
First, specify a list of no-slip walls. If you have a .mapbc file, there is a function that will do this for you:
flow360client.noSlipWallsFromMapbc('/path/to/hlcrm.mapbc')
Then submit a mesh
flow360client.NewMesh(fname='/path/to/hlcrm.b8.ugrid',
noSlipWalls=noSlipWalls, meshName='HLCRM_medium',
tags=['alpha16'])
Replace above fname and noSlipWalls with your own file path and parameter. Parameter inputs
of mesh name and tags are optional. Upon this command finishing, it will return the mesh Id
'
Note: By default, submitted mesh file will be processed using latest major release (e.g. 0.2.x) . If you want to run with another version of the solve, please specify in the argument as example:
flow360client.NewMesh(fname='flow360/tests/
data/wing_tetra.1.lb8.ugrid', noSlipWalls=noSlipWalls, meshName='my_experiment',
tags=['HLCRM'], solverVersion='release-0.2.1')
Step 4. Upload a case file
First, prepare a JSON input file, either manually or by using the fun3d_to_flow360.py script:
/path/to/fun3d.nml /path/to/hlcrm.mapbc
/output/path/for/Flow360.json
Then submit a case:
config='/output/path/for/Flow360.json', caseName='HLCRM_case',
tags=['alpha16'])
Replace the mesh id generated from above step, and give your own config path. Parameter
inputs of caseName and tags are optional. Upon this command finishing, it will return the
case Id '
Step 5. Checking the case status
Look for field of "status" from printed result. A case status can be:
1) queued
2) running
3) completed
Current Solver Input Options and Default Values
You can download the latest Flow360.json configuration file here
The options are defined as the following:
Options | Default | Description |
---|---|---|
refArea | 1.0 | The reference area of the geometry |
momentCenter | [0.0, 0.0, 0.0] | The x, y, z moment center of the geometry in grid units |
momentLength | [1.0, 1.0, 1.0] | The x, y, z moment reference lengths |
Options | Default | Description |
---|---|---|
Reynolds | REQUIRED | Nondimensional Reynolds number. Reynolds number should be computed based on the reference length in grid units. For example, if you have a mesh with a MAC of 100 in grid units and want to simulate a physical Reynolds number of 1M, then the you should set Reynolds = 100,000. |
Mach | REQUIRED | The Mach number, the ratio of freestream speed to the speed of sound. |
Temperature | REQUIRED | The reference temperature in Kelvin. |
alphaAngle | REQUIRED | The angle of attack in degrees |
betaAngle | REQUIRED | The side slip angle in degrees |
Options | Default | Description |
---|---|---|
firstOrderIterations | -1 | Number of iterations to perform before turning on second order accuracy |
startControl | -1 | Time step at which to start targetCL control. -1 is no trim control. |
targetCL | -1 | The desired trim CL to achieve |
maxSteps | 10000 | the maximum number of time steps or iterations to take |
Options | Default | Description |
---|---|---|
YOUR_FIRST_BOUNDARY_ID: type | YOUR_BOUNDARY_TYPE | List of boundary conditions. |
YOUR_SECOND_BOUNDARY_ID: type | YOUR_BOUNDARY_TYPE |
Options | Default | Description |
---|---|---|
outputFormat | paraview | "paraview" or "tecplot" |
animationFrequency | -1 | Frequency at which volume output is saved. -1 is at end of simulation |
startAverageIntegrationStep | 0 | Sub-iteration or time-step to start averaging forces/moments |
computeTimeAverages | false | Whether or not to compute time-averaged quantities |
primitiveVars | true | Outputs rho, u, v, w, p |
vorticity | false | Vorticity |
residualNavierStokes | false | 5 components of the N-S residual |
residualTurbulence | false | nuHat |
T | false | Temperature |
s | false | Entropy |
Cp | true | Coefficient of pressure |
mut | true | Turbulent viscosity |
nuHat | true | mut/mu_inf |
mutRatio | false | mut/mu_inf |
Mach | 10000 | Mach number |
gradW | false | Gradient of W |
Options | Default | Description |
---|---|---|
outputFormat | paraview | "paraview" or "tecplot" |
animationFrequency | -1 | Frequency at which surface output is saved. -1 is at end of simulation |
primitiveVars | false | rho, u, v, w, p |
Cp | false | Coefficient of pressure |
Cf | false | Skin friction coefficient |
CfVec | false | Viscous stress coefficient vector |
yPlus | false | y+ |
wallDistance | false | Wall Distance |
Mach | false | Mach number |
residualSA | false | Spalart-Allmaras residual magnitude |
Options | Default | Description |
---|---|---|
outputFormat | paraview | "paraview" or "tecplot" |
animationFrequency | -1 | Frequency at which slice output is saved. -1 is at end of simulation |
primitiveVars | true | Outputs rho, u, v, w, p |
vorticity | false | Vorticity |
residualNavierStokes | false | Residual components for Navier-stokes equations |
residualTurbulence | false | Residual magnitude of turbulence equations |
T | false | Temperature |
s | false | Entropy |
Cp | false | Coefficient of pressure |
mut | false | Turbulent viscosity |
mutRatio | false | mut/mu_inf |
Mach | true | Mach number |
gradW | false | gradient of W |
slices | [] | List of slices to save after the solver has finished |
Options | Default | Description |
---|---|---|
tolerance | 1e-10 | Tolerance for the NS residual, below which the solver exits |
CFL: initial | 10.0 | Exponential CFL ramping, from initial to final, over _rampSteps_ steps |
CFL: final | 200.0 | |
CFL: rampSteps | 200 | linearIterations | 25 | Number of linear solver iterations |
kappaMUSCL | -1.0 | Kappa for the MUSCL scheme, range from [-1, 1], with 1 being unstable. |
maxDt | 1.0e100 | Maximum time step |
startEnforcingMaxDtStep | -1 | Time step at which to start enforcing maxDtStep. Default of -1 does not enforce a max time step. |
updateJacobianFrequency | 4 | Frequency at which the jacobian is updated. |
equationEvalFrequency | 1 | Frequency at which to update the NS equation in loosely-coupled simulations |
viscousWaveSpeedScale | 0.0 | Scales the wave speed acording to a viscous flux. 0.0 is no speed correction, with larger values providing a larger viscous wave speed correction. |
Options | Default | Description |
---|---|---|
modelType | SpalartAllmaras | Only SA supported at this point |
CFL: initial | 10.0 | Exponential CFL ramping, from initial to final, over _rampSteps_ steps |
CFL: final | 200.0 | |
CFL: rampSteps | 200.0 | |
linearIterations | 15 | Number of linear iterations for the SA linear system |
updateJacobianFrequency | 1 | Frequency at which to update the Jacobian |
equationEvalFrequency | 4 | Frequency at which to evaluate the turbulence equation in loosely-coupled simulations |
kappaMUSCL | -1.0 | Kappa for the muscle scheme, range from [-1, 1] with 1 being unstable. |
rotationCorrection | false | SARC model |
DDES | false | _true_ Enables DDES simulation |
Flow360 Version history
Results between major versions (e.g. x.y.0) may differ slightly. However, results among minor versions (e.g. 0.2.x) will not change.
release-0.1
- Viscous gradient scheme changed from node-based Green-Gauss gradients to a Least-squares gradient scheme
- Improved both pressure and velocity limiters to help with supersonic and transonic cases.
release-0.2.0
- Minor modifications to enhance convergence
release-0.2.1
- Added support for tecplot .szplt output
- Added support for slicing of the final flowfield
beta
- Implemented incremental back-off in solution update
- Replaced the pressure/density limiters which were edge-based with node-based limiters.
- Improved the stability properties of the solution gradient used for the viscous fluxes.
- Now using a blending of corrected and uncorrected viscous scheme. This effectively limits how much the corrected viscous scheme can differ from the uncorrected scheme. This is necessary because the Jacobian only includes contributions from the uncorrected scheme.
- Bug fix for supersonic farfield boundary condition.
Mesh and Run a High-Fidelity Aircraft Simulation in Minutes
17 November 2020 at 10 a.m. CST (-6 UTC)
Intelligent automatic meshing meets super solver speed for unrivaled CFD efficiency.
Register today for a live webinar that will help boost productivity while simultaneously ensuring mesh consistency and reliability across your organization. Increasingly complex geometry, larger simulations, and design optimization are just a few characteristics of advanced simulation and design that emphasize the need for more automation and higher throughput. Yet, automation in the absence of control and expertise often has limited applicability, including the inability to maintain consistency throughout the design and simulation process. This can result in an inaccurate, and sometimes unreliable, understanding of a design or the design space, slowing the turn-around time and delaying time to market.
With this in mind, at Pointwise we have been developing a new suite of features called Flashpoint that take the control and expertise we are known for and combines them with deeper automation. Flashpoint, and in particular, the automatic surface meshing component, will help ensure consistency and reliability throughout the meshing process while also providing a framework for encapsulating your organization’s best practices. We recently collaborated with FlexCompute, the developers of Flow360, a new cloud-based CFD solver, and using the NASA Common Research model as our benchmark, we are demonstrating the ability to mesh and run a high-fidelity aircraft simulation in minutes.
Discover how to:
- Automatically generate a high-quality surface mesh for an aircraft geometry
- Construct and populate a hybrid-viscous, hex-core volume mesh in minutes
- Reduce turnaround time and setup, deploy, and simulate using Flow360
A quad-dominant surface mesh and hex-core volume were generated for NASA’s Common Research Model using Pointwise’s latest automatic surface meshing and voxel meshing capabilities. The solution was then computed using FlexCompute’s Flow360 CFD solver with a runtime of just 105 seconds.