• Keine Ergebnisse gefunden

systems in multiple dimensions, in particular not for the Navier-Stokes equations.

3.5 Boundary Conditions

If an edge is part of the boundary of the computational domain, the numerical flux cannot be defined as before and we have to take a different approach on the edge. With respect to implementation, there are two ways of doing this. The first is to define a flux corresponding to the boundary condition on the edge. Alternatively, a layer of ghost cells is defined. In these, values are prescribed, such that when the numerical flux is computed based on these values, a certain boundary condition is realized. The precise condition depends on the type of boundary.

3.5.1 Fixed wall

At a fixed wall in the case of the Euler equations, we use slip conditions as in section 2.6 for the continuous equations, meaning there should be no flux through the boundary, but tangential to the boundary, no conditions are imposed. Therefore, at the evaluation points on the wall the condition v·n = 0 has to hold. For the Navier-Stokes equations, we have to use no-slip boundary conditions thus we require the solution to have zero velocity in the boundary points: v=0. In addition, a boundary condition for the heat flux term has to be given. This is again done corresponding to the continuous equations as either isothermal or adiabatic, thus either prescribing a value for temperature or for the heat flux.

For the slip conditions using ghost cells, we have to prescribe a negative normal velocity, such that this adds up to zero on the wall, all other values are chosen the same as in the neighboring cell. Using boundary fluxes, the prescribed flux is f = (0, n1p, ..., , ndp,0)T. Regarding no-slip conditions, the convective boundary flux is the same and there is no additional contribution from the viscous stress tensor, since the velocity is zero. In a ghost cell implementation, this would be realized by setting all velocity components to the appropriate negative value.

In the case of an adiabatic wall condition, the additional flux term on top of the no-slip flux would be zero and similarly, nothing needed to be changed about the ghost cells. For an isothermal wall, the temperature values are extrapolated in the ghost cell implementation, whereas for boundary fluxes, a corresponding temperature gradient is determined.

Note that the slip condition can be used in the case of symmetric flows to cut the computational domain in half.

3.5.2 Inflow and outflow boundaries

Other boundaries are artificial ones where the computational domain ends, but not the physical one. Thus, a boundary flux has to be found that leads to the correct solution in the limit of mesh width to zero or that otherwise spoken, makes the artificial boundary interfer as little as possible with the solution on the larger domain.

Several types of boundary conditions are possible and should be used depending on the problem to solve. The most simple ones are constant interpolation boundary conditions which means that we use Neumann boundary conditions where we set the derivative on the edge to zero. Using ghost cells, this corresponds to copying the value from the interior cell to the ghost cell. However, this reduces the order at the boundary to one and leads to problems when significant tangential flows are present.

Another option are far field boundary conditions, where the value in the ghost cell is always set to the initial value. This type of boundary conditions is particularly useful for the computation of steady flows. However, it can happen that in this way, waves are reflected back into the computational domain. Therefore, it must be made sure that the boundary is sufficiently far away from regions where something happens, even for the computation of steady states. This makes the use of these conditions limited for unsteady flows.

To circumvent this problem, nonreflecting boundary conditions can be used [195] (also called absorbing boundary conditions). Essentially, we want outgoing waves to leave the computational domain without any disturbances reflecting backwards. This can be achieved by setting all incoming waves to zero. First, we use a formulation of the Euler equations using tangential (τ) and normal (n) derivatives:

tu+∂nf(u) +∂τf(u) = 0.

We write the normal derivative in quasilinear form to obtain:

tu+Annu+∂τf(u) =0.

Then we replace the Jacobian An by the matrix A+n = RΛ+R−1, which is obtained by diagonalizing An, setting all negative eigenvalues to zero and transforming back. The matrixA+n is also known from the theoretical analysis of the van Leer flux vector splitting.

Thus the velocity of incoming waves is zero:

tu+A+nnu+∂τf(u) = 0.

At an inlet edge between a ghost cell and an inner cell this equation is then discretized using first order upwinding. Note that the tangential component can be neglected in most applications. However, for example for buoyancy driven flows, a correct implementation of the tangential part is mandatory.

Another possibility arecharacteristic boundary conditions, where depending on whether we are at an inlet or outlet boundary, we prescribe three, respectively one value in the ghost cell neighbouring the boundary and use for the remaining variables the values from the

3.5. BOUNDARY CONDITIONS 51 computational domain. For the Navier-Stokes equations, we have to prescribe all values at an inflow boundary, but one less at an outflow boundary, mentioned in section 2.6. This way of setting the boundary conditions has been refined over the years by Nordstr¨om and others using the concept of summation by parts operators and the simultaneous approximation term (SAT), see [191] and the references therein.

However, even for the Navier-Stokes equations, often the conditions for the Euler equa-tions are employed. Although it cannot be proven that this leads to a well-posed problem, it works quite well. The intuitive explanation is that away from turbulent structures and boundary layers, the second order terms can be neglected and thus, the Euler equations and their boundary conditions provide a very good approximation. We will now explain these in more detail.

As mentioned in section 2.6, the number of conditions to pose depends on the Mach number, respectively on the sign of the eigenvalues (2.30). Thus, for supersonic inflow, the farfield value determines the flux on the boundary, whereas for supersonic outflow, the value in the computational domain defines the boundary flux. For subsonic flow, conditions are derived using the theory of characteristics, respectively of Riemann invariants [221]. Given a valueui in the cell next to the boundary, the valueuj in the ghost cell on the other side of the boundary with normal vector n has to be defined. The conditions obtained in this way are not unique, but depend on the components of the farfield values u0 used. At an inflow boundary, we obtain for the case thatρ0 and v0 are prescribed

ρj0, vj =v0, cj = γ−1

2 (vin+ 2ci/(γ−1)−v0n).

The values formj and ρEj are obtained from the values given above. For subsonic outflow in the case that the pressurep0 is used, we have

ρj = p0e−Si/cv1/(γ−1) vj =vi+ 2ci/(γ−1)n cj =

q

γp0j.

3.5.3 Periodic boundaries

Another possibility are periodic boundary conditions (2.27). These are an easy way to obtain long time numerical test problems that do not require a large computational domain.

When using ghost cells, periodic boundary conditions are implemented by copying the value from the cells on the one periodic side to the ghost cells of the other periodic side and vice versa. With fluxes, these are computed based on the values in the cells on both sides of the periodic boundary. When using a cell-vertex method with a dual grid, things become

slightly more complicated. One way is to define cells based on the vertices on the boundary, that then have volume on both sides. In this way, no fluxes along the periodic boundary need to be computed.