Skip to content

Common UI patterns

Ruggero edited this page Nov 27, 2019 · 1 revision

BlenderFDS interface tries to be internally coherent and homogeneous. The following interface features are common to all BlenderFDS panels.

Help system

When hovering your cursor over a button or setting, it will show you the tooltip, and related details depending on the button type, such as the key-shortcut for a tool. The Python text included last may be of interest to you if you want to customize or extend BlenderFDS.

Exporting data-blocks and parameters to FDS

The user decides which data-block or parameter to export to the FDS case file by ticking relevant checkboxes. If a checkbox is not ticked, the panel is greyed out and the data-block or the parameter will not be exported,

ℹ️ The following picture shows an example for an OBST namelist. If the checkbox is not ticked, the Blender Object data-block will not be exported to an FDS namelist group.

ℹ️ The following picture shows an example for the REAC namelist. If the checkboxes are not ticked, the parameters (eg. FORMULA, CO_YIELD, ...) will not be attached to the exported REAC namelist.

FYI, for your information

The FYI data field is used to add information to the namelist group and can be recognized by the info icon.

ℹ️ The contents of the FYI data field are included in the exported namelist as follows:

&OBST ID=`Burner base s1`
      FYI='This is an information'
      SURF_ID='INERT'
      XB=...
      \

BlenderFDS enforces the following rules to prevent the creation of a malformed FDS case file:

  • & and / characters are not allowed,
  • no quote character is allowed.

Free parameters

The free parameter data field is used to freely add any kind of FDS parameter to the namelist group. This field is identified by the notebook icon.

ℹ️ For example, the user can write in the text field DEVC_ID='Any device id' P1=3.14,2.11,2.34 P2=.TRUE.. This parameter is appended verbatim to the namelist. No check is performed on the validity of the parameters, for instance on the existance of the referred DEVC. The namelist of the previous picture is exported as follows:

&OBST ID='Burner base s1'
      SURF_ID='INERT'
      XB=...
      DEVC_ID='Any device id' P1=3.14,2.11,2.34 P2=.TRUE.
      \

BlenderFDS enforces the following rules to prevent the creation of a malformed FDS case file:

  • & and / characters are not allowed,
  • only single quote characters are allowed as string delimiters (eg. P1='Right', P2="Wrong"),
  • single quote characters shall be properly matched (eg. P1='Right', P2='Not'right').

Geometry parameters

All the Object data-block panels can have XB, XYZ, PB* geometry parameters. These parameters specify how the shape (described in the Mesh data-block) of the current Object data-block should be exported to the corresponding FDS namelist groups. For each namelist only appropriate geometry parameters and choices are shown.

🔗 See Exporting geometries for details on how the shape of Object data-blocks can be exported to FDS.

Error detection and information display

Whenever an input error is discovered, a warning icon followed by a message appears below the concerned data. Exporting to an FDS case is not allowed, if errors are present.

Some parameters display useful info messages, some also offer a tool to manage the related data.

ℹ️ The following picture shows errors in the ID, FYI, and free parameters fields.

The IJK field is showing three information messages and two tools. When the previous error conditions are solved, these same info messages are exported to the FDS case file as inline comments.

Show FDS Geometry button

All the Object data-block panels have their Show FDS Geometry button. That button calculates and shows a temporary Object representing how the data-block geometry is going to be exported to FDS.

ℹ️ The following picture shows how a cube geometry is voxelized before exporting to many FDS namelist groups.

Show FDS Code button

All the panels have their Show FDS Code button. When pressed that button elaborates and shows in a modal dialog the FDS code that is going to be exported to one or more FDS namelists by the current data-block.

Copy To button

All Scene and Object data-blocks panels have a Copy To button.

The button in the Scene panel copies the values of the current Scene namelists and parameters to another Scene in the same Blender file.

ℹ️ The user can rapidly replicate the settings from a fire scenario to another.

The button in the Object panel copies namelist and parameter values of the active Object to other currently selected Object data-blocks.

🔗 See Blender documentation for an explanation of the difference between these two different states of selection: active or selected Object.

ℹ️ The user can rapidly replicate a namelist and its parameters from an Object data-block to another or many others.

⚠️ All parameters are copied, except for the ID namelist identificator (also data-block name).

Assign To button

All Material data-blocks panels have an Assign To button.

Pressing this button assigns the current SURF boundary condition to all the selected Object data-blocks that allows the SURF_ID parameter.

ℹ️ The user can rapidly assign the same SURF boundary condition to many Object data-blocks.

Load Snippet button

Several namelists offer a Load snippet button, that allows the user to load often-used predefined namelists.

ℹ️ The following picture shows a REAC namelist after importing the following snippet contained in the NZ, C-VM2, pre-flashover design fire.fds file:

&REAC FUEL='NZ C-VM2 pre-fo',
      FORMULA='C2H4O1',
      SOOT_YIELD=0.07,
      CO_YIELD=0.04,
      HEAT_OF_COMBUSTION=20000.,
      IDEAL=.FALSE.,
      FYI='NZ C-VM2, Table 2.1, pre-flashover design fire'
      /

The snippets are imported from a default predefined directory placed into the BlenderFDS add-on.

The user can set a different default directory for her snippets in the Blender User Preferences > Add-ons panel.