有人在mac上装of么?
-
@shrine
我的页面和你有点不太一样,见我的图片。
你是homebrew那条命令安装的吗?我人在国外,不知道是不是有些必要的东西被墙了,导致你安装过程出了问题。
安装好后,按照github链接里的说明,在终端输入“openfoam2206”(见我的第二行命令),这样就算是进入openfoam的环境里了,可以在算例的文件夹下输入各种openfoam指令了。我试过自定义的solver的编译和并行计算,都没有问题。
我是M1芯片ARM架构的,导致虚拟机Linux安装open foam也失败,所以才选了这个app版本。如果是英特尔的芯片,不妨尝试UTM装Linux,这样学习openfoam可以更好地过渡到超算上。 -
cp命令拷贝tutorial到安装文件夹以外学习openfoam不是通用的方法吗,Linux上也这么用啊,为啥不优雅。我只做过编译的练习发现这个openfoam的包是可以顺利编译自己的solver的(我的架构是arm64)。有可能还是你的脚本存在一些bug。
-
@一颗鸭蛋 默认情况下,你编译求解器生成的可执行文件会保存到
$FOAM_APPBIN
,比如我的默认在<上级文件夹>/OpenFOAM-v2206/platforms/darwinARM64ClangDPInt32Opt/bin
,但是这个App的加载磁盘是只读的,所以会报错。解决方案有两个:
- 修改在
Make/files
中你的求解器保存路径
EXE = $(FOAM_APPBIN)/xxxFoam -> EXE = <新路径>/xxxFoam
然后在环境变量中为$FOAM_APPBIN附加这个路径,以便让OpenFOAM在执行时能搜索到这个文件
export $FOAM_APPBIN=<新路径>:$FOAM_APPBIN
- 创建一个可读写的分区,直接编译安装。参考 https://github.com/BrushXue/OpenFOAM-AppleM1。
- 修改在
-
@李东岳 macOS官方的C++编译器是Clang,和GCC有一些差异。然后现在苹果产品全线基本都转到基于ARM64架构的Apple Silicon处理器了,导致编译参数和Intel/AMD这些x86/x64的CPU不太一样。
比如有个大坑就是基于苹果M1/M2处理器的Clang无法用传统方法自动捕获浮点异常(https://developer.apple.com/forums/thread/689159),编译OpenFOAM的时候要去掉对应参数,不然会冒出来一大堆警告。
-
@田畔的风 在 有人在mac上装of么? 中说:
@一颗鸭蛋 默认情况下,你编译求解器生成的可执行文件会保存到
$FOAM_APPBIN
,比如我的默认在<上级文件夹>/OpenFOAM-v2206/platforms/darwinARM64ClangDPInt32Opt/bin
,但是这个App的加载磁盘是只读的,所以会报错。解决方案有两个:
- 修改在
Make/files
中你的求解器保存路径
EXE = $(FOAM_APPBIN)/xxxFoam -> EXE = <新路径>/xxxFoam
然后在环境变量中为$FOAM_APPBIN附加这个路径,以便让OpenFOAM在执行时能搜索到这个文件
export $FOAM_APPBIN=<新路径>:$FOAM_APPBIN
- 创建一个可读写的分区,直接编译安装。参考 https://github.com/BrushXue/OpenFOAM-AppleM1。
您的意思是把openfoam安装到创建的可读写分区吗?我用的也是M1的Mac,现在想在Mac上编译自己修改的求解器,大佬能不能给点详细的指导?谢谢🙏
- 修改在
27/30