|
|
|
|
|
## Global view
|
|
|
|
|
|
The main purpose of a fargOCA simulation is to track the evolution of a planetary system embedded in a disk of gas. Those two entities will be represented by a **Disk** and **PlanetarySystem** class respectively (defined in [disk.hpp](https://gitlab.oca.eu/DISC/fargOCA/-/blob/master/include/disk.hpp) and in [planetarySystem.hpp](https://gitlab.oca.eu/DISC/fargOCA/-/blob/master/include/planetarySystem.hpp)).
|
|
|
The main purpose of a **fargOCA** simulation is to track the evolution of a planetary system embedded in a disk of gas. Those two entities will be represented by a **Disk** and **PlanetarySystem** class respectively (defined in [disk.hpp](https://gitlab.oca.eu/DISC/fargOCA/-/blob/master/include/disk.hpp) and in [planetarySystem.hpp](https://gitlab.oca.eu/DISC/fargOCA/-/blob/master/include/planetarySystem.hpp)).
|
|
|
A single simulation will instantiate one object of each.
|
|
|
|
|
|
That simulation is driven by an instance of the **Simulation** class (currently implementing a simple [Command pattern](https://en.wikipedia.org/wiki/Command_pattern), but might evolve into a [Template Method](https://en.wikipedia.org/wiki/Template_method_pattern). It behaves like a function object which performs one step of the simulation at each call (doStep in [Simulation.cpp](https://gitlab.oca.eu/DISC/fargOCA/-/wikis/Developer's-corner/Code-Architecture-and-Organization)).
|
... | ... | |