Home CFD EM Flow360 About Careers Flow360 Client Sign Up
Menu
Close
Home CFD EM Flow360 About Careers Flow360 Client Sign Up
Built by Flexcompute - a solver technology company

About Flow360 (Whitepaper)
Quick Start Capabilities Interfaces Applications Performance Validation Documentation webinar FAQ

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:

  • Low: This priority is usually for non-time-critical cases, such as a large batch job or a database run.
  • High: Specify a higher priority for urgent cases. Your case will be run as soon as possible, usually with no wait time. This type of run mode can be useful for making quick design decisions and iterating on concepts.
  • 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)
      • Output

        • ParaView (.pvtu)
        • Tecplot (.dat and .szplt)

        User Interface

        • Web Interface

        • Python API

    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.


    Coefficient of friction (Cf) on the surface of the Common Research Model.

    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.
    Coefficient of pressure (Cp, left) and coefficient of skin friction (Cf, right) on an inboard cross section of the wing. Thick blue dots are Flow360 and other thin lines are the participants of the 3rd AIAA CFD High Lift Prediction Workshop.
    Coefficient of pressure (Cp, left) and coefficient of skin friction (Cf, right) on a middle cross section of the wing. Thick blue dots are Flow360 and other thin lines are the participants of the 3rd AIAA CFD High Lift Prediction Workshop.
    Coefficient of pressure (Cp, left) and coefficient of skin friction (Cf, right) on an outboard cross section of the wing. Thick blue dots are Flow360 and other thin lines are the participants of the 3rd AIAA CFD High Lift Prediction Workshop.

    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):

    >>>flow360client.case.DownloadSurfaceResults('', '/tmp/surfaces.tar.gz')

    Replace the second parameter with your target location and output file name, ending with '.tar.gz'.

    To download the entire flowfield:

    >>>flow360client.case.DownloadVolumetricResults('', '/tmp/volume.tar.gz')

    My case is still running, but how can I check current residual or surface force result?

    >>> caseResid = flow360client.case.GetCaseResidual('')

    Where are my AWS credentials stored locally?

    Your AWS credential is encrypted and stored locally (if you hit Yes previously at authentication step) at

    ~/.flow360/

    For security, your password is stored as hashed value, so nobody can guess your password.


    How to check my mesh processing status?

    ## to list all your mesh files
    >>> flow360client.mesh.ListMeshes()
    ## to view one particular mesh
    >>> flow360client.mesh.GetMeshInfo('')

    How can I delete my mesh or case?

    ## Delete a mesh
    >>>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

    git clone https://github.com/flexcompute/Flow360PythonClient.git
    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

    **These contents should appear in a code text box**
    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 and .mapbc file


    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:

    >>>noSlipWalls =
    flow360client.noSlipWallsFromMapbc('/path/to/hlcrm.mapbc')

    Then submit a mesh

    >>>meshId =
    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 ''. Use that for next step.

    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:

    >>>meshId =
    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:

    python3 /path/to/flow360/flow360client/fun3d_to_flow360.py
    /path/to/fun3d.nml /path/to/hlcrm.mapbc
    /output/path/for/Flow360.json

    Then submit a case:

    >>> caseId = flow360client.NewCase(meshId='',
    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 ''. Use that for next step.


    Step 5. Checking the case status

    >>> flow360client.case.GetCaseInfo('')

    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.

    https://info.pointwise.com/mesh-run-high-fidelity-aircraft-simulation-minutes

    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 generated using Pointwise. Solution computed using Flow360 CFD.

    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.

    Terms & Legal Notices Contact Support
    © 2020 Flexcompute Inc. All Rights Reserved.