LAMMPS一键安装shell脚本

本脚本仅在 Ubuntu16.04LTS版本下测试,任处于测试版,不保证能用,一键安装LAMMPS

#!/bin/bash
# Program
#   一键安装LAMMPS软件
#   适用于Ubuntu
# History:
#   2017/08/12  LiLiang     First release
#



# =================确认执行安装===================
echo "一键安装LAMMPS软件,将所需软件下载到当前目录,fftw, openmpi, Python, zlib, jpeg,\n需要root权限,以sudo运行"
echo "建议将Ubuntu软件源更换为国内源,提高下载速度"
read -p "Do you want to continue? [y/n]" CONFIRM_INSTALL
case ${CONFIRM_INSTALL} in    
y|Y|yes|Yes|YES) 
        echo "Initializing."
        ;;
n|N|no|No|NO) 
        exit 0
        ;;
esac

# 编译使用的内核数,64代表使用64个内核
#read -p "请输入编译使用内核数: " CORE_NUM

echo "开始安装"


# ==========安装编译器及其他所需软件=============
sudo apt-get update
sudo apt-get upgrade
sudo apt-get -y install gcc g++ gfortran make
sudo apt-get -y install tcsh mpich synaptic
sudo apt-get -y install emacs

# 下载所需软件,fftw,openmpi,Python,
read -p "Do you want to download fftw, openmpi, Python, zlib, jpeg from internet? [y/n]" CONFIRM_INSTALL
case ${CONFIRM_INSTALL} in    
y|Y|yes|Yes|YES) 
        wget http://www.fftw.org/fftw-3.3.6-pl2.tar.gz                      # fftw
    wget https://www.open-mpi.org/software/ompi/v2.1/downloads/openmpi-2.1.1.tar.gz     # openmpi
    wget https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz             # Python
    wget http://zlib.net/zlib-1.2.11.tar.gz                         # zlib
    
    
        ;;
n|N|no|No|NO) 
        echo "请确认已下载fftw,openmpi,Python,zlib,jpeg,LAMMPS软件到当前文件夹下。"
        read
        ;;
esac


# 解压缩软件包到 /usr/local/src
tar -zxvf ./fftw* -C /usr/local/src
tar -zxvf ./openmpi* -C /usr/local/src
tar -zxvf ./Python* -C /usr/local/src
tar -zxvf ./zlib* -C /usr/local/src
tar -zxvf ./jpeg* -C /usr/local/src
tar -zxvf ./lammps* -C /usr/local/src

# fftw安装    http://www.fftw.org/
cd /usr/local/src/fftw*
./configure
make -j
make install

# openmpi
cd /usr/local/src/openmpi*
./configure
make all install

# Python
cd /usr/local/src/Python*
./configure
make -j
make install

# zlib
cd /usr/local/src/zlib*
./configure
make -j
make install

# jpeg
cd /usr/local/src/jpeg*
./configure
make -j
make install



# ========安装32位支持库============
sudo apt-get -y install libc6-i386
sudo apt-get -y install libncurses5-i386
sudo apt-get -y install libstdctt6-i386
sudo apt-get -y install lib32z1

sudo apt-get -y install mpi-default-bin
sudo apt-get -y install mpi-default-dev
sudo apt-get -y install libfftw3-dev
sudo apt-get -y install libjpeg-dev
sudo apt-get -y install libpng12-dev


# =========编译LAMMPS可预处理包=======

cd /usr/local/src/lammps*
lammps_path=`pwd`

# atc
cd ${lammps_path}/lib/atc
make -f Makefile.g++

# awpmd
cd ${lammps_path}/lib/awpmd
make -f Makefile.mpicc

# colvars
cd ${lammps_path}/lib/colvars
make -f Makefile.g++

# reax
cd ${lammps_path}/lib/reax
make -f Makefile.gfortran

# meam
cd ${lammps_path}/lib/meam
make -f Makefile.gfortran

# poems
cd ${lammps_path}/lib/poems
make -f Makefile.g++

# qmmm
cd ${lammps_path}/lib/qmmm
make -f Makefile.gfortran


# ===========安装依赖包=============
sudo apt-get install g++*
sudo apt-get install mpi-default*
sudo apt-get install libfftw3-dev


# ==========编译LAMMPS==============
cd ${lammps_path}/src

# 添加与删除库
make yes-std
make no-gpu
make no-kim
make no-kokkos
make no-voronoi

make package-status             # 列出需要安装的库

# 确认安装
read -p "Do you want to continue? [y/n]" CONFIRM_INSTALL
case ${CONFIRM_INSTALL} in    
y|Y|yes|Yes|YES) 
        echo "INSTALL"
        ;;
n|N|no|No|NO) 
        exit 0
        ;;
esac

# 开始编译
cd MAKE
mv Makefile.mpi Makefile.mpi.bak        # 备份 Makefile.mpi
cp ./MACHINES/Makefile.ubuntu ./Makefile.mpi    # 复制 Makefile.ubuntu
make mpi                    # 编译


# 复制到/bin, /usr/bin
sudo cp lmp-mpi /bin
sudo cp lmp-mpi /usr/bin

echo "安装成功!"





最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,332评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,508评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,812评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,607评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,728评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,919评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,071评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,802评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,256评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,576评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,712评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,389评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,032评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,026评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,473评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,606评论 2 350

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,831评论 25 707
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,637评论 18 139
  • 一:LoadRunner常见问题整理1.LR 脚本为空的解决方法:1.去掉ie设置中的第三方支持取消掉2.在系统属...
    0100阅读 4,099评论 0 11
  • 相知,是一种宿命,心灵的交汇,让我们有诉不尽的浪漫情怀。 相守,是一种承诺,在人世间的轮回中,永远铭记...
    冷凌阅读 490评论 0 2
  • 《战狼2》还没有去看,尽量赶在下线之前去电影院一睹风采。这个夏天,半紫不红的吴京终于完美逆袭声名显赫。 记得小时候...
    何雅琴9527阅读 393评论 0 0