    

 ## On this page

  

 

 # Ansys Project API

 Last update: 16.07.2025 

# <a class="anchor" id="ProjectIntro"></a>The Project Concept

A [Project](classansys_1_1_project_1_1_project.xhtml "Base class for Project API, also see SimProject.") is an index file, which provides hierarchical organization for file references and their associated properties ([Metadata](classansys_1_1_project_1_1_metadata.xhtml "Dictionary of values associated with an Iterator.")). The files can be organized locally within a project folder or elsewhere as defined by a file [URL](classansys_1_1_project_1_1_u_r_l.xhtml "The address of a local or remote file, using the URI format."). The index file is an XML file (file extension: \*.flprj), which is read, written, and modified using the ansys::Project API.

There are two types of project storage:

- **Managed storage**: A [Project](classansys_1_1_project_1_1_project.xhtml "Base class for Project API, also see SimProject.") with a project folder: A folder is created side by side with the index file. All files imported to the project are copied into the project folder. Erasing the project will erase all files. For example ```
    FILENAME.flprj
    FILENAME.cffdb/
      file      
      folder/  
      folder/file 
    ```
- **Free storage**: [Project](classansys_1_1_project_1_1_project.xhtml "Base class for Project API, also see SimProject.") is an index file only. All files are referenced as either a relative or global/remote path. Relative paths are calculated from the project file location. ```
    FILENAME.flprj
    file     (indexed as ./file)
    folder/file   (indexed as ./folder/file)
    /home/user/file   (indexed as /home/user/file)
    ```
    
    ![](/sites/default/files/migrate-content/common_fluids_format_/project_view.png)

The project internal hierarchy is organized using [Path](classansys_1_1_project_1_1_path.xhtml "Paths used for internal Project filesystem."). The file or folder references are stored as a [URL](classansys_1_1_project_1_1_u_r_l.xhtml "The address of a local or remote file, using the URI format.").

A [Path](classansys_1_1_project_1_1_path.xhtml "Paths used for internal Project filesystem.") will define a unique location in the project, the file name of a path entry does not need to match the [URL](classansys_1_1_project_1_1_u_r_l.xhtml "The address of a local or remote file, using the URI format.") filename.

```
/Meshes/file.cas  -> ./file.cas
/Meshes/database/  -> /share/all/mesh-database/
```

# <a class="anchor" id="PItems"></a>Project Buiding Blocks

At the lowest level, the project contains only either:

- **Files**
- **Folders**: A container (typically a directory) containing multiple **Files**
- **Links**: A link to another project location

All project items will define the following properties:

- **Name**: The name of the item in the project, used in the access [Path](classansys_1_1_project_1_1_path.xhtml "Paths used for internal Project filesystem.")
- **[Metadata](classansys_1_1_project_1_1_metadata.xhtml "Dictionary of values associated with an Iterator.")**: A dictionary of properties (variable -&gt; value)

File and folders will define a [URL](classansys_1_1_project_1_1_u_r_l.xhtml "The address of a local or remote file, using the URI format.") to a storage location.

- If the [URL](classansys_1_1_project_1_1_u_r_l.xhtml "The address of a local or remote file, using the URI format.") is empty, the file or folder is only stored in the project index and can be seen as a virtual filesystem. Virtual items can have [Metadata](classansys_1_1_project_1_1_metadata.xhtml "Dictionary of values associated with an Iterator.").
- The [URL](classansys_1_1_project_1_1_u_r_l.xhtml "The address of a local or remote file, using the URI format.") can point to a location currently accessible, or to a file that is removed or to a file that will be created in the future in that location.

# <a class="anchor" id="Simulations"></a>Simulations

The [Project](classansys_1_1_project_1_1_project.xhtml "Base class for Project API, also see SimProject.") allows storage of any file or folders. However, specialized concepts specific to computational application are defined.

- **[SimProject](classansys_1_1_project_1_1_sim_project.xhtml "Main object for Simulation based projects.")**: Specialized version of [Project](classansys_1_1_project_1_1_project.xhtml "Base class for Project API, also see SimProject."), set up to manage the [Simulation](classansys_1_1_project_1_1_simulation.xhtml "Subfolder of a Project, regrouping input files and Run subfolders.") and its Results.
- **[Simulation](classansys_1_1_project_1_1_simulation.xhtml "Subfolder of a Project, regrouping input files and Run subfolders.")**: A folder stored in the project, containing a Case and its [Result](classansys_1_1_project_1_1_result.xhtml "Result (data) file, output of a Simulation Run.") files, stored into [Run](classansys_1_1_project_1_1_run.xhtml "Subfolder of a Simulation, regrouping Output/Result for a step.") subfolders.
- **[Run](classansys_1_1_project_1_1_run.xhtml "Subfolder of a Simulation, regrouping Output/Result for a step.")**: A subfolder of a [Simulation](classansys_1_1_project_1_1_simulation.xhtml "Subfolder of a Project, regrouping input files and Run subfolders."), containing Results grouped in [Output](classansys_1_1_project_1_1_output.xhtml "Subfolder of a Run, regrouping Results for a step.") subfolders.
- **[Output](classansys_1_1_project_1_1_output.xhtml "Subfolder of a Run, regrouping Results for a step.")**: Groups of [Result](classansys_1_1_project_1_1_result.xhtml "Result (data) file, output of a Simulation Run.") files, an [Output](classansys_1_1_project_1_1_output.xhtml "Subfolder of a Run, regrouping Results for a step.") might be for each time step or parametric design point. Typically, an [Output](classansys_1_1_project_1_1_output.xhtml "Subfolder of a Run, regrouping Results for a step.") is created as a virtual subfolder, as all of the files are stored in the [Run](classansys_1_1_project_1_1_run.xhtml "Subfolder of a Simulation, regrouping Output/Result for a step.") folder, but the [Output](classansys_1_1_project_1_1_output.xhtml "Subfolder of a Run, regrouping Results for a step.") is used to regroup the files created by each step.
- **[Result](classansys_1_1_project_1_1_result.xhtml "Result (data) file, output of a Simulation Run.")**: One output file.

[Simulation](classansys_1_1_project_1_1_simulation.xhtml "Subfolder of a Project, regrouping input files and Run subfolders."), [Run](classansys_1_1_project_1_1_run.xhtml "Subfolder of a Simulation, regrouping Output/Result for a step."), and [Output](classansys_1_1_project_1_1_output.xhtml "Subfolder of a Run, regrouping Results for a step.") are project folders. The storage policy might define them to be actual folders on disk, or project-only concepts.

For example, for a storage policy in which [Output](classansys_1_1_project_1_1_output.xhtml "Subfolder of a Run, regrouping Results for a step.") are virtual folders, all Results are side by side in the [Run](classansys_1_1_project_1_1_run.xhtml "Subfolder of a Simulation, regrouping Output/Result for a step.") folder on the disk:

```
Sim1/demo.cas                   -> Sim1/demo.cas
Sim1/run1/out1/demo.000001.dat  -> Sim1/run1/demo.000001.dat
Sim1/run1/out2/demo.000002.dat  -> Sim1/run1/demo.000002.dat
Sim1/run1/out3/demo.000003.dat  -> Sim1/run1/demo.000003.dat
```

# <a class="anchor" id="Iterator"></a>Iterators

All operations in the project are done through the [Iterator](classansys_1_1_project_1_1_iterator.xhtml "Pointer to a project location."). The [Iterator](classansys_1_1_project_1_1_iterator.xhtml "Pointer to a project location.") is a pointer to a location in the project. It is possible to obtain the [Iterator](classansys_1_1_project_1_1_iterator.xhtml "Pointer to a project location.") for a specific [Path](classansys_1_1_project_1_1_path.xhtml "Paths used for internal Project filesystem."), or to navigate through the children, parent, or links from an [Iterator](classansys_1_1_project_1_1_iterator.xhtml "Pointer to a project location.") or its [Metadata](classansys_1_1_project_1_1_metadata.xhtml "Dictionary of values associated with an Iterator.").

[Simulation](classansys_1_1_project_1_1_simulation.xhtml "Subfolder of a Project, regrouping input files and Run subfolders."), [Run](classansys_1_1_project_1_1_run.xhtml "Subfolder of a Simulation, regrouping Output/Result for a step."), [Output](classansys_1_1_project_1_1_output.xhtml "Subfolder of a Run, regrouping Results for a step."), and [Result](classansys_1_1_project_1_1_result.xhtml "Result (data) file, output of a Simulation Run.") are specialized iterators, offering extra functions and validations for the file/folder at that location.