APPLICATION TERMINATED WITH THE EXIT STRING: Floating point exception (signal 8)

其实这个问题发现好久了,做一下笔记:
自己在超算上运行OpenFOAM中solver时候会碰见这种错误:
APPLICATION TERMINATED WITH THE EXIT STRING: Floating point exception (signal 8)
发现解决办法就是自己重新写一个Makefile编译一下;
具体做法为:将Make/options中项添加到Makefile的CINCLUDESCLDFLAGS中;将文件中的snappyHexMesh替换为你需要编译的文件。
具体原因可能是wmake和make所用的编译器版本不同导致的。

Makefile:
#----------------- dir of OpenFOAM----------------------
#dir where you install OF
FOAM_DIR := /opt/OpenFOAM/OpenFOAM-2.3.x
FOAM_LIB_DIR := $(FOAM_DIR)/platforms/linux64IccDPOpt/lib
FOAM_LIB_DIR2 := $(FOAM_DIR)/platforms/linux64IccDPOpt/lib/4.1.1.036

#----------------- cpp file compiler-------------------
mpidir := /opt/intel/impi/4.1.1.036
MPICC := $(mpidir)/bin64/mpicxx
CLDFLAGS := -lm -lnsl
mpiinc := $(mpidir)/include64
CINCLUDES := -I. -I$(mpiinc)
CC := $(MPICC) -fPIC 

CFLAGS := -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wnon-virtual-dtor -O3 -DNoRepository -ftemplate-depth-100 

#--------------- openFOAM include files and libs------
FOAM_SRC	:= $(FOAM_DIR)/src
FOAM_SOLVER := $(FOAM_DIR)/applications/solvers

# included head files

CINCLUDES := \
        -I$(FOAM_SRC)/OpenFOAM/lnInclude \
        -I$(FOAM_SRC)/OSspecific/POSIX/lnInclude \
        -I$(FOAM_SRC)/parallel/decompose/decompositionMethods/lnInclude \
        -I$(FOAM_SRC)/mesh/autoMesh/lnInclude \
        -I$(FOAM_SRC)/meshTools/lnInclude \
        -I$(FOAM_SRC)/fileFormats/lnInclude \
        -I$(FOAM_SRC)/triSurface/lnInclude \
        -I$(FOAM_SRC)/surfMesh/lnInclude \
        -I$(FOAM_SRC)/dynamicMesh/lnInclude \
        -I$(FOAM_SRC)/edgeMesh/lnInclude \
        -I$(FOAM_SRC)/finiteVolume/lnInclude


CLDFLAGS := -L$(FOAM_LIB_DIR) -L$(FOAM_LIB_DIR2) -L$(FOAM_USER_LIBBIN) \
    -lfiniteVolume \
    -ldecompositionMethods \
    -L$(FOAM_LIBBIN)/dummy -lptscotchDecomp \
    -lmeshTools \
    -lsurfMesh \
    -lfileFormats \
    -ldynamicMesh \
    -lautoMesh

# obj files
OBJ_CPP_FILES := snappyHexMesh.o

OBJ_FILES := $(OBJ_CPP_FILES)

# link app
LINK := $(CC) -Xlinker --add-needed -Xlinker --no-as-needed 


exec_name := snappyHexMesh

$(exec_name):$(OBJ_FILES) 
	$(LINK) -o $(exec_name) $(OBJ_FILES) $(CLDFLAGS)  $(CINCLUDES) $(CFLAGS) $(NVCCLDFLAGS)

# compile objs

snappyHexMesh.o:snappyHexMesh.C
	$(CC) -c snappyHexMesh.C -o snappyHexMesh.o $(CINCLUDES) $(CFLAGS)


clean:
	rm -f $(exec_name) $(OBJ_FILES)

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值