CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

simpleFoam case fails when layers are turned on

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   November 27, 2023, 14:50
Default simpleFoam case fails when layers are turned on
  #1
Senior Member
 
Alan w
Join Date: Feb 2021
Posts: 278
Rep Power: 6
boffin5 is on a distinguished road
After much work, I finally got my semi-truck simpleFoam case to run, but this was with the layers turned off in snappyHexMesh. With the layers turned on, it failed with this message:
Code:
Selecting incompressible transport model Newtonian
Selecting turbulence model type RAS
Selecting RAS turbulence model kOmegaSST
Selecting patchDistMethod meshWave
RAS
{
    model           kOmegaSST;
    turbulence      on;
    printCoeffs     on;
    alphaK1         0.85;
    alphaK2         1;
    alphaOmega1     0.5;
    alphaOmega2     0.856;
    gamma1          0.555556;
    gamma2          0.44;
    beta1           0.075;
    beta2           0.0828;
    betaStar        0.09;
    a1              0.31;
    b1              1;
    c1              10;
    F3              false;
}

No MRF models present

No finite volume options present

Starting time loop

streamLine streamLines:
    automatic track length specified through number of sub cycles : 5

[localhost.localdomain:07812] 7 more processes have sent help message help-mpi-btl-base.txt / btl:no-nics
[localhost.localdomain:07812] Set MCA parameter "orte_base_help_aggregate" to 0 to see all help / error messages
Reading surface description:
    yNormal

forces forceCoeffs1:
    Not including porosity effects
forceCoeffs forceCoeffs1:
    Not including porosity effects
streamLine streamLines write:
    seeded 0 particles
    Tracks:0
    Total samples:0
forceCoeffs forceCoeffs1 write:
    Cm    = -0.0035669
    Cd    = 0.0400562
    Cl    = -0.000117894
    Cl(f) = -0.00362585
    Cl(r) = 0.00350796
..
..
..

Time = 11

smoothSolver:  Solving for Ux, Initial residual = 0.922279, Final residual = 0.0626559, No Iterations 8
smoothSolver:  Solving for Uy, Initial residual = 0.914763, Final residual = 0.084748, No Iterations 7
smoothSolver:  Solving for Uz, Initial residual = 0.939409, Final residual = 0.079835, No Iterations 18
GAMG:  Solving for p, Initial residual = 1, Final residual = 0.00489485, No Iterations 39
time step continuity errors : sum local = 1.48961e+26, global = -3.50589e+24, cumulative = -3.50589e+24
smoothSolver:  Solving for omega, Initial residual = 0.00172103, Final residual = 0.000163376, No Iterations 2
smoothSolver:  Solving for k, Initial residual = 0.0106197, Final residual = 0.000939013, No Iterations 2
ExecutionTime = 194.28 s  ClockTime = 194 s

forceCoeffs forceCoeffs1 write:
    Cm    = -1.71539e+46
    Cd    = -8.16578e+42
    Cl    = -1.93262e+46
    Cl(f) = -2.6817e+46
    Cl(r) = 7.49084e+45

Time = 12

[5] #0  Foam::error::printStack(Foam::Ostream&)[4] #0  Foam::error::printStack(Foam::Ostream&)[1] #0  Foam::error::printStack(Foam::Ostream&)[0] #0  Foam::error::printStack(Foam::Ostream&)[2] #0  Foam::error::printStack(Foam::Ostream&)[3] #0  Foam::error::printStack(Foam::Ostream&) at ??:?
 at ??:?
[1] #1  Foam::sigFpe::sigHandler(int) at ??:?
[4] #1  Foam::sigFpe::sigHandler(int)[5] #1  Foam::sigFpe::sigHandler(int) at ??:?
[2] #1  Foam::sigFpe::sigHandler(int) at ??:?
[0] #1  Foam::sigFpe::sigHandler(int) at ??:?
[3] #1  Foam::sigFpe::sigHandler(int) at ??:?
[1] #2  ? at ??:?
[4] #2  ? at ??:?
[5] #2  ? at ??:?
[2] #2  ? at ??:?
[0] #2  ? in "/lib64/libc.so.6"
[1] #3  Foam::GaussSeidelSmoother::smooth(Foam::word const&, Foam::Field<double>&, Foam::lduMatrix const&, Foam::Field<double> const&, Foam::FieldField<Foam::Field, double> const&, Foam::UPtrList<Foam::lduInterfaceField const> const&, unsigned char, int) at ??:?
[3] #2  ? in "/lib64/libc.so.6"
 in "/lib64/libc.so.6"
[5] #3  Foam::GaussSeidelSmoother::smooth(Foam::word const&, Foam::Field<double>&, Foam::lduMatrix const&, Foam::Field<double> const&, Foam::FieldField<Foam::Field, double> const&, Foam::UPtrList<Foam::lduInterfaceField const> const&, unsigned char, int)[4] #3  Foam::GaussSeidelSmoother::smooth(Foam::word const&, Foam::Field<double>&, Foam::lduMatrix const&, Foam::Field<double> const&, Foam::FieldField<Foam::Field, double> const&, Foam::UPtrList<Foam::lduInterfaceField const> const&, unsigned char, int) in "/lib64/libc.so.6"
[2] #3  Foam::GaussSeidelSmoother::smooth(Foam::word const&, Foam::Field<double>&, Foam::lduMatrix const&, Foam::Field<double> const&, Foam::FieldField<Foam::Field, double> const&, Foam::UPtrList<Foam::lduInterfaceField const> const&, unsigned char, int) in "/lib64/libc.so.6"
[0] #3  Foam::GaussSeidelSmoother::smooth(Foam::word const&, Foam::Field<double>&, Foam::lduMatrix const&, Foam::Field<double> const&, Foam::FieldField<Foam::Field, double> const&, Foam::UPtrList<Foam::lduInterfaceField const> const&, unsigned char, int) in "/lib64/libc.so.6"
[3] #3  Foam::GaussSeidelSmoother::smooth(Foam::word const&, Foam::Field<double>&, Foam::lduMatrix const&, Foam::Field<double> const&, Foam::FieldField<Foam::Field, double> const&, Foam::UPtrList<Foam::lduInterfaceField const> const&, unsigned char, int) at ??:?
[1] #4  Foam::GaussSeidelSmoother::smooth(Foam::Field<double>&, Foam::Field<double> const&, unsigned char, int) const at ??:?
 at ??:?
[4] #4  Foam::GaussSeidelSmoother::smooth(Foam::Field<double>&, Foam::Field<double> const&, unsigned char, int) const[5] #4  Foam::GaussSeidelSmoother::smooth(Foam::Field<double>&, Foam::Field<double> const&, unsigned char, int) const at ??:?
[2] #4  Foam::GaussSeidelSmoother::smooth(Foam::Field<double>&, Foam::Field<double> const&, unsigned char, int) const at ??:?
[0] #4  Foam::GaussSeidelSmoother::smooth(Foam::Field<double>&, Foam::Field<double> const&, unsigned char, int) const at ??:?
[3] #4  Foam::GaussSeidelSmoother::smooth(Foam::Field<double>&, Foam::Field<double> const&, unsigned char, int) const at ??:?
[1] #5  Foam::smoothSolver::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const at ??:?
[5] #5  Foam::smoothSolver::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const at ??:?
[4] #5  Foam::smoothSolver::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const at ??:?
[2] #5  Foam::smoothSolver::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const at ??:?
[0] #5  Foam::smoothSolver::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const at ??:?
[3] #5  Foam::smoothSolver::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const at ??:?
[1] #6   at ??:?
[5] #6   at ??:?
[4] #6  ?? at ??:?
[2] #6   at ??:?
[0] #6   at ??:?
[3] #6  ???? at ??:?
[1] #7   at ??:?
..
..
..
[localhost:07816] [ 8] simpleFoam[0x42722d]
[localhost:07816] [ 9] /lib64/libc.so.6(__libc_start_main+0xef)[0x7f96950c124d]
[localhost:07816] [10] simpleFoam[0x4294da]
[localhost:07816] *** End of error message ***
--------------------------------------------------------------------------
mpirun noticed that process rank 1 with PID 7817 on node localhost exited on signal 8 (Floating point exception).
The Cd when it failed is way out of whack; it should be between 0 and 1.

So I looked at the mesh; the attached image shows the appearance of a slice, with three gradually increasing zooms. In the bottom right view, it can be seen that the layers break down.

I suspect that this discontinuous nature of the layers is the cause of the failure. But going through all the features of this detailed mesh to try to solve the problem areas might be out-of-scope difficult.

Or, maybe I'm wrong about the cause of failure, and would appreciate comments.
Attached Images
File Type: png truck-mesh.png (168.0 KB, 17 views)
boffin5 is offline   Reply With Quote

Old   December 28, 2023, 13:43
Default Case fails with layers turned on - further question concerning the motorBike tutorial
  #2
Senior Member
 
Alan w
Join Date: Feb 2021
Posts: 278
Rep Power: 6
boffin5 is on a distinguished road
My case concerns simpleFoam analysis of a semi-truck, as seen in the attached image. It consists of 7 .stl files: tractor, trailer and 5 wheel pairs. It runs okay with the layers turned off, but fails with them on. Obviously this is not acceptable for understanding the boundary layer flow.

So I looked at the motorBike tutorial, which even more than my truck, consists of a multiplicity of parts, and the layers work fine. In the paraView output you can see the parts listed, but they don't appear in the case setup.
Actually, these parts are imbedded in a single .obj file, which is somehow split up into the constituent parts and placed into groups. Here is a snippet of the .obj file:
Code:
f 70674 70296 70216
f 71278 70703 71276
f 71276 70703 70674
g rear-brake-lights%46
f 132630 132583 132613
f 132583 132516 132613
f 132636 132630 132613
In the boundary conditions typically you see:
Code:
motorBikeGroup
    {
        type            kqRWallFunction;
        value           $internalField;
    }
And in snappyHexMeshDict are the lines:
Code:
refinementSurfaces
    {
        motorBike
        {
            // Surface-wise min and max refinement level
            level (5 6);

            // Optional specification of patch type (default is wall). No
            // constraint types (cyclic, symmetry) etc. are allowed.
            patchInfo
            {
                type wall;
                inGroups (motorBikeGroup);
            }
        }
    }
In the tutorial, how are all of these parts directed to the motorBikeGroup, and how does that then populate the inGroups?

Trying to create and mesh a single .stl file of something as complicated as the tractor has been difficult, and I think that by breaking my truck down into a collection of small parts, I would have a better chance of success, but Solidworks won't let me create a single output .obj file, as was done with the tutorial. Even if I could, I need guidance as to how the tutorial collected these parts into a group, and then worked with that group in the case setup.

After all, the formula 1 people deal with simulations of car suspensions composed of large numbers of parts. How do they set up the case?
Attached Images
File Type: png SnapCrab_NoName_2023-12-28_9-42-44_No-00.png (29.3 KB, 5 views)
boffin5 is offline   Reply With Quote

Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
simpleFoam case exits before starting the loop samwise14 OpenFOAM Running, Solving & CFD 0 April 17, 2023 18:31
simpleFoam airfoil case not running for RAS JETZ OpenFOAM Running, Solving & CFD 5 August 28, 2021 13:19
simpleFoam pipe flow case doesn't converge me3840 OpenFOAM Running, Solving & CFD 5 February 8, 2014 13:54
simpleFoam: case only converges with most div schemes set to upwind buffi OpenFOAM Running, Solving & CFD 7 November 11, 2013 07:54
Free surface boudary conditions with SOLA-VOF Fan Main CFD Forum 10 September 9, 2006 12:24


All times are GMT -4. The time now is 01:07.