導航:首頁 > 操作系統 > gaussianlinux安裝

gaussianlinux安裝

發布時間:2023-09-10 19:05:42

linux gaussian怎麼安裝linda

一、 背景介紹
Gaussian是目前計算化學領域內最流行、應用范圍最廣的商業化量子化學計算程序包。它最早是由美國卡內基梅隆大學的約翰·波普(John A Pople, 1998年諾貝爾化學獎)在60年度末、70年代初主導開發的。其名稱來自於該軟體中所使用的高斯型基組。最初,Gaussian的著作權屬於約翰·波普供職的卡內基梅隆大學;1986年,約翰·波普進入美國西北大學後,其版權由Gaussian,Inc.公司所持有。Gaussian軟體的出現降低了量子化學計算的門檻,使得從頭計算方法可以廣泛使用,從而極大地推動了其在方法學上的進展。
到目前為止,Gaussian已經推出了12個版本,包括Gaussian70、Gaussian76、Gaussian80、Gaussian82、Gaussian86、Gaussian88、Gaussian90、Gaussian92、Gaussian92/DFT、Gaussian94、Gaussian98、Gaussian03等,其版本數字也是該版本發布的年份。其中,每個版本發布後,還陸續發布了一些這些版本的修訂版。目前最新的版本是Gaussian03 Revision D.01/D.02。
Gaussian程序是用FORTRAN語言編寫的,它從量子力學的基本原理出發,可計算能量、分子結構、分子體系的振動頻率以及大量從這些基本計算方法中導出的分子性質。它能用於研究不同條件下的分子和反應,包括穩定的粒子和實驗上難以觀測的化合物,例如瞬時的反應中間物和過渡結構。
Gaussian的並行模式是採用OpenMP來實現的。OPENMP的並行實現是針對共享內存的機器的,實現方法簡單。因此Gaussian在共享內存的機器上,能獲得很好的性能。對於跨節點的計算,Gaussian使用TCP Linda軟體來實現。TCP Linda是一個虛擬共享內存的並行執行環境,它可以把一個通過網路連接的分布式內存的機群或工作站虛擬成共享內存環境,從而使像Gaussian這樣的用OPENMP實現並行的程序能夠在分布式內存的機器上運行。

二、 軟體的安裝設置
1、將壓縮包解開
# tar zxf OPT-900N.taz //g03 E01以上版本支持上海處理器 (可以查看文件日期在2007年以後的)

2、准備環境變數文件g03.sh

放入g03源代碼目錄,如/home/users/mjhe/g03/

#cat g03.sh

g03root="/home/users/mjhe"

GAUSS_SCRDIR="/scratch"

export g03root GAUSS_SCRDIR

. $g03root/g03/bsd/g03.profile

3、准備運行腳本
放入算例目錄,如g03test

> cat g03.pbs

###########################################################################

# Script for submitting parallel Gaussian 03 jobs to Dawning cluster.

# Lines that begin with #PBS are PBS directives (not comments).

# True comments begin with "# " (i,e., # followed by a space).

###########################################################################

#PBS -S /bin/bash

#PBS -N gaussian

#PBS -j oe

#PBS -l nodes=1:ppn=8

##PBS -l walltime=860:00:00

#PBS -V

##PBS -q middle

#############################################################################

# -S: shell the job will run under

# -o: name of the queue error filename

# -j: merges stdout and stderr to the same file

# -l: resources required by the job: number of nodes and processors per node

# -l: resources required by the job: maximun job time length

#############################################################################

INFILE=$file

# Define variable "jobname".

jobname=`echo $INFILE | awk -F. '{printf $1}'`

username=`whoami`

# Define the location where Gaussian was installed and run a setup script, g03.profile.

g03root="/data/users/ceszhcy/"

GAUSS_SCRDIR="/state/partition1/tmp/"

export g03root GAUSS_SCRDIR

. $g03root/g03/bsd/g03.profile

# Make a directory in scr and .com and .g03 file to there.

GAUSS_RUNDIR=${GAUSS_SCRDIR}/${username}.${PBS_JOBID}

if [ ! -a $GAUSS_RUNDIR ]; then

echo "Scratch directory $GAUSS_RUNDIR created."

mkdir -p $GAUSS_RUNDIR

fi

cp $PBS_O_WORKDIR/${jobname}.* $GAUSS_RUNDIR

ORIG_PBS_O_WORKDIR=${PBS_O_WORKDIR}

cd $PBS_O_WORKDIR

# Setup for Gaussian 03:

# =======================

# Make a scratch directory if it doesn't already exist.

GAUSS_SCRDIR=${GAUSS_SCRDIR}/${username}.${PBS_JOBID}/${jobname}

if [ ! -a $GAUSS_SCRDIR ]; then

echo "Scratch directory $GAUSS_SCRDIR created."

mkdir -p $GAUSS_SCRDIR

fi

export GAUSS_SCRDIR

echo "Using $GAUSS_SCRDIR for temporary Gaussian 03 files."

# Define node list

cat $PBS_NODEFILE|uniq > $GAUSS_SCRDIR/tsnet.nodes

NODE_NUM=`cat $PBS_NODEFILE|uniq |wc -l`

NP=`cat $PBS_NODEFILE|wc -l`

nodes=`cat $PBS_NODEFILE |uniq| awk '{printf("%s,",$1)}'`

sharecpu=`expr $NP / $NODE_NUM`

G03_NODEFILE="$GAUSS_SCRDIR/tsnet.nodes"

GAUSS_LFLAGS=" -mp 2 -nodefile $G03_NODEFILE"

export GAUSS_LFLAGS

echo pbs nodefile:

cat $G03_NODEFILE

#Run a Gaussian command file, water03.com, redirecting output to a file, water03.log

cd $GAUSS_RUNDIR

echo "%NProcShared=$sharecpu" > ${jobname}.Input.${PBS_JOBID}

if [ $NODE_NUM -ne 1 ];

then

echo "%LindaWorker=$nodes" >> ${jobname}.Input.${PBS_JOBID}

fi

grep -v nproc $INFILE |grep -v NProcShared |grep -v LindaWorker >>${jobname}.Input.${PBS_JOBID}

echo "Starting Gaussian run at" `date`

if [ $NODE_NUM -eq 1 ];

then

time g03 < ${jobname}.Input.${PBS_JOBID} > $GAUSS_RUNDIR/${jobname}.log

fi

else

time g03l < ${jobname}.Input.${PBS_JOBID} > $GAUSS_RUNDIR/${jobname}.log

fi

#time g03 < ${jobname}.Input.${PBS_JOBID} > ${jobname}.log

echo "Finished Gaussian run at" `date`

PBS_O_WORKDIR=${ORIG_PBS_O_WORKDIR}

echo $PBS_O_WORKDIR

mv $GAUSS_RUNDIR/${jobname}.* $PBS_O_WORKDIR

mv $GAUSS_SCRDIR/*.chk $PBS_O_WORKDIR

echo "$GAUSS_SCRDIR"

rm -Rf $GAUSS_SCRDIR

4、測試安裝是否成功
准備算例test397.com

在算例目錄下修改g03.pbs,然後執行qsub g03.pbs -v file=test397.com

cd ~/g03test

qsub g03.pbs -v file=test397.com

5、其他

三、 注意事項
1、本文命令、代碼和超鏈接採用斜體五號字表示
2、算例文件名必須有兩部分組成,前綴+後綴,中間用 . 隔開
3、需要修改一下兩個文件以適應linda並行時的配置情況:
#vi /data2/home/test/g03/linda7.2/opteron-linux-I8/bin/LindaLauncher

/mf/giovanni/static/g03/linda7.2/opteron-linux-I8/bin/cLindaLauncher

#vi /data2/home/test//g03/ntsnet

/mf/giovanni/static/g03/linda7.2/opteron-linux-I8/bin/true_ntsnet

4、在所以參與計算的節點根目錄上增加/scratch/,並設置開放的許可權
mkdir /scratch

chmod 777 /scratch

5、其他

四、 參考文獻
1 量子化學計算程序包GAUSSIAN 王濤 上海超級計算中心 上海 201203 [email protected]

閱讀全文

與gaussianlinux安裝相關的資料

熱點內容
江蘇螺桿壓縮機 瀏覽:973
android底部彈出對話框 瀏覽:492
怎麼查伺服器同行fc號 瀏覽:991
什麼伺服器雲鳥最便宜 瀏覽:214
vs編譯器反匯編 瀏覽:566
程序員直播做項目創業 瀏覽:401
linux下samba配置 瀏覽:795
程序員面試銀行崗位會有編制嗎 瀏覽:412
ex表怎麼加密碼保護 瀏覽:170
小孩上編程課用哪款好 瀏覽:556
如何製作伺服器商店 瀏覽:734
壓縮氣管閥門 瀏覽:464
pdf推文 瀏覽:358
69程序員 瀏覽:581
阿里雲伺服器鏡像如何遷移到騰訊 瀏覽:989
安卓如何顯示日期在狀態欄 瀏覽:805
cadsplt這個命令用不了 瀏覽:467
安卓誇克怎麼取消監管 瀏覽:664
pdf怎麼裁剪圖片 瀏覽:440
黑上宏命令 瀏覽:647