楼主为什么会在Windows的C盘下面啊? 看你截图感觉是权限不够的问题??? 建议你把算例文件夹整个复制到$FOAM_RUN
路径下面,然后再次运行求解器.
讲师
帖子
-
openfoam计算停止但无明显error报错 -
preCICE软件在CentOS7超算集群上无root权限从源码编译安装记录贴@Amadeus 在 preCICE软件在CentOS7超算集群上无root权限从源码编译安装记录贴 中说:
但是如果碰到了如下和_MT相关的错误
此处错误的原因在于spooles库编译时没有开启多线程(Multi-Thread),如果你的calculix-preCICE不需要启用多线程,那么就无需往下看了.
spooles多线程编译
@Amadeus 在 preCICE软件在CentOS7超算集群上无root权限从源码编译安装记录贴 中说:
spooles可以按照指南编译
按照preCICE官方给出的指南是默认没有打开spooles库的多线程编译选项的.
因此在make lib之后,需要进入 spooles库所在路径/spooles.2.2/MT/src 中,然后执行make makeLib
注意大小写敏感. 然后就会把多线程支持库合并编译进之前生成的spooles.a文件.
最后回到calculix-adapter文件夹,make clean清理之前生成的文件,把
makefile
文件第55行的CFLAGS改回来即可CFLAGS = -Wall -O3 -fopenmp $(INCLUDES) -DARCH="Linux" -DSPOOLES -DARPACK -DMATRIXSTORAGE -DUSE_MT
最后 make -j 重新编译
-
preCICE软件在CentOS7超算集群上无root权限从源码编译安装记录贴安装完成preCICE之后,继续编译安装calculix-preCICE-adapter.
编译依赖项
根据官网指南编译SPOOLES2.2, ARPACK和yaml-cpp.
spooles可以按照指南编译,但是在
make.inc
文件中需要修改第106行左右的MPI_INSTALL_DIR = mpi/安装/路径
在编译安装arpack96时,由于PETSc库是在preCICE安装时的依赖项,而PETSc安装时自动安装了BLAS和LAPACK,因此除了指南里面的要求之外,还需要修改
ARmake.inc
文件中第60行左右的LAPACKLIB = PETSc库的安装路径/petsc-3.22.2/arch-linux-c-debug/externalpackages/f2cblaslapack-3.8.0.q2/libf2clapack.a BLASLIB = PETSc库的安装路径/petsc-3.22.2/arch-linux-c-debug/externalpackages/f2cblaslapack-3.8.0.q2/libf2cblas.
yaml-cpp在集群中的安装有点坑,首选是查看自己的集群中是否已经安装好了. 次选才是自己从源码编译安装,因为在编译时必须注意集群中的默认gcc版本,例如CentOS7自带的gcc-4.8.5就坑了我好一会儿....
根据指南走,在进入build文件夹之后,cmake命令修改为
CC=$(which gcc) CXX=$(which g++) cmake -DBUILD_SHARED_LIBS=ON ..
以此指定为自己OpenFOAM和preCICE常用的编译器.
不然可能在编译calculix-adapter时出现如下错误
mpifort -fopenmp -Wall -O3 -o bin/ccx_preCICE bin/ccx_2.20.o bin/ccx_2.20.a /beegfs/home/20144242/software/Calculix/dependencies/SPOOLES.2.2/spooles.a -L/beegfs/home/20144242/app/precice/lib64 -lprecice -lstdc++ -L/beegfs/home/20144242/software/Calculix/dependencies/yaml-cpp-yaml-cpp-0.6.2/build -lyaml-cpp /beegfs/home/20144242/software/Calculix/dependencies/ARPACK/libarpack_INTEL.a -lpthread -lm -lc /usr/bin/ld: warning: libgfortran.so.3, needed by /beegfs/software/openmpi-403/lib/libmpi_usempi.so, may conflict with libgfortran.so.5 /usr/bin/ld: warning: libgfortran.so.3, needed by /beegfs/software/openmpi-403/lib/libmpi_usempi.so, may conflict with libgfortran.so.5 bin/ccx_2.20.a(ConfigReader.o): In function `ConfigReader_Read': ConfigReader.cpp:(.text+0x84): undefined reference to `YAML::LoadFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' bin/ccx_2.20.a(ConfigReader.o): In function `YAML::detail::node_ref::set_scalar(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)': ConfigReader.cpp:(.text._ZN4YAML6detail8node_ref10set_scalarERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN4YAML6detail8node_ref10set_scalarERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x2a): undefined reference to `YAML::detail::node_data::set_scalar(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' bin/ccx_2.20.a(ConfigReader.o): In function `YAML::Node::Scalar[abi:cxx11]() const': ConfigReader.cpp:(.text._ZNK4YAML4Node6ScalarB5cxx11Ev[_ZNK4YAML4Node6ScalarB5cxx11Ev]+0x64): undefined reference to `YAML::detail::node_data::empty_scalar[abi:cxx11]' collect2: error: ld returned 1 exit status make: *** [bin/ccx_preCICE] Error 1
编译calculix-adapter
在依赖项编译完成后,根据指南修改
makefile
文件,最后编译即可.但是如果碰到了如下和
_MT
相关的错误bin/ccx_2.19.a(spooles.o): In function `factor_MT': spooles.c:(.text+0x58b): undefined reference to `FrontMtx_MT_factorInpMtx' bin/ccx_2.19.a(spooles.o): In functio [Makefile.txt|attachment](upload://hTRrap8IGPDYBU68AlxhityA5RU.txt) (3.7 KB) n `fsolve_MT': spooles.c:(.text+0x716): undefined reference to `FrontMtx_MT_solve' collect2: error: ld returned 1 exit status make: *** [Makefile:107: bin/ccx_preCICE] Error 1
则需要删除makefile文件中第55行左右的
-DUSE_MT
标志,把CFLAGS修改为CFLAGS = -Wall -O3 -fopenmp $(INCLUDES) -DARCH="Linux" -DSPOOLES -DARPACK -DMATRIXSTORAGE
然后再次编译即可.
-
如何开始学习OpenFOAM,有大佬指导指导嘛@initial2025 楼主有兴趣一起团报三月LCO吗.... 我这边有几个人想组团
-
虚拟机 VMware安装问题@ansel 不需要让VMware找到wsl啊,可以把wsl理解成一个没有GUI的虚拟机,它可以用物理机的全部CPU资源(虽然读写性能会弱一点),但是VMware是一个有GUI的虚拟机,它只能用你允许范围内的CPU/内存资源. 这两者是相互独立且互不影响的....
-
虚拟机 VMware安装问题要正儿八经计算的话,虚拟机不如wsl不如物理机,因此建议装真实系统
-
东岳流体的虚拟机能否转为ISO镜像安装在物理机上?@Amadeus 在 东岳流体的虚拟机能否转为ISO镜像安装在物理机上? 中说:
找不到我设备中的NVME硬盘
已经解决systemback找不到NVME硬盘的问题, 新的镜像上传至百度云
@Amadeus 在 东岳流体的虚拟机能否转为ISO镜像安装在物理机上? 中说:
ventoy启动后选择我们的镜像并回车.
此步骤在回车选择我们的镜像后,会出现四个选项:
- 正常模式启动(选这个可能会出现上文所述黑框框卡住不动的情况)
- grub2模式启动(选这个)
- 计算校验值(checksum,不用管)
- 回到上个菜单
我们选择第二个选项回车,此时应该就不会有乱码了. 后面的步骤就都一样了.
-
为什么计算过程中动量方程U不收敛?流固耦合问题你的固体是有限元法计算吗? 用什么软件和OpenFOAM配合呢? 是不是考虑流固界面上插值计算导致的速度场难以收敛?
-
东岳流体的虚拟机能否转为ISO镜像安装在物理机上?@李东岳 能造福大家就很高兴哈哈哈
-
有谁对OpenFOAM+GPU感兴趣么?@尚善若水 在 有谁对OpenFOAM+GPU感兴趣么? 中说:
deepflame好像也在做GPU
24年6月北京OpenFOAM Workshop的时候就听陈炽教授介绍了deepflame,确实是在加入深度学习和GPU
确实org这边用上GPU可能很难了,毕竟ESI那边更有钱?