CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM (https://www.cfd-online.com/Forums/openfoam/)
-   -   Floating point exception for pimpleFoam - FSI (https://www.cfd-online.com/Forums/openfoam/235761-floating-point-exception-pimplefoam-fsi.html)

ashishdarekar14 April 27, 2021 13:59

Floating point exception for pimpleFoam - FSI
 
5 Attachment(s)
Hello Members
I am solving Partitioned-FSI problem using two solvers: OpenFOAM (to solve the Fluid part) and Kratos solver (to solve the Structural part) and CoSimulation (Coupling solver to communicate between them)

OpenFOAM: I have selected the PIMPLE solver to solve std. benchmark problem of cylindrical flap (photo attached).
I am getting following error message after 2 time iterations:

with GAMG Solver

#0 Foam::error::printStack(Foam::Ostream&) at ??:?
#1 Foam::sigFpe::sigHandler(int) at ??:?
#2 ? in "/lib/x86_64-linux-gnu/libc.so.6"
#3 Foam::GAMGSolver::scale(Foam::Field<double>&, Foam::Field<double>&, Foam::lduMatrix const&, Foam::FieldField<Foam::Field, double> const&, Foam::UPtrList<Foam::lduInterfaceField const> const&, Foam::Field<double> const&, unsigned char) const at ??:?
#4 Foam::GAMGSolver::Vcycle(Foam::PtrList<Foam::lduMa trix::smoother> const&, Foam::Field<double>&, Foam::Field<double> const&, Foam::Field<double>&, Foam::Field<double>&, Foam::Field<double>&, Foam::Field<double>&, Foam::Field<double>&, Foam::PtrList<Foam::Field<double> >&, Foam::PtrList<Foam::Field<double> >&, unsigned char) const at ??:?
#5 Foam::GAMGSolver::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const at ??:?
#6 Foam::fvMatrix<double>::solveSegregated(Foam::dict ionary const&) at ??:?
#7 Foam::fvMatrix<double>::solve(Foam::dictionary const&) in "/opt/openfoam7/platforms/linux64GccDPInt32Opt/bin/pimpleFoam"
#8 Foam::fvMatrix<double>::solve() in "/opt/openfoam7/platforms/linux64GccDPInt32Opt/bin/pimpleFoam"
#9 ? in "/opt/openfoam7/platforms/linux64GccDPInt32Opt/bin/pimpleFoam"
#10 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
#11 ? in "/opt/openfoam7/platforms/linux64GccDPInt32Opt/bin/pimpleFoam"
Floating point exception (core dumped)

with PCG Solver

#0 Foam::error::printStack(Foam::Ostream&) at ??:?
#1 Foam::sigFpe::sigHandler(int) at ??:?
#2 ? in "/lib/x86_64-linux-gnu/libc.so.6"
#3 Foam::divide(Foam::Field<double>&, double const&, Foam::UList<double> const&) at ??:?
#4 Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > Foam::operator/<Foam::fvPatchField, Foam::volMesh>(Foam::dimensioned<double> const&, Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > const&) in "/opt/openfoam7/platforms/linux64GccDPInt32Opt/bin/pimpleFoam"
#5 ? in "/opt/openfoam7/platforms/linux64GccDPInt32Opt/bin/pimpleFoam"
#6 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
#7 ? in "/opt/openfoam7/platforms/linux64GccDPInt32Opt/bin/pimpleFoam"
Floating point exception (core dumped)

Could anyone help me to understand these errors?? and how to approach this problem?
I have attached herewith
1. Problem diagram
2. Output of Meshcheck
3. FvSolution, ControlDict, etc..

Thanks in advance :)

ashishdarekar14 May 19, 2021 01:21

1 Attachment(s)
Hello all

So, I was able to advance some time steps in this problem.

I will provide more information about my problem.

1. I am solving a simple FSI-benchmarking case from Wall and Ramm (Attached herewith the test case). If you want more details about how I am solving kindly let me know
2. But simply, from OF side -> I am solving this problem using PIMPLE solver (controlDict, FvScheme, FvSolution files are attached herewith)
3. Dynamic Mesh is used for the motion of a flap (dynamicMeshDict also Attached)
4. Mesh: created using the BlockMesh (attached herewith the output of the checkMesh
-> initial and last time step, Last time step is failed due to non orthogonal mesh elements)
5. Also the Simulation stopped after few time steps: with the FPE (shown below)

Code:

Time = 0.0805

PIMPLE: Iteration 1
smoothSolver:  Solving for cellDisplacementx, Initial residual = 0.0509482779987, Final residual = 5.0820900698e-06, No Iterations 73
smoothSolver:  Solving for cellDisplacementy, Initial residual = 0.179955306297, Final residual = 1.78276847317e-05, No Iterations 61
GAMG:  Solving for pcorr, Initial residual = 1, Final residual = 8.99785732436e-05, No Iterations 26
GAMG:  Solving for pcorr, Initial residual = 0.333399937369, Final residual = 5.93490175136e-06, No Iterations 25
time step continuity errors : sum local = 4.24894215131e-08, global = -2.10306284577e-10, cumulative = -3.20959092079e-09
smoothSolver:  Solving for Ux, Initial residual = 0.116746487056, Final residual = 7.41363983302e-06, No Iterations 19
smoothSolver:  Solving for Uy, Initial residual = 0.0796490045324, Final residual = 4.92202324779e-06, No Iterations 20
#0  Foam::error::printStack(Foam::Ostream&) at ??:?
#1  Foam::sigFpe::sigHandler(int) at ??:?
#2  ? in "/lib/x86_64-linux-gnu/libc.so.6"
#3  Foam::GAMGSolver::scale(Foam::Field<double>&, Foam::Field<double>&, Foam::lduMatrix const&, Foam::FieldField<Foam::Field, double> const&, Foam::UPtrList<Foam::lduInterfaceField const> const&, Foam::Field<double> const&, unsigned char) const at ??:?
#4  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::Field<double>&, Foam::Field<double>&, Foam::PtrList<Foam::Field<double> >&, Foam::PtrList<Foam::Field<double> >&, unsigned char) const at ??:?
#5  Foam::GAMGSolver::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const at ??:?
#6  Foam::fvMatrix<double>::solveSegregated(Foam::dictionary const&) at ??:?
#7  Foam::fvMatrix<double>::solve(Foam::dictionary const&) in "/opt/openfoam7/platforms/linux64GccDPInt32Opt/bin/pimpleFoam"
#8  Foam::fvMatrix<double>::solve() in "/opt/openfoam7/platforms/linux64GccDPInt32Opt/bin/pimpleFoam"
#9  ? in "/opt/openfoam7/platforms/linux64GccDPInt32Opt/bin/pimpleFoam"
#10  __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
#11  ? in "/opt/openfoam7/platforms/linux64GccDPInt32Opt/bin/pimpleFoam"
Floating point exception (core dumped)

6. Residuals plotted using residual function object. No more fluctuations (they are gone) but still the solution is not converging (attached herewith the latest graph).

So, Could anyone help me to understand the exact problem and how to tackle that? Any suggestion will be appreciated


If you want anything more about my case kindly let me know, I will provide it
Thanks in advance
Ashish


All times are GMT -4. The time now is 02:30.