|
ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
|
A starting point for a new fire engine: declarations only. More...
#include <ERF_FireEngine.H>

Go to the source code of this file.
Classes | |
| class | FireEngineTemplate |
A starting point for a new fire engine: declarations only.
This class declares every FireEngine method a new fire model provides and says what ERF hands it and expects back. Nothing here has a body, no input selects it and nothing creates one, so it adds no code to ERF. The stand-in engine of the FireCoupler unit tests (Tests/Unit/Fire/ERF_GTestFireCoupler.cpp) is the smallest engine that works.
To start a new engine:
What the coupling layer already does for every engine: it builds the fire grid over erf.fire.anchor_level, hands the engine the atmosphere's state each step, averages the engine's fluxes onto the atmospheric columns, holds them one step, injects heat, vapour and smoke, and saves those lagged fluxes in the checkpoint. An engine owns only its fire physics and its own state.
The call order is the one documented on FireEngine (ERF_FireEngine.H). ERF_FireCoupler.cpp checks at compile time that this class declares every method FireEngine requires (the pure virtual ones), and override checks the signature of every method declared here. The optional methods are listed by hand: a new optional method in FireEngine is added here too.