Negative Jacobians Leading to ERROR TERMINATION in Compiled FEBio 1.8.0.5092

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
  • jsobotka
    Junior Member
    • Mar 2014
    • 1

    Negative Jacobians Leading to ERROR TERMINATION in Compiled FEBio 1.8.0.5092

    Hello everyone,

    I'm trying to compile the source code to FEBio as the first step towards some further development. Unfortunately, I am experiencing problems with jobs run using my compiled version of the code. In the following example problems, the analysis terminates with an ERROR TERMINATION after indicating that there are negative Jacobians. Here is the full list of example problems where this occurs:

    c027, co30, ri01, ri02, ri03, ri04, ri05, and ri07.

    I have attached log files from several of these runs to the thread.

    I am using the skyline solver and removed support from paradise and superlu solvers since I don't have those on this machine. Here are my compiler options:

    /ZI /nologo- /W3 /WX- /Od /Oy- /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_CRT_SECURE_NO_WARNINGS" /D "_UNICODE" /D "UNICODE" /Gm /EHsc /RTC1 /GS /fprecise /Zc:wchar_t /Zc:forScope /Fp"Debug\FEBio.pch" /Fa"Debug\" /Fo"Debug\" /Fd"Debug\vc100.pdb" /Gd /analyze- /errorReport:queue

    and my linker options:

    /OUT:"C:\Users\jsobotka\Documents\febio\febio_sourc e_1.8.0.5092\FEBio\VS2010\FEBio\Debug\FEBio.exe" /INCREMENTAL /NOLOGO "fecored.lib" "mkl_intel_c.lib" "mkl_intel_thread.lib" "mkl_core.lib" "mkl_solver.lib" "libiomp5mt.lib" "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "comdlg32.lib" "advapi32.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "odbc32.lib" "odbccp32.lib" /MANIFEST /ManifestFile:"Debug\FEBio.exe.intermediate.manifes t" /ALLOWISOLATION /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"C:\Users\jsobotka\Documents\febio\febio_sourc e_1.8.0.5092\FEBio\VS2010\FEBio\Debug\FEBio.pdb" /SUBSYSTEM:CONSOLE /PGD:"C:\Users\jsobotka\Documents\febio\febio_sourc e_1.8.0.5092\FEBio\VS2010\FEBio\Debug\FEBio.pgd" /TLBID:1 /DYNAMICBASE /NXCOMPAT /MACHINE:X86 /ERRORREPORT:QUEUE

    I am basing the build off the VS2010 solution that ships with the source code.

    Please let me know if you have any additional questions. This is really strange, and I cannot determine what's going on. Any advice would be greatly appreciated.
    Attached Files
  • dsrawlins
    Developer
    • Dec 2008
    • 366

    #2
    Hi James,

    I wasn't able to reproduce these errors when compiling with the MKL Pardiso and then using the Skyline solver, but I was able to reproduce them when only compiling with the Skyline solver. Thanks for bringing this to our attention - I'll see if I can't track down the bug.

    Best,

    Dave
    Department of Bioengineering, University of Utah
    Scientific Computing and Imaging institute, University of Utah

    Comment

    • dsrawlins
      Developer
      • Dec 2008
      • 366

      #3
      James,

      Note that I would highly recommend using the PARDIO linear solver either in the Intel MKL or from www.pardiso-project.org.

      Cheers,

      Dave
      Department of Bioengineering, University of Utah
      Scientific Computing and Imaging institute, University of Utah

      Comment

      • dsrawlins
        Developer
        • Dec 2008
        • 366

        #4
        Update: This seems to be a problem between the debug and release configurations in Visual Studio. I haven't found the bug yet, but you should be able to run successfully by compiling with the release version.

        Cheers,

        Dave
        Department of Bioengineering, University of Utah
        Scientific Computing and Imaging institute, University of Utah

        Comment

        • dsrawlins
          Developer
          • Dec 2008
          • 366

          #5
          Hi James,

          Comment out the following code in SkylineMatrix.h:

          #ifdef _DEBUG
          if (j<i) { j ^= i; i ^= j; j ^= i; }
          int l = m_ppointers[j+1] - m_ppointers[j];
          assert(j-i<l);
          #endif // _DEBUG

          This will be fixed in the next source code release.

          Cheers,

          Dave
          Department of Bioengineering, University of Utah
          Scientific Computing and Imaging institute, University of Utah

          Comment

          Working...
          X