Smoke3D files

Collection of Smoke3D objects. Offers extensive functionality for filtering and using Smoke3Ds as well as its subclasses such as SubSmoke3D.

Classes:

Smoke3D(root_path, times, quantity)

Smoke3D file data container including metadata. Consists of multiple subsmokes, one for each

SubSmoke3D(file_path, mesh, upper_bounds, times)

Part of a smoke3d output for a single mesh.

Functions:

implements(np_function)

Decorator to register an __array_function__ implementation for Smoke3Ds.

class fdsreader.smoke3d.smoke3d.Smoke3D(root_path: str, times: ndarray, quantity: Quantity)[source]
Smoke3D file data container including metadata. Consists of multiple subsmokes, one for each

mesh.

Variables:
  • times – Numpy ndarray containing all time steps for which data has been written out.

  • quantityQuantity object containing information about the recorded quantity and its unit.

Methods:

clear_cache()

Remove all data from the internal cache that has been loaded so far to free memory.

get_subsmoke(mesh)

Returns the SubSmoke that contains data for the given mesh.

mean()

Calculates the mean value of all Smoke3D data for this quantity.

std()

Calculates the standard deviation of all Smoke3D data for this quantity.

to_global([masked, fill, return_coordinates])

Creates a global numpy ndarray from all subsmokes.

Attributes:

n_t

Get the number of timesteps for which data was output.

subsmokes

Returns a list with one SubSmoke3D object per mesh.

vmax

Maximum value of all data at any time.

clear_cache()[source]

Remove all data from the internal cache that has been loaded so far to free memory.

get_subsmoke(mesh: Mesh)[source]

Returns the SubSmoke that contains data for the given mesh.

mean() ndarray[source]

Calculates the mean value of all Smoke3D data for this quantity.

property n_t: int

Get the number of timesteps for which data was output.

std() ndarray[source]

Calculates the standard deviation of all Smoke3D data for this quantity.

property subsmokes

Returns a list with one SubSmoke3D object per mesh.

to_global(masked: bool = False, fill: float = 0, return_coordinates: bool = False) ndarray | Tuple[ndarray, Dict[Literal['x', 'y', 'z'], ndarray]][source]

Creates a global numpy ndarray from all subsmokes.

Parameters:
  • masked – Whether to apply the obstruction mask to the data or not.

  • fill – The fill value to use for masked entries. Only used when masked=True.

  • return_coordinates – If true, return the matching coordinate for each value on the generated grid.

property vmax

Maximum value of all data at any time.

class fdsreader.smoke3d.smoke3d.SubSmoke3D(file_path: str, mesh: Mesh, upper_bounds: ndarray, times: ndarray)[source]

Part of a smoke3d output for a single mesh.

Variables:
  • mesh – The mesh containing the data.

  • upper_bounds – Numpy ndarray containing the maxmimum data value for each timestep.

  • times – Numpy ndarray containing all time steps for which data has been written out.

Methods:

clear_cache()

Remove all data from the internal cache that has been loaded so far to free memory.

Attributes:

data

Method to lazy load the Smoke3D data of a single mesh.

clear_cache()[source]

Remove all data from the internal cache that has been loaded so far to free memory.

property data: ndarray

Method to lazy load the Smoke3D data of a single mesh.

fdsreader.smoke3d.smoke3d.implements(np_function)[source]

Decorator to register an __array_function__ implementation for Smoke3Ds.