1:到Src目录下 ./configure 确定你的mpi可以用!
然后修改arch.make
arch.make 修改之后的:
#
# This file is part of the SIESTA package.
#
# Copyright (c) Fundacion General Universidad Autonoma de
Madrid:
# E.Artacho, J.Gale, A.Garcia, J.Junquera, P.Ordejon,
D.Sanchez-Portal
# and J.M.Soler, 1996-2006.
#
# Use of this software constitutes agreement with the full
conditions
# given in the SIESTA license, as signed by all legitimate
users.
#
.SUFFIXES:
.SUFFIXES: .f .F .o .a .f90 .F90
SIESTA_ARCH=x86_64-unknown-linux-gnu--unknown
FPP=
FPP_OUTPUT=
FC=f95
RANLIB=ranlib
SYS=nag
SP_KIND=4
DP_KIND=8
KINDS=$(SP_KIND) $(DP_KIND)
FFLAGS=-g -O2
FPPFLAGS= -DFC_HAVE_FLUSH -DFC_HAVE_ABORT
LDFLAGS=
ARFLAGS_EXTRA=
FCFLAGS_fixed_f=
FCFLAGS_free_f90=
FPPFLAGS_fixed_F=
FPPFLAGS_free_F90=
BLAS_LIBS=libblas.a
LAPACK_LIBS=dc_lapack.a liblapack.a
BLACS_LIBS=
SCALAPACK_LIBS=
COMP_LIBS=dc_lapack.a liblapack.a libblas.a
NETCDF_LIBS=
NETCDF_INTERFACE= #(删除这里的`@NETCDF_INTERFACE)
LIBS=$(SCALAPACK_LIBS) $(BLACS_LIBS) $(LAPACK_LIBS) $(BLAS_LIBS)
$(NETCDF_LIBS)
#SIESTA needs an F90 interface to MPI
#This will give you SIESTA's own implementation
#If your compiler vendor offers an alternative, you may
change
#to it here.
MPI_INTERFACE=libmpi_f90.a #(为了并行在这里添加libmpi_f90.a)
MPI_INCLUDE=/opt/mpich2/gnu/include/ #(在这里添加这个的目录,没有添加之前,make不能产生libmpi_f90.a,添加之后,就产生了。不懂)#Dependency rules are created by autoconf according to
whether
#discrete preprocessing is necessary or not.
.F.o:
$(FC) -c $(FFLAGS) $(INCFLAGS) $(FPPFLAGS)
$(FPPFLAGS_fixed_F) $<
.F90.o:
$(FC) -c $(FFLAGS) $(INCFLAGS) $(FPPFLAGS) $(FPPFLAGS_free_F90)
$<
.f.o:
$(FC) -c $(FFLAGS) $(INCFLAGS) $(FCFLAGS_fixed_f) $<
.f90.o:
$(FC) -c $(FFLAGS) $(INCFLAGS)
$(FCFLAGS_free_f90) $<
3.在make!