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
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