API Reference¶
Complete API documentation for all PyFDS classes and functions.
Overview¶
The API Reference provides detailed technical documentation auto-generated from the source code docstrings. All public APIs are documented with parameters, return values, examples, and type information.
Modules¶
-
Core
Main simulation classes and core components
-
Builders
Fluent APIs and pre-configured objects
-
Namelists
FDS namelist group classes
-
Validation
Input validation and error checking
-
Exceptions
Error handling and exception types
-
Execution
Simulation execution and job management
-
Analysis
Results analysis and visualization
-
I/O
File input/output and parsing
-
Utilities
Helper functions and utilities
Quick Links¶
Most Used Classes¶
| Class | Description |
|---|---|
Simulation |
Main class for building FDS simulations |
Results |
Container for simulation results |
FDSRunner |
Execute FDS simulations |
Job |
Manage running simulations |
validate_simulation() |
Validate simulation configuration |
Namelist Classes¶
| Namelist | Class | Purpose |
|---|---|---|
| HEAD | Head |
Simulation metadata |
| TIME | Time |
Time parameters |
| MESH | Mesh |
Computational domain |
| SURF | Surface |
Surface properties |
| OBST | Obstruction |
Solid obstructions |
| VENT | Vent |
Boundaries and vents |
| HOLE | Hole |
Openings in obstructions |
| MULT | Multiplier |
Array replication |
| GEOM | Geometry |
Unstructured geometry (beta) |
| MOVE | Move |
Geometry transformations |
| DEVC | Device |
Measurement devices |
| MATL | Material |
Material definitions |
| RAMP | Ramp |
Time-varying properties |
| REAC | Reaction |
Combustion reactions |
| PART | Particle |
Particle definitions |
| PROP | Property |
Device properties |
| CTRL | Control |
Control logic |
| INIT | Initialization |
Initial conditions |
| SPEC | Species |
Chemical species |
| COMB | Combustion |
Combustion parameters |
| HVAC | Hvac |
HVAC systems |
| MISC | Misc |
Global settings |
Usage Examples¶
Importing Classes¶
# Import main simulation class
from pyfds import Simulation
# Import specific namelist classes
from pyfds import Mesh, Surface, Device, Time
# Import execution classes
from pyfds.execution import FDSRunner, Job
from pyfds.analysis import Results
# Import validation
from pyfds.validation import validate_simulation, SimulationValidator
from pyfds.exceptions import ValidationError, DuplicateIdError
# Import builders
from pyfds import RampBuilder, MaterialBuilder, SurfaceBuilder
from pyfds.builders.libraries import CommonMaterials, CommonRamps
Type Hints¶
All classes have full type hints for IDE support:
from pyfds import Simulation
from pyfds.core.namelists import Mesh, Surface
def create_simulation(name: str) -> Simulation:
"""Create a simulation with type safety."""
sim = Simulation(chid=name)
sim.add(Time(t_end=600.0))
return sim
# IDE will autocomplete and type-check
sim: Simulation = create_simulation("test")
Documentation Conventions¶
Parameters¶
Parameters are documented with their type and description:
def time(
self,
t_end: float,
t_begin: float = 0.0,
dt: float | None = None
) -> Simulation:
"""
Set time parameters for the simulation.
Parameters
----------
t_end : float
End time in seconds
t_begin : float, optional
Start time in seconds (default: 0.0)
dt : float, optional
Initial time step in seconds (default: auto)
Returns
-------
Simulation
Self for method chaining
"""
Return Values¶
Return values include type and description:
Examples¶
Executable code examples:
Examples
--------
>>> sim = Simulation(chid='test')
>>> sim.add(Time(t_end=600.0, dt=0.1))
>>> sim.write('test.fds')
See Also¶
Related functions and classes:
Navigating the API¶
By Module¶
Browse by module organization:
- Core - Main simulation building
- Builders - Fluent APIs and libraries
- Namelists - All FDS namelist classes
- Validation - Input validation
- Exceptions - Error handling
- Execution - Running simulations
- Analysis - Results and visualization
- I/O - File operations
- Utils - Helper utilities
By Task¶
Find what you need based on what you want to do:
| Task | See |
|---|---|
| Create a simulation | Simulation |
| Add a mesh | sim.add(Mesh()) |
| Create fire | sim.add(Surface()) |
| Add geometry | sim.add(Obstruction()) |
| Add vent | sim.add(Vent()) |
| Add device | sim.add(Device()) |
| Build complex objects | MaterialBuilder, RampBuilder |
| Use pre-configured objects | CommonMaterials, CommonRamps |
| Validate | validate_simulation() |
| Run simulation | run_fds() or sim.run() |
| Load results | Results |
| Plot data | Results.plot_hrr() |
Source Code¶
All API documentation is generated from the source code. To view the source:
import inspect
from pyfds import Simulation
# View source code
print(inspect.getsource(Simulation.add))
# View docstring
print(Simulation.add.__doc__)
Or browse the source on GitHub.