View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000135 | OpenFOAM | Bug | public | 2011-02-10 17:31 | 2011-02-11 09:52 |
Reporter | albertop | Assigned To | henry | ||
Priority | normal | Severity | major | Reproducibility | always |
Status | closed | Resolution | no change required | ||
Platform | Linux | OS | OpenSuse | OS Version | 11.3 |
Summary | 0000135: twoPhaseEulerFoam crashes in parallel computations | ||||
Description | The twoPhaseEulerFoam solver crashes unexpectedly in parallel runs, while it works properly on the same case in serial runs. | ||||
Steps To Reproduce | 1) Consider for example the tutorial case "bed2" 2) Decompose it with a simple decomposition like numberOfSubdomains 2; method simple; simpleCoeffs { n ( 1 2 1 ); delta 0.001; } 3) Execute it with: mpirun -np 2 twoPhaseEulerFoam -parallel 4) The case should crash almost immediately | ||||
Additional Information | See the attachment for the error message. | ||||
Tags | No tags attached. | ||||
|
errorMessage (6,235 bytes)
Time = 0.005 DILUPBiCG: Solving for alpha, Initial residual = 0.000124544, Final residual = 1.32895e-12, No Iterations 3 Dispersed phase volume fraction = 0.275002 Min(alpha) = -1.32192e-164 Max(alpha) = 0.550004 DILUPBiCG: Solving for alpha, Initial residual = 6.92205e-06, Final residual = 3.11521e-13, No Iterations 3 Dispersed phase volume fraction = 0.275002 Min(alpha) = -3.5475e-163 Max(alpha) = 0.550004 kinTheory: max(Theta) = 0.00925042 kinTheory: min(nua) = 1.57981e-12, max(nua) = 4.50843e-06 kinTheory: min(pa) = -2.51108e-165, max(pa) = 0.525263 GAMG: Solving for p, Initial residual = 5.53676e-05, Final residual = 6.96784e-09, No Iterations 11 time step continuity errors : sum local = 2.30332e-09, global = 1.89963e-09, cumulative = 3.31577e-08 DILUPBiCG: Solving for alpha, Initial residual = 3.81326e-06, Final residual = 5.02502e-14, No Iterations 3 Dispersed phase volume fraction = 0.275002 Min(alpha) = -3.36761e-163 Max(alpha) = 0.550004 DILUPBiCG: Solving for alpha, Initial residual = 1.53614e-07, Final residual = 1.7633e-11, No Iterations 2 Dispersed phase volume fraction = 0.275002 Min(alpha) = -3.36997e-163 Max(alpha) = 0.550004 GAMG: Solving for p, Initial residual = 8.55728e-06, Final residual = 8.31876e-09, No Iterations 10 time step continuity errors : sum local = 2.72079e-09, global = 2.18738e-09, cumulative = 3.5345e-08 DILUPBiCG: Solving for epsilon, Initial residual = 0.00505445, Final residual = 3.58585e-06, No Iterations 2 DILUPBiCG: Solving for k, Initial residual = 0.0827591, Final residual = 7.96478e-06, No Iterations 3 ExecutionTime = 0.65 s ClockTime = 1 s Courant Number mean: 0.0127499 max: 0.0513894 Max Ur Courant Number = 0.0605558 Calculating averages Time = 0.0055 DILUPBiCG: Solving for alpha, Initial residual = 0.000115659, Final residual = 1.09547e-12, No Iterations 3 Dispersed phase volume fraction = 0.275002 Min(alpha) = -6.89745e-166 Max(alpha) = 0.550005 DILUPBiCG: Solving for alpha, Initial residual = 6.46692e-06, Final residual = 0.458666, No Iterations 1001 Dispersed phase volume fraction = 0.265139 Min(alpha) = -24.6668 Max(alpha) = 23.2063 kinTheory: max(Theta) = 0.000368331 kinTheory: min(nua) = 1.59948e-12, max(nua) = 0.04 kinTheory: min(pa) = -3.7888e-05, max(pa) = 191362 GAMG: Solving for p, Initial residual = 1, Final residual = 6.29539e-09, No Iterations 35 time step continuity errors : sum local = 6.00828, global = -0.402339, cumulative = -0.402339 DILUPBiCG: Solving for alpha, Initial residual = 0.329499, Final residual = 0.0648053, No Iterations 1001 Dispersed phase volume fraction = -2.18106 Min(alpha) = -21.8062 Max(alpha) = 17.8497 DILUPBiCG: Solving for alpha, Initial residual = 0.499751, Final residual = 0.144707, No Iterations 1001 Dispersed phase volume fraction = -3.12574 Min(alpha) = -37.7223 Max(alpha) = 9.83229 [1] #0 Foam::error::printStack(Foam::Ostream&) in "/home/alberto/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libOpenFOAM.so" [1] #1 Foam::sigFpe::sigFpeHandler(int) in "/home/alberto/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libOpenFOAM.so" [1] #2 in "/lib64/libc.so.6" [1] #3 Foam::GAMGSolver::scalingFactor(Foam::Field<double>&, Foam::Field<double> const&, Foam::Field<double> const&, Foam::Field<double> const&) const in "/home/alberto/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libOpenFOAM.so" [1] #4 Foam::GAMGSolver::scalingFactor(Foam::Field<double>&, Foam::lduMatrix const&, Foam::Field<double>&, Foam::FieldField<Foam::Field, double> const&, Foam::UPtrList<Foam::lduInterfaceField const> const&, Foam::Field<double> const&, unsigned char) const in "/home/alberto/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libOpenFOAM.so" [1] #5 Foam::GAMGSolver::Vcycle(Foam::PtrList<Foam::lduMatrix::smoother> const&, Foam::Field<double>&, Foam::Field<double> const&, Foam::Field<double>&, Foam::Field<double>&, Foam::Field<double>&, Foam::PtrList<Foam::Field<double> >&, Foam::PtrList<Foam::Field<double> >&, unsigned char) const in "/home/alberto/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libOpenFOAM.so" [1] #6 Foam::GAMGSolver::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const in "/home/alberto/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libOpenFOAM.so" [1] #7 Foam::fvMatrix<double>::solve(Foam::dictionary const&) in "/home/alberto/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libfiniteVolume.so" [1] #8 [1] in "/home/alberto/OpenFOAM/OpenFOAM-1.7.x/applications/bin/linux64GccDPOpt/twoPhaseEulerFoam" [1] #9 __libc_start_main in "/lib64/libc.so.6" [1] #10 [1] at /usr/src/packages/BUILD/glibc-2.11.2/csu/../sysdeps/x86_64/elf/start.S:116 [geeko:08702] *** Process received signal *** [geeko:08702] Signal: Floating point exception (8) [geeko:08702] Signal code: (-6) [geeko:08702] Failing at address: 0x3e8000021fe [geeko:08702] [ 0] /lib64/libc.so.6(+0x32a60) [0x7f655dc1ba60] [geeko:08702] [ 1] /lib64/libc.so.6(gsignal+0x35) [0x7f655dc1b9e5] [geeko:08702] [ 2] /lib64/libc.so.6(+0x32a60) [0x7f655dc1ba60] [geeko:08702] [ 3] /home/alberto/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libOpenFOAM.so(_ZNK4Foam10GAMGSolver13scalingFactorERNS_5FieldIdEERKS2_S5_S5_+0x7c) [0x7f655eac84fc] [geeko:08702] [ 4] /home/alberto/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libOpenFOAM.so(_ZNK4Foam10GAMGSolver13scalingFactorERNS_5FieldIdEERKNS_9lduMatrixES3_RKNS_10FieldFieldIS1_dEERKNS_8UPtrListIKNS_17lduInterfaceFieldEEERKS2_h+0xa6) [0x7f655eac88b6] [geeko:08702] [ 5] /home/alberto/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libOpenFOAM.so(_ZNK4Foam10GAMGSolver6VcycleERKNS_7PtrListINS_9lduMatrix8smootherEEERNS_5FieldIdEERKS8_S9_S9_S9_RNS1_IS8_EESD_h+0x10e0) [0x7f655eacb280] [geeko:08702] [ 6] /home/alberto/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libOpenFOAM.so(_ZNK4Foam10GAMGSolver5solveERNS_5FieldIdEERKS2_h+0x489) [0x7f655eacc269] [geeko:08702] [ 7] /home/alberto/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libfiniteVolume.so(_ZN4Foam8fvMatrixIdE5solveERKNS_10dictionaryE+0x13b) [0x7f65601d9b0b] [geeko:08702] [ 8] twoPhaseEulerFoam() [0x438f6d] [geeko:08702] [ 9] /lib64/libc.so.6(__libc_start_main+0xfd) [0x7f655dc07b7d] [geeko:08702] [10] twoPhaseEulerFoam() [0x42b089] [geeko:08702] *** End of error message *** |
|
The problem relates to phic += fvc::interpolate(alpha)*phipp; If phic is significantly larger than phi and second-order differencing is used then basing the time-step limit on phi in not sufficient and a smaller time-step should be used or lower-order differencing. Note that the behavior in serial and parallel may be different because the solver preconditioning in parallel is not as good as it is in serial and it is more important that the matrix is diagonally-dominant. |
Date Modified | Username | Field | Change |
---|---|---|---|
2011-02-10 17:31 | albertop | New Issue | |
2011-02-10 17:31 | albertop | File Added: errorMessage | |
2011-02-11 09:52 | henry | Note Added: 0000240 | |
2011-02-11 09:52 | henry | Status | new => closed |
2011-02-11 09:52 | henry | Assigned To | => henry |
2011-02-11 09:52 | henry | Resolution | open => no change required |