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

Divergence in compressible LES, rhoPimpleFoam

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   June 25, 2021, 04:47
Default Divergence in compressible LES, rhoPimpleFoam
  #1
New Member
 
Christopher Bruns
Join Date: Jun 2021
Posts: 6
Rep Power: 5
Chris B. is on a distinguished road
Dear Foamers,

I'm new to OpenFoam. However, I've got experiences using Ansys Fluent back in the days and more recent using Code_Saturne 7. The problem I've got is that Code_Saturne works well, but not using compressible flows since it is developed for majorly inkompressible flows. Furthermore, it is limited to compressible RANS models. LES is not possible because of the 1st order schemes. That is why I wanted to try OpenFoam.

We try to solve the flow pattern in the hot air flow inside melt-blown nozzles. Therefore, we are facing velocities of Ma > 0.3 of more than 250 m/s. After checking some tutorials, I tried to solve the Code_Saturne model with was pre-processed using Salome 9. The mesh specs are:

- 2 dimensions, 2 inlets, 1 outlet and fixed walls
- min. element size: 0.1 mm
- max. element size: 1 mm
- viscous sublayer: 5, with 0.8 mm height

However, while this simulation runs with RANS in Code_Saturne it diverges after 0.004 s in OpenFoam. I use OpenFoam Version 8 for Ubuntu 20.04. The chosen solver is rhoPimpleFoam. Basically, I adapted the pitzDaily example from compressible/LES/ with my boundaries etc. The simulation starts well but then diverges for some reason. Till now I tried:

- decreased the time step from 1e-05 to 1e-07
- set adjustTimeStep to true
- set maxCo from 0.4 to 0.25
- reduced the tolerance from 1e-06 to 1e-05
- increased the corrector iteration numbers
- set the relaxationFactors from 1 to 0.7 to 0.3
- refined the mesh with Salome

After running checkMesh everything seems to be fine despite the skewness:

***Max skewness = 5.47186, 22 highly skew faces detected which may impair the quality of the results
<<Writing 22 skew faces to set skewFaces

However, I’ve read that those higher values may impair quality (accuracy) of the results, anyway any reasonably high value (<20) of skewness parameter can be used for simulation. So, I continued.

I run the simulation in parallel using “decomposePar” with 16 processors “mpirun -np 16 rhoPimpleFoam -parallel > log &”

The error message after running OpenFoam is always the same:

[8] #1 Foam::sigFpe::sigHandler(int) at ??:?
[8] #2 ? in "/lib/x86_64-linux-gnu/libc.so.6"
[8] #3 void Foam::fvc::surfaceIntegrate<double>(Foam::Field<do uble>&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&) in "/opt/openfoam8/platforms/linux64GccDPInt32Opt/bin/rhoPimpleFoam"
[8] #4 Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > Foam::fvc::surfaceIntegrate<double>(Foam::Geometri cField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&) in "/opt/openfoam8/platforms/linux64GccDPInt32Opt/bin/rhoPimpleFoam"
[8] #5 Foam::fv::gaussConvectionScheme<double>::fvcDiv(Fo am::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&) const at ??:?
[8] #6 ? in "/opt/openfoam8/platforms/linux64GccDPInt32Opt/bin/rhoPimpleFoam"
[8] #7 ? in "/opt/openfoam8/platforms/linux64GccDPInt32Opt/bin/rhoPimpleFoam"
[8] #8 ? in "/opt/openfoam8/platforms/linux64GccDPInt32Opt/bin/rhoPimpleFoam"
[8] #9 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
[8] #10 ? in "/opt/openfoam8/platforms/linux64GccDPInt32Opt/bin/rhoPimpleFoam"
[simulationpc-desktop:3665676] *** Process received signal ***
[simulationpc-desktop:3665676] Signal: Floating point exception (8)
[simulationpc-desktop:3665676] Signal code: (-6)
[simulationpc-desktop:3665676] Failing at address: 0x3e80037ef0c
[simulationpc-desktop:3665676] [ 0] /lib/x86_64-linux-gnu/libc.so.6(+0x46210)[0x7f12de0ab210]
[simulationpc-desktop:3665676] [ 1] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0xcb)[0x7f12de0ab18b]
[simulationpc-desktop:3665676] [ 2] /lib/x86_64-linux-gnu/libc.so.6(+0x46210)[0x7f12de0ab210]
[simulationpc-desktop:3665676] [ 3] rhoPimpleFoam(_ZN4Foam3fvc16surfaceIntegrateIdEEvR NS_5FieldIT_EERKNS_14GeometricFieldIS3_NS_13fvsPat chFieldENS_11surfaceMeshEEE+0x3aa)[0x56117f1a308a]
[simulationpc-desktop:3665676] [ 4] rhoPimpleFoam(_ZN4Foam3fvc16surfaceIntegrateIdEENS _3tmpINS_14GeometricFieldIT_NS_12fvPatchFieldENS_7 volMeshEEEEERKNS3_IS4_NS_13fvsPatchFieldENS_11surf aceMeshEEE+0x1d7)[0x56117f1f0fa7]
[simulationpc-desktop:3665676] [ 5] /opt/openfoam8/platforms/linux64GccDPInt32Opt/lib/libfiniteVolume.so(_ZNK4Foam2fv21gaussConvectionSc hemeIdE6fvcDivERKNS_14GeometricFieldIdNS_13fvsPatc hFieldENS_11surfaceMeshEEERKNS3_IdNS_12fvPatchFiel dENS_7volMeshEEE+0x52)[0x7f12e0c77682]
[simulationpc-desktop:3665676] [ 6] rhoPimpleFoam(+0x7db51)[0x56117f1d7b51]
[simulationpc-desktop:3665676] [ 7] rhoPimpleFoam(+0x7de74)[0x56117f1d7e74]
[simulationpc-desktop:3665676] [ 8] rhoPimpleFoam(+0x33cef)[0x56117f18dcef]
[simulationpc-desktop:3665676] [ 9] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3)[0x7f12de08c0b3]
[simulationpc-desktop:3665676] [10] rhoPimpleFoam(+0x38d6e)[0x56117f192d6e]
[simulationpc-desktop:3665676] *** End of error message ***
--------------------------------------------------------------------------
Primary job terminated normally, but 1 process returned
a non-zero exit code. Per user-direction, the job has been aborted.
--------------------------------------------------------------------------
--------------------------------------------------------------------------
mpirun noticed that process rank 8 with PID 0 on node simulationpc-desktop exited on signal 8 (Floating point exception).
--------------------------------------------------------------------------

I’ve attached two figures. One shows the simulation result and the other the convergence process. As you can see the flow pattern in the upper part looks fine. But where does this singularity in the down left come from? The velocity becomes infinite, the temperature is clipping (limitT is 200 K – 800 K) on both ends.

Does anyone have a suggestion for me to overcome these issues? Thank you in advance.

Best regards,
Chris
Attached Images
File Type: jpg Vel_U_5.jpg (45.7 KB, 34 views)
File Type: jpg Conv_5.jpg (72.7 KB, 26 views)
Chris B. is offline   Reply With Quote

Old   June 25, 2021, 19:41
Default
  #2
HPE
Senior Member
 
HPE's Avatar
 
Herpes Free Engineer
Join Date: Sep 2019
Location: The Home Under The Ground with the Lost Boys
Posts: 931
Rep Power: 12
HPE is on a distinguished road
Hi,

Could you attach the key files of settings, please? i.e. fvSchemes, fvSolution, BCs etc.
HPE is offline   Reply With Quote

Old   June 26, 2021, 01:23
Default
  #3
Senior Member
 
piu58's Avatar
 
Uwe Pilz
Join Date: Feb 2017
Location: Leipzig, Germany
Posts: 744
Rep Power: 15
piu58 is on a distinguished road
LES is most demanding on the mesh. Don't even think about running this method with a mesh which gives warnings or errors with checkMesh. BTW: you should use at least 2,5D with LES, but this is only a point of accuracy and not of stability.

I recommend starting with laminar and get it run. You may this result use as a starting point for LES. If this crashes, use k-epsilon or k-omega first and look what happens.

If all of these crash probably your physics is wrong.
__________________
Uwe Pilz
--
Die der Hauptbewegung überlagerte Schwankungsbewegung ist in ihren Einzelheiten so hoffnungslos kompliziert, daß ihre theoretische Berechnung aussichtslos erscheint. (Hermann Schlichting, 1950)
piu58 is offline   Reply With Quote

Old   June 26, 2021, 09:08
Default
  #4
HPE
Senior Member
 
HPE's Avatar
 
Herpes Free Engineer
Join Date: Sep 2019
Location: The Home Under The Ground with the Lost Boys
Posts: 931
Rep Power: 12
HPE is on a distinguished road
I kindly disagree. I don't think the stability issues this user faces is related to LES, but compressible solver.

Also, I believe you can run LES models with bad-quality meshes since the LES of max-second-order spatiotemporal accuracy with non-cyclic boundary conditions (hence the commutation error) of OpenFOAM is not the LES the academia talks/knows about. I think the former is just an industrial LES, I would call it. Something better than RANS, but Trump-like in comparison to the actual well-defined well-implemented LES approaches.

I also kindly disagree on the initialisation approach if the concern is only the LES model. I prefer hitting the LES right from the beginning - almost always more stable.

Yet since I believe the issue is related to the transient compressible solver - the initialisation approach you suggest must be applied, I believe.

I am more than happy to be proven incorrect.
HPE is offline   Reply With Quote

Old   June 28, 2021, 09:41
Default
  #5
New Member
 
Christopher Bruns
Join Date: Jun 2021
Posts: 6
Rep Power: 5
Chris B. is on a distinguished road
Hi,


thanks's for your answers. Attached you will find the key files.


Code:
/*--------------------------------*- C++ -*----------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     | Website:  https://openfoam.org
    \\  /    A nd           | Version:  8
     \\/     M anipulation  |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    location    "system";
    object      controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

application     rhoPimpleFoam;

startFrom       latestTime;

startTime       0;

stopAt          endTime;

endTime         0.1;

deltaT          1e-06;

writeControl    timeStep;

writeInterval   1000;

purgeWrite      0;

writeFormat     ascii;

writePrecision  6;

writeCompression off;

timeFormat      general;

timePrecision   6;

runTimeModifiable true;

adjustTimeStep  yes;

maxCo           0.4;

functions
{
    #includeFunc fieldAverage(U, p, prime2Mean = yes)
}

// ************************************************************************* //
Code:
/*--------------------------------*- C++ -*----------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     | Website:  https://openfoam.org
    \\  /    A nd           | Version:  8
     \\/     M anipulation  |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    location    "system";
    object      fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

ddtSchemes
{
    default         backward;
}

gradSchemes
{
    default         Gauss linear;
}

divSchemes
{
    default         none;
    div(phi,U)      Gauss LUST grad(U);
    div(phi,e)      Gauss LUST grad(e);
    div(phi,K)      Gauss linear;
    div(phiv,p)     Gauss linear;
    div(phi,k)      Gauss limitedLinear 1;
    div(phi,B)      Gauss limitedLinear 1;
    div(phi,muTilda) Gauss limitedLinear 1;
    div(B)          Gauss linear;
    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
}

laplacianSchemes
{
    default         Gauss linear corrected;
}

interpolationSchemes
{
    default         linear;
}

snGradSchemes
{
    default         corrected;
}


// ************************************************************************* //
Code:
/*--------------------------------*- C++ -*----------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     | Website:  https://openfoam.org
    \\  /    A nd           | Version:  8
     \\/     M anipulation  |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    location    "system";
    object      fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

solvers
{
    "(p|rho)"
    {
        solver          PCG;
        preconditioner  DIC;
        tolerance       1e-6; // 1e-6
        relTol          0.01;
    }

    "(p|rho)Final"
    {
        $p;
        relTol          0;
    }

    "(U|e|k|nuTilda)"
    {
        solver          smoothSolver;
        smoother        symGaussSeidel;
        tolerance       1e-6; // 1e-6
        relTol          0.01;
    }

    "(U|e|k|nuTilda)Final"
    {
        $U;
        relTol          0;
    }
}

PIMPLE
{
    momentumPredictor yes;
    nOuterCorrectors 3; 
    nCorrectors     1;  // 1
    nNonOrthogonalCorrectors 0; // 0

    pMinFactor      0.5;
    pMaxFactor      2.0;
}

relaxationFactors
{
    equations
    {
        ".*"  0.3; // 1
    }
}

// ************************************************************************* //
Code:
/*--------------------------------*- C++ -*----------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     | Website:  https://openfoam.org
    \\  /    A nd           | Version:  8
     \\/     M anipulation  |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       polyBoundaryMesh;
    location    "constant/polyMesh";
    object      boundary;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

5
(
    inlet1
    {
        type            patch;
        nFaces          123;
        startFace       250133;
    }
    inlet2
    {
        type            patch;
        nFaces          123;
        startFace       250256;
    }
    outlet
    {
        type            patch;
        nFaces          762;
        startFace       250379;
    }
    fixedWalls
    {
        type            patch;
        nFaces          1468;
        startFace       251141;
    }
    frontAndBack
    {
        type            empty;
        nFaces          330268;
        startFace       252609;
    }
)

// ************************************************************************* //
Chris B. is offline   Reply With Quote

Old   June 28, 2021, 18:59
Default
  #6
jmt
Member
 
Julian
Join Date: Sep 2019
Posts: 32
Rep Power: 7
jmt is on a distinguished road
Try the Euler time integration scheme instead of backward.

What is your velocity initialization?
jmt is offline   Reply With Quote

Old   June 29, 2021, 09:56
Default
  #7
New Member
 
Christopher Bruns
Join Date: Jun 2021
Posts: 6
Rep Power: 5
Chris B. is on a distinguished road
Hi,


the initialization of velocity, pressure and temperature is as follows.


Code:
/*--------------------------------*- C++ -*----------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     | Website:  https://openfoam.org
    \\  /    A nd           | Version:  8
     \\/     M anipulation  |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       volVectorField;
    object      U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions      [0 1 -1 0 0 0 0];

internalField   uniform (0 0 0);

boundaryField
{
    inlet1
    {
        type            turbulentInlet;
        referenceField  uniform (0 6 0);
        fluctuationScale (0.05 0.05 0.01);
        value           uniform (0 6 0);
    }
    
    inlet2
    {
        type            turbulentInlet;
        referenceField  uniform (0 -6 0);
        fluctuationScale (0.05 0.05 0.01);
        value           uniform (0 -6 0);
    }

    outlet
    {
        type            pressureInletOutletVelocity;
        inletValue      uniform (0 0 0);
        value           uniform (0 0 0);
    }

    fixedWalls
    {
        type            noSlip;
    }

    frontAndBack
    {
        type            empty;
    }
}

// ************************************************************************* //
Code:
/*--------------------------------*- C++ -*----------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     | Website:  https://openfoam.org
    \\  /    A nd           | Version:  8
     \\/     M anipulation  |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       volScalarField;
    object      p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions      [1 -1 -2 0 0 0 0];

internalField   uniform 1; //1e5

boundaryField
{
    inlet1
    {
        type            zeroGradient;
    }
    
    inlet2
    {
        type            zeroGradient;
    }

    outlet
    {
        type            waveTransmissive;
        field         p;
        psi             thermo:psi;
        gamma           1.4; // 1.3
        fieldInf        1;   // 1e5
        lInf            3;   // 0.3
        value           $internalField;
    }

    fixedWalls
    {
        type            zeroGradient;
    }

    frontAndBack
    {
        type            empty;
    }
}

// ************************************************************************* //
Code:
/*--------------------------------*- C++ -*----------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     | Website:  https://openfoam.org
    \\  /    A nd           | Version:  8
     \\/     M anipulation  |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       volScalarField;
    object      T;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions      [0 0 0 1 0 0 0];

internalField   uniform 300;

boundaryField
{
    inlet1
    {
        type            fixedValue;
        value           uniform 533;
    }
    
    inlet2
    {
        type            fixedValue;
        value           uniform 533;
    }

    outlet
    {
        type            inletOutlet;
        inletValue      uniform 300;
        value           uniform 300;
    }

    fixedWalls
    {
        type            fixedValue;
        value           uniform 300;
    }

    frontAndBack
    {
        type            empty;
    }
}

// ************************************************************************* //
Thank's for the advice jmt. I will try Euler instead of backward.
Chris B. is offline   Reply With Quote

Old   June 30, 2021, 11:10
Default
  #8
jmt
Member
 
Julian
Join Date: Sep 2019
Posts: 32
Rep Power: 7
jmt is on a distinguished road
Christopher,

Thanks for posting your case setup. I think it looks pretty good. My only suggestion would be to try some small velocity initialization or map a velocity field from for example an incompressible case.

I am running some LES for a simple case and had a similar problem. I tried almost everything but it was changing the ddt scheme that resolved the instabilities. The difference is my Mach number is order 0.1.

Please let me know if you resolve this. Thanks.
jmt is offline   Reply With Quote

Old   July 1, 2021, 15:49
Default
  #9
HPE
Senior Member
 
HPE's Avatar
 
Herpes Free Engineer
Join Date: Sep 2019
Location: The Home Under The Ground with the Lost Boys
Posts: 931
Rep Power: 12
HPE is on a distinguished road
Hi Chris,

Few suggestions:

- I am almost certain that the instabilities arise from rhoPimpleFoam rather than LES modelling - or are you using a DES?
- I kindly disagree with jmt on the temporal scheme. Do not use anything else than "backward" there if you use LES.
- Could you attach also the output of "checkMesh -allTopology -allGeometry"?
- Please use one of the limiters available in "gradSchemes" for velocity. Please search for "cellMDLimited" for the options. You have freedom not to apply limiters on other variables, and even so, please avoid limiters on "p" there.
- LUST is a good choice for U in DES. If you use LES, please consider other options, e.g. linearUpwind.
- Use "nNonOrthogonalCorrectors" at least 1. If the max non-orthogonality is severe, please consider to increase this number or regenerate the mesh.
- Use the freestream value for the velocity's "internalField uniform (0 0 0);" rather than a zero field.
- I am not sure if you intentionally set "turbulentInlet" boundary condition for velocity. If you aim to generate turbulent fluctuations, I am sad to inform you that "turbulentInlet" condition has a misleading name - it only generates random fluctuations. For synthetic turbulence, try to use "turbulentDFSEMInlet" or "turbulentDigitalFilterInlet" conditions.
- Be careful with the pressure value in "rhoPimpleFoam" - it is the absolute pressure: so, "uniform 1; //1e5" is absolutely wrong. Set it to a freestream pressure value.
- And this one is the key: for "rhoPimpleFoam", use limitTemperature and/or limitVelocity fvOptions.


If you would be pissed of by stability problems despite these, just switch to the package HiSAFoam.

Hope these help a bit.
HPE is offline   Reply With Quote

Old   July 2, 2021, 04:10
Default
  #10
New Member
 
Christopher Bruns
Join Date: Jun 2021
Posts: 6
Rep Power: 5
Chris B. is on a distinguished road
Hi guys,


thank you very much for your suggestions. It is highly appreciated .


jmt, I've tried to use other schemes than "backward", e.g euler and crank nicolson. The simulation finished using both, but the physics was completely wrong. The flow starts correctly, but than stagnates after two or three iterations until finished.


HPE, I am using LES. Attached you will find the log files from checkMesh. First I was using viscous boundary layer on my mesh which caused the skewness error (see log.checkMesh_vsl). Now, I deleted the boundary layer and employed a local mesh refinement on the fixedWalls. After running checkMesh, it says "Mesh OK". However, after running "checkMesh -allTopology -allGeometry", there is still an error called "Cells with small determinant".



With viscous sublayer:



Code:
/*---------------------------------------------------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     | Website:  https://openfoam.org
    \\  /    A nd           | Version:  8
     \\/     M anipulation  |
\*---------------------------------------------------------------------------*/
Build  : 8-1c9b5879390b
Exec   : checkMesh -allTopology -allGeometry
Date   : Jul 02 2021
Time   : 08:38:28
Host   : "simulationpc-desktop"
PID    : 1626716
I/O    : uncollated
Case   : /home/simulation-pc/OpenFOAM/simulation-pc-8/run/Exxon_Test2
nProcs : 1
sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster (fileModificationSkew 10)
allowSystemOperations : Allowing user-supplied system call operations

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Create polyMesh for time = 0

Enabling all (cell, face, edge, point) topology checks.

Enabling all geometry checks.

Time = 0

Mesh stats
    points:           196818
    internal points:  0
    edges:            659271
    internal edges:   94644
    internal edges using one boundary point:   0
    internal edges using two boundary points:  94644
    faces:            644477
    internal faces:   276666
    cells:            182023
    faces per cell:   5.06059
    boundary patches: 5
    point zones:      0
    face zones:       0
    cell zones:       0

Overall number of cells of each type:
    hexahedra:     11028
    prisms:        170995
    wedges:        0
    pyramids:      0
    tet wedges:    0
    tetrahedra:    0
    polyhedra:     0

Checking topology...
    Boundary definition OK.
    Cell to face addressing OK.
    Point usage OK.
    Upper triangular ordering OK.
    Face vertices OK.
    Topological cell zip-up check OK.
    Face-face connectivity OK.
  <<Writing 2 cells with zero or one non-boundary face to set oneInternalFaceCells
  <<Writing 986 cells with two non-boundary faces to set twoInternalFacesCells
    Number of regions: 1 (OK).

Checking patch topology for multiply connected surfaces...
    Patch               Faces    Points   Surface topology                   Bounding box
    inlet1              123      248      ok (non-closed singly connected)   (-0.1262 -0.195998 0) (-0.0542 -0.16 0.001)
    inlet2              123      248      ok (non-closed singly connected)   (-0.1262 0.16 0) (-0.0542 0.195998 0.001)
    outlet              762      1526     ok (non-closed singly connected)   (0.0038 -0.1261 0) (0.2538 0.1261 0.001)
    frontAndBack        364046   196818   ok (non-closed singly connected)   (-0.1262 -0.195998 -4.33681e-19) (0.2538 0.195998 0.001)
    fixedWalls          2757     5520     ok (non-closed singly connected)   (-0.1262 -0.16 0) (0.0038 0.16 0.001)

Checking geometry...
    Overall domain bounding box (-0.1262 -0.195998 -4.33681e-19) (0.2538 0.195998 0.001)
    Mesh has 2 geometric (non-empty/wedge) directions (1 1 0)
    Mesh has 2 solution (non-empty) directions (1 1 0)
    All edges aligned with or perpendicular to non-empty directions.
    Boundary openness (-4.7753e-19 -8.74247e-19 -1.20688e-13) OK.
    Max cell openness = 7.62907e-16 OK.
    Max aspect ratio = 25.9353 OK.
    Minimum face area = 1.15747e-08. Maximum face area = 1.74641e-06.  Face area magnitudes OK.
    Min volume = 1.15747e-11. Max volume = 9.89927e-10.  Total volume = 7.08515e-05.  Cell volumes OK.
    Mesh non-orthogonality Max: 66.3308 average: 6.61413
    Non-orthogonality check OK.
    Face pyramids OK.
 ***Max skewness = 4.32878, 13 highly skew faces detected which may impair the quality of the results
  <<Writing 13 skew faces to set skewFaces
    Coupled point location match (average 0) OK.
    Face tets OK.
    Min/max edge length = 2.31635e-05 0.00174641 OK.
    All angles in faces OK.
    Face flatness (1 = flat, 0 = butterfly) : min = 1  average = 1
    All face flatness OK.
    Cell determinant (wellposedness) : minimum: 2.77556e-17 average: 2.16694
 ***Cells with small determinant (< 0.001) found, number of cells: 2
  <<Writing 2 under-determined cells to set underdeterminedCells
    Concave cell check OK.
    Face interpolation weight : minimum: 0.12137 average: 0.489786
    Face interpolation weight check OK.
    Face volume ratio : minimum: 0.184169 average: 0.965087
    Face volume ratio check OK.

Failed 2 mesh checks.

End
Without and with local mesh-refinement:


Code:
/*---------------------------------------------------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     | Website:  https://openfoam.org
    \\  /    A nd           | Version:  8
     \\/     M anipulation  |
\*---------------------------------------------------------------------------*/
Build  : 8-1c9b5879390b
Exec   : checkMesh -allTopology -allGeometry
Date   : Jul 02 2021
Time   : 08:41:09
Host   : "simulationpc-desktop"
PID    : 1632827
I/O    : uncollated
Case   : /home/simulation-pc/OpenFOAM/simulation-pc-8/run/Exxon_Test2
nProcs : 1
sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster (fileModificationSkew 10)
allowSystemOperations : Allowing user-supplied system call operations

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Create polyMesh for time = 0

Enabling all (cell, face, edge, point) topology checks.

Enabling all geometry checks.

Time = 0

Mesh stats
    points:           207112
    internal points:  0
    edges:            714094
    internal edges:   98160
    internal edges using one boundary point:   0
    internal edges using two boundary points:  98160
    faces:            708697
    internal faces:   299873
    cells:            201714
    faces per cell:   5
    boundary patches: 5
    point zones:      0
    face zones:       0
    cell zones:       0

Overall number of cells of each type:
    hexahedra:     0
    prisms:        201714
    wedges:        0
    pyramids:      0
    tet wedges:    0
    tetrahedra:    0
    polyhedra:     0

Checking topology...
    Boundary definition OK.
    Cell to face addressing OK.
    Point usage OK.
    Upper triangular ordering OK.
    Face vertices OK.
    Topological cell zip-up check OK.
    Face-face connectivity OK.
  <<Writing 20 cells with zero or one non-boundary face to set oneInternalFaceCells
  <<Writing 5356 cells with two non-boundary faces to set twoInternalFacesCells
    Number of regions: 1 (OK).

Checking patch topology for multiply connected surfaces...
    Patch               Faces    Points   Surface topology                   Bounding box
    inlet1              119      240      ok (non-closed singly connected)   (-0.1262 -0.195999 0) (-0.0542 -0.16 0.001)
    inlet2              120      242      ok (non-closed singly connected)   (-0.1262 0.16 0) (-0.0542 0.195999 0.001)
    outlet              758      1518     ok (non-closed singly connected)   (0.0038 -0.1261 0) (0.2538 0.1261 0.001)
    frontAndBack        403428   207112   ok (non-closed singly connected)   (-0.1262 -0.195999 -4.33681e-19) (0.2538 0.195999 0.001)
    fixedWalls          4399     8804     ok (non-closed singly connected)   (-0.1262 -0.16 0) (0.0038 0.16 0.001)

Checking geometry...
    Overall domain bounding box (-0.1262 -0.195999 -4.33681e-19) (0.2538 0.195999 0.001)
    Mesh has 3 geometric (non-empty/wedge) directions (1 1 1)
    Mesh has 3 solution (non-empty) directions (1 1 1)
    Boundary openness (-1.38336e-18 -1.736e-18 1.49222e-13) OK.
    Max cell openness = 3.17955e-16 OK.
    Max aspect ratio = 10.2619 OK.
    Minimum face area = 3.11904e-08. Maximum face area = 1.67746e-06.  Face area magnitudes OK.
    Min volume = 3.11904e-11. Max volume = 9.96512e-10.  Total volume = 7.08517e-05.  Cell volumes OK.
    Mesh non-orthogonality Max: 27.9673 average: 4.49526
    Non-orthogonality check OK.
    Face pyramids OK.
    Max skewness = 0.401073 OK.
    Coupled point location match (average 0) OK.
    Face tets OK.
    Min/max edge length = 0.000216828 0.00167746 OK.
    All angles in faces OK.
    Face flatness (1 = flat, 0 = butterfly) : min = 1  average = 1
    All face flatness OK.
    Cell determinant (wellposedness) : minimum: 0 average: 2.46539e-34
 ***Cells with small determinant (< 0.001) found, number of cells: 201714
  <<Writing 201714 under-determined cells to set underdeterminedCells
    Concave cell check OK.
    Face interpolation weight : minimum: 0.322135 average: 0.490414
    Face interpolation weight check OK.
    Face volume ratio : minimum: 0.47522 average: 0.964455
    Face volume ratio check OK.

Failed 1 mesh checks.

End
Furthermore I have implemented all the other things on your list. the only thing I didn't get is how to use the freestream value for the velocity's "internalField uniform (0 0 0);" rather than a zero field.


Maybe I initialized my physics incorrectly? I have a pressure of 1.25e5 Pa, a mass flow of 0.001 kg/s or velocity of 6 m/s and a temperature of 533 K at both inlets. Atmospheric pressure (1e5 Pa) and ambient temperature (300 K) at the outlet. No heat transfer to the walls.



Code:
/*--------------------------------*- C++ -*----------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     | Website:  https://openfoam.org
    \\  /    A nd           | Version:  8
     \\/     M anipulation  |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       volScalarField;
    object      p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions      [1 -1 -2 0 0 0 0];

internalField   uniform 100000;

boundaryField
{
    inlet1
    {
        type            freestreamPressure;
        freestreamValue uniform 125000;
    }
    
    inlet2
    {
        type            freestreamPressure;
        freestreamValue uniform 125000;
    }

    outlet
    {
        type            waveTransmissive;
        field         p;
        psi             thermo:psi;
        gamma           1.4; // 1.3
        fieldInf        100000;   // 1e5
        lInf            0.3;   // 0.3
        value           $internalField;
    }

    fixedWalls
    {
        type            zeroGradient;
    }

    frontAndBack
    {
        type            empty;
    }
}

// ************************************************************************* //
Code:
/*--------------------------------*- C++ -*----------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     | Website:  https://openfoam.org
    \\  /    A nd           | Version:  8
     \\/     M anipulation  |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       volVectorField;
    object      U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions      [0 1 -1 0 0 0 0];

internalField   uniform (0 0 0);

boundaryField
{
    inlet1
    {
        type            flowRateInletVelocity;
        massFlowRate    0.001; //mass flow rate [kg/s]
        value           uniform (0 0 0);
    }
    
    inlet2
    {
        type            flowRateInletVelocity;
        massFlowRate    0.001; //mass flow rate [kg/s]
        value           uniform (0 0 0);
    }

    outlet
    {
        type            pressureInletOutletVelocity;
        inletValue      uniform (0 0 0);
        value           uniform (0 0 0);
    }

    fixedWalls
    {
        type            noSlip;
    }

    frontAndBack
    {
        type            empty;
    }
}

// ************************************************************************* //
Code:
/*--------------------------------*- C++ -*----------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     | Website:  https://openfoam.org
    \\  /    A nd           | Version:  8
     \\/     M anipulation  |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       volScalarField;
    object      T;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions      [0 0 0 1 0 0 0];

internalField   uniform 300;

boundaryField
{
    inlet1
    {
        type            fixedValue;
        value           uniform 533;
    }
    
    inlet2
    {
        type            fixedValue;
        value           uniform 533;
    }

    outlet
    {
        type            inletOutlet;
        inletValue      uniform 300;
        value           uniform 300;
    }

    fixedWalls
    {
        type            fixedValue;
        value           uniform 300;
    }

    frontAndBack
    {
        type            empty;
    }
}

// ************************************************************************* //
I will keep you informed. Thank's again.
Chris B. is offline   Reply With Quote

Old   July 5, 2021, 07:12
Default
  #11
New Member
 
Christopher Bruns
Join Date: Jun 2021
Posts: 6
Rep Power: 5
Chris B. is on a distinguished road
Hello,

I have now tried your suggestions HPE. The simulation runs further than in the past. But no matter what I do, I always get these artifacts in the left and right corner below the free beam area. I have attached two images with U and UMean. Am I choosing the wrong output boundary condition?

CheckMesh says Mesh OK. I took the same physical parameters that already worked with code_saturne in a RANS model. My mesh size is 1/10 mm to 1 mm. That should be ok for LES, right?

With kind regards,
Chris
Attached Images
File Type: jpg U_Mag.jpg (62.6 KB, 35 views)
File Type: jpg UMean_Mag.jpg (51.1 KB, 26 views)
Chris B. is offline   Reply With Quote

Old   July 5, 2021, 07:43
Default
  #12
Senior Member
 
piu58's Avatar
 
Uwe Pilz
Join Date: Feb 2017
Location: Leipzig, Germany
Posts: 744
Rep Power: 15
piu58 is on a distinguished road
To see what happens I recommend to add glyphes. May be you have re-entering flow at output boundaries.
__________________
Uwe Pilz
--
Die der Hauptbewegung überlagerte Schwankungsbewegung ist in ihren Einzelheiten so hoffnungslos kompliziert, daß ihre theoretische Berechnung aussichtslos erscheint. (Hermann Schlichting, 1950)
piu58 is offline   Reply With Quote

Old   July 5, 2021, 15:43
Default
  #13
jmt
Member
 
Julian
Join Date: Sep 2019
Posts: 32
Rep Power: 7
jmt is on a distinguished road
Quote:
Originally Posted by Chris B. View Post
Furthermore I have implemented all the other things on your list. the only thing I didn't get is how to use the freestream value for the velocity's "internalField uniform (0 0 0);" rather than a zero field.
Chris, thanks for reporting back. I may have HPE's suggestion wrong but you can set some initial velocity in your domain via

internalField uniform (0.1 0 0);

This supplies an initial U_x of 0.1 m/s.

Not sure if that's what HPE had in mind but I have also had trouble when starting a simulation with a zero initial velocity internal field. What solved my problem was mapping the developed flow field from a previous compressible simulation.
jmt is offline   Reply With Quote

Old   July 6, 2021, 04:07
Default
  #14
New Member
 
Christopher Bruns
Join Date: Jun 2021
Posts: 6
Rep Power: 5
Chris B. is on a distinguished road
Alright, I've already looked at the glyphes in Paraview.



And indeed, I need an inlet/outlet, because on the real system there are two vortexes left and right to the vertical freestream below the nozzle. This means that hot air streams out of the nozzle and entrains the surrounding cold air. Therefore, I have to face an air stream coming in from left and right in the upper part of the freestream area and an air stream streaming out in the lower part. Right now there is just chaos. Some glyphes point outwards some inwards randomly.



jmt, thank you for your advice. However, I have a multi inlet (the two semicircles) single outlet (all faces in the freestream area) problem. The two inlets point in x and -x direction. So if I choose "internalField uniform (0.1 0 0);", I initialize a vector field that points in the wrong direction for one inlet. Or am I wrong?


I guess there is something wrong with the outlet boundaries. I've got



U:

Code:
    outlet
    {
        type                     pressureInletOutletVelocity;
        tangentialVelocity  uniform (0 0 0);
        value                    uniform (0 0 0);
    }

T (previously inletOutlet):

Code:
    outlet
    {
        type            totalTemperature;
        gamma        1.4;
        T0               uniform 300;
    }

p(previously waveTransmissive):
Code:
    outlet
    {
        type        fixedValue;
        value       100000;
    }

However, maybe I should try the mapping from a previous compressible RANS simulation to make a better initial guess for the solution.



Thank you and kind regards,
Chris
Chris B. 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
Problem with the running of compressible homogeneousDynOneEqEddy LES modle Yupeng Qin OpenFOAM Running, Solving & CFD 3 March 7, 2016 10:29
Divergence with Simulation using Embedded LES CarlosGRR FLUENT 3 October 2, 2014 17:52
Implementing DSM in compressible LES code LES-newbie Main CFD Forum 0 February 20, 2013 12:26
Compressible LES, yPlusLES problem. fgal OpenFOAM Post-Processing 0 June 3, 2010 10:02
LES NITA giving divergence problems anindya FLUENT 0 June 20, 2005 07:23


All times are GMT -4. The time now is 21:51.