CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (http://www.cfd-online.com/Forums/openfoam-solving/)
-   -   interFoam case blows up (http://www.cfd-online.com/Forums/openfoam-solving/109181-interfoam-case-blows-up.html)

jrrygg November 11, 2012 12:46

interFoam case blows up
 
Hi,

I have made a 3D-case with a mesh imported from Ansys. I want water to enter through a cylinder ("jet") and enter the main domain. I have specified an alpha 1 in negative x-direction, and tried with velocities ranging from 0.01 to 40 m/s. I have also experimented with different options for fvSchemes, fvSolution, max courant-numbers and timesteps with no luck.

The error message I get is:

Code:

Create time

Create mesh for time = 0


PIMPLE: Operating solver in PISO mode

Reading field p_rgh

Reading field alpha1

Reading field U

Reading/calculating face flux field phi

Reading transportProperties

Selecting incompressible transport model Newtonian
Selecting incompressible transport model Newtonian
Selecting turbulence model type laminar

Reading g
Calculating field g.h

time step continuity errors : sum local = 4.67867e-10, global = -4.67867e-10, cumulative = -4.67867e-10
DICPCG:  Solving for pcorr, Initial residual = 1, Final residual = 6.66652e-11, No Iterations 111
time step continuity errors : sum local = 3.11808e-20, global = 5.16e-22, cumulative = -4.67867e-10
Courant Number mean: 2.33626e-08 max: 3.83881e-05

Starting time loop

Courant Number mean: 2.33626e-08 max: 3.83881e-05
Interface Courant Number mean: 0 max: 0
Time = 0.0001

MULES: Solving for alpha1
Phase-1 volume fraction = 2.33933e-10  Min(alpha1) = 0  Max(alpha1) = 1
MULES: Solving for alpha1
Phase-1 volume fraction = 4.67867e-10  Min(alpha1) = 0  Max(alpha1) = 1
DICPCG:  Solving for p_rgh, Initial residual = 1, Final residual = 0.0429735, No Iterations 47
time step continuity errors : sum local = 6.12373e-06, global = -1.9493e-07, cumulative = -1.95398e-07
DICPCG:  Solving for p_rgh, Initial residual = 0.0589919, Final residual = 0.00254961, No Iterations 8
time step continuity errors : sum local = 0.000113259, global = 1.82915e-06, cumulative = 1.63376e-06
DICPCG:  Solving for p_rgh, Initial residual = 0.0149289, Final residual = 9.11547e-08, No Iterations 73
time step continuity errors : sum local = 4.31244e-09, global = 3.18223e-10, cumulative = 1.63407e-06
ExecutionTime = 0.21 s  ClockTime = 1 s

Courant Number mean: 0.00757338 max: 12.278
Interface Courant Number mean: 0 max: 0
Time = 0.0002

MULES: Solving for alpha1
Phase-1 volume fraction = 7.05874e-05  Min(alpha1) = -2.93612e-24  Max(alpha1) = 1
MULES: Solving for alpha1
Phase-1 volume fraction = 0.000141174  Min(alpha1) = -3.28782e-25  Max(alpha1) = 1
DICPCG:  Solving for p_rgh, Initial residual = 0.0166851, Final residual = 0.000693113, No Iterations 59
time step continuity errors : sum local = 3.47964e-05, global = 3.5545e-06, cumulative = 5.18857e-06
DICPCG:  Solving for p_rgh, Initial residual = 0.113737, Final residual = 0.00554455, No Iterations 22
time step continuity errors : sum local = 0.000272306, global = 6.33387e-06, cumulative = 1.15224e-05
DICPCG:  Solving for p_rgh, Initial residual = 0.0730375, Final residual = 9.70425e-08, No Iterations 115
time step continuity errors : sum local = 5.18939e-09, global = -2.03538e-10, cumulative = 1.15222e-05
ExecutionTime = 0.37 s  ClockTime = 1 s

Courant Number mean: 0.0331767 max: 3081.05
Interface Courant Number mean: 7.87481e-07 max: 0.00145705
Time = 0.0003

MULES: Solving for alpha1
Phase-1 volume fraction = 0.000141468  Min(alpha1) = -1.13757e-23  Max(alpha1) = 1
MULES: Solving for alpha1
Phase-1 volume fraction = 0.000141761  Min(alpha1) = -2.82471e-24  Max(alpha1) = 1
DICPCG:  Solving for p_rgh, Initial residual = 0.341486, Final residual = 0.014237, No Iterations 71
time step continuity errors : sum local = 0.00127742, global = -0.000206445, cumulative = -0.000194923
DICPCG:  Solving for p_rgh, Initial residual = 0.0948778, Final residual = 0.00473849, No Iterations 23
time step continuity errors : sum local = 0.00587709, global = -0.000116325, cumulative = -0.000311248
DICPCG:  Solving for p_rgh, Initial residual = 0.261779, Final residual = 9.31408e-08, No Iterations 160
time step continuity errors : sum local = 1.36897e-07, global = -1.75955e-09, cumulative = -0.00031125
ExecutionTime = 0.54 s  ClockTime = 1 s

Courant Number mean: 0.786892 max: 104531
Interface Courant Number mean: 7.91815e-07 max: 0.00161964
Time = 0.0004

MULES: Solving for alpha1
Phase-1 volume fraction = 0.000142055  Min(alpha1) = -2.23505e-22  Max(alpha1) = 1
MULES: Solving for alpha1
Phase-1 volume fraction = 0.000142348  Min(alpha1) = -3.30942e-22  Max(alpha1) = 1
DICPCG:  Solving for p_rgh, Initial residual = 0.721516, Final residual = 0.15886, No Iterations 1001
time step continuity errors : sum local = 1.20394, global = -0.0632404, cumulative = -0.0635517
DICPCG:  Solving for p_rgh, Initial residual = 0.0976159, Final residual = 0.0607169, No Iterations 1001
time step continuity errors : sum local = 330.267, global = -19.6465, cumulative = -19.71
DICPCG:  Solving for p_rgh, Initial residual = 0.612786, Final residual = 5.75419, No Iterations 1001
time step continuity errors : sum local = 1.06021e+06, global = 110793, cumulative = 110773
ExecutionTime = 1.35 s  ClockTime = 2 s

Courant Number mean: 2.9712e+07 max: 1.21991e+12
Interface Courant Number mean: 89.6278 max: 214939
Time = 0.0005

MULES: Solving for alpha1
Phase-1 volume fraction = 0.00014264  Min(alpha1) = -17299.9  Max(alpha1) = 5670.03
#0  Foam::error::printStack(Foam::Ostream&) in "/opt/openfoam211/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#1  Foam::sigFpe::sigHandler(int) in "/opt/openfoam211/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#2  in "/lib/x86_64-linux-gnu/libc.so.6"
#3  void Foam::MULES::limiter<Foam::geometricOneField, Foam::zeroField, Foam::zeroField>(Foam::Field<double>&, Foam::geometricOneField const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::zeroField const&, Foam::zeroField const&, double, double, int) in "/opt/openfoam211/platforms/linux64GccDPOpt/lib/libfiniteVolume.so"
#4  void Foam::MULES::limit<Foam::geometricOneField, Foam::zeroField, Foam::zeroField>(Foam::geometricOneField const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh>&, Foam::zeroField const&, Foam::zeroField const&, double, double, int, bool) in "/opt/openfoam211/platforms/linux64GccDPOpt/lib/libfiniteVolume.so"
#5  Foam::MULES::explicitSolve(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh>&, double, double) in "/opt/openfoam211/platforms/linux64GccDPOpt/lib/libfiniteVolume.so"
#6 
 in "/opt/openfoam211/platforms/linux64GccDPOpt/bin/interFoam"
#7  __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
#8 
 in "/opt/openfoam211/platforms/linux64GccDPOpt/bin/interFoam"
Floating point exception (core dumped)

May it be a mesh-problem?

My case:
http://dl.dropbox.com/u/2820596/domain-simple.png

michielm November 12, 2012 03:22

Have you tried the option
Code:

adjustTimeStep    yes
and setting the maxCo to 0.1 or so?

My experience with interFoam is that a case that starts with an unphysical interface shape needs a couple of tiny timesteps in order to converge. It appears that your case is diverging because of a timestep which is too big.

jrrygg November 12, 2012 11:59

Thank you for your reply!

Yes I have tried with various settings in controlDict. It keeps blowing up. From my last run (Timestep 0.2):

http://dl.dropbox.com/u/2820596/pelton-simple-crash.png

My controlDict:
Code:

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

application    interFoam;

startFrom      startTime;

startTime      0;

stopAt          endTime;

endTime        1;

deltaT          0.001;

writeControl    adjustableRunTime;

writeInterval  0.005;

purgeWrite      0;

writeFormat    ascii;

writePrecision  6;

writeCompression uncompressed;

timeFormat      general;

timePrecision  6;

runTimeModifiable true;

adjustTimeStep  true;

maxCo          0.1;
maxAlphaCo      0.1;
maxDeltaT      1;


// ************************************************************************* //


michielm November 12, 2012 12:47

could you post the last couple of solver steps and the error message for the case you show in your last post?! (with the adjustable timestep)

jrrygg November 13, 2012 09:27

Thank you for your help. The error message:

Code:

MULES: Solving for alpha1
Phase-1 volume fraction = 0.00939034  Min(alpha1) = -4.52391e-23  Max(alpha1) = 1
MULES: Solving for alpha1
Phase-1 volume fraction = 0.00939034  Min(alpha1) = -1.04697e-22  Max(alpha1) = 1
MULES: Solving for alpha1
Phase-1 volume fraction = 0.00939034  Min(alpha1) = -9.24491e-23  Max(alpha1) = 1
MULES: Solving for alpha1
Phase-1 volume fraction = 0.00939034  Min(alpha1) = -1.54047e-22  Max(alpha1) = 1
DICPCG:  Solving for p_rgh, Initial residual = 0.00448808, Final residual = 0.000210064, No Iterations 2
time step continuity errors : sum local = 3.12345e-11, global = 1.09597e-14, cumulative = -4.655e-05
DICPCG:  Solving for p_rgh, Initial residual = 0.00371592, Final residual = 0.000166137, No Iterations 11
time step continuity errors : sum local = 2.4842e-11, global = -3.67525e-14, cumulative = -4.655e-05
DICPCG:  Solving for p_rgh, Initial residual = 0.00332416, Final residual = 9.88164e-08, No Iterations 60
time step continuity errors : sum local = 1.49161e-14, global = 1.54071e-15, cumulative = -4.655e-05
ExecutionTime = 1389.81 s  ClockTime = 1546 s

Courant Number mean: 9.58414e-07 max: 0.102032
Interface Courant Number mean: 2.99141e-08 max: 0.00587784
deltaT = 2.98399e-14
Time = 0.201079196759357

MULES: Solving for alpha1
Phase-1 volume fraction = 0.00939034  Min(alpha1) = -2.66929e-22  Max(alpha1) = 1
MULES: Solving for alpha1
Phase-1 volume fraction = 0.00939034  Min(alpha1) = -1.20053e-22  Max(alpha1) = 1
MULES: Solving for alpha1
Phase-1 volume fraction = 0.00939034  Min(alpha1) = -2.66929e-22  Max(alpha1) = 1
MULES: Solving for alpha1
Phase-1 volume fraction = 0.00939034  Min(alpha1) = -2.66929e-22  Max(alpha1) = 1
DICPCG:  Solving for p_rgh, Initial residual = 0.00445708, Final residual = 0.000210387, No Iterations 2
time step continuity errors : sum local = 3.13306e-11, global = 1.726e-14, cumulative = -4.655e-05
DICPCG:  Solving for p_rgh, Initial residual = 0.00371445, Final residual = 0.000164389, No Iterations 11
time step continuity errors : sum local = 2.46185e-11, global = -3.15885e-14, cumulative = -4.655e-05
DICPCG:  Solving for p_rgh, Initial residual = 0.00332526, Final residual = 9.60067e-08, No Iterations 63
time step continuity errors : sum local = 1.45043e-14, global = -6.45223e-16, cumulative = -4.655e-05
ExecutionTime = 1389.9 s  ClockTime = 1546 s

Courant Number mean: 9.58448e-07 max: 0.102032
Interface Courant Number mean: 2.99091e-08 max: 0.00587354
deltaT = 2.92457e-14
Time = 0.201079196759386

MULES: Solving for alpha1
Phase-1 volume fraction = 0.00939034  Min(alpha1) = -2.57925e-22  Max(alpha1) = 1
MULES: Solving for alpha1
Phase-1 volume fraction = 0.00939034  Min(alpha1) = -4.52318e-23  Max(alpha1) = 1
MULES: Solving for alpha1
Phase-1 volume fraction = 0.00939034  Min(alpha1) = -1.49625e-22  Max(alpha1) = 1
MULES: Solving for alpha1
Phase-1 volume fraction = 0.00939034  Min(alpha1) = -1.49504e-22  Max(alpha1) = 1
DICPCG:  Solving for p_rgh, Initial residual = 0.00448914, Final residual = 0.000210085, No Iterations 2
time step continuity errors : sum local = 3.12323e-11, global = 1.09735e-14, cumulative = -4.655e-05
DICPCG:  Solving for p_rgh, Initial residual = 0.00371613, Final residual = 0.000166175, No Iterations 11
time step continuity errors : sum local = 2.48435e-11, global = -3.67613e-14, cumulative = -4.655e-05
DICPCG:  Solving for p_rgh, Initial residual = 0.00332451, Final residual = 9.90195e-08, No Iterations 60
time step continuity errors : sum local = 1.4944e-14, global = 1.53605e-15, cumulative = -4.655e-05
ExecutionTime = 1389.98 s  ClockTime = 1546 s

Courant Number mean: 9.58483e-07 max: 0.102032
Interface Courant Number mean: 2.99043e-08 max: 0.00586926
deltaT = 2.86633e-14
Time = 0.201079196759415

#0  Foam::error::printStack(Foam::Ostream&) in "/opt/openfoam211/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#1  Foam::sigFpe::sigHandler(int) in "/opt/openfoam211/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#2  in "/lib/x86_64-linux-gnu/libc.so.6"
#3  void Foam::MULES::limiter<Foam::geometricOneField, Foam::zeroField, Foam::zeroField>(Foam::Field<double>&, Foam::geometricOneField const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::zeroField const&, Foam::zeroField const&, double, double, int) in "/opt/openfoam211/platforms/linux64GccDPOpt/lib/libfiniteVolume.so"
#4  void Foam::MULES::limit<Foam::geometricOneField, Foam::zeroField, Foam::zeroField>(Foam::geometricOneField const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh>&, Foam::zeroField const&, Foam::zeroField const&, double, double, int, bool) in "/opt/openfoam211/platforms/linux64GccDPOpt/lib/libfiniteVolume.so"
#5  Foam::MULES::explicitSolve(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh>&, double, double) in "/opt/openfoam211/platforms/linux64GccDPOpt/lib/libfiniteVolume.so"
#6 
 in "/opt/openfoam211/platforms/linux64GccDPOpt/bin/interFoam"
#7  __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
#8 
 in "/opt/openfoam211/platforms/linux64GccDPOpt/bin/interFoam"
Floating point exception (core dumped)


michielm November 13, 2012 12:51

ok, clearly something is completely blowing up and there are two common reasons: (i) mesh issues (ii) BC issues

- did you run checkMesh? - what was/is the result?
- do you have boundary conditions on alpha1 which might cause strong curvature?

jrrygg November 13, 2012 13:07

checkMesh seems fine I think (should I by the way use non-orthogonal correctors?):

Code:

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

Create polyMesh for time = 0

Time = 0

Mesh stats
    points:          26691
    faces:            74600
    internal faces:  69400
    cells:            24000
    boundary patches: 4
    point zones:      0
    face zones:      0
    cell zones:      0

Overall number of cells of each type:
    hexahedra:    24000
    prisms:        0
    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.
    Number of regions: 1 (OK).

Checking patch topology for multiply connected surfaces ...
    Patch              Faces    Points  Surface topology                 
    inlet              100      121      ok (non-closed singly connected) 
    atmosphere          2100    2191    ok (non-closed singly connected) 
    backWall            600      651      ok (non-closed singly connected) 
    symmetry            2400    2501    ok (non-closed singly connected) 

Checking geometry...
    Overall domain bounding box (0 0 0) (0.5 0.5 0.5)
    Mesh (non-empty, non-wedge) directions (1 1 1)
    Mesh (non-empty) directions (1 1 1)
    Boundary openness (-3.06208e-17 -3.24068e-16 1.6619e-16) OK.
    Max cell openness = 2.9343e-16 OK.
    Max aspect ratio = 113.772 OK.
    Minumum face area = 4.87918e-07. Maximum face area = 0.00423881.  Face area magnitudes OK.
    Min volume = 2.44101e-09. Max volume = 0.000106032.  Total volume = 0.125.  Cell volumes OK.
    Mesh non-orthogonality Max: 73.2231 average: 11.2647
  *Number of severely non-orthogonal faces: 80.
    Non-orthogonality check OK.
  <<Writing 80 non-orthogonal faces to set nonOrthoFaces
    Face pyramids OK.
    Max skewness = 0.843639 OK.
    Coupled point location match (average 0) OK.

Mesh OK.

End

I have a water inlet on alpha1:
Code:

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions      [0 0 0 0 0 0 0];

internalField  uniform 0;

boundaryField
{
    bucketwalls
    {
        type            zeroGradient;
    }
    rotif-rotating-solid
    {
        type            zeroGradient;
    }
    rotopen
    {
        type            inletOutlet;
        inletValue      uniform 0;
        value          uniform 0;
    }
    rotsym
    {
        type            symmetryPlane;
    }
    jetinlet
    {
        type            fixedValue;
        value          uniform 1;
    }
    jetsymmetry
    {
        type            symmetryPlane;
    }
    jetwall
    {
        type            zeroGradient;
    }
}


farhhad November 13, 2012 17:33

The number of non-orthognal faces is relatively high , I would use the following command to localise the faces and solve it:

foamToVTK faceSet -nonOrthoFaces

as I am currently dealing with them problem, i would say that the problem is absolutely from the mesh, unless you've set a non-physical condition in your BC. I've found out that interFoam or VOF is extremely sensitive with mesh, and hex mesh seems to work much better.

Farhad

michielm November 14, 2012 04:16

Additionally I remember that there used to be a bug in the symmetryPlane BC. Not sure whether that is still there in the latest OF version. You could easily try by temporarily changing the symmetryPlane BC to a fixedValue BC


All times are GMT -4. The time now is 09:14.