Ghost rings :
The interface between the grids is done in a similar way as the interface between pieces of grids in the case of an MPI parallelisation. Ghost rings are used.
For instance, at the interface between an inner 1D grid and an outer 2D grid, five 1D ghost rings outside the interface are filled at every time-step with the average values of the density in the corresponding ring of the 2D grid. The velocities in the 1D ghost rings are chosen such that the momenta are equal to their average value in the corresponding ring of the 2D grid. Symmetrically, in five rings of the 2D grid inside the interface, the average values of the density and momenta is set to the value computed in the corresponding ring of the 1D grid. This ensures a smooth evolution of the disk, from
Rmin1D to <Rmax1D, through the 1D and the 2D grid.
The information exchanges are summarised by this scheme. They are done in the procedure
Communicate1D2D (in file
commbound.c). Note that the 5 extreme rings of the 2D rings are ghosts. Thus, the "real" 2D grid extends over a smaller interval than [Rmin, Rmax].
Mass and angular momentum conservation :
By imposing the same azimuthally averaged radial momentum in the two grids, one ensures that the mass flux through the interface is the same computed in the 2D grid and in the 1D grid. The radial velocity in the ghost rings of the 1D grid is computed in a specific procedure,
commbound.c), ensuring a perfect mass conservation.
However, it is impossible have also the same flux of angular momentum in the two grids. As the angular momentum variations govern the global evolution of the disk, the angular momentum has to be perfectly conserved. The angular momentum flux through the interface are recorded in the 2D grid and in the 1D grid. Their difference is calculated. This amount of angular momentum is then spread in the 1D grid in the procedure
Tartinage (in file