22.10.2014 Views

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

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!