Release notes - firetools/blenderfds GitHub Wiki

This wiki page describes the new features of the BlenderFDS releases, that can be installed on all major platforms: Linux, MacOS, and MS Windows. It also specifies the required software version for:

  • the Blender platform hosting the BlenderFDS addon, other versions may not work;
  • the target FDS solver, other versions may fail to read the exported cases.

Now: BlenderFDS dev

This is a placeholder for the current development version. This version is not recommended for production use, as it is may be unstable.

Tool Required version
Blender dev
FDS dev

What's new

No new features, now working on the wiki documentation.


2022-07-19: BlenderFDS 6.0.0

A new major stable release is out.

Tool Required version
Blender 4.0.1
FDS 6.8.0

What's new

Support for parallel computation, improved domain management

  • Rewritten MESH namelist management. The computational domain can now be splitted in sub MESHes or multiplied using the MULT namelist.
  • Added automatic MPI_PROCESS allocation for MESH namelists. You can set the number of available processes and BlenderFDS distributes the MESHes evenly to the processes by their number of cells. This feature alone substantially improves your hardware usage and reduce computation times.
  • Added support for setting the number of OpenMP threads in computations run from BlenderFDS.
  • Added utility for cell size estimation according to US NRC, NUREG 1824
  • Improved utility to snap and align different MESH cells according to FDS requirements (rewritten since beta1).

Run FDS and Smokeview from BlenderFDS

  • Added support for running FDS and Smokeview directly from BlenderFDS on all platforms. Starting a local calculation on Linux, MacOS, and MS Windows computers is supported by default.
  • FDS and Smokeview running commands can be easily customized from the preferences, and even linked to external scripts, so that you can run your FDS cases everywhere (eg. on clusters or cloud services).
  • Added utility to estimate the duration of an ongoing FDS calculation.

GEOM namelist

:warning: FDS developers advise that the GEOM namelist is not yet ready for production.

  • Improved full GEOM namelist support, at its current state of development in FDS.
  • Support for shared BINARY_FILE in GEOM namelists. If two or more GEOM namelists share the same Blender Mesh (the geometric shape of the Blender Object) the exported bingeom file is not duplicated and it is shared in the FDS case, too. A MOVE namelist is added for specifing position, orientation, and scaling of each GEOM instance of the same bingeom file in the computational domain.
  • Improved check on the orientation of FACES normal vectors for GEOM exporting.
  • Improved Remesh panel from Blender 3.2 for easier remeshing of GEOM geometries.

:information_source: For full support of geographic data treatment and import to GEOM terrains for wild fire simulation or large outdoor fires also see the qgis2fds project.

MOVE and MULT namelists

  • Full MOVE and MULT namelist support, both are imported to Blender transformations.

FDS case

  • Updated namelists parameters to FDS current development.
  • Improved default text formatting of the exported FDS case for added readability by human beings.

Scriptability and customization

  • Reorganization of BlenderFDS Python code. All FDS namelist configurations are contained in the lang/ folder of the addon to facilitate power user configuration, customization, scriptability, and contribution to this project.
  • Many internal configurations are now exposed to the power user in the addon config.py file. Blender Object and Material appearance, numeric precision, FDS case formatting, and much more is now easily configurable.

User interface

  • Ported BlenderFDS addon to Blender 3.2.x series. Updated its user interface to the new Blender guidelines.
  • Simplified Blender user interface, the majority of Blender redundant or unused features are hidden. If needed, you can reenable standard Blender interface from the preferences.
  • Improved support for Blender Units settings, you can also build your geometry in imperial units.
  • Unified file path transformations to hopefully overcome related bugs on the MS Windows platform.
  • Set Blender render.engine to WORKBENCH to improve 3DView display and Blender Material preview. A related bug on the Blender side was opened and is still unsolved at the moment: T98428.

Usability and stability,

  • Added tool to manage BlenderFDS addon update from Blender Preferences.
  • Renewed automatic BlenderFDS verification suite, guaranteeing better stability of the results, and usability. All the cases from the FDS Validation and Verification are imported and exported.

Removed features

  • Removed HVAC namelist support, unfortunately it was not stable and mature enough.
  • Removed any reference to FDS+EVAC. Looking forward to open alternatives to this beloved project.
  • Removed seldom used SURF namelist parameters for simplicity.

2021-02-16: BlenderFDS 5.1.0

A new minor release is out.

  • Exporting target is FDS version 7 (unreleased), but the exported file is compatible with the current released FDS solver (File > Export > FDS case).
  • This BlenderFDS version shall be installed as an addon of Blender 2.91.2. It does not work with older versions and it is not guaranteed to work with newer ones.

New features for users:

  • As requested by the users, BlenderFDS now takes into account the Blender View Layers settings. Blender collections that are not enabled in the current view layer, and all the contained objects, are excluded from exporting. The user can set and export different geometric configurations from several View layer instances of the same Scene.

2020-11-12: BlenderFDS 5.0.1

A new maintenance release is out. Just bugfixing.


2020-11-05: BlenderFDS 5.0.0

A new major BlenderFDS release is out, ported to the Blender 2.9x series:

  • Exporting target is FDS version 7 (unreleased), but the exported file is compatible with the current released FDS solver (File > Export > FDS case).
  • This BlenderFDS version shall be installed as an addon of Blender 2.90.1. It does not work with older versions and it is not guaranteed to work with newer ones.
  • The new file format is not fully backward compatible, so double check your old input files.

New features for users:

  • All the new Blender 2.9x features for 3d modelling, see its release notes
  • New managed namelists: GEOM, PRES, CATF, MOVE.
  • The GEOM namelist offers tools for:
    • automatic improvement of Blender Mesh quality and detection of defects that render it not manifold;
    • checking for intersections with other Blender Objects;
    • exporting and importing the new binary bingeom format (BINARY_FILE);
    • exporting and importing terrains (IS_TERRAIN);
  • New operator for setting geolocation of any element into the FDS case, after georeferencing your case by setting the origin geolocation. For example, you can put a DEVC at a specific coordinate without effort, and check the position on an online map.
  • New Align selected operator for MESH, that correctly aligns MESH cells.
  • New management tool for other parameters, in addition to those that are directly managed.

New features for developers:

  • The new verification suite automatically checks the code by performing full import and export of all the official FDS V&V cases.
  • The Blender Object, Material, Collection, and Scene are extended with from_fds() and to_fds() methods.
  • The code is fully documented with Doxygen.
  • Cleaner Python code structure, fully object-oriented.
  • The code is now linted with pylint and formatted with black.

2018-09-23: BlenderFDS 4.3.0

A new minor release is out. Even if minor, this release is packed with new features, developed during my six months visit at NIST as a guest researcher. A great thank you to all the friends there, it was an amazing stay both from a professional and personal point of view! And a lot of work is now laying ahead.

This release was badly delayed by the Morandi bridge collapse in Genoa, Italy. The collapse caused 43 casualties, around 630 people evacuated from their homes, the disruption of the economic and transportation systems of the city. We are still very busy working on the recovery.

Now back to BlenderFDS.

New features for users:

  • New FDS Case config panel for each Blender Scene.
  • Vastly improved support for GEOM namelist:
    • New triangulation algorithm, now much more stable.
    • New full fledged automatic geometry quality checks for all defects:
      • non manifold edges and vertices,
      • non contiguous or inverted normals,
      • open geometry,
      • degenerate or duplicate faces and edges,
      • loose geometry,
      • self-intersecting geometry.
    • Added Get intersection with operator to check for intersections between selected objects.
    • When a geometry quality error condition is detected, the offending vertices, faces, edges are now selected, to assist the user debugging the geometry.
    • Setup of geometry epsilon for edge length and face area is now possible on a per-case basis, in the new Case config panel.
    • Added the possibility to exclude the geometry quality checks from specific objects.
    • Show geometry operator now shows the exported geometry for GEOMs as well.
  • Added support for RADI and CATF namelists.
  • Improved support for Blender units (eg. imperial units), some issues still ongoing.
  • Renewed voxelization and pixelization algorithms for OBSTs and VENTs, on average 3x speed up.
  • Voxels and pixels can now be centered to the object bounding box, this allows the creation of truly symmetrical voxelized spheres.
  • Added CELL_CENTERED parameter to SLCF namelist.
  • While waiting for a proper configurability of the number of exported float digits of geometric coordinates, 6 decimal digits are now exported.
  • New FDS default values treatment: default values are not exported to the FDS case. The default value is shown in the help message when hovering over the property field.

New features for developers:

  • Improved Python code structure towards the large transformations towards Blender 2.8 support
  • Code clean-up for Python PEP8

2018-06-12: BlenderFDS 4.2.2

A new maintenance release is out.

New features for users:

  • Bug fixing: UI, FDS file formatting.

2018-05-18: BlenderFDS 4.2.1

A new maintenance release is out.

New features for users:

  • Bug fixing. Some Blender 2.79 packages have an older Python interpreter embedded, this was breaking BlenderFDS. Fixed!
  • Pushing forward some minor simplified UI enhancements.

2018-05-14: BlenderFDS 4.2.0

A new minor release is out.

New features for users:

  • Improvement of the voxelization algorithm, better continuity between close objects
  • Experimental support for importing and exporting the future GEOM namelist
  • New search tool for MATL_ID names
  • Added MPI_PROCESS parameter to MESH namelist
  • Exported FDS files have now a more compact format, as suggested by FDS developers
  • Some bugfix and slight refactor

2016-11-24: BlenderFDS 4.1.1

A new maintenance release is out.

While working on a new project I discovered that voxelization failed in some not infrequent cases. It is now fixed.


2016-09-21: BlenderFDS 4.1.0

A new minor release is out.

New features for users

  • The calculated FDS geometry is now cached inside Blender Objects. Exporting of unmodified objects to FDS is now lightning fast!
  • Improved management of displayed FDS geometries
  • Some bugfix and slight refactor

2016-04-06: BlenderFDS 4.0.6

A new maintenance release is out.

The paths to predefined files were incorrectly determined in corner cases. The bug is now fixed.


2016-03-15: BlenderFDS 4.0.5

A new maintenance release is out.

Bojan Csoti spotted a little bug with oversized objects, thank you! The bug is now fixed.


2016-03-04: BlenderFDS 4.0.4

A new maintenance release is out.

Again bug fixing:

  • Fixed link to wiki in Blender menu;
  • Temporary object should never be exported, fixed!

and a little new nifty feature:

  • new tool for selecting DEVC QUANTITY.

2016-02-11: BlenderFDS 4.0.3

A new maintenance release is out.

While developing automated testing procedure, I am finding and fixing many bugs:

  • Importing function was creating fake XB parameters in several objects. Solved!
  • Wrong naming of input/output operators, fixed!
    • bpy.ops.export.fds_case() -> bpy.ops.export_scene.fds_case()
    • bpy.ops.import.fds_case() -> bpy.ops.import_scene.fds_case() or fds_snippet()

2016-02-11: BlenderFDS 4.0.2

A new maintenance release is out:

  • Added SP_DUMP_STATUS_FILES to DUMP namelist for automatic monitoring of case file running.
  • New automated testing procedure before releasing (see /dev/autotest): all example cases are exported and run.
  • Small bug fixing.

2016-02-04: BlenderFDS 4.0.1

A new maintenance release is out. No new features, just bug fixing:

  • Improved defaults and feedback to users for Operators.
  • Facilitated addition of a new SURF related to a specific Blender Object (eg. OBST)
  • Bug fixing.

I :heart: GitHub.


2016-01-25: BlenderFDS 4.0.0

A new major BlenderFDS release is out:

  • Exporting target is FDS version 6 (File > Export > FDS case).
  • This BlenderFDS version shall be installed as an addon of Blender 2.76b. It does not work with older versions and it is not guaranteed to work with newer ones.
  • The new file format is not backward compatible.

This is the first version after the huge migration to GitHub. This release was delayed by at least one year, because I was very taken by the working-groups on the new Italian Fire Code.

Thank you!

First of all, I would like to sincerely thank all the contributors that financially supported BlenderFDS development during the last crowdfunding campaign.

A particular thank goes to our sponsors:

  • Sergei Maximov;
  • backbone;
  • Kristopher Overholt;
  • Combustion Science & Engineering, Inc. (Stephen Olenick).

This version of BlenderFDS is the result of a huge effort: the codebase was complitely reviewed and restructured to make place for new features and guarantee future maintainability. The source code is now fully object oriented, fully commented, and much more readable.

New features for users

  • Simplified user interface.
  • BlenderFDS can import existing FDS case files to BlenderFDS scenes (File > Import > FDS case).
  • Creation of GE1 cad description file (Scene Panel > DUMP Panel), that allows realistic visualization in Smokeview.
  • New geometric description PIXELS for flat faces (Object Panel > OBST Panel > XB, for namelists that support faces). Faces of any shape, normal to any axis, can be exported to FDS (eg. round VENTs!).
  • Namelist grouping and sorting by Blender empties (Add Blender Menu > Empty). Parent your namelists under a Blender Empty, and discover them properly sorted and grouped in the FDS case file.
  • New tool for FDS MESH creation (Object Panel > MESH Panel > IJK): set cell sizes and align them to the global reference system, for easier mutual alignment of MESHes.
  • New tool for calculating FDS SURF HRRPUA and TAU_Q according to EU and US standards (Material Panel > SURF Panel > TAU_Q).
  • Improved user interface and tools:
    • geometry and code visualization buttons are now readily available in the user interface;
    • easier parameters copying between selected namelists.
  • Faster and more precise voxelization algorithm.
  • Free FDS text file is now fully integrated into Blender interface.
  • Show geometry button visualizes the geometry as it is going to be exported to FDS. This allows the user to check it visually.
  • Multiple geometries can now have a suffix added to their IDs (Object Panel > Any namelist panel > ID), eg. add z coordinate to thermocouples ID values: tc+1.20, tc+1.30, tc+1.40, ...
  • Set default appearance and allowed geometry parameters on namelist change.
  • File versioning, check and manage future transitions to new BlenderFDS file formats.
  • Custom snippets path preference in Blender User Preferences > Add-Ons panel.

New features for developers

  • New programming API: context.scene.to_fds(), context.object.to_fds(), context.material.to_fds(), context.scene.from_fds(). Build or modify your geometry using Python programming language!
  • New debug mode and timing.
  • Detailed description of FDS language in lang.py.