Eulerian (grid) methods
Grid-based methods solve the Euler equations (see Fig. 2) based on structured or unstructured grids, representing the fluid. While primitive variables encode the thermodynamic properties of the fluid (e.g., $\rho$, ${\vec v}$, or $P$), conservative variables define the conservation laws (e.g., $\rho$, $\rho{\vec v}$, or $\rho u$). Early attempts were made using a central difference scheme, where fluid is only represented by the centered cell values and derivatives are obtained by the finite-difference representation (see, for example, [51] ). These methods use artificial viscosity to handle schocks (similar to the smoothed particle hydrodynamics method described in §3.6), as they would otherwise break down in regimes where discontinuities appear. Also, by construction, they are only first-order accurate.
Classical approaches use instead reconstruction schemes which, depending on their order, take several neighboring cells (so-called stencils) into account to reconstruct the field of any hydrodynamical variable ($u_n$), with increasing order of accuracy at the interfaces of the cells ($u_{\pm0.5}^{l/r}$). Typical schemes are the piecewise constant method (PCM), the piecewise linear method (PLM; e.g., [52] ), and the piecewise parabolic method (PPM; [53] ), as illustrated in the lower right part of Fig. 2. The shape of the reconstruction function is then used to calculate the total integral of a quantity over the grid cell, divided by the volume of each cell (e.g., cell average, ${\bar u}_n$), rather than pointwise approximations at the grid centers (e.g., central variables, $u_n$).
Modern, high-order schemes usually have stencils based on at least five grid points and implement essentially nonoscillatory (ENO; [54] ) or the so-called weighted essentially nonoscillatory (WENO; [55] ) schemes for reconstruction, which maintain high-order accuracy (see e.g., [56] for a recent review).
The reconstructed quantities are used to calculate the left- and right-hand side values at the cell boundaries. These values are then exploited as initial conditions to solve the so-called Riemann problem (see right panel of Fig. 3), whose solution provides the fluxes of various quantities (e.g., mass, energy, etc.) across the cell borders. Additional constraints are included to avoid oscillations (e.g., the development of new extrema) in these reconstructions, such as the so-called slope limiters, which estimate the maximum slope allowed for the reconstruction. One way is to demand that the total variation among the interfaces does not increase with time. These so-called total variation diminishing schemes (TVD; [57] ) nowadays provide various different slope limiters, as suggested by different authors.
![]() 初始状态 | ![]() 最终状态 |
How to solve the general Riemann problem, i.e. the evolution of a discontinuity initially separating two states, can be found in textbooks (e.g., [58] ). Here, we only want to give a brief description of the solution of a shock tube as an example. This corresponds to a system where both sides are initially at rest. The left part of Fig. 3 shows in the initial (upper panel) and the evolved (lower panel) system. The latter can be divided into five regions. The values for regions 1 and 5 are identical to the initial configuration. Region 2 is a rarefaction wave which is determined by the states in regions 1 and 3. The solution can be obtained by invoking the general Rankine--Hugoniot conditions, describing the jump conditions at a discontinuity. They are listed in the right upper part, where we have assumed a coordinate system which moves with the shock velocity $v_s$. By combining such conditions and defining the initial density ratio $\lambda=\rho_1/\rho_5$, it is possible to get the nonlinear, algebraic equation for the pressure ratio $P=P_{3,4}/P_5$, as displayed in the lower right part of Fig. 3. Once $P_{3,4}$ is known by solving this equation, the remaining unknowns can be inferred step by step from the four conditions.
Solving the full Riemann problem in a hydrodynamics code can be expensive and it can severely affect the code performance. Therefore, there are various approximate methods to solve the Riemann problem, including the so-called ROE method (e.g., [59] ), the HLL/HLLE method (e.g., see [60] ,[61] ,[62] ), and HLLC (e.g., see [63] ). A description of all these methods is outside the scope of this review, so we refer the reader to the references given or to textbooks (e.g., [64] ).
A wide variety of grid codes are used for cosmological applications, including TVD-based codes (e.g., [65] and CosmoMHD [66] ) and PLM-based codes (like ART [67] ,[68] and RAMSES [69] ). PPM-based codes include Zeus [70] , ENZO [71] , COSMOS [72] , and FLASH [73] . It is worth mentioning the WENO-based code by [74] .
系列导航 ← 上一篇:§3.3 基本方程与技术 → 下一篇:§3.5


评论