尝试在 OpenFOAM 9 中创建求解器时出现环境变量错误
Environment variable error while trying to create a solver in OpenFOAM 9
我正在尝试使用 sudo foamNewSource App newSolver
在我的 /opt/OpenFOAM/OpenFOAM-9/applications/solvers/electromagnetics
目录中创建求解器。但是,我不断收到以下错误:
foamNewSource: Creating new interface file newSolver.C
wmakeFilesAndOptions error: environment variable $WM_OPTIONS not set
然后,虽然我可以看到 newSolver.C
文件,但我看不到 Make
目录,也看不到其他文件。
我是 运行 EndeavourOS Linux x86_64,内核为 5.15.6-arch2-1 和 shell bash 5.1.12。我从 AUR
安装了 openfoam-org
包,为了设置它,我的 .bashrc
配置文件中包含以下内容:
source /opt/OpenFOAM/OpenFOAM-9/etc/bashrc
起初,当我执行 env | grep WM
时,我在系统中找不到 WM_OPTIONS
。所以,在谷歌搜索了一下之后,我将这个添加到我的 .bashrc 文件中:
source /opt/OpenFOAM/OpenFOAM-9/etc/bashrc
export WM_OPTIONS=linux64GccDPOpt
现在,env | grep WM
我得到:
WM_COMPILER=Gcc
WM_PRECISION_OPTION=DP
WM_PROJECT_USER_DIR=/home/username/OpenFOAM/username-9
WM_MPLIB=SYSTEMOPENMPI
WM_OPTIONS=linux64GccDPOpt
WM_ARCH=linux64
WM_LABEL_SIZE=32
WM_PROJECT=OpenFOAM
WM_THIRD_PARTY_DIR=/opt/OpenFOAM/ThirdParty-9
WM_LABEL_OPTION=Int32
WM_CC=gcc
WM_CFLAGS=-m64 -fPIC
WM_LINK_LANGUAGE=c++
WM_OSTYPE=POSIX
WM_PROJECT_VERSION=9
WM_DIR=/opt/OpenFOAM/OpenFOAM-9/wmake
WM_ARCH_OPTION=64
WM_CXXFLAGS=-m64 -fPIC -std=c++0x
WM_PROJECT_INST_DIR=/opt/OpenFOAM
WM_LDFLAGS=-m64
WM_CXX=g++
WM_COMPILE_OPTION=Opt
WM_PROJECT_DIR=/opt/OpenFOAM/OpenFOAM-9
WM_COMPILER_TYPE=system
WM_COMPILER_LIB_ARCH=64
现在我可以看到 WM_OPTIONS
环境变量(就在 WM_ARCH=linux64
之上和 WM_MPLIB=SYSTEMOPENMPI
下面),但我仍然得到相同的 wmakeFilesAndOptions
错误。
我不知道我搞砸了什么配置,所以非常感谢您的帮助!
谢谢!
在这种情况下使用 sudo 不是一个好主意,而是 运行 您主目录中的脚本:
mkdir -p $FOAM_RUN
cd $FOAM_RUN
foamNewSource App newSolver
对于WM_OPTIONS
环境变量,不要手动设置,而是使用:
export WM_OPTIONS=$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_LABEL_OPTION$WM_COMPILE_OPTION
我正在尝试使用 sudo foamNewSource App newSolver
在我的 /opt/OpenFOAM/OpenFOAM-9/applications/solvers/electromagnetics
目录中创建求解器。但是,我不断收到以下错误:
foamNewSource: Creating new interface file newSolver.C
wmakeFilesAndOptions error: environment variable $WM_OPTIONS not set
然后,虽然我可以看到 newSolver.C
文件,但我看不到 Make
目录,也看不到其他文件。
我是 运行 EndeavourOS Linux x86_64,内核为 5.15.6-arch2-1 和 shell bash 5.1.12。我从 AUR
安装了 openfoam-org
包,为了设置它,我的 .bashrc
配置文件中包含以下内容:
source /opt/OpenFOAM/OpenFOAM-9/etc/bashrc
起初,当我执行 env | grep WM
时,我在系统中找不到 WM_OPTIONS
。所以,在谷歌搜索了一下之后,我将这个添加到我的 .bashrc 文件中:
source /opt/OpenFOAM/OpenFOAM-9/etc/bashrc
export WM_OPTIONS=linux64GccDPOpt
现在,env | grep WM
我得到:
WM_COMPILER=Gcc
WM_PRECISION_OPTION=DP
WM_PROJECT_USER_DIR=/home/username/OpenFOAM/username-9
WM_MPLIB=SYSTEMOPENMPI
WM_OPTIONS=linux64GccDPOpt
WM_ARCH=linux64
WM_LABEL_SIZE=32
WM_PROJECT=OpenFOAM
WM_THIRD_PARTY_DIR=/opt/OpenFOAM/ThirdParty-9
WM_LABEL_OPTION=Int32
WM_CC=gcc
WM_CFLAGS=-m64 -fPIC
WM_LINK_LANGUAGE=c++
WM_OSTYPE=POSIX
WM_PROJECT_VERSION=9
WM_DIR=/opt/OpenFOAM/OpenFOAM-9/wmake
WM_ARCH_OPTION=64
WM_CXXFLAGS=-m64 -fPIC -std=c++0x
WM_PROJECT_INST_DIR=/opt/OpenFOAM
WM_LDFLAGS=-m64
WM_CXX=g++
WM_COMPILE_OPTION=Opt
WM_PROJECT_DIR=/opt/OpenFOAM/OpenFOAM-9
WM_COMPILER_TYPE=system
WM_COMPILER_LIB_ARCH=64
现在我可以看到 WM_OPTIONS
环境变量(就在 WM_ARCH=linux64
之上和 WM_MPLIB=SYSTEMOPENMPI
下面),但我仍然得到相同的 wmakeFilesAndOptions
错误。
我不知道我搞砸了什么配置,所以非常感谢您的帮助!
谢谢!
在这种情况下使用 sudo 不是一个好主意,而是 运行 您主目录中的脚本:
mkdir -p $FOAM_RUN
cd $FOAM_RUN
foamNewSource App newSolver
对于WM_OPTIONS
环境变量,不要手动设置,而是使用:
export WM_OPTIONS=$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_LABEL_OPTION$WM_COMPILE_OPTION