Update Code Architecture and Organization authored by Alain O' Miniussi's avatar Alain O' Miniussi
......@@ -127,16 +127,18 @@ Utilities are in the *utils* directory.
## Main classes
In order inportance, which is subjective.
### The [ScalarField](https://disc.pages.oca.eu/fargOCA/public/doxy/classfargOCA_1_1ScalarField.html) objects.
### [ScalarField](https://disc.pages.oca.eu/fargOCA/public/doxy/classfargOCA_1_1ScalarField.html).
The most part of the program is spent manipulating **ScalarField** instances. A scalar field is basically a 3D field of continuous floating point data organized on a grid with as `[nr radial][ni layer][ns sector]` (if we use $`nr*ni*ns`$ grids) dispatched other an MPI communicator. 2D fields are just flat 3D fields ($`ni \equal 1`$).
This object store the data as a [std::valarray<double>](http://www.cplusplus.com/reference/valarray/) object field, but also export it as an old fashioned C pointer[^3].
**ScalarField** are use to represent any kind of gas properties like density, energy, temperature etc..
### [VectorField](https://disc.pages.oca.eu/fargOCA/public/doxy/classfargOCA_1_1VectorField.html)
Used to represent think la velocities, they are mostly a triplet of **[ScalarField](#the-scalarfield-object)**.
Used to represent think la velocities, they are mostly a triplet of **[ScalarField](#scalarfield)**.
## The disk description
## [Disk](https://disc.pages.oca.eu/fargOCA/public/doxy/classfargOCA_1_1Disk.html)
The disk geometry and physic configuration are described through a set of classes that are almost (almost) a [Singleton](https://en.wikipedia.org/wiki/Singleton_pattern) (because we do not need many of them). All object that need to have access to those information do so by referencing the appropriate instances.
......
......