VB虚拟机中ubuntu Linux系统安装使用MCNP5

简述(废话)

对linux基本上一无所知,近期任务需要在linux中运行MCNP5,老师给了个tar.gz包,linux解压之后发现没有configure,只在source里面有一个install和makefile,没法配置configure,也没法直接make,make的话会报错,所以逮着makefile一顿查改。但其实跟他没关系,所以知识学了不少(十几个小时的闷头直撞呢,毕竟我对linux也是一无所知),但问题一点没解决。

没有configure的tar.gz安装包一般都是可以直接用的,也就是常说的绿色包。一开始我也有怀疑过是绿色包,所以尝试着直接找到运行文件,但是当我找到bin/linux/mcnp5的时候,运行还是会报错,我还专门复制了一个原先在win运行过的inp,提示没有xsdir,那既然找不到xsdir,而我又恰巧见过他, 于是找到了xsdir复制到此处,但还是报错:提示datapath问题。
于是我在整个包里面grep -rn "DATAPATH“,改了所有的地方(但其实与这个无关哈),最后发现mcnp是二进制文件,里面的DAPAPATH没法改,就重新认为是安装的问题了。因为在此之前,我也试着把win的MCNPdata也给转移到linux了,只是苦于找不到地方修改datapath。而且我也把xsdir复制到了那个地方,所以是真的没有办法,最终在source里冲撞了十几个小时也是一无所获。

最后实在是没有办法,过了一夜之后,忽然就想起先前在SuperMC里看到的那个设置路径,于是在xsdir的第一行里面加了一个

DATAPATH="这是放DATAPATH在linux里的路径"

再一运行,反倒成了!!!真的是,无语至极。当场气哭,半天说不出话。
这要不是先前摸索的时候看到过这个,真的就是搞不清楚还有理说不清了。

续更-----------------------------------------2021·10·12----------------------------------------------
由于接下来还会安装一个新系统直接运行在本机上,所以接下来的详情会很负责。

详情(自己在虚拟机上摸索的曲线救国,不官方,请跳过)

首先要拿到带有linux运行环境的mcnp的tar.gz包,直接想办法弄到linux里面去。注意这种不带界面的tar包一般都是绿色的,基本上也没有configure,也就是说其实也不属于源码安装。linux安装一般就三种方式,一种是源码安装(tar包),第二种是rpm安装(rpm包)【redhat Linux系统提供的一种包封装方式,centos主要就是用这个和yum】,第三种是dpkg包,【Debain Linux系统提供】。当然ubuntu里面也有类似的apt安装,而且其实也可以用dpkg,说到底就是安装包的前端管理器,看个人爱好吧。不过多解释,具体可参照下面这篇文章:
linux安装三种方式-博客园
回归正题:
这里MCNP只是简简单单一个tar包,解压

tar zxvf mcnp5_dist-H.tgz -C 目标路径

之后不需要像其他源码那样configure,make&make install。因为他本身就是集成好的,也可能我不知道怎么弄。反正我是直接到bin里面再进入linux,看到mcnp5这些可执行文件就是直接可以用的,自己根据自己的系统选择,64位linux就是mcnp5_x86_64,后面加omp的就是多线程模式,自己选择,也可以给他们改名字。
在这里插入图片描述
这里如果直接用的话还是会报错的,说datapath找不到。
在这里插入图片描述
所以我把xsdir复制进来了。并且在第一行加入了我的MCNPDATA的路径,如下图,灵感来源于SuperMC,这是我的windows里面安装的MCNPDATA我直接给挪进来了。
在这里插入图片描述
毕竟我不知道怎么修改那个 searched directories,这个应该是安装的问题,我没法安装,所以我只能按照人家的来,我尝试过在整个mcnp包里面去搜索:grep -rn "DATAPATH" *,但其实,改了所有的都没用,因为mcnp5那个运行文件里面是有一个的,但是它是二进制文件,所以改不了,我猜想是make的时候编译的问题,但是我又没自己make和install,所以没法了。我用两种方法解决这个问题:
① 要么就如上述那样,随时随地带着xsdir走(在每个运行mcnp的地方都要有开头是DATAPATH=‘’的xsdir)。
② 要么就把MCNPDATA复制到人家说的那个文件夹下面去。比如我这里就把MCNPDATA复制到了他说的那个/usr/projects/data/nuclear/mc/type1地方。
还是推荐第二种方法的, 毕竟谁特么天天带着xsdir走啊,太愚笨了。
就好像我不能每次运行mcnp都把mcnp5的执行文件的路径都带上吧,所以我设置了一个环境变量hhh,环境变量的设置参照:linux环境变量设置的四种
这样就可以很简洁地每次在任何地方都可以直接mcnp5 i=0.i
到此就告一段落了,牛批!
不过我想我在windows里的代码到了linux应该还是要改一部分的,但好在万变不离其宗!

每日一加油,只要我不放弃,困难就干不掉我,如果我放弃了,那就睡一觉再战hhh。毕竟有时候困难太过分对不,是可忍孰不可忍,忍无可忍,从头再忍。

=2021·10·21续更=
转到超算的云服务器的时候就没法手动设置环境变量,找老师寻求帮助,但老师当时也没有解决问题,说让我别管了,他帮我给云算装上,好家伙,我愣是没有偷学到,后来也不好意思问老师要,根据记忆自己摸索一手。

官方详情(问老师要的教程,用在云算上了)

=2021·11·17续更=
事实证明:不要自己摸索,有些东西不是自己能想到的。
经某同学询问,遂鼓起勇气找老师要教程,结果发现还挺简单hh
在这里插入图片描述

1 事前准备:

1、创建mcnp和mcnpdata文件夹并放入

首先找个地方(自己创建文件夹)放你的mcnp和mcnpdata,这里老师放置的位置如图:
在这里插入图片描述
后面需要这些路径。
你需要一些准备:首先你要有linux版本的mcnp安装包对不对(没有问我要),还要有mcnpdata的数据库对不对(没有问我要)。
分别解压到mcnp和mcnpdata。

2、执行./install安装

解压了mcnp就到Source里面去找install,部分文件不一样不要担心,因为我这个是安装过的,所以多了answer等,在此路径下./install如上图。
(install进去之后就会产生一个answer.linux,有了这个文件之后你就没法再./install了,如果你install但是没配置完,想第二次进去,就把answer.linux删了就行)。
删除之后进入是这样的:
在这里插入图片描述

2 配置安装文件,生成makefile

然后根据教程分别修改几项。(每个命令后面enter,这个总知道吧)

1、关闭绘图

如果你用不到绘图,就把第一项给关了。步骤是:
命令1进入之后再来个1就给绘图关掉了,on会变成off。然后x退出。

2、修改截面库路径

要修改你的数据库(截面库)路径,你刚才给mcnpdata放哪里了,现在就给修改成啥样,步骤:
命令2进入之后再来个1就可以修改路径,输入你mcnpdata的绝对路径。
不知道的话就再开一个终端到mcnpdata目录下,pwd得到绝对路径:
在这里插入图片描述
复制之后粘贴到刚才的那个终端,粘贴你刚才复制的路径回车即可修改:
在这里插入图片描述
然后x退出去。

3、修改多线程选项为mpi

步骤:
命令3进入,命令1修改。最终是这样的:
在这里插入图片描述路径是你自己的路径。
命令x退出

4、修改编译器选项

步骤:
命令4进入,命令1修改,输入4次就改成gfortran了,输入的时候就能看到了,最终是这样的:
在这里插入图片描述
路径是你自己系统的路径。
然后x退出。

5、生成makefile文件

输入M生成makefile
在这里插入图片描述

3 编译、添加环境变量、测试

1.编译

answer.linux文件备份与否应该无所谓,可以按照教程备份一下。
编译:make build config='mpi编译
我的已经好了,避免搞的不能用,我就不试了,反正到最后会产生一个mcnp5.mpi执行文件,届时,mcnp5.mpi就可以直接使用了,但是还必须在刚才产生mpi的src目录下才能使用,为了方便,要添加环境变量。
在这里插入图片描述

2.添加环境变量

cd ~
vi .bashrc

在这里插入图片描述
不会用vim的自己百度用法(i插入,修改完之后esc:wq保存退出)

source .bashrc

路径都要换成你自己刚才放置mcnp和mcnpdata的路径。

3.测试

which mcnp5.mpi

在这里插入图片描述
OK了,自己找个顺眼的地方创建自己的工作区,在里面放上你的inp卡(假如是0.i),然后

mcnp5.mpi i=0.i

可以看到mcnp已经在执行了。

  • 14
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 76
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值