安装较新版本的 MEEP

安装较新版本的 MEEP

在我的笔记本电脑上,当我发布时sudo apt-get install meep-mpi-default,它会安装 1.3 版本的 MEEP。到目前为止一切都很好。我的笔记本电脑有Ubuntu 16.04.2 LTS,代号 Xenial

当我在工作站上运行相同的命令时,它会安装 1.2 版 MEEP。但我需要在工作站上安装 1.3 版。工作站有Ubuntu 14.04.5 LTS,代号 Trusty

sudo apt-get updatesudo apt-get upgrade在工作站上没有帮助。在软件和更新应用程序中,每个框也都已选中。

答案1

如果官方存储库中没有 MEEP 版本,那么您可以考虑从以下源代码安装它:

  1. 为了防止出现任何问题,我们必须替换
    make installcheckinstall

    sudo apt-get update && sudo apt-get install checkinstall
    
  2. 依赖项:在终端窗口中我们执行:

    sudo apt-get install libtool* mpich-dev* lapack* guile-2.0 guile-2.0-dev readline-dev fftw3-* paraview hdf5-* gcc-c++ scalapack-* paraview*
    
  3. 变量环境:在终端窗口中我们执行:

    gedit .bashrc
    

    如果您愿意,可以使用其他文本编辑器。移至最后一行并在此处完成:

    LDFLAGS="-L/usr/local/lib -lm" export LDFLAGS
    CPPFLAGS="-I/usr/local/include" export CPPFLAGS
    LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH" export LD_LIBRARY_PATH
    PATH=/lib64/mpich/bin:$PATH export PATH
    

    创建目录t并输入:

    mkdir t
    cd t
    
  4. 加载、编译和设置支持 MPI 的 FFTW 库。此库已在第 1 阶段设置,但 hdf5 库由于某种原因无法正常工作。因此,需要从源代码编译和设置它:

    为此,我们在终端窗口中执行:

    wget http://www.hdfgroup.org/ftp/HDF5/current/src/hdf5-1.8.14.tar.gz
    tar -xf hdf5-1.8.14.tar.gz
    cd hdf5-1.8.14
    CC=mpicc CXX=mpicxx F77=mpif77 ./configure –-enable-parallel –prefix=/usr/local
    make -j4
    sudo checkinstall
    cd ..
    
  5. Libctl 库:在同一个地方我们执行:

    wget http://ab-initio.mit.edu/libctl/libctl-3.2.2.tar.gz
    tar -xf libctl-3.2.2.tar.gz
    cd libctl-3.2.2
    CC=/lib64/mpich/bin/mpicc CXX=/lib64/mpich/bin/mpicxx F77=/lib64/mpich/bin/mpif77 ./configure
    make -j4
    sudo checkinstall
    cd ..
    
  6. MPB:我们在没有 MPI 和 OpenMP 支持的情况下进行编译和设置:

    wget http://ab-initio.mit.edu/mpb/mpb-1.5.tar.gz
    tar -xf mpb-1.5.tar.gz
    cd mpb-1.5/
    CC=/lib64/mpich/bin/mpicc CXX=/lib64/mpich/bin/mpicxx F77=/lib64/mpich/bin/mpif77 ./configure
    make -j4 
    sudo checkinstall
    make distclean
    

    在 MPI 和 OpenMP 的支持下:

    CC=/lib64/mpich/bin/mpicc CXX=/lib64/mpich/bin/mpicxx F77=/lib64/mpich/bin/mpif77 ./configure --with-mpi --with-openmp
    make -j4 
    sudo checkinstall
    cd ..
    
  7. Harminv. 执行:

    wget http://ab-initio.mit.edu/harminv/harminv-1.4.tar.gz
    tar -xf harminv-1.4.tar.gz
    cd harminv-1.4/
    CC=/lib64/mpich/bin/mpicc CXX=/lib64/mpich/bin/mpicxx F77=/lib64/mpich/bin/mpif77 ./configure
    make
    sudo checkinstall
    cd ..
    
  8. MEEP。没有 MPI 和 OpenMP 的支持:

    wget http://ab-initio.mit.edu/meep/meep-1.3.tar.gz
    tar -xf meep-1.3.tar.gz
    cd meep-1.3/
    CC=/lib64/mpich/bin/mpicc CXX=/lib64/mpich/bin/mpicxx F77=/lib64/mpich/bin/mpif77 ./configure
    make -j4
    sudo checkinstall
    make distclean
    

    在 MPI 和 OpenMP 的支持下:

    CC=/lib64/mpich/bin/mpicc CXX=/lib64/mpich/bin/mpicxx F77=/lib64/mpich/bin/mpif77 ./configure --with-mpi
    make -j4
    sudo checkinstall
    
  9. h5utils。MPB 和 MEEP 程序将计算结果保存在扩展名为 .h5 的文件中。注意:此包 (h5utils) 包含一组用于处理 h5 文件的程序,例如 h5topng(用于将 h5 文件转换为图形 png 格式)、h5tovtk(转换为 vtk 格式,方便通过 Paraview 程序显示)和 h5totxt(转换为文本格式)。如果不设置和使用这些程序,那么许多计算结果将无法查看。

    wget http://ab-initio.mit.edu/h5utils/h5utils-1.12.1.tar.gz
    tar -xf http://ab-initio.mit.edu/h5utils/h5utils-1.12.1.tar.gz
    cd h5utils-1.12.1
    CC=/lib64/mpich/bin/mpicc CXX=/lib64/mpich/bin/mpicxx F77=/lib64/mpich/bin/mpif77 ./configure
    make -j4 
    sudo checkinstall
    cd ..
    

    如果命令执行“make - j4”因“[writepng.o] of Error 1”错误而中断,那么我们执行的不是最后三个命令:

    make h5totxt
    make h5tovtk
    sudo mv h5tovtk /usr/local/bin/
    sudo mv h5totxt /usr/local/bin/
    cd ..
    

有关详细信息,请参阅For more information, see

来源

相关内容