0

有一个小问题,你可以帮助我。在我们的新集群上,我们使用 LMod 作为环境模块系统。

为 OpenFOAM 创建模块 TCL 脚本,需要加载系统相关的 bashrc 文件。

这是我在另一个模块系统上使用的 TCL 脚本,它工作正常。我无法在 Lmod 中执行“源”命令行,我在这里缺少什么?

    #%Module1.0#####################################################################
##
## modules software/openfoam_v1812
##
## /opt/software/openfoam/openfoamv1812/OpenFOAM-v1812

proc ModulesHelp { } {
        global version modroot

        puts stderr "software/OpenFOAM-v1812 - sets the Environment for OpenFOAM-v1812 (openfoam.com)"
}

module-whatis   "Sets the environment for using OpenFOAM-v1812"

# for Tcl script use only

set     VERSION         v1812
set     OpenFOAM_PATH    /opt/software/openfoam/openfoam${VERSION}/OpenFOAM-${VERSION}
set     FOAM_INST_DIR    /opt/software/openfoam/openfoam${VERSION}

puts stdout "source /opt/software/openfoam/openfoam${VERSION}/OpenFOAM-${VERSION}/etc/bashrc;"
4

1 回答 1

1

我不是专家,但我最近遇到了一个类似的问题,在我的例子中是在模型中激活 Anaconda Python。就我而言,解决方案是在 LMod 中使用“执行”命令

https://lmod.readthedocs.io/en/latest/050_lua_modulefiles.html

其中有文档:

execute {cmd=”<any command>”,modeA={“load”}}

以某种模式运行任何命令。例如执行 {cmd=”ulimit -s unlimited”,modeA={“load”}} 将运行命令 ulimit -s unlimited 作为加载模块的最后一件事。

希望这可以帮助

于 2019-10-23T11:27:55.867 回答