overture軟件安裝(串行版本)

 Overture軟件簡介

 

       Overture是一套基於面向對象技術設計的求解偏微分方程的數值計算軟件,它爲用戶完成數值求解各種類型偏微分方程問題(特別是流體力學問題)提供了一套可移植的、靈活的開發平臺。Overture內建支持有限差分和有限體積法等常用的數值計算方法,並且支持多重網格法。Overture是一套融合了網格生成,差分計算,邊界條件設定,數據存取和圖形顯示等功能的綜合型數值計算軟件。

   

軟件下載

 

1.官網下載地址

http://www.overtureframework.org/downLoad.html

 

2.CSDN下載地址

http://download.csdn.net/detail/ngvjai/5081380

  

軟件的安裝

 

1. Open motif的安裝

yum install openmotif
yum install openmotif-devel

 motif介紹 http://blog.csdn.net/mathlover/article/details/416298

2. Mesa OpenGL的安裝

tar xzf MesaLib-XXX.tar
tar xzf MesaDemos-XXX.tar.gz
tar xzf MesaGLUT-XXX.tar.gz
cd Mesa-XXX
make 從結果中選一個與機器配置的類型,比如我的機器是linux64位的,就選擇linux-x86-64
make linux-x86-64

 在安裝過程中可能缺少某些庫,可以把缺少的庫都安好在進行OpenGL的安裝

yum install gtk*
yum install Xorg
yum install libdrm-devel
yum install expat-devel

在bash終端裏進行安裝!

3. HDF的安裝

tar xzf hdf5-XXX.tar.gz
mv hdf5-XXX hdf5
cd hdf5
unsetenv CC
unsetenv cc
setenv CC gcc
./configure -prefix=當前工作目錄
make
make install

 HDF在csh下進行安裝,hdf5官網 http://www.hdfgroup.org/HDF5/

4. A++的安裝

gzip -d AP-nnn.tar.gz
tar -xf AP-nnn.tar
cd A++P++nnn
./configure --enable-SHARED_LIBS --prefix=當前工作目錄
make 
make install

A++是串行矩陣類。具體可參見https://computation.llnl.gov/casc/Overture/henshaw/documentation/App/manual/manual.html

5.LAPACK的安裝

tar xzf lapack.tgz
cd LAPACK

將INSTALL目錄下的make.inc.LINUX文件複製到主文件夾並將其名改爲make.inc

例如:

cp INSTALL/make.inc.LINUX make.inc

編輯make.inc文件,選擇正確的編譯器和編譯選項,這裏我用的是gfortran

生成庫BLAS

make blaslib

生成庫LAPACK

make lapacklib

將這兩個庫的名稱進行更改

mv ./blas_LINUX.a ./libblas.a 
mv ./lapack_LINUX.a ./liblapack.a

 

6.PETSc的安裝

tar xzf petsc-lite-2.3.2-p3.tar.gz
mv petsc-2.3.2-p3 petsc-2.3.2
cd petsc-2.3.2
setenv PETSC_DIR 當前工作目錄
setenv PETSC_ARCH linux-gnu-opt
setenv PETSC_LIB $PETSC_DIR/lib/$PETSC_ARCH
setenv CC gcc
./config/configure.py -PETSC_ARCH=linux-gnu-opt -with-debugging=0 -with-fortran=0 -with-matlab=0 -with-mpi=0 -with-shared=1 -with-dynamic=1 --download-c-blas-lapack=1
make

Overture使用PETSc求解稀疏矩陣,具體內容可參見其官網http://www.mcs.anl.gov/petsc/

 

7. Overture串行版本的安裝

tar xzf Overture.XXX.tar
cd Overture.XXX

編輯文件defenv,更改裏面的環境變量,具體更改如下:

 

setenv XLIBS xxx 

xxx目錄包含有X window 系統的頭文件目錄(include)和庫文件目錄(lib)。當使用ls $XLIBS/lib查看時,應該可以看到libX11.so或是libX11.a文件。

 

setenv OpenGL xxx

當你用ls $OpenGL/lib查看時,可以看到文件libGL.solibGL.a。如果你使用Mesa你將會看到libMesaGL.so或是libMesaGL.a文件。

 

setenv MOTIF xxx

如果你用ls $MOTIF/lib查看時,你應看到libXm.so或是libXm.a文件。

 

setenv HDF xxx

如果你用ls $HDF查看時,你應看到HDF目錄中包含有includelib目錄。

 

setenv APlusPlus xxx

如果你用ls $APlusPlus 查看時,你應看到A++目錄中包含有includelib目錄。

 

setenv Overture xxx

Overture軟件安裝的位置。

 

setenv CG xxx

如果你安裝CG求解器,這個目錄是CG文件解壓後的件夾路徑,這裏不要改成別的路徑否則在安裝CG求解器時無法編譯

 

setenv CGBUILDPREFIX xxx

這是存放CG可執行文件和目標文件的位置,這個可以自己指定。

 

setenv LAPACK xxx

CG求解器需要LAPACKBLAS的庫。這個變量指向的目錄含有liblapack.alibblas.a的庫文件。

 

setenv LD_LIBRARY_PATH  ${MOTIF}/lib:${XLIBS}/lib:${HDF}/lib:${OpenGL}/lib:${Overture}/lib:${APlusPlus}/lib

當運行Overture裏,Overture程序會自動加載這些庫文件。有的可能lib要改爲lib64對於64位的系統來說,具體可在庫裏面查看是放在lib下還是在lib64下。

 

更改後,將文件保存。

終端類型改爲csh下的root用戶後

surce defenv
setenv LANG en_US
perl configure
make 

安裝要約要30分鐘左右,安可後可用./check.p進行測試。 

 

安裝成功

測試成功

 

打開ogen時的界面

 

我的defenv文件內容: 

#! /bin/csh -f
#
#Define environment variables for Overture
#
# see the install notes on the web for further explanation or Overture/doc/install.tex
#
# edit this file and change as appropriate for your system,
# then type 'source defenv'

# You will need to change the following: 
setenv XLIBS /usr
setenv MOTIF /usr
setenv OpenGL /home/soldier/Documents/overture5/mesa/Mesa-7.2
setenv HDF /home/soldier/Documents/overture5/hdf5
#PETSC的變量自己加進來,一共是3個
setenv PETSC_DIR /opt/overture/petsc-2.3.2-p6
setenv PETSC_ARCH linux-gnu-opt
setenv PETSC_LIB $PETSC_DIR/lib/$PETSC_ARCH
setenv APlusPlus /home/soldier/Documents/overture5/A++P++-0.8.0/A++/install
setenv Overture /home/soldier/Documents/overture5/Overture.v25

# Here are variables to set if you intend to build CG
#   CG : location for CG (source tree)
#   CGBUILDPREFIX : location of CG executables (compile tree). This can be the same as CG
#                   if you only intend to build one version of CG. 
#   LAPACK : location of the LAPACK library
setenv CG /home/soldier/Documents/overture5/cg2.5
setenv CGBUILDPREFIX /home/soldier/Documents/overture5/cg2.5/cg2.5d
#  In the following example LAPACK is found with the PGI compilers
setenv LAPACK /home/soldier/Documents/overture5/LAPACK


# Here are some handy alias's and variables 
alias ogen $Overture/bin/ogen
alias plotStuff $Overture/bin/plotStuff
alias rap $Overture/bin/rap
alias mbuilder $Overture/bin/mbuilder
set primer = $Overture/primer
set sampleGrids = $Overture/sampleGrids

setenv CGE $CGBUILDPREFIX
alias cgad  ${CGE}/ad/bin/cgad
alias cgasf ${CGE}/asf/bin/cgasf
alias cgcns ${CGE}/cns/bin/cgcns
alias cgins ${CGE}/ins/bin/cgins
alias cgmx  ${CGE}/mx/bin/cgmx 
alias cgmp  ${CGE}/mp/bin/cgmp 
alias cgsm  ${CGE}/sm/bin/cgsm 

set ad = ${CG}/ad
set asf = ${CG}/asf
set cns = ${CG}/cns
set ins = ${CG}/ins
set mx = ${CG}/mx
set mp = ${CG}/mp
set sm = ${CG}/sm


# The LD_LIBRARY_PATH indicates the places to look for dynamic libraries. This variable should 
# not be needed in most cases since we use the 'rpath' loader option 
# setenv LD_LIBRARY_PATH  $MOTIF/lib64:$XLIBS/lib64:$OpenGL/lib64:$HDF/lib:$Overture/lib:${APlusPlus}/lib
# setenv LD_LIBRARY_PATH  $MOTIF/lib64:$XLIBS/lib64:$OpenGL/lib64:$HDF/lib:$Overture/lib:${APlusPlus}/lib:${PETSC_LIB}


 關於環境變量的說明:

可以將環境變量寫在/etc/csh.cshrc裏面,這樣每次打開csh時變量都已經定義好了。我的/etc/csh.cshrc裏面的內容如下所示(這次Overture安裝在/opt目錄下):

# /etc/cshrc
#
# csh configuration for all shell invocations.

# By default, we want this to get set.
# Even for non-interactive, non-login shells.
# Current threshold for system reserved uid/gids is 200
# You could check uidgid reservation validity in
# /usr/share/doc/setup-*/uidgid file
if ($uid > 199 && "`id -gn`" == "`id -un`") then
    umask 002
else
    umask 022
endif

if ($?prompt) then
  if ($?tcsh) then
    set promptchars='$#'
    set prompt='[%n@%m %c]%# '
    # make completion work better by default
    set autolist
  else
    set prompt=\[$user@`hostname -s`\]\$\ 
  endif
endif

if ( $?tcsh ) then
	bindkey "^[[3~" delete-char
endif

bindkey "^R" i-search-back
set echo_style = both
set histdup = erase
set savehist = (1024 merge)

if ($?prompt) then
  if ($?TERM) then
    switch($TERM)
      case xterm*:
        if ($?tcsh) then
	  set prompt='%{\033]0;%n@%m:%c\007%}[%n@%m %c]%# '
        endif
        breaksw
      case screen:
        if ($?tcsh) then
          set prompt='%{\033_%n@%m:%c\033\\%}[%n@%m %c]%# '
        endif
        breaksw
      default:
        breaksw
    endsw
  endif
endif

setenv MAIL "/var/spool/mail/$USER"

# Check if we aren't a loginshell and do stuff if we aren't
if (! $?loginsh) then
    if ( -d /etc/profile.d ) then
        set nonomatch
        foreach i ( /etc/profile.d/*.csh )
            if ( -r "$i" ) then
                if ($?prompt) then
                    source "$i"
                else
                    source "$i" >&/dev/null
                endif
            endif
        end
        unset i nonomatch
    endif
endif


#在最下面添加關於Overture的環境變量
#Define environment variables for Overture
setenv XLIBS /usr
setenv MOTIF /usr
setenv OpenGL /opt/overture/Mesa-7.2
setenv HDF /opt/overture/hdf5
setenv PETSC_DIR /opt/overture/petsc-2.3.2-p6
setenv PETSC_ARCH linux-gnu-opt
setenv PETSC_LIB $PETSC_DIR/lib/$PETSC_ARCH
setenv APlusPlus /opt/overture/A++P++-0.8.0/A++/install
setenv Overture /opt/overture/Overture.v25
setenv CG /opt/overture/cg
setenv CGBUILDPREFIX /opt/overture/cg.s
setenv LAPACK /opt/overture/LAPACK
# Here are some handy alias's and variables 
alias ogen $Overture/bin/ogen
alias plotStuff $Overture/bin/plotStuff
alias rap $Overture/bin/rap
alias mbuilder $Overture/bin/mbuilder
set primer = $Overture/primer
set sampleGrids = $Overture/sampleGrids
setenv CGE $CGBUILDPREFIX
alias cgad  ${CGE}/ad/bin/cgad
alias cgasf ${CGE}/asf/bin/cgasf
alias cgcns ${CGE}/cns/bin/cgcns
alias cgins ${CGE}/ins/bin/cgins
alias cgmx  ${CGE}/mx/bin/cgmx 
alias cgmp  ${CGE}/mp/bin/cgmp 
alias cgsm  ${CGE}/sm/bin/cgsm 
set ad = ${CG}/ad
set asf = ${CG}/asf
set cns = ${CG}/cns
set ins = ${CG}/ins
set mx = ${CG}/mx
set mp = ${CG}/mp
set sm = ${CG}/sm
setenv LD_LIBRARY_PATH  $MOTIF/lib64:$XLIBS/lib64:$OpenGL/lib64:$HDF/lib:$Overture/lib:${APlusPlus}/lib:${PETSC_LIB}


7. CG(Composite Grid)求解器串行版本的安裝

環境變量設置與Overture一樣,如果上面的環境變量已經設定好就不進在進行設置了。

tar zxf cg.XXX.tar
cd cg.XXX
make
安裝好後,可以在cg主目錄下用 make check 進行測試。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章