Skip to content

Namelist Classes

PyFDS provides Pydantic model classes for all major FDS namelists. All namelist classes inherit from NamelistBase and can be added to a simulation using sim.add().

Quick Reference

from pyfds import (
    Simulation, Time, Mesh, Surface, Obstruction, Vent, Device,
    Ramp, Material, Reaction, Control, Property, Initialization,
    Particle, Hole, Species, Combustion, Multiplier, Hvac, Head, Misc
)
from pyfds.core.namelists import Geometry, Move  # Advanced geometry
from pyfds.core.geometry import Bounds3D, Grid3D, Point3D

sim = Simulation(chid='example')
sim.add(Time(t_end=600.0))
sim.add(Mesh(ijk=Grid3D.of(50, 50, 25), xb=Bounds3D.of(0, 5, 0, 5, 0, 2.5)))
sim.add(Surface(id='FIRE', hrrpua=1000.0))
sim.add(Obstruction(xb=Bounds3D.of(2, 3, 2, 3, 0, 0.1), surf_id='FIRE'))

Simulation Control

Class FDS Namelist Description
Head HEAD Simulation metadata (CHID, TITLE)
Time TIME Time control (t_end, t_begin, dt)
Misc MISC Miscellaneous parameters

Computational Domain

Class FDS Namelist Description
Mesh MESH Computational grid definition
Multiplier MULT Geometry replication
Initialization INIT Initial conditions

Geometry

Class FDS Namelist Description
Obstruction OBST Solid objects and walls
Hole HOLE Cutouts in obstructions
Vent VENT Openings, vents, and surfaces
Geometry GEOM Complex geometry
Move MOVE Moving geometry

Materials & Surfaces

Class FDS Namelist Description
Surface SURF Surface properties and fire sources
Material MATL Material thermal properties

Devices & Control

Class FDS Namelist Description
Device DEVC Measurement devices
Property PROP Device properties
Control CTRL Control logic
Ramp RAMP Time-varying functions

Combustion & Species

Class FDS Namelist Description
Reaction REAC Combustion reactions
Combustion COMB Combustion parameters
Species SPEC Chemical species

Particles & HVAC

Class FDS Namelist Description
Particle PART Particle definitions
Hvac HVAC HVAC systems

Class Details

Simulation header information. Usually set automatically via Simulation().

# Head is typically set via Simulation constructor
sim = Simulation(chid='my_fire', title='Room Fire Test')

Time

Time control parameters.

sim.add(Time(
    t_end=600.0,     # End time (seconds)
    t_begin=0.0,     # Start time (optional)
    dt=None          # Time step (optional, auto-calculated)
))

Misc

Miscellaneous simulation parameters.

sim.set_misc(
    tmpa=20.0,          # Ambient temperature (°C)
    radiation=True,     # Enable radiation
    humidity=40.0       # Relative humidity (%)
)

Mesh

Computational mesh definition.

from pyfds.core.geometry import Bounds3D, Grid3D

sim.add(Mesh(
    id='MAIN',
    ijk=Grid3D.of(50, 50, 25),                    # Cell count
    xb=Bounds3D.of(0, 5, 0, 5, 0, 2.5)           # Domain bounds
))

Surface

Surface properties for fire sources, walls, and boundaries.

# Fire source surface
sim.add(Surface(
    id='BURNER',
    hrrpua=1000.0,     # Heat release rate per unit area (kW/m²)
    color='RED'
))

# Material surface
sim.add(Surface(
    id='CONCRETE_WALL',
    matl_id='CONCRETE',
    thickness=0.2,
    color='GRAY'
))

Obstruction

Solid objects and walls.

from pyfds.core.geometry import Bounds3D

sim.add(Obstruction(
    xb=Bounds3D.of(0, 5, 0, 0.2, 0, 2.5),
    surf_id='WALL'
))

Vent

Openings, vents, and surface patches.

sim.add(Vent(
    xb=Bounds3D.of(4.8, 4.8, 1, 2, 0, 2.1),
    surf_id='OPEN'
))

Geometry

Complex geometry.

sim.add(Geometry(
    id='SPHERE',
    surfaces=[(1, 2, 3, 1)],
    vertices=[(0,0,0), (1,0,0), (0,1,0)]
))

Move

Moving geometry.

sim.add(Move(
    id='SHIFT',
    dx=5.0
))

Device

Measurement devices.

from pyfds.core.geometry import Point3D

sim.add(Device(
    id='TEMP_CEILING',
    quantity='TEMPERATURE',
    xyz=Point3D.of(2.5, 2.5, 2.4)
))

Ramp

Time-varying functions.

sim.add(Ramp(
    id='FIRE_GROWTH',
    t=[0, 60, 120, 180],
    f=[0, 0.25, 0.5, 1.0]
))

Material

Material thermal properties.

sim.add(Material(
    id='CONCRETE',
    conductivity=1.8,
    specific_heat=0.88,
    density=2400.0
))

Control

Control logic for devices and actions.

sim.add(Control(
    id='SPRK_ACTIVATE',
    function_type='ANY',
    input_id=['TEMP_1', 'TEMP_2'],
    setpoint=68.0
))

Reaction

Combustion reaction definitions.

sim.add(Reaction(
    fuel='PROPANE',
    soot_yield=0.01,
    co_yield=0.006
))

Initialization

Initial conditions.

sim.add(Initialization(
    xb=Bounds3D.of(0, 5, 0, 5, 0, 2.5),
    temperature=25.0
))

Particle

Particle definitions for sprinklers and tracers.

sim.add(Particle(
    id='WATER',
    diameter=1000.0  # microns
))

Hole

Cutouts in obstructions.

sim.add(Hole(
    xb=Bounds3D.of(2, 3, 0, 0.2, 0.5, 2.0)
))

Property

Device properties (e.g., sprinkler characteristics).

sim.add(Property(
    id='SPRINKLER',
    part_id='WATER',
    flow_rate=189.0,
    operating_pressure=1.0
))

Multiplier

Geometry replication.

sim.add(Multiplier(
    id='MULT_X',
    dx=5.0,
    n_copies=3
))

Species

Chemical species definitions.

sim.add(Species(
    id='TRACER',
    mass_fraction_0=0.0
))

Combustion

Combustion model parameters.

sim.add(Combustion(
    extinction_model='EXTINCTION 2'
))

Hvac

HVAC system definitions.

sim.add(Hvac(
    id='SUPPLY',
    type_id='NODE',
    duct_id='DUCT_1'
))

See Also