Update Code Architecture and Organization authored by Alain O' Miniussi's avatar Alain O' Miniussi
......@@ -37,9 +37,8 @@ The (incomplete) class diagram[^1] could be summarized as:
```plantuml
namespace fargOCA {
class SystemPhysic <<(S,#FF7700)>> {
}
class DiskPhysic <<S,#FF7700)>> {
}
class GridDispatch << (S,#FF7700) >> {
......@@ -71,10 +70,15 @@ class Disk {
}
class VectorField {
}
class SimuProgress {
real physicalTime
real step
void isOutputStep()
class SimulationDriver {
void operator()(flow, torque)
-- private sub steps ---
void velocityStep(dt)
void viscosityStep(dt)
void energyStep(dt)
-- private util. --
myRadiationManager
myTransport
}
class BoundariesHandler {
string name
......@@ -83,42 +87,27 @@ class BoundariesHandler {
class FctBoundariesHandler {
void operator()(GarsDisk& gas, real step);
}
FctBoundariesHandler --|> BoundariesHandler
GasDisk o--> "many" BoundariesHandler
}
namespace D3 {
class SimulationDriver {
void operator()(flow, torque)
-- private sub steps ---
void subStep1(..)
void subStep<N>(..)
-- private util. --
myRadiationManager
myTransport
}
}
note top of fargOCA.DiskPhysic
Disk o--> "many" BoundariesHandler
note top of DiskPhysic
Configuration of the disk
physical properties
and behavior
physical properties (viscosity, radiation etc..)
and behavior.
Caracteristics of the planetary system...
end note
note left of fargOCA.SystemPhysic
Configuration of the
planetary system
physical properties
and behavior
end note
D3.SimulationDriver o--> fargOCA.Disk
D3.SimulationDriver o--> fargOCA.SimuProgress
fargOCA.PlanetarySystem "1"*-->"many" fargOCA.Planet
fargOCA.PlanetarySystem o--> fargOCA.SystemPhysic
fargOCA.ScalarField o-->"1" fargOCA.GridDispatch
fargOCA.Disk o-->"1" fargOCA.GridDispatch
fargOCA.Disk o-->"1" fargOCA.DiskPhysic
fargOCA.Disk o-->"1" fargOCA.PlanetarySystem
fargOCA.Disk *--> fargOCA.PolarGrid: pressure\n soundSpeed\n density\n viscosity
fargOCA.Disk "1"*-->"1" fargOCA.VectorField
fargOCA.VectorField *--> fargOCA.ScalarField: radial\n phi\n theta
SimulationDriver o--> Disk
PlanetarySystem "1"*-->"many" Planet
PlanetarySystem o--> SystemPhysic
ScalarField o-->"1" GridDispatch
Disk o-->"1" GridDispatch
Disk o-->"1" DiskPhysic
Disk o-->"1" PlanetarySystem
Disk *--> ScalarField: pressure\n soundSpeed\n density\n viscosity
Disk "1"*-->"1" VectorField
VectorField *--> ScalarField: radial\n phi\n theta
```
## The ScalarField object.
......
......