Warning: Undefined array key "group" in /var/www/html/extensions/CrossReference/CrossReference.class.php on line 206

Warning: Undefined array key "group" in /var/www/html/extensions/CrossReference/CrossReference.class.php on line 206
Lid driven cavity: Difference between revisions - Medusa: Coordinate Free Meshless Method implementation
Toggle menu
71
399
28
3.6K
Medusa: Coordinate Free Meshless Method implementation
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Lid driven cavity: Difference between revisions

From Medusa: Coordinate Free Meshless Method implementation
Line 1: Line 1:
Click here to return back to [[Fluid Mechanics]]
=Intro=
=Intro=



Revision as of 16:01, 8 December 2017

Click here to return back to Fluid Mechanics

Intro

back to Fluid Mechanics

Let's try MLSM and described solution procedures first on a lid driven cavity problem that stands for a standard benchmark test for validation of the fluid flow solvers. It has been proposed in 1982 and since then solved by many researchers with wide spectra of different numerical methods. The test is still widely studied and used for validation of novel methods and numerical principles. Case is schematically presented in Figure 1 followed by few basic analyses, just to show that things work as they should. Details about comparison can be found in paper

Figure 1: Scheme of a lid driven cavity case

Code

The snippet of the MLSM code for an explicit ACM method with CBS looks like: (full examples, including implicit versions, can be found under the examples in the code repository Main Page).

    for (int step = 0; step <=O.t_steps; ++step) {
        // Navier-Stokes
        for (auto i:interior) 
            // Navier-Stokes
            v2[c] = v1[c] + O.dt * ( - 1/O.rho    * op.grad(P1,c)
                                     + O.mu/O.rho * op.lap(v1, c)
                                     -              op.grad(v1,c)*v1[c]);
        }
        // Mass continuity
        for (auto i:interior) { 
            P2[i] = P1[i] - O.dl * O.dt * O.rho * op.div(v2,i) + O.dl2 * O.dl * O.dt * O.dt * op.lap(P1,i);
        }
        v1.swap(v2);
        P1.swap(P2);
    }

Results



Figure 2: Cross section velocity profiles.