|
[Sponsors] |
July 3, 2013, 01:04 |
waveDyMFoam stability issue
|
#1 |
New Member
chris goody
Join Date: Jan 2013
Location: Kaaawa, Hawaii
Posts: 6
Rep Power: 0 |
aloha everyone,
this is kind of a 'hail mary' pass, but after 50+ iterations of trying to tweak this case, i'm starting to get a little frustrated at my own lack of skill and if anyone has the time and/or inclination to check it out, i would be much obliged. This is the model case: > loosely based on the floating object tutorial, i modified it to be a floating cylinder with sHM > I made the modifications incrementally, (1) first the tutorial, (2) then the tutorial with waves, (3) then the tutorial with a sHM cylinder in lieu of the floating object, (4) and finally the waves with the sHM object. All have worked except the last case. > The case fails because the pressure will not converge, and when i look at the body force output, it appears that all is well until about 120 seconds, where the force/pressure begins to fluctuate wildly right before blowing up. > CheckMesh reported that the mesh was OK, but i have a gut feeling the mesh is at least partly responsible... > it also seems like the issue brought up here may also be a part of the problem: http://www.cfd-online.com/Forums/ope...ject-case.html > and lastly, I've become obsessed with making this work, and i think my sanity may have blown up along with the model, at the 43 year time step. anyone who's interested can check the model setup out by downloading the archive from here: https://www.dropbox.com/s/ahkeblkyj3...sLoRes.org.zip sorry in advance for groveling for help, any constructive comments/advice/opinions are very much appreciated. also wish to thank Mr. Niels Jacobsen for this very useful waves2foam tool. |
|
July 7, 2013, 21:10 |
|
#2 |
New Member
chris goody
Join Date: Jan 2013
Location: Kaaawa, Hawaii
Posts: 6
Rep Power: 0 |
I'm desperately looking for a sanity check; can anyone out there suggest or comment on appropriate schemes and tolerances to use for the velocity, pressure and displacement solutions for the above waveDyMfoam/interdymfoam? The case is based on the floatingObject tutorial but with a cylinder gridded by SnappyHexMesh and my fvSchemes and fvSolution files are provided below.....
Mahalo, Chris fvschemes Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2.0.0 | | \\ / A nd | Web: www.OpenFOAM.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { default Euler; } gradSchemes { default Gauss linear; } divSchemes { div(rho*phi,U) Gauss vanLeerV; div(phi,alpha) Gauss vanLeer; div(phirb,alpha) Gauss interfaceCompression; div(phi,k) Gauss upwind; div(phi,epsilon) Gauss upwind; } laplacianSchemes { default Gauss linear corrected; } interpolationSchemes { default linear; } snGradSchemes { default corrected; } fluxRequired { default no; p_rgh; pcorr; alpha; } // ************************************************************************* // Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2.0.0 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { cellDisplacement { solver GAMG; tolerance 1e-07; relTol 0; smoother GaussSeidel; cacheAgglomeration true; nCellsInCoarsestLevel 10; agglomerator faceAreaPair; mergeLevels 1; } pcorr // linear equation system solver for p { solver GAMG; // very efficient multigrid solver tolerance 1e-13; // solver finishes if either absolute relTol 0; // tolerance is reached or the relative // tolerance here minIter 3; // a minimum number of iterations maxIter 200; // limitation of iterions number smoother GaussSeidel; // DIC - setting for GAMG nPreSweeps 1; // 1 for p, set to 0 for all other! nPostSweeps 2; // 2 is fine nFinestSweeps 2; // 2 is fine scaleCorrection true; // true is fine directSolveCoarsestLevel false; // false is fine cacheAgglomeration on; // on is fine; set to off, if dynamic // mesh refinement is used! nCellsInCoarsestLevel 500; // 500 is fine, // otherwise sqrt(number of cells) agglomerator faceAreaPair; // faceAreaPair is fine mergeLevels 1; // 1 is fine } p_rgh { solver GAMG; // very efficient multigrid solver tolerance 1e-13; // solver finishes if either absolute relTol 0; // tolerance is reached or the relative // tolerance here minIter 3; // a minimum number of iterations maxIter 200; // limitation of iterions number smoother GaussSeidel; // DIC - setting for GAMG nPreSweeps 1; // 1 for p, set to 0 for all other! nPostSweeps 2; // 2 is fine nFinestSweeps 2; // 2 is fine scaleCorrection true; // true is fine directSolveCoarsestLevel false; // false is fine cacheAgglomeration on; // on is fine; set to off, if dynamic // mesh refinement is used! nCellsInCoarsestLevel 500; // 500 is fine, // otherwise sqrt(number of cells) agglomerator faceAreaPair; // faceAreaPair is fine mergeLevels 1; // 1 is fine } p_rghFinal { $p_rgh; tolerance 1e-15; relTol 0; } U // linear equation system solver for U { solver smoothSolver; // solver type smoother GaussSeidel; // smoother type tolerance 1e-10; // solver finishes if either absolute relTol 0; // tolerance is reached or the relative // tolerance here nSweeps 1; // setting for smoothSolver maxIter 200; // limitation of iterations number } UFinal // linear equation system solver for U { solver smoothSolver; // solver type smoother GaussSeidel; // smoother type tolerance 1e-07; // solver finishes if either absolute relTol 0; // tolerance is reached or the relative // tolerance here nSweeps 1; // setting for smoothSolver maxIter 200; // limitation of iterations number } k { solver smoothSolver; smoother GaussSeidel; tolerance 1e-07; relTol 0; nSweeps 1; } kFinal { solver smoothSolver; smoother GaussSeidel; tolerance 1e-07; relTol 0; nSweeps 1; } epsilon { solver smoothSolver; smoother GaussSeidel; tolerance 1e-07; relTol 0; nSweeps 1; } epsilonFinal { solver smoothSolver; smoother GaussSeidel; tolerance 1e-7; relTol 0; nSweeps 1; } } relaxationFactors { p 0.3; // 0.3 is stable, decrease for bad mesh U 0.7; // 0.7 is stable, decrease for bad mesh k 0.5; epsilon 0.5; } PIMPLE { //pRefCell 0; //pRefValue 0; turbOnFinalIterOnly yes; momentumPredictor yes; nCorrectors 4; nOuterCorrectors 2; nNonOrthogonalCorrectors 1; nAlphaCorr 1; nAlphaSubCycles 4; cAlpha 1; } // ************************************************************************* // |
|
July 9, 2013, 18:02 |
|
#3 |
Senior Member
Join Date: Mar 2013
Location: USA
Posts: 120
Rep Power: 13 |
Hello Chris,
I am having exactly the same issues with waveDyMFoam (interDyMFoam). You cant even run a bobbing cork in 1D with this solver since the mesh motion,VOF and 6DOF solvers are weakly coupled. I was trying to model a speed boat traveling through the waves but it did not work. My simulations were blowing up because of pressure instabilities. My advice to you is to stop working on it. You are just wasting your time. I don't think you will ever get it working. Either you can try to check solvers working on old versions (shipFoam etc.) or you can try to modify waveDyMFoam to create your own solver. Please let me know of your progress Good luck Kilroy |
|
July 12, 2013, 23:30 |
|
#4 |
New Member
chris goody
Join Date: Jan 2013
Location: Kaaawa, Hawaii
Posts: 6
Rep Power: 0 |
Thanks for the advice kilroy. I wish i could stop wasting my time, but i think i may be too stubborn.
anyway, do you, or anyone else for that matter, have any idea why the simulation actually works with waveDyMFoam when using only blockmesh (i.e., using cellset and subset mesh to define the body) and then fails when using snappyHexMesh? Maybe having to do with cell orthogonality?? THat's the only difference i can think of... mahalo, chris |
|
July 15, 2013, 11:16 |
|
#5 |
Senior Member
Join Date: Mar 2013
Location: USA
Posts: 120
Rep Power: 13 |
Chris,
I think it is definitely because of the mesh quality. Mesh created with "snappyHexMesh" is not good enough for moving mesh. And I don't think it will be working just with "blockMesh" etiher. If yours worked with just "blockMesh", I think that may just be luck. If you try to change the size of your object, I am sure your simulation will crash immediately. If you have a chance can you increase the size of your floating object (double the dimensions) and let me now if it works or not? Thanks Kilroy |
|
November 17, 2013, 14:45 |
|
#6 |
Member
maryam morta
Join Date: Sep 2013
Posts: 54
Rep Power: 13 |
Hi Kilroy and Chris,
I'm trying to simulate almost the same problem, a floating object across waves. As I've seen in several posts that people mention the bugs and crashing withing the floating object tutorial I just wonder if you have solved the problem or not. The shipfoam solver that Kilroy mentioned is another choice but I didn't know how to find the latest version of it.Also can it be compatible with wave2Foam or not? If you can share anything please share it with me. I'm in desprate need in doing this problem Best regards Maryam |
|
September 23, 2018, 05:40 |
waveDyMFoam problem on v1606
|
#7 |
New Member
金恒
Join Date: Oct 2012
Posts: 17
Rep Power: 14 |
dear foamer,
when I run a case with floatingbody,I faced this error. And the same case worked on v3.0.1. The detail error are list here. Thanks for anyone's help or advices. --> FOAM FATAL ERROR: object of type N4Foam12sixDoFSolverE is not allocated From function T* Foam::autoPtr<T>:perator->() [with T = Foam::sixDoFSolver] in file /home/jd2018/OpenFOAM/OpenFOAM-v1606+/src/OpenFOAM/lnInclude/autoPtrI.H at line 176. FOAM aborting #0 Foam::error:rintStack(Foam::Ostream&) at ??:? #1 Foam::error::abort() at ??:? #2 Foam::sixDoFRigidBodyMotion::update(bool, Foam::Vector<double> const&, Foam::Vector<double> const&, double, double) at ??:? #3 Foam::sixDoFRigidBodyDisplacementPointPatchVectorF ield::updateCoeffs() at ??:? #4 Foam::displacementLaplacianFvMotionSolver::solve() at ??:? #5 Foam::motionSolver::newPoints() at ??:? #6 Foam::dynamicMotionSolverFvMesh::update() at ??:? #7 main at ??:? #8 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6" #9 ? at ??:? Aborted (core dumped) |
|
Tags |
openfoam 2.0.1, wavedymfoam, waves2foam |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Stability Issue with interDyMFoam / floatingObject tutorial | ccmccomb | OpenFOAM Running, Solving & CFD | 4 | April 27, 2023 05:13 |
when I use multi block the condition of stability can not be fulfilled | mostafa_khan | FLOW-3D | 2 | April 19, 2012 13:17 |
Stability issue while running buoyantFoam | fandall | OpenFOAM Running, Solving & CFD | 13 | May 9, 2011 12:36 |
stability and number of processors ?? | sersunzo | OpenFOAM Running, Solving & CFD | 0 | June 9, 2009 12:45 |
Solving linear stability eq. | K S Chang | Main CFD Forum | 3 | January 19, 2004 17:01 |