andrealani/COOLFluiD

Testcase jets2DFlucSplit fails

Closed this issue · 1 comments

I followed the manual and successfully built the code with a configuration file similar to coolfluid.conf.mutationpp on both cluster and local machine. The previous one was compiled with icc+impi and the latter one was compiled with gcc+openmpi. I used ./prepare.pl --build=optim to generate build_dir for both of them. The testcase jets2DFR can be run without problem on both machine. But the testcase jets2DFlucSplit failed on the local machine. The code crashed and threw

coolfluid-solver: /home/han/coolfluid-svn/src/coolfluid/src/Framework/GeometricEntityRegister.cxx:89: COOLFluiD::CFuint COOLFluiD::Framework::GeometricEntityRegister::regist(const string&): Assertion `Environment::Factory<GeometricEntity>::getInstance().exists( providerName )' failed.

I hard-coded the file Framework/GeometricEntityRegister.cxx and let it print all the providers of GeometricEntity. For the jets2DFR case, it successfully printed all the ones defined in ShapeFunction but nothing was printed for the jets2DFlucSplit case.

If I change the command from ./prepare.pl --build=optim to ./prepare.pl --build=debug and add the following lines in the configuration file

debugprofile_cflags     = -pg -O2
debugprofile_cxxflags   = -pg -O2
debugprofile_fflags     = -pg -O2

The program won't crash but it runs slowly. I have no idea what is going wrong and hope you can help. Thank you!

I found out a solution by adding the following lines to the beginning of CMakeList.txt

SET(CMAKE_C_FLAGS "")
SET(CMAKE_CXX_FLAGS "")
SET(CMAKE_Fortran_FLAGS "")
SET(CMAKE_SHARED_LINKER_FLAGS "")