Menu

#296 plateHole case in solidMechanics/elasticSolidFoam fails checkMesh in Opt but runs in Debug

new
nobody
urgent
crash
HaveNotTried
minor-fix
ac4abdc
Bug
MAC
10.10
other
2015-12-01
2015-11-10
No

Hi,
The plateHole case in solidMechanics/elasticSolidFoam gives a floating point error when I try to run the case. The mesh looks okay in paraview. However, when I run checkMesh on the mesh, it gives the same Floating Point Error.
These errors go away in debug mode and the case runs fine.
This also happens in the slidingFrictionBall case in the same elasticSolidFoam solver.
I pulled the latest version of the master branch and compiled it to test this out again but to no avail.
Please help.
Thank you.
Ripu

Discussion

  • Ripudaman Manchanda

    I dug deeper and found that the error occurs in the creation of the mesh object in createNamePolyMesh.H (lines 21-30)

    Foam::polyMesh mesh
        (
            Foam::IOobject
            (
                regionName,
                runTime.timeName(),
                runTime,
                Foam::IOobject::MUST_READ
            )
        );
    

    This part of the code is the same as the code in fe31. Thus I believe the numerous changes made in polyMesh are the root of the problem. I compared the fe31 polyMesh and the fe32 polyMesh directories but I was very quickly overwhelmed. However, I noticed that the constructor declaration and definition both had no changes.

    I need help with this.

    Also, is there any other way of getting an error stack for this? Since the code runs fine in Debug mode... I do not know how to proceed and get the source of the error.

    Thank you.
    Ripu

     
  • Ripudaman Manchanda

    So this actually seems like a problem inherent to the Mac OS. It occurs both in Yosemite (10.10) as well as El Capitan (10.11). The plateHole case does work in Win 7 and Ubuntu 14.04.

    Here are my Mac etc/bashrc file changes:

    # Compiler: set to Gcc or Icc (for Intel's icc)
    # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    : ${WM_COMPILER:=Gcc46}; export WM_COMPILER
    # : ${WM_COMPILER:=Gcc}; export WM_COMPILER
    #: ${WM_COMPILER:=Icc}; export WM_COMPILER
    
    # WM_MPLIB = SYSTEMOPENMPI | OPENMPI | MPICH | MPICH-GM | HPMPI | GAMMA | MPI | QSMPI | MVAPICH2
    : ${WM_MPLIB:=MACPORTOPENMPI}; export WM_MPLIB
    # : ${WM_MPLIB:=OPENMPI}; export WM_MPLIB
    

    Kindly point out any issues that you may feel are causing the strange behavior with the mesh.

     
  • Ripudaman Manchanda

    I was able to solve the issue by changing the GCC version

    GCC48 on pre ElCapitan and GCC49 on ElCapitan

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.