Overview

Simulation Architecture

An Elodin simulation consists of Entities are spawned with a list of archetypes rather than individual components.

Systems

Systems are reusable functions that operate on a set of components. Composing different systems allows for the creation of custom physics engines. Some examples of systems include gravity, aerodynamics, collision detection.

World

World is a container of all the entities in the simulation. See ECS Data Model for more context on entities.

Flight Software (FSW)

Flight software is a set of processes that run independent of the simulation. Using impeller, FSW subscribes to relevant simulation data and sends control commands back to the simulation.

Simulation Architecture Light Simulation Architecture Dark

ECS Data Model

Elodin uses the Entity Component System (ECS) pattern to manage simulation data. Entities are simply unique references to a collection of components. Components are individual properties associated with an entity like position, velocity, mass, etc.

Archetypes are a unique combination of components that allow for efficient memory management and data access patterns. Entities are spawned with a list of archetypes rather than individual components.

Data Model Light Data Model Dark

Systems are simply functions that operate on component data.

Systems Light Systems Dark