Fosite - A hydrodynamical simulation program

Fosite is a generic framework for the numerical solution of hyperbolic conservation laws in generalized orthogonal coordinates. Its main purpose is the simulation of compressible flows in accretion disks. The underlying numerical solution method belongs to the family of unsplit conservative finite volume TVD schemes. The method is 2nd order accurate in space and uses high order Runge-Kutta and multistep schemes for time evolution. In addition to the pure advection code several source terms have been implemented including viscous diffusion and gravitational acceleration.
Fosite is written with object-oriented patterns in Fortran 2003 and follows the Structure of Arrays (SoA) layout, operating on generic field datatypes. This allows for high performance on modern architectures (SIMD). It is parallelized and vectorized. The software is thereby optimized for the NEC SX-Aurora TSUBASA Vector Engine .

general features:

  • classical hydrodynamics (HD) in 1D, 2D and 3D
  • solution of the transport problem for compressible, viscous fluxes
  • conservation of momentum, angular momentum, energy and rothalpy
  • arbitrary curvilinear-orthogonal grids: cartesian, logcylindrical, spherical, etc.
  • fast orbital advection algorithm (FARGO) for polar geometries (Masset 2000)
  • shearingsheet simulations
  • IO: binary (XDMF, VTK)
  • testing framework "Test Anything Protocol" (TAP)

additional physics:

  • self-gravitation, arbitrary statical potentials (Jung 2016)
  • fictitious forces for rotating systems
  • cooling of disk: \( \beta \)-cooling (Gammie 2001), realistic cooling (Bell & Lin 1994)
  • viscosity models: molecular viscosity, \( \alpha \)-viscosity (Shakura & Sunyaev 1973), \( \beta \)-viscosity (Duschl et al. 1998, 2000), constant kinematic viscosity

numerics:

  • high-order time integration with adaptive step size control
  • time integration methods: RKF (4,5), RKDP (4,5), SSPRK (4,5), RKCK (4,5), modified Euler (2,3)
  • fluxes (finite volume methods): KT (Illenseer & Duschl 2009)
  • linear reconstruction (slope-limiter): Minmod, MC, Sweby, Superbee, Ospre, Vanleer
  • poisson solver: spectral methods, monopol approximation
  • boundary conditions: periodic, reflecting, Dirichlet, von-Neumann, fixed, keplerian, etc.
  • parallelized (MPI) and vectorized
Forseti zu Gericht sitzend
Forseti Seated in Judgment (1881) by Carl Emil Doepler (public domain)
Glitnir er inn tíundi,
hann er gulli studdr
ok silfri þakðr it sama;
en þar Forseti
byggir flestan dag
ok svæfir allar sakir.
(from Grímnismál )
Glitnir is the tenth,
rests on golden pillars.
The hall's silver roof;
and Forseti sits there
all day through
arbitrating all disputes.

refs. :

T. Illenseer PhD Thesis (German), University of Heidelberg, 2006 archiv-hb

T. Illenseer & W. Duschl: arXiv:0804.2979 [physics.comp-ph], 2008; Comput. Phys. Comm., vol. 180, pp. 2283, 2009

M. Jung PhD Thesis (German), University of Kiel, 2016 archiv-kiel