pimpleDyMFoam diverging
Hello everyone,
I am using pimpleDyMFoam with a custom dynamicFvMesh to solve for the motion of a 2D circular cylinder with 1DOF (heave) with the standard SA model. I am having issues with the solver diverging after several time steps. The time step keeps decreasing to meet the maxCo criterion, while the actual Co oscillates and eventually blows up, resulting in the solver crashing. Here is a part of the log: Code:
Courant Number mean: 0.181987 max: 57.4844 Code:
PIMPLE And my fvSchemes: Code:
ddtSchemes I'd appreciate any hints. Greg 
Hi Greg,
try to run "unset FOAM_SIGFPE" in the commandline, before you run your job. Regards Thomas 
Greg,
Were you able to get this working? Would you mind posting your dynamic mesh dictionary? I'm interested in seeing it. Thanks, Joe 
Hi Thomas and Joe,
I was able to get the case working but it has been a while. Unfortunately I had a different workstation at that time and those case setups have not made the move, so I am unable to share the dynamic mesh dict with you. Sorry! Greg 
Hey gfillip,
I understand you no longer have the data, but do you remember a bit of what you did to solve the problem. I am running into similar difficulties where the Courant number keeps increasing until the job crashes. Here are my few lines of my log file:  Courant Number mean: 0.0553216 max: 1.49585 deltaT = 1e05 Time = 7e05 solidBodyMotionFunctions::rotatingMotion::transfor mation(): Time = 7e05 transformation: ((0 0 0) (1 (0 0 0.00071295))) AMI: Creating addressing and weights between 152 source faces and 152 target faces AMI: Patch source weights min/max/average = 1.00045, 1.00059, 1.00051 AMI: Patch target weights min/max/average = 1.00027, 1.00041, 1.00034 PIMPLE: iteration 1 smoothSolver: Solving for Ux, Initial residual = 0.821499, Final residual = 0.0529954, No Iterations 2 smoothSolver: Solving for Uy, Initial residual = 0.772528, Final residual = 0.0435714, No Iterations 2 smoothSolver: Solving for Uz, Initial residual = 0.889394, Final residual = 0.0573016, No Iterations 3 GAMG: Solving for p, Initial residual = 0.927555, Final residual = 0.00793319, No Iterations 3 time step continuity errors : sum local = 0.00232858, global = 1.09112e05, cumulative = 4.39653e05 PIMPLE: iteration 2 smoothSolver: Solving for Ux, Initial residual = 0.624835, Final residual = 0.0579445, No Iterations 8 smoothSolver: Solving for Uy, Initial residual = 0.528869, Final residual = 0.0500303, No Iterations 7 smoothSolver: Solving for Uz, Initial residual = 0.667562, Final residual = 0.0371676, No Iterations 4 GAMG: Solving for p, Initial residual = 0.921425, Final residual = 0.00829498, No Iterations 2 time step continuity errors : sum local = 0.0183302, global = 0.000417751, cumulative = 0.000461716 PIMPLE: iteration 3 DILUPBiCG: Solving for Ux, Initial residual = 0.469402, Final residual = 0.00155559, No Iterations 1001 DILUPBiCG: Solving for Uy, Initial residual = 0.456055, Final residual = 0.00192389, No Iterations 1001 DILUPBiCG: Solving for Uz, Initial residual = 0.657918, Final residual = 7.2394e07, No Iterations 26 GAMG: Solving for p, Initial residual = 0.940662, Final residual = 9.79822e07, No Iterations 23 time step continuity errors : sum local = 5.83896e06, global = 5.30525e07, cumulative = 0.000461185 DILUPBiCG: Solving for epsilon, Initial residual = 0.989478, Final residual = 10537.6, No Iterations 1001 bounding epsilon, min: 1.28949e+18 max: 9.22403e+17 average: 3.22331e+14 DILUPBiCG: Solving for k, Initial residual = 1.42853e05, Final residual = 6.87541e07, No Iterations 30 bounding k, min: 1.84393e+10 max: 2.85172e+12 average: 1.06974e+10 ExecutionTime = 12.17 s ClockTime = 13 s forces output: forces(pressure, viscous)((2.16039e+11 1.76242e+12 2.33002e+07) (4.46086e+07 2.83529e+08 5.60693e+07)) moment(pressure, viscous)((7.72514e+11 9.4704e+10 4.1255e+10) (9.58347e+07 1.70477e+07 1.15609e+07)) Courant Number mean: 4.69634 max: 8810.84 deltaT = 2.26963e09 Time = 7.00023e05 solidBodyMotionFunctions::rotatingMotion::transfor mation(): Time = 7.00023e05 transformation: ((0 0 8.67362e19) (1 (0 0 0.000712973))) AMI: Creating addressing and weights between 152 source faces and 152 target faces AMI: Patch source weights min/max/average = 1.00045, 1.00059, 1.00051 AMI: Patch target weights min/max/average = 1.00027, 1.00041, 1.00034 PIMPLE: iteration 1 smoothSolver: Solving for Ux, Initial residual = 0.924264, Final residual = 0.0530127, No Iterations 2 smoothSolver: Solving for Uy, Initial residual = 0.641598, Final residual = 0.0386788, No Iterations 2 smoothSolver: Solving for Uz, Initial residual = 0.921792, Final residual = 0.0461483, No Iterations 2 GAMG: Solving for p, Initial residual = 1, Final residual = 5705.13, No Iterations 50 time step continuity errors : sum local = 9.40062e+08, global = 3.78949e+07, cumulative = 3.78949e+07 PIMPLE: iteration 2 smoothSolver: Solving for Ux, Initial residual = 1, Final residual = 0.0224152, No Iterations 1 smoothSolver: Solving for Uy, Initial residual = 1, Final residual = 0.0293676, No Iterations 1 smoothSolver: Solving for Uz, Initial residual = 0.00299007, Final residual = 6.31039e05, No Iterations 1 GAMG: Solving for p, Initial residual = 0.595319, Final residual = 9.86458e05, No Iterations 1 time step continuity errors : sum local = 3.27194e+16, global = 4.33629e+15, cumulative = 4.33629e+15 PIMPLE: iteration 3 DILUPBiCG: Solving for Ux, Initial residual = 0.999996, Final residual = 5.86893e07, No Iterations 28 DILUPBiCG: Solving for Uy, Initial residual = 0.999998, Final residual = 7.80082e07, No Iterations 20 DILUPBiCG: Solving for Uz, Initial residual = 0.000201204, Final residual = 9.98882e07, No Iterations 5 GAMG: Solving for p, Initial residual = 0.879029, Final residual = 7.05858e07, No Iterations 47 time step continuity errors : sum local = 4.76118e+19, global = 8.01772e+18, cumulative = 8.01339e+18 DILUPBiCG: Solving for epsilon, Initial residual = 1, Final residual = 48876.6, No Iterations 1001 bounding epsilon, min: 1.7324e+51 max: 2.47572e+51 average: 5.46302e+48 DILUPBiCG: Solving for k, Initial residual = 1, Final residual = 6.79817e07, No Iterations 96 bounding k, min: 1.36796e+48 max: 7.09554e+59 average: 6.62561e+56 ExecutionTime = 15.72 s ClockTime = 16 s forces output: forces(pressure, viscous)((5.96091e+57 4.44151e+57 3.98466e+52) (3.53788e+57 2.92522e+58 1.66546e+57)) moment(pressure, viscous)((2.01323e+57 2.60251e+57 1.10323e+57) (1.21739e+58 1.87448e+57 3.42054e+57)) Courant Number mean: 2.99449e+25 max: 3.21959e+28 deltaT = 1.40989e37 > FOAM Warning : From function Time::operator++() in file db/Time/Time.C at line 1010 Increased the timePrecision from 6 to 7 to distinguish between timeNames at time 7.00023e05 Time = 7.000227e05 solidBodyMotionFunctions::rotatingMotion::transfor mation(): Time = 7.00023e05 transformation: ((0 0 8.67362e19) (1 (0 0 0.000712973))) AMI: Creating addressing and weights between 152 source faces and 152 target faces AMI: Patch source weights min/max/average = 1.00045, 1.00059, 1.00051 AMI: Patch target weights min/max/average = 1.00027, 1.00041, 1.00034 PIMPLE: iteration 1 smoothSolver: Solving for Ux, Initial residual = 0.904795, Final residual = 0.0198399, No Iterations 2 smoothSolver: Solving for Uy, Initial residual = 0.920089, Final residual = 0.00357272, No Iterations 1 smoothSolver: Solving for Uz, Initial residual = 0.770617, Final residual = 0.0112283, No Iterations 1 GAMG: Solving for p, Initial residual = 1, Final residual = 3.34459e+74, No Iterations 50 time step continuity errors : sum local = 2.15853e+83, global = 2.27242e+82, cumulative = 2.27242e+82 PIMPLE: iteration 2 smoothSolver: Solving for Ux, Initial residual = 0.998805, Final residual = 1.80506, No Iterations 1000 smoothSolver: Solving for Uy, Initial residual = 1, Final residual = 1.93583e05, No Iterations 1 smoothSolver: Solving for Uz, Initial residual = 0.000531627, Final residual = 1.42642e07, No Iterations 1 #0 Foam::error::printStack(Foam::Ostream&) in "/home/alpha/OpenFOAM/OpenFOAM2.1.x/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" #1 Foam::sigFpe::sigHandler(int) in "/home/alpha/OpenFOAM/OpenFOAM2.1.x/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" #2 in "/lib/x86_64linuxgnu/libc.so.6" #3 Foam::DICPreconditioner::calcReciprocalD(Foam::Fie ld<double>&, Foam::lduMatrix const&) in "/home/alpha/OpenFOAM/OpenFOAM2.1.x/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" #4 Foam::DICSmoother::DICSmoother(Foam::word const&, Foam::lduMatrix const&, Foam::FieldField<Foam::Field, double> const&, Foam::FieldField<Foam::Field, double> const&, Foam::UPtrList<Foam::lduInterfaceField const> const&) in "/home/alpha/OpenFOAM/OpenFOAM2.1.x/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" #5 Foam::DICGaussSeidelSmoother::DICGaussSeidelSmooth er(Foam::word const&, Foam::lduMatrix const&, Foam::FieldField<Foam::Field, double> const&, Foam::FieldField<Foam::Field, double> const&, Foam::UPtrList<Foam::lduInterfaceField const> const&) in "/home/alpha/OpenFOAM/OpenFOAM2.1.x/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" #6 Foam::lduMatrix::smoother::addsymMatrixConstructor ToTable<Foam::DICGaussSeidelSmoother>::New(Foam::w ord const&, Foam::lduMatrix const&, Foam::FieldField<Foam::Field, double> const&, Foam::FieldField<Foam::Field, double> const&, Foam::UPtrList<Foam::lduInterfaceField const> const&) in "/home/alpha/OpenFOAM/OpenFOAM2.1.x/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" #7 Foam::lduMatrix::smoother::New(Foam::word const&, Foam::lduMatrix const&, Foam::FieldField<Foam::Field, double> const&, Foam::FieldField<Foam::Field, double> const&, Foam::UPtrList<Foam::lduInterfaceField const> const&, Foam::dictionary const&) in "/home/alpha/OpenFOAM/OpenFOAM2.1.x/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" #8 Foam::GAMGSolver::initVcycle(Foam::PtrList<Foam::F ield<double> >&, Foam::PtrList<Foam::Field<double> >&, Foam::PtrList<Foam::lduMatrix::smoother>&) const in "/home/alpha/OpenFOAM/OpenFOAM2.1.x/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" #9 Foam::GAMGSolver::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const in "/home/alpha/OpenFOAM/OpenFOAM2.1.x/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" #10 Foam::fvMatrix<double>::solve(Foam::dictionary const&) in "/home/alpha/OpenFOAM/OpenFOAM2.1.x/platforms/linux64GccDPOpt/lib/libfiniteVolume.so" #11 in "/home/alpha/OpenFOAM/OpenFOAM2.1.x/platforms/linux64GccDPOpt/bin/pimpleDyMFoam" #12 __libc_start_main in "/lib/x86_64linuxgnu/libc.so.6" #13 in "/home/alpha/OpenFOAM/OpenFOAM2.1.x/platforms/linux64GccDPOpt/bin/pimpleDyMFoam" Floating point exception  If any one has a hint, please it welcome. I checked the boundary conditions but it doesn't seem to come from there for they are very similar to those of the propeller example. Thank all and best regards. 
Your k and omega is blowing up, i would have a look on them first. Try underrelaxation, especially for omega, and decrease the absolute tolerance to 1e12 by setting the relTol to 0. Also have a look on the yplus and your wall modelling approach (if yplus is too small, forcing wallFunctions can cause blowing up the k and omega)

Hi all,
i am working on a transient pump simulation, and i am getting a floating point exception. My geometry has a rotating part and a stationary part and between them, i have two cyclicGgi interfaces. I am using OF1.6 ext, and pimpleDyMFoam as the solver. My simulation starts to run, it runs until for a while, then it crashes with the floating point exception error message. I have tried almost everything, but i couldn't solve the problem. Now i am worried about that if i am doing something wrong about the mesh manipulating steps. or in general, can someone summarize me which steps do i have to follow before i start with the transient simulation? thanks in advance Dogan 
Hi All,
Sorry if the issue on this thread has been solved, but I've tried many things to get the pimpledymfoam run properly to my case: Flow Over A Square Cylinder with both ends are imposed with cyclic B.C. The Re is 22K and run with LES. Here is the chronology of my simulations, 1.0 Run with pisoFoam: Ok 2.0 Run with pimpleDymFoam: Not ok 2.1 Change cyclic to cyclicAMI: initially Ok, but blow up after fews time steps. 2.1.1 Change variables in the fvSolution: Ok 3.0 Increase the velocity from 1m/s to 2 m/s and run using the setting on 2.1.1: not ok, blow up after fews time steps. I'll appreciate if anyone can give me the advice on resolving this problem (It already took me 3months to find out the right solution) Thank YOU. 
I'm affraid I can't be of any help here but I too have issues running pimpleDyMFoam. I've tried turbulent and laminar flow, various BC, various numerical schemes, various solution algorithms, etc. It seems the only solution which could work, and yet I have not tested it for long enough, is to use an extremely small Courant number (such as 0.050.2). And such a small Courant number sort of makes the use of the PIMPLE algorithm useless...

Hi Louisgag,
What dynamicFvMesh solver u use for your pimpleDyMFoam simulations? I used displacementLaplacian with no errors. But the results a bit different from experiment, especially for the upper branch. 
Hi mali,
I use multiSolidBodyMotionFvMesh. Another strange thing I noticed is that when the simulation diverges, I can restart it from an earlier save and it will not diverge again until later. In this mode I end up with a simulation that never really diverges since it can always be restarted. As anyone experienced this behavior ? 
Hi There,
I want to use pimpleDyMFoam, I have a small question. I want use 1/8 th of my fan geometry with cyclic faces, is it possible can I use pimpleDyMFoam for this case? or do I need to use full 8 bladed geometry? Please clear my doubt. Thanks, Siva 
Could maybe send of what you want to achieve?
But I am afraid with the regular OpenFOAM it's not possible. Instead have a look at the extendVersion and overlapGGI. 
Dear Onno,
Thanks for your reply, so far I am using MRFSimpleFoam, the results are fine for high volume flow rate, but for low volume flow rate, I am not able to attain the convergence and its oscillating badly, so I decided to go for transient simulation with pimpleDyMFoam. My ultimate aim is to do low volume flow rate simulation. simulating full geometry is not a good option, because the mesh size will be really too much. suggest me something, Thanks, Siva 
Like I said, please post a drawing of your geometry. I
What is your goal? What type of mesh are you using? Which turbulence models, which solvers, which schemes? 
1 Attachment(s)
Hi, here is some answer for your questions
What is your goal? As I said in the previous post, aim is to simulate low volume flow rate. What type of mesh are you using? Fully hex mesh (non conformal) Which turbulence models, which solvers, which schemes? KEpsilon turbulence model, pimpleDyMFoam, mostly Upwind ( I am not concerning about the accuracy) As you requested, I have attached the fig. please have a look. Thanks, Siva 
Could you maybe send your fvSchemes and fvSolution as well? What timeStep/maxCo are you using?

Hi,
my question is bit away from our discussion, just I want to check, is it possible to do simulation with cyclic faces (1/8th of Geometry using pimpleDyMFoam). After getting clear idea, I will go forward with settings. right now I tried fvSchemes and fvSolutions from propeller case. I have edited the mxCo number thats it. I know I need to do more refinement according to my case, but I didnt do anything so far. Thanks, Siva 
If the mesh motion causes the interfaces to stop matching, then AMI can't handle it, but overlapGGI can.
See here: http://web.student.chalmers.se/group...SlidesOFW5.pdf 
Thanks Onno, I will have a look.
Siva 
All times are GMT 4. The time now is 01:52. 