Bilt¶
Bilt is a Python-native framework for equation-oriented modelling.
Models are built from systems, equations and transforms, with Bilt determining how available values can be used to calculate requested outputs. Models can be composed from reusable subsystems and executed using different computational backends.
User guide¶
The user guide introduces the main Bilt concepts:
- Modelling philosophy
- Systems and values
- Equations and acausal modelling
- Transforms and implementations
- Models to computation
- Dimensions, domains and tensors
- Systems of systems
- Backends
- Units
Worked examples¶
Worked examples show how these concepts fit together in complete models.
Systems of systems¶
Dimensions, Tensors and broadcasting¶
- Battery electric mission model with quasi-monte carlo broadcasting - a simple example of broadcasting in a model with a large number of variables.
Choosing computational backends¶
- Compiling a Bilt model with JAX - a detailed example of how to compile a Bilt model with JAX.
API reference¶
- Systems and implementations
- Equations and transforms
-
Tensors - tensor construction, domains, broadcasting, reductions, selection and current limitations.
-
Units - built-in units, quantity and unit helpers, dimensions, metadata and errors.
Configuration¶
- Using Bilt with ruff - keep ruff from moving imports that Bilt needs at runtime into
if TYPE_CHECKING:blocks.