Flow through a cowl, always divergent!

Help
2006-11-11
2013-04-09
  • The initial conditions for velocity and pressure seem reasonable, but openflower rapidly decreases DT, so that at 200 steps only ~0.0088 seconds of flow were simulated. At this time step, when it writes the final results the results seem like junk. Any ideas on where I've made mistakes to cause the simulation such problems? Any advice would be helpful!

    The mesh settings I use in gmsh are: 2D is Triangle, 3D is isotropic, and recombine is 'All Quads'.

    The .geo and .flw follow. Thanks!

    greg -at- rage.net

    BEGIN cowl.geo

    // Gmsh project created on Tue Nov 07 22:21:37 2006

    // how detailed to make the mesh...

    lc = 0.5;
    // Inside our virtual cowl
    Point(1) = {-6,-3,0,lc};
    Point(2) = {2,-3,0,lc};
    Point(3) = {2,-2,0,lc};
    Point(4) = {-6,-2,0,lc};

    Point(5) = {-6,-3,10,lc};
    Point(6) = {2,-3,10,lc};
    Point(7) = {2,0.0,10,lc};
    Point(8) = {-6,0,10,lc};
    Line(1) = {7,8};
    Line(2) = {8,5};
    Line(3) = {5,6};
    Line(4) = {6,7};
    Line(5) = {4,3};
    Line(6) = {3,2};
    Line(7) = {2,1};
    Line(8) = {1,4};
    Line(9) = {8,4};
    Line(10) = {5,1};
    Line(11) = {6,2};
    Line(12) = {7,3};
    // the intake scoop..
    Point(9) = {-5,-3,9,lc};
    Point(10) = {-2,-3,9,lc};
    Point(11) = {-5,-3,7,lc};
    Point(12) = {-2,-3,7,lc};

    Point(13) = {-5,-5,9,lc};
    Point(14) = {-2,-5,9,lc};
    Point(15) = {-5,-5,7,lc};
    Point(16) = {-2,-5,7,lc};
    Line(13) = {11,12};
    Line(14) = {12,10};
    Line(15) = {10,9};
    Line(16) = {9,11};
    Line(17) = {10,14};
    Line(18) = {14,13};
    Line(19) = {13,9};
    Circle(20) = {12,10,14};
    Circle(21) = {11,9,13};

    // Oil cooler outlet

    Point(22) = {-1,-3,6,lc};
    Point(23) = {1,-3,6,lc};
    Point(24) = {-1,-3,5,lc};
    Point(25) = {1,-3,5,lc};

    Point(26) = {-1,-4,6,lc};
    Point(27) = {1,-4,6,lc};
    Point(28) = {-1,-4,5,lc};
    Point(29) = {1,-4,5,lc};
    Line(22) = {22,23};
    Line(23) = {23,25};
    Line(24) = {25,24};
    Line(25) = {24,22};
    Line(26) = {25,29};
    Line(27) = {29,28};
    Line(28) = {28,24};
    Circle(29) = {23,25,29};
    Circle(30) = {22,24,28};

    Line Loop(31) = {29,27,-30,22};
    Ruled Surface(32) = {31};
    Line Loop(33) = {20,18,-21,13};
    Ruled Surface(34) = {33};
    Line Loop(35) = {11,-6,-12,-4};
    Plane Surface(36) = {35};
    Line Loop(37) = {5,6,7,8};
    Plane Surface(38) = {37};
    Line Loop(39) = {10,8,-9,2};
    Plane Surface(40) = {39};
    Line Loop(41) = {3,4,1,2};
    Plane Surface(42) = {41};
    Line Loop(43) = {1,9,5,-12};
    Plane Surface(44) = {43};
    Line Loop(45) = {3,11,7,-10};
    Line Loop(46) = {24,25,22,23};
    Line Loop(47) = {13,14,15,16};
    Plane Surface(48) = {45,46,47};
    Line Loop(49) = {18,19,-15,17};
    Plane Surface(50) = {49};
    Line Loop(51) = {20,-17,-14};
    Plane Surface(52) = {51};
    Line Loop(53) = {16,21,19};
    Plane Surface(54) = {53};
    Line Loop(55) = {30,28,25};
    Plane Surface(56) = {55};
    Line Loop(57) = {29,-26,-23};
    Plane Surface(58) = {57};
    Line Loop(59) = {27,28,-24,26};
    Plane Surface(60) = {59};
    Surface Loop(61) = {48,-42,-36,-38,44,40,-58,32,-60,56,54,34,-52,-50};
    Volume(62) = {61};
    // inlet
    Physical Surface(63) = {50};
    // cooler outlet
    Physical Surface(64) = {60};
    // engine outlet
    Physical Surface(65) = {38};
    // walls
    Physical Surface(66) = {52,34,54,58,32,56,48,42,36,40,44};
    Physical Volume(100) = {62};
    // Recombine Surface {52,34,54,58,32,56,48,42,36,40,44};

    END cowl.geo
    BEGIN cowl.flw

    // INPUT DATA FILE for testing OpenFlower.
    // Created on 09/12/2004.
    // This is how you comment your code.
    // There is a space before your text
    // Here is the time block

    TimeBegin 0.
    TimeEnd 3.
    MaxTimeSteps 300

    // CFL has to be equal or less than 1

    CFL 0.1
    // Declare your medium name
    // This block is compulsory
    Medium air313K { 
    rho 1.13 
    mu 0.0000191 
    lambda 100.0267 
    Cp 0.987 

    // Declare algorithm name
    // Exactly this written below for Nav Stokes
    Algorithm AlgoNavierStokes { cowl }
    // Declare the mesh file and the physical surfaces
    // notice the names inlet_1 .. walls
    // walls equals physical surface 128 for example
    Mesh gmsh
    {
    file cowl.msh
    frontiers
    {
    surface 63 inlet
    surface 65 cooler-outlet
    surface 64 engine-outlet
    surface 66 walls
    }
    }

    // Equation block
    // Notice the the BC's names inlet_1 .. walls again
    // This is the declaration of a boundary .. boundary_condition velocity ..
    Equation navier_stokes_incompressible cowl
    {
    Medium air313K
    // boundary conditions block
    boundary_condition wall walls 0. 0. 0.
    boundary_condition velocity inlet 0. 0. -1.0
    boundary_condition pressure_outlet cooler-outlet 0.0
    boundary_condition pressure_outlet engine-outlet 0.0
    // boundary_condition wall engine-outlet 0. 0. 0.

    // list the operators and solver
    // It is required : they must be declared in this order. Some improvement must be done concerning
    // declaration of operators (in the end, users should not matter for declaring which operators are used // in an // equation).
    operator diffusion
    operator convection
    solver GMRES
    // Here we have to specify initial conditions for the main unknown (here velocity field)
    // Users can either recover from a previously saved field (“File”) from OpenFlower :
    // Initial_Condition File eqn1.save
    // Or specify an expression (“Expr”) for all components of the variable (here velocity has 3
    // components : u=0, v=0, w=0)
    // Initial_Condition Expr 0. 0. 0.
    Initial_Condition Expr 0. 0. -1.0
    }
    // This will create output files .pos for you to visualize results in Gmsh
    // Post_Processing block
    post_processing
    {
    global gmsh cowl.Velocity 0. 1000.0 0.25
    global gmsh cowl.Pressure 0. 1000.0 0.25
    probe cowl.Velocity 0. 1000. 0.001 position 2.0 -1.0 5.0
    }
    end

    END cowl.flw

     
    • You have to be careful with very non-orthogonal meshes. Check the quality of the mesh and try running Optimize Mesh in Gmsh.