Project Tree#

The project tree is a hierarchical visualization interface that displays the complete workflow of your CFD simulation, from geometry to final results. It provides an intuitive way to track simulation progress and navigate between different stages of your analysis.

Note

The project tree is generated automatically based on your settings and intelligently identifies existing nodes that match your specifications.

For example, if a surface mesh with identical settings already exists in the project, Flow360 will reuse it rather than generating a duplicate. Similarly, when a case with matching simulation parameters exists, the system will utilize the existing case instead of running a redundant simulation.

project_tree

Tip

Click the shortcut palette icon keyboard shortcut icon at the bottom-left corner of the Project tree panel to preview available keyboard shortcuts. For the full list, see Keyboard Shortcuts.


Icon Explanation#

Icon

Name

Description

geometry

Geometry

Represents the CAD geometry input for the simulation

surface_mesh

Surface Mesh

Represents the discretized surface of the geometry

volume_mesh

Volume Mesh

Represents the 3D computational mesh used for simulation

case

Case

Represents a simulation case with defined parameters

fork

Fork

Indicates a continuation / branched variant of an existing parent

draft

Draft

Represents a simulation setup that hasn’t been run yet

See also

For the workflow and interface overview, see the User Guide: Workflows & Interfaces.


Case Status#

Each case node in the project tree carries a status icon that reflects where the case is in its lifecycle, from running through post-processing to a final result. The same status is shown on the case in the run status header and the case list. The icons below are the case statuses you may encounter.

Icon

Status

Description

running

Running

The case is solving.

post process

Post process

The case has solved and its results are being post-processed for visualization.

completed

Completed

The case has solved and post-processing is complete; the results are ready to visualize.

diverged

Diverged

The case run diverged due to numerical instability.

error

Error

The case run failed.

post-processing failed

Post-processing failed

The case solved, but post-processing did not finish successfully; the visualization may be unavailable or incomplete.

Note

While a case is running, its progress (including the post-processing step) is also shown step by step in the Run Status panel of the Status Bar. The statuses above are what appear on the case node itself.


Project Structure#

The Flow360 project structure follows a flexible hierarchical organization that accommodates different starting points and multiple analysis paths. Each node in the tree represents a distinct stage in the simulation process, with the ability to branch and create parallel analysis streams.

Entry Points#

The project can be initiated from two different entry points:

  1. Geometry-First Approach:

    • Starts with CAD geometry

    • Requires the workflow to include surface and volume mesh generation

  2. Mesh-First Approach:

    • Starts directly with a surface or volume mesh

    • Meshing settings are available only when starting from a surface mesh

Workflow Hierarchy#

The workflow structure depends on the chosen entry point. Below are the two possible progression paths:

1. Starting from geometry#

Geometry
└── Surface Mesh
    └── Volume Mesh
        └── Case
            └── Fork (optional)

2. Starting from surface mesh#

Surface Mesh
└── Volume Mesh
    └── Case
        └── Fork (optional)

3. Starting from volume mesh#

Volume Mesh
└── Case
    └── Fork (optional)

Note

Each node in these hierarchies can branch into multiple parallel paths. For example:

Geometry
├── Surface Mesh A
│   ├── Volume Mesh A1
│   │   ├── Case A1.1
│   │   │   └── Fork A1.1.1
│   │   └── Case A1.2
│   └── Volume Mesh A2
│       └── Case A2.1
└── Surface Mesh B
    └── Volume Mesh B1
        └── Case B1.1
            └── Fork B1.1.1

Branching Capabilities#

The project tree supports multiple branches at each level:

  • A geometry can have multiple surface meshes.

  • A surface mesh can have multiple volume meshes.

  • A volume mesh can have multiple cases; a case can also be an interpolated case (interpolation onto that volume mesh).

  • For cases, you can also create forks and interpolations.

Forking#

  • Forks are direct extensions of their parent cases

  • All results and settings are preserved in forks

  • Simulation continues from the last state of the parent case

  • Multiple forks can branch from the same parent case

Interpolation#

  • Interpolation transfers solution from a case onto a new mesh

  • New mesh can exist either within the same project, or in a different one

  • Useful when running a refined mesh or slightly altered geometry

  • Arrow on the volume mesh asset icon in project tree indicates that the volume mesh exists in a different project

Watch: Interpolation walkthrough

Component Actions#

When clicking on a component in the project tree, a menu of available actions appears. Below are the available actions:

Component actions details button

Action

Description

Open in workbench

Opens the component workbench

New run

Creates a new simulation run draft using settings from this component

Interpolation

Transfers solution data between different meshes

Rename

Changes the display name of the component

Details

Shows components details such as ID, name, cost, parent asset ID, etc.

Expand all sub-items

Shows all sub-components derived from this component

Collapse all sub-items

Hides all sub-components derived from this component

Delete

Removes the component and all its dependent sub-components


Tip

Use the keyboard shortcut palette (click the icon at the bottom-left of the Project tree panel) to view available shortcuts at a glance. See Keyboard Shortcuts for the full reference.


🐍 Python Example Usage

See also

The project hierarchy and forking are available through the Python API:

Below is a Python code example showing how to create forks:

import flow360 as fl

project = fl.Project.from_cloud(project_id="prj-XXXXX") # Should be a valid project id

# Specify a case you want to fork from
case = fl.Case(id="case-XXXXX") # Should be a valid case id

# Change desired parameters, e.g. time stepping
case.params.time_stepping.step_size = 0.0001
case.params.time_stepping.steps = 1500

# Fork the case
case_fork_1 = project.run_case(case.params, "case-fork-1", fork_from=case)

# Change forked case's parameters
case_fork_1.params.time_stepping.step_size = 0.00005
case_fork_1.params.time_stepping.steps = 2500

# Fork from a fork
case_fork_1 = project.run_case(case_fork_1.params, "case-fork-1", fork_from=case_fork_1)