|
[Sponsors] |
April 24, 2007, 12:19 |
I just installed OpenFOAM-1.4
|
#1 |
New Member
Mattias Liefvendahl
Join Date: Mar 2009
Posts: 5
Rep Power: 17 |
I just installed OpenFOAM-1.4 and tested the tutorials for icoFoam and oodles, which worked fine.
The tutorial for icoDyMFoam crashes however, see below for the error message. The error seems to occur in the polyMesh::calcDirections function. Maybe it is the case/mesh/boundary conditions which are not set up correctly. They seem to be the same as the corresponding tutorials in versions 1.2 and 1.3, however. These tutorials work fine on my machine by the way. checkMesh complains about skew faces, but that shouldn't cause this kind of crash. This seems to be related to the thread by Joakim Möller about SetField. So - what can be the problem ? Regards, Mattias /*---------------------------------------------------------------------------*\ | ========= | | | \ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \ / O peration | Version: 1.4 | | \ / A nd | Web: http://www.openfoam.org | | \/ M anipulation | | \*---------------------------------------------------------------------------*/ Exec : icoDyMFoam .. movingCone Date : Apr 24 2007 Time : 17:18:13 Host : matlie PID : 3240 Root : .. Case : movingCone Nprocs : 1 Create time Create mesh Selecting dynamicFvMesh dynamicMotionSolverFvMesh Selecting motion solver: componentLaplacian #0 Foam::error::printStack(Foam:stream&) #1 Foam::sigFpe::sigFpeHandler(int) #2 Uninterpreted: [0xffffe420] #3 Foam::polyMesh::calcDirections() const #4 Foam::polyMesh::directions() const #5 Foam::polyMesh::nSolutionD() const #6 Foam::polyMesh::nGeometricD() const #7 Foam::twoDPointCorrector::twoDPointCorrector(Foam: :polyMesh const&) #8 Foam::motionSolver::motionSolver(Foam::polyMesh const&) #9 Foam::fvMotionSolver::fvMotionSolver(Foam::polyMes h const&) #10 Foam::componentLaplacianFvMotionSolver::componentL aplacianFvMotionSolver(Foam::p olyMesh const&, Foam::Istream&) #11 Foam::motionSolver::adddictionaryConstructorToTabl e<foam::componentlaplacianfvmo tionsolver>::New(Foam::polyMesh const&, Foam::Istream&) #12 Foam::motionSolver::New(Foam::polyMesh const&) #13 Foam::dynamicMotionSolverFvMesh::dynamicMotionSolv erFvMesh(Foam::IOobject const&) #14 Foam::dynamicFvMesh::addIOobjectConstructorToTable <foam::dynamicmotionsolverfvme sh>::New(Foam::IOobject const&) #15 Foam::dynamicFvMesh::New(Foam::IOobject const&) #16 main #17 __libc_start_main #18 __gxx_personality_v0 at ../sysdeps/i386/elf/start.S:122 Floating exception (core dumped) |
|
April 24, 2007, 16:49 |
Are you running single or doub
|
#2 |
Senior Member
Join Date: Mar 2009
Posts: 854
Rep Power: 22 |
Are you running single or double precision? If single try double.
|
|
April 24, 2007, 17:01 |
There is a problem with calcDi
|
#3 |
Senior Member
Join Date: Mar 2009
Posts: 854
Rep Power: 22 |
There is a problem with calcDirections for meshes in which all patches of type empty contain no faces, as is the case for this tutorial. One option is to change the patch type of the axis in the blockMeshDict file or change the logic in calcDirections in OpenFOAM-1.4/src/OpenFOAM/meshes/polyMesh/polyMesh.C by moving
nEmptyPatches++; from line 66 to line 70, i.e. inside the if (boundaryMesh()[patchi].size()) However, even after this change this case will still not run correctly single precision because the accumulation of error causes problems with the mesh motion. Henry |
|
April 25, 2007, 10:14 |
Thanks Henry for the quick res
|
#4 |
New Member
Mattias Liefvendahl
Join Date: Mar 2009
Posts: 5
Rep Power: 17 |
Thanks Henry for the quick response.
1. I am running in double precision. 2. I tried to change the patch type in blockMeshDict from 'empty' to 'patch'. It still didn't work (same error message). 3. I cannot try your suggestion of changing the code since I cannot recompile libOpenFOAM.so since the compiler cannot find 'demangle.h'. I saw that other people have had this problem. I couldn't fix it. I run Ubuntu 6.10. Mattias |
|
April 25, 2007, 10:37 |
2. I have changed the tutorial
|
#5 |
Senior Member
Join Date: Mar 2009
Posts: 854
Rep Power: 22 |
2. I have changed the tutorial case so that it works without my suggested change to calcDirections:
movingCone.tbz2 Unpack using tar xjf movingCone.tbz2 3. I do not have any experience with Ubuntu Linux so cannot advise on how to install demangle.h. Henry |
|
April 25, 2007, 14:15 |
Hi Mattias!
I ran the tutor
|
#6 |
Member
|
Hi Mattias!
I ran the tutorial on my SuSE box without any trouble... are you running the 32 or 64-bit OF-version? //Eric |
|
April 26, 2007, 04:53 |
Thanks Henry,
Now movingCone
|
#7 |
New Member
Mattias Liefvendahl
Join Date: Mar 2009
Posts: 5
Rep Power: 17 |
Thanks Henry,
Now movingCone case works. Compared to 1.3, the execution is almost six times as fast! Is that because of the finite volume mesh motion solver ? Eric, I'm running the 32-bit version. /Mattias |
|
April 26, 2007, 04:59 |
Yes the finite volume mesh mot
|
#8 |
Senior Member
Join Date: Mar 2009
Posts: 854
Rep Power: 22 |
Yes the finite volume mesh motion solver is much faster. For me the difference was even larger on this case.
Henry |
|
April 26, 2007, 05:29 |
On large FSI cases using the l
|
#9 |
Member
|
On large FSI cases using the laplacian solver with quadratic inverse distance diffusivity I found the fvMotionSolver to be about two times faster then the tetDecomp version. But then again I haven't look through all the code.
Is there some useful tuning for general 3D motion with preserved BL grids? Could you give a brief explanation on the different diffusivities. Regards /Eric |
|
April 26, 2007, 05:39 |
You may get significant perfor
|
#10 |
Senior Member
Join Date: Mar 2009
Posts: 854
Rep Power: 22 |
You may get significant performance improvements on large problems by changing/tuning the solvers. The GAMG solver has a large number of parameters which if tuned carefully can give substantial benfits.
I implemented a large number of diffusivities for the fvMotionSolver but didn't have time to play with them much. It is also very easy to create new diffusivity functions for particular type of problems if the need arises. To preserve BL grids it might be useful to use a distance to the wall function to alter the diffusivity in that region. It would be very useful for all if you can play around with some of these options and let us know your findings. Henry |
|
April 26, 2007, 05:51 |
I'll do my best ;-)
|
#11 |
Member
|
I'll do my best ;-)
|
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
MovingCone tutorial and icoDyMFoam with addingremoving mesh layers | idosil | OpenFOAM Running, Solving & CFD | 30 | July 29, 2016 06:42 |
Mesh Problem with icoDyMFoam | yuhai | OpenFOAM Running, Solving & CFD | 5 | January 14, 2009 15:57 |
Problem with icoDyMFoam | olivier | OpenFOAM Running, Solving & CFD | 13 | December 19, 2008 10:03 |
Problem starting with icoDyMFoam | kassiotis | OpenFOAM Running, Solving & CFD | 1 | March 12, 2007 12:12 |
Problem with icoDyMFoam | philippose | OpenFOAM Running, Solving & CFD | 19 | March 7, 2007 13:06 |