Update Code Architecture and Organization authored by Elena Lega's avatar Elena Lega
## Global view ## 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. 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)). 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)).
... ...
......