win10下基于wsl-Ubuntu 的LAMMPS超便捷安装
前言
本文为学习过程中第一次进行总结和编撰,诸多问题详略不当还望谅解。如此拙见,若有幸相助,那必是荣幸之至。
简介
本次安装是基于Manual,使用win10下Ubuntu子系统中,apt应用商店的扩展软件源进行的一键式安装。其原因如下:
- Win10是主系统,日常的文件处理等均在Win10进行。友好的图形界面常用的办公软件等。(槽点)
- Win10的WSL支持十分良心,且与linux子系统的文件交互十分方便。
(本地磁盘挂靠在/mnt/下,linux的rootfs在本地有物理地址。)- lammps自主编译安装(make),需求前期的各种环境和软件包支持,安装过程需定义环境变量,同时又是较为陌生的Linux系统下的操作。故使用 Anton Gladky大佬的Ubuntu package是新手安装的最佳选择。
- 子系统的操作和Terminal均与远程连接服务器类似,是个良好的过渡选择。
PS:后期必然要换回自主编译安装,因为需要根据需求不同使用自定义的lammps功能模块。这里只是推荐前期学习使用
(从工作量来看,实际使用必定在超算或者学校的集群上进行,个人电脑就是学习用的)
目录
Win10子系统安装
- 系统要求:win10 build 16215及以上
- 先打开Linux子系统的支持(如下图)
控制面板->程序和功能->启用或关闭Windows功能->勾选 适用于Linux的Windows子系统 - 获取linux的安装包
较为熟悉可以去各大Linux门户网站自行下载支持,这里推荐直接Win10 store获取。(PS:Microsoft Store 还是蛮厉害的,颇有MAC的味道,只是windos应用商城的概念并未被广泛用户接受。毕竟用软件网站的.exe太根深蒂固了)
在Microsoft Store搜索Ubuntu,直接下载安装即可。 - 安装Ubuntu
上一步仅仅是把安装程序安装好了,在开始菜单找到Ubuntu的图标,进入Terminal。
按照窗口中的提示安装,并进行用户名和ROOT密码的设置。
(额,一般英语水平应该可以看得懂 yes,no,next,print password。莫慌Linux下的英语均为日用蛮简单的)
至此,子系统Ubuntu就安装完成了,Terminal将会成为学习的主阵地。
Lammps在apt的一键式安装
- 换源和更新应用
原来的软件源为外链,下载龟速。这里使用的清华源,同样还有阿里源等。# 对系统给的镜像源进行备份,以防出问题 sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup # 删除镜像源文件 sudo rm /etc/apt/sources.list # 重新建立镜像源文件并编辑 sudo nano /etc/apt/sources.list
此时使用nano编辑软件,创建并打开了sources.list文件。(可以初步了解 linux的命令方式)
复制上面链接的源地址,在Terminal中鼠标右键粘贴(省心的操作)
ctrl + O 保存并退出。 -
执行apt更新
#执行apt list的更新 sudo apt-get update #安装 更新 sudo apt-get upgrade
这里就完成了Ubuntu的基础配置。
与下一步之间其实需要对Linux的文件结构,文件属性,基础命令,lammps操作有一定的了解。
也可以先按步骤进行安装,然后再做熟悉。相信你会逐渐理解每一行命令的做用。 - 添加lammps软件源personal-package archive (PPA)
sudo add-apt-repository ppa:gladky-anton/lammps sudo apt-get update
这里添加了一个新的个人软件源(Anton Gladky),下载速度一般没问题。出现断线可以换个时间段。
-
安装lammps-daily
sudo apt-get install lammps-daily-doc
这里会提示一大串的相关软件包的安装,直接Y,确定都安装上。这就是避免了一堆前置软件的手动安装。
这也使得学习后期转向自主编译lammps极为方便,因为所有需要的前置环境均已安装
注:此时安装的lammps-daily,是基于如下命令完成的自动编译(auto-make)安装。
$ make yes-all
$ make no-lib
$ make mpi这里看不懂没关系,当你熟悉之后,开始自主编译安装lammps时便会理解。
环境设置和运行实例测试
0.这里的lammps-daily已经实现编译,并将可执行文件放入/user/local/bin/。
这意味着,可以直接在Terminal调用lmp,而不需要建立软连接或者定义路径变量。
- 设置多线程运行环境
直接在命令行输入
这也是日常使用lammps的启动命令。lmp_daily
其中的一行信息显示 OpenMP 未设置,这里为在单一计算机的多线程优化,这会提高个人电脑使用lammps的运行速度。
可以设置如下sudo vim .bashrc
Vim的获取和使用可以自行百度,这里不做赘述。
这里仅需要在文档最后使用 insert 添加一行:
这里的 4 指的是线程数,请根据个人电脑的线程数进行修改。一般intel多核cpu均可双线程,即线程总数=核数*2。export OMP_NUM_THREADS=4
然后 保存退出
ctrl + D 关闭子系统并重启,应用已改变的环境变量。开启lmp_daily 就使用四线程了。 -
运行 melt 实例
切换至 /usr/share/doc/lammps-daily-doc/examples/ 目录,这里是预安装的内置例子。
切换至/usr/share/doc/lammps-daily-doc/examples/melt目录,开始运行融化的案例。#切换至案例文件夹 cd /usr/share/doc/lammps-daily-doc/examples/melt #导入in.melt,运行实例 lmp_daily < in.melt
这样就启动了第一次lammps模拟实例。
其中的 WARNING 信息是因为用户在当前目录无编辑权限,无法生成运行的log文件。这里只做运行测试,无需改正。
在之后的实例学习时,可以将example下的某个实例文件夹复制到 /home/“用户名”/ 目录下,运行并生成输出文件。
“用户名”需要根据自己的设置更改
开始进行材料模拟计算吧!
结语
作为用lammps做材料研究而言,本人也是初学者。对linux下的很多编程并不熟悉。
一切使用也是需求至上,便逐步摸索,这里是在记录自己摸索时候的一些尝试。
知识从来不应该拿来炫耀,同时许多软件的使用也不应该完全黑箱化。
还是开头那句话:如此拙见,若有幸相助,那必是荣幸之至。
上一篇: 计算机的未来在哪 语音识别?
下一篇: 将docx转为pdf文档