Diploma report Implementation and verification of a simple ... - LPAS
Diploma report Implementation and verification of a simple ... - LPAS
Diploma report Implementation and verification of a simple ... - LPAS
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
to achieve better than second-order accuracy without overstepping the storage limitations.<br />
However, the third-order Runge-Kutta scheme has not yet been implemented in our model.<br />
It will be used in a future version.<br />
3.5 Dimensional splitting<br />
In our model, equation q t + f(q) x + g(q) z = s(q) must be solved. The straightforward<br />
approach is to evaluate the three terms f, g, s at the same time <strong>and</strong> thus updating q with the<br />
three contributions at once. However an other possibility is to split the problem into three<br />
sub-problems <strong>and</strong> solve them in turn<br />
x-sweeps: q t + f(q) x = 0, (46)<br />
z-sweeps: q t + g(q) z = 0, (47)<br />
source-addition: q t = s(q). (48)<br />
The application <strong>of</strong> a splitting technique generally gives more accurate results as the values<br />
q are updated between the computation <strong>of</strong> each term. The successive steps will be detailed<br />
using a forward-in-time integration.<br />
In the x-sweeps we start with cell averages Q n ij at time t n <strong>and</strong> solve the one-dimensional<br />
problem (46) along each row <strong>of</strong> cells C ij with j fixed, computing an intermediate solution Q ∗ ij :<br />
Q ∗ ij = Q n ij + ∆t RHS x (Q n ). (49)<br />
In the z-sweeps the values Q ∗ ij are then used as data <strong>and</strong> (47) is solved along each column <strong>of</strong><br />
cells with i fixed. This results in Q ∗∗<br />
ij :<br />
Finally the values Q ∗∗<br />
ij<br />
Q ∗∗<br />
ij = Q ∗ ij + ∆t RHS z (Q ∗ ). (50)<br />
are used to solve (48) <strong>and</strong> the new value Qn+1<br />
ij<br />
at t n+1 is obtained<br />
Q n+1<br />
ij<br />
= Q ∗∗<br />
ij + ∆t S(Q ∗∗ ). (51)<br />
Without flux splitting, the information that is contained in the adjacent cells C i−1j <strong>and</strong><br />
C ij−1 is transmitted to cell C ij at the same time. However this does not take into account the<br />
information that is contained in the diagonally adjacent cell C i−1j−1 , which is transported by<br />
diagonal winds. If a flux splitting technique is used <strong>and</strong> x-sweeps are preceeding z-sweeps,<br />
then information contained in the diagonally adjacent cell C i−1j−1 is first transmitted to cell<br />
C ij−1 during the x-sweep <strong>and</strong> it is then further conveyed to cell C ij during the z-sweep.<br />
3.6 Initial conditions<br />
To determine the quantities q(x, z, t) for all times t > t 0 , initial conditions at time t 0 must be<br />
specified. An initial ”background” state is computed for the whole domain <strong>and</strong> cell averages<br />
are determined for every grid cell. This background state is stored in a variable q 0 , as it<br />
might be further needed for boundary conditions computation (section 3.7) <strong>and</strong> filtering<br />
(section 3.8). Then, a perturbation is <strong>of</strong>ten initiated in one <strong>of</strong> the variables q depending on<br />
the problem to be solved. Different possibilities <strong>of</strong> initial states are given is this section.<br />
16