MCNP 常见问题汇总与踩坑记录(导火索:死循环)

  • 基础错误(输入卡语法错)
    • 1 行字符限制
    • 2 制表符tab
    • 3 换行符
  • 天坑错误:运行时死循环
  • 其他错误
    • 1 材料
    • 2 几何
    • 3 F4计数卡选择mesh时
    • 4 接续运行

作为一个计算机专业的学生,做跨学科研究实在是太过于折磨人,计算机层析需要自行模拟数据,于是开始接触MCNP,隔行如隔山,再加上MCNP本身就具有挺多小坑,真的是要人命。
近日遇到MCNP正常运行陷入死循环的过程。
解决后立此文为戒共勉。

基础错误(输入卡语法错)

1 行字符限制

一行有效字符只有能80列。
但注释可以超过80列。

2 制表符tab

不能有,只能是空格。

3 换行符

只能有两个换行符,分别在栅元卡与曲面卡之间,曲面卡与类型卡之间。

天坑错误:运行时死循环

我的实验中,需要对源进行旋转和平移,其中平移分别是0~10内平移40步;旋转是从旋转360°,步长为3°,平移部分数值和旋转部分数值如下:

过程是在python中直接对其进行批量处理,然后问题来了,在源平移至高度4.625和4.875时,旋转到343°的inp文件每次运行一小时之后就开始陷入死循环,就是CPU被占用,但永远不会计算到下一个dump,曾经反复在不同机器上尝试很多次都不行,也改过inp卡里各种东西。
直到最后将源和方向的小数部分改成1位,才跑通,原先设定是5位,曾经试过3位,2位都不行。必须是1位,不知道到底是哪个数值使MCNP陷入死循环。

实坑天坑,引以为戒。

其他错误

1 材料

如果指定数据库中没有也无法运算,除非是恰巧能够让MCNP数据库自动转换,比如使用66c的数据库时我设置了.71c的材料,虽然数据库中没有.71c的材料,但在运行过程中还是会根据原子序数自动索引,但有时候是不行的,这就导致我有一次改了个粒子类型p->n,结果程序就跑不通了,后来还是在同学帮忙下才解决。建议材料还是使用原子序数+00表示自然分布。
搞错了,2022·06·22修正:
建议材料还是使用原子序数加粒子数表示表示自然分布。
有的材料可能自然分布也不行,还是要+00的。比如C和Ar

2 几何

如果我的几何没有设定错误的话:
MCNP不能处理斜着的圆柱(运算时没有异常:运算时间不变,不报错,但是整体计算结果全0),也不能处理横着的圆锥。会自动消失,没有数据。白跑。

3 F4计数卡选择mesh时

亲测:如果选择CYL坐标系,mesh的初始坐标origin的R和Z无论如何设置,其结果都会是从0开始。

4 接续运行

正常情况下,MCNP5只能暂停一次,第一次可以ctrl+c暂停之后选择q就是quit停止,则会生成自己要的out或者mesh文件。下一次想要继续运行只需要mcnp5 c r=.r o=.o mesh=.m,无须inp文件。但是这种操作只能一次,如果第二次接续运行的时候又ctrl+c选择q,则重新mcnp5 c运行的时候则会报错指针无法定位。
而MCNP还可以另一种接续运行,第一次设置粒子数运算完毕之后可以再写一个con.i文件,内容为:

continue
nps 1E9

然后通过mcnp5 c i=con.i r=.r o=.o mesh=.m运行,r和o和m自己设置文件名
文件中1E9即为你最终想要运行的粒子总数。
不知道这种接续运行是不是只能一次,我没试过。暂时没有拆分需求。
这种接续可以无数次,所以大批量处理文件时,可以选择这种方式,有意外时,损失小。

其他坑等遇到再补充……

MCNP5 粒子输运 常见问题汇总与踩坑记录(导火索:死循环)相关推荐

  1. 日常踩坑记录-汇总版

    开发踩坑记录,不定时更新 心得 RTFM 严谨的去思考问题,处理问题 严格要求自己的代码编写习惯与风格 注意 单词拼写 20200207 mybatis plus 自带insert插入异常 sql i ...

  2. 关于原神沙漠痕迹效果的踩坑记录

    --因为个人之前活动的平台缺乏有营养的可以促进双方思考与进步的评论(毕竟平台的主打内容和用户群体不同),所以思考(与自己的懒惰做斗争)过后,技术相关的文章以后还是来知乎或CSDN之类专业性比较强的平台 ...

  3. mvn exec: java_实战|Java 测试覆盖率 Jacoco插桩的不同形式总结和踩坑记录(下)

    本文为霍格沃兹测试学院优秀学员关于 Jacoco 的小结和踩坑记录.测试开发进阶学习,文末加群. 六.注意事项汇总 修改 JAVA_OPTS 参数时,如果位置不对,可能造成代理无法启动. java - ...

  4. AirSim学习和踩坑记录(不定时更新)

    版权声明:本文为博主原创文章,遵循Creative Commons - Attribution-ShareAlike 4.0 International - CC BY-SA 4.0版权协议,转载请附 ...

  5. Elasticserch 5.6到Elasticsearch7.11跨版本升级踩坑记录

    Elasticserch 5.6到Elasticsearch7.11跨版本升级踩坑记录 1.背景 公司老的业务使用的是Elasticsearch5.6版本,使用的客户端是TransportClient ...

  6. STF环境搭建运行及踩坑记录

    最初是在centos环境上搭建STF,由于种种依赖缺失.nodejs/npm版本不兼容.以及无解的"Segmentation fault (core dumped)"错误,最终还是 ...

  7. Nvidia Jetson TX2 详细刷机教程及踩坑记录(Jetpack4.5.1,python3.6,torch1.6,torchvision0.7)

    最近接触到了Nvidia Jetson TX2这块开发板,想入手测试一下自己的深度学习模型,因此和TX2的故事开始了! 前言 本人刷机多次,尝试各种大小坑: 自带系统搭建环境:刚开始不想刷机,就自己手 ...

  8. YOLOv5在无人机/遥感场景下做旋转目标检测时进行的适应性改建详解(踩坑记录)...

    作者丨略略略@知乎(已授权) 来源丨https://zhuanlan.zhihu.com/p/358441134 编辑丨极市平台 文章开头直接放上我自己的项目代码: https://github.co ...

  9. Ubuntu20/视觉SLAM十四讲踩坑记录

    Ubuntu/视觉SLAM十四讲踩坑记录 Ubuntu(20)/视觉SLAM十四讲踩坑记录: 共性问题: 1.安装OpenCV后,例程仍无法找到OpenCV文件 ch3 visualizeGeomet ...

最新文章

  1. mysql添加自团_Mysql入门基础 数据库创建篇
  2. 整理-----内置函数
  3. python访问文件下载地址_用Python脚本去获得skydrive上文件的真实地址链接 + 提供脚本下载v2012-01-18...
  4. Spring Boot————静态方法如何调用Spring容器中的Bean
  5. python程序中想使用正则表达式_如何在python中使用正则表达式提取每行中需要的信息...
  6. 第一次使用vim遇到的问题及常用方法
  7. mac 壁纸 android,Mac系统风格桌面
  8. ARCore快速入门-02导入ARCore For Unity
  9. java px pt转化_pt和px的转换
  10. VEH Hook 及 检测
  11. chrome证书错误问题
  12. Vscode的beautify插件使用
  13. matlab画条状图,使用Matlab画条形图
  14. Unity2017 经典游戏开发教程 算法分析与实现 (张帆 著)
  15. 从零开始学 Python 之基础篇
  16. openjpeg:jpeg2000(j2k)图像内存压缩编码
  17. NO.2 微信第三方平台(小程序)授权流程技术说明
  18. c语言有效的预处理命令,9、C语言之预处理命令(示例代码)
  19. 量化投资技术六大环节
  20. Python3.4图片转换素描

热门文章

  1. centos7 RPM命令安装.rpm文件操作
  2. WINDOWS XP开启telnet服务
  3. NodeJS C++ Addons基础
  4. 《Effective Modern C++》笔记
  5. 傅里叶变换性质----Leson Chap3_8-9
  6. VC++如何使用微软提供的Mshtml库解析html页面元素
  7. VC++编写USB接口通讯程序
  8. teradata安装
  9. 过一遍Java中的API
  10. 太吾绘卷第一世攻略_太吾绘卷狮相门第一世打通7剑冢攻略