地域密着型エリア広告配信リクルートの地域密着型広告ドコイク?アドネットワーク Ads by ドコイク?[無料でホームページを作成] [通報・削除依頼]
[無料でホームページを作成] [通報・削除依頼]

Siesta

 ここではSiestaについて解説する。
------------------------------------------------------------------------------- 
■ Information
コンパイルと環境設定: http://www.affinity-science.com/siesta/installation.html
使用法: http://www.affinity-science.com/siesta/quickstart.html
FAQ: http://www.affinity-science.com/siesta/faq.html
Install: http://www.affinity-science.com/siesta/installation.html
------------------------------------------------------------------------------- 
■ Tutorial
Tutorials on-line: http://departments.icmab.es/leem/siesta/Documentation/Tutorials/index.html
SIESTA/TranSiesta Tutorial: http://departments.icmab.es/leem/siesta/tlv14/index.html
SIESTA tutorial talks: http://departments.icmab.es/leem/siesta/zcam14/Talks/index.html 
Exercises: http://departments.icmab.es/leem/siesta/zcam14/Exercises/index.html
SIESTA Tutorial ACAM (June 2014): http://departments.icmab.es/leem/siesta/zcam14/index.html
Summer School (2007): http://departments.icmab.es/leem/siesta/Documentation/Tutorials/Barcelona-2007/intro.html
SIESTA Tutorial Lyon 2007: http://departments.icmab.es/leem/siesta/Documentation/Tutorials/Lyon-2007/index.html
Summer school (2002): http://departments.icmab.es/leem/siesta/Documentation/Tutorials/index.html
Siesta at NNIN: http://www.nnin.org/siesta-nnin 
------------------------------------------------------------------------------- 
■ Siestaの特徴
A. LCAO法を用いている
B. 界面の計算において比較的収束しやすい
C. COOP解析(bond overlap population)が可能
D. NEB法は他のソフトなどを用いないと難しい
■ TranSiesta
A. バリスティック電子輸送を計算可能(グリーン関数を用いて行っている)
References
http://affinity-science.com/siesta/index.html
http://www.affinity-science.com/siesta/faq.html
------------------------------------------------------------------------------- 
■ Compiling

□ Siesta-3.2-pl-5.tgz
Siesta: http://departments.icmab.es/leem/siesta/
[Access to the code] -> By clicking I agree (Academic licence) -> downloads of selected versions of Siesta -> Siesta 3.2 (patch level 5)
1) tar zxvf siesta-3.2-pl-5.tgz
2) cd siesta-3.2-pl-5
3) cd Obj
4) sh ../Src/obj_setup.sh
5) ../Src/configure

◇ f95 + siesta(lapack + blas) (elaps:  siesta,  s)
  ../Src/configure  --enable-fast

◇ gfortran + siesta(lapack + blas) (unsuccess for "make transiesta")
  ../Src/configure --enable-fast FC=gfortran --with-siesta-blas  --with-siesta-lapack

◇ gfortran + Netlib(lapack + blas) (elaps:  siesta, 67.999 s)
  ../Src/configure --enable-fast FC=gfortran LDFLAGS="-L/usr/local/lib" --with-blas="-lblas"  --with-lapack="-llapack"

◇ gfortran + Netlib(lapack + blas + blacs + scalapack-1.8.0) + OpenMPI (unsuccess)
  ../Src/configure --enable-mpi --enable-fast FC=mpif90 LDFLAGS="-L/usr/local/lib" --with-blas="-lblas"  --with-lapack="-llapack"  --with-blacs="-lblacs -lblacsF77init -lblacsCinit" --with-scalapack="-lscalapack"

◇ gfortran + Netlib(lapack + blas + scalapack-2.0.2) + OpenMPI (elaps:  siesta, 35.146 s)
  ../Src/configure --enable-mpi --enable-fast FC=mpif90 LDFLAGS="-L/usr/local/lib" --with-blas="-lblas"  --with-lapack="-llapack"  --with-blacs=$HOME/scalapack-2.0.2/libscalapack.a --with-scalapack=$HOME/scalapack-2.0.2/libscalapack.a

◇ gfortran + Netlib(lapack + blas + scalapack-2.0.2) + OpenMPI (elaps:  siesta, 42.775 s)
  ../Src/configure --enable-mpi --enable-fast FC=mpif90 LDFLAGS="-L/usr/local/lib" --with-blas="-lblas"  --with-lapack="-llapack"  --with-blacs=$HOME/scalapack-2.0.2/libscalapack.a --with-scalapack=$HOME/scalapack-2.0.2/libscalapack.a
  gedit arch.make
FFLAGS=-g -O2  -> FFLAGS=-g  -O2 -ffast-math -mavx -fsignaling-nans -funroll-all-loops -m64

◇ ifort + MKL (nonpin case is ok, but spin case is not success)
  ../Src/configure --enable-mpi --enable-fast FC=mpif90 FFLAGS="-w  -O3 -mp -axAVX,SSE4.2,SSE4.1,SSSE3,SSE3" LDFLAGS="-L/opt/intel/composer_xe_2013/mkl/lib/intel64" --with-blas="-lmkl_blas95_lp64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread" --with-lapack="-lmkl_lapack95_lp64" --with-blacs="-lmkl_blacs_openmpi_lp64" --with-scalapack="-lmkl_scalapack_lp64"

6) cd ../../Obj
7) make

TranSiesta case
8) make clean
9) make transiesta

Test
1) cd $HOME/siesta-3.2-pl-5/Tests
2) make SIESTA="mpirun -np 4 /home/username/siesta-3.2-pl-5/Obj/siesta"
※ retry: make clean
※ (elaps:  siesta, XX s) for Fe2VAl case. CPU: corei7-2600K (3.4GHz)

------------------------------------------------------------------------------- 
■ Utility

◇ COOP
1) cd Util
2) cd COOP
3) make
4) gedit .mpr (please, see Util/COOP/Tests)
・COOP case (case.WFSX and case.HSX)
 -----
fen            # Name of the siesta output files
COOP         # Define the curve type to be calculated COOP|DOS
Fe3d-Fe3d  # COOP curve name
Fe_3d        # Reference atoms or orbitals
2.8 3.2       # Distance range in Angstrom
Fe_3d         # Neighbour atoms or orbitals
 -----
・DOS case
 -----
fen            # Name of the siesta output files
DOS           # Define the curve type to be calculated COOP|DOS
PDOS_N      # DOS projection name
N               # Subset of orbitals included
 -----
5) mprop
  OUTPUT FORMAT
  SLabel.alldos  :  full-range approximate DOS curve
  SLabel.ados    :  specified-range approximate DOS curve
  SLabel.intdos  :  full-range integrated-DOS curve
  MLabel.CurveName.pdos    :  PDOS curves
  MLabel.CurveName.coop    :  COOP curves
  MLabel.CurveName.cohp    :  COHP curves

◇ Optical
1) cd Util
2) cd Optical
3) gfortran input.f -o input
4) gfortran optical.f -o optical
5) input < case.EPSIMG
 create 'e2.dat' (non-spin case) or 'e2.dat.spin1' and 'e2.dat.spin2' (spin case)
 rename: e2.dat.spin1 or e2.dat.spin2 -> e2.dat
6) optical (input file: e2.dat)
creates the files:
'epsilon_real.out'  containing the real part of the dielectric function
'epsilon_img.out'  containing the imaginary part of the dielectric function
'refrac_index.out'   containing the refraction index
'absorp_index.out'  containing the extintion coefficient
'absorp_coef.out'    containing the absorption coefficient in cm**-1
'reflectance.out'     containing the reflectance
'conductivity.out'     containing the optical conductivity in (ohm*m)**-1

◇ band
1) cd Util
2) cd Bands
3) make
4) gnuband or new.gnuband

-------------------------------------------------------------------------------
■ Pseudo potential files
a) http://departments.icmab.es/leem/siesta/  -> [Databases (Pseudos and Bases)] -> Pseudopotentials -> periodic table -> PSF file for use in SIESTA (Note: non spin type !!)
b) http://charter.cnf.cornell.edu/dd_search.php?frmxcprox=GGA&frmxctype=&frmspclass=TM
c) http://departments.icmab.es/dmmis/leem/siesta/Databases/BasisSets/

■ Description (擬ポテンシャルファイルの記述の読み方)
a) Web-vased generator: http://departments.icmab.es/leem/siesta/tlv14/slides06.pdf 
b) case.inp (input file): http://www.affinity-science.com/siesta/quickstart.html (Japanese)

■ Pseudo potential making
◇ compiling
1) cd Pseudo/atom
2) make
3) cd Tutorial/Utils
4) chmod +x pg.sh
◇ pseudopotential input file (spin)
5) http://www.tddft.org/programs/octopus/wiki/index.php/Pseudopotentials -> Web-vased generator -> periodic table -> select element
※ n l ndown nup の設定は計算する系に近いものにする。分からなければ、幾つか擬ポテンシャルを作って物理的に正しい結果を示すものを探す。まずはlow spinとhigh spinの擬ポテンシャルを作成してそれぞれ計算し、正しいDOSや形成エネルギー的に安定、物理的に正しい値を示しているものを探す。他の精度の高い計算コードと比較してみるのも良いだろう。私の場合は、ピークの鋭さが鈍くなったりする程度で大きな差は無かった。
※ spin: http://departments.icmab.es/leem/siesta/Documentation/Manuals/siesta-3.1-manual/node40.html
---
□ GGA, PBE case
・ What should I do? : pesudopotential generation w/ core correction exchange
・ Which pseudopotential? : improved Troullier and martins
・ Which spin? : polarized
・ Which exchange-correlation? : Predew, Burke, Ernzerhof
・ Logder radius: 0
・ n l ndown nup
  -----
  l = 0 , ndown 2 -> ndown 1, nup 1
  -----
  l = 1 , ndown X >= 4 -> ndown 3, nup X-3
  or
  l = 1 , ndown X -> ndown X/2, nup X/2 (low spin system)
  -----
  l = 2 , ndown X >= 6 -> ndown 5, nup X-5
  or
  l = 2 , ndown X -> ndown X/2, nup X/2 (low spin system)
  -----
・ core radii ( s, p, d, f orbitals) + ( 0.01000  -1.00000 small core charge )
  data of http://departments.icmab.es/leem/siesta/Databases/Pseudopotentials/periodictable-gga-abinit.html
  or
  default of  http://www.tddft.org/programs/octopus/wiki/index.php/Pseudopotentials
See input -> save as case.inp in Tutroial/Utils
---
□ LDA (=LSDA), CA case ( vdW が重要な系 )
・ What should I do? : pesudopotential generation w/o core correction
・ Which pseudopotential? : improved Troullier and martins
・ Which spin? : polarized
・ Which exchange-correlation? : Ceperly and Alder
・ Logder radius: 0
・ n l ndown nup
  -----
  l = 0 , ndown 2 -> ndown 1, nup 1
  -----
  l = 1 , ndown X >= 4 -> ndown 3, nup X-3
  or
  l = 1 , ndown X -> ndown X/2, nup X/2 (low spin system)
  -----
  l = 2 , ndown X >= 6 -> ndown 5, nup X-5
  or
  l = 2 , ndown X -> ndown X/2, nup X/2 (low spin system)
  -----
・ core radii ( s, p, d, f orbitals) 
  data of http://departments.icmab.es/leem/siesta/Databases/Pseudopotentials/periodictable-lda-abinit.html
  or
  default of  http://www.tddft.org/programs/octopus/wiki/index.php/Pseudopotentials
See input -> save as case.inp in Tutroial/Utils
---
6) gedit pg.sh
  DEFAULT_DIR=../../../Utils -> DEFAULT_DIR=.
  default="../../../../atm" -> default="../../../atm"
  cp -f ${ATOM_UTILS_DIR}/$i.gps ./$name ->  cp ../$i.gps ./$i.gps
  cp -f ${ATOM_UTILS_DIR}/$i.gplot -> cp ../$i.gplot ./$i.gplot
7) pg.sh case.inp
※ "Directory XX exists. Please delete it first" case -> rm -f -r XX
◇ check
8) cd 'atom name, for example Si'
9) gnuplot
10) load 'pseudo.gplot'

[1] http://www.tddft.org/programs/octopus/wiki/index.php/Pseudopotentials
[2] http://personales.unican.es/junqueraj/JavierJunquera_files/Metodos/Pseudos/VCA/VCA.pdf
[3] http://www.affinity-science.com/siesta/quickstart.html (Japanese)
-------------------------------------------------------------------------------
■ PAO
basis set: SZ < SZP (for bulk) < DZP (for interface)

PAO.BasisType        split
 # Default value: split
 #  * split: Split-valence scheme for multiple-zeta
 #  * splitgauss: Same as split but using gaussian functions
 #  * nodes: Generalized PAO's
 #  * nonodes: The original PAO's are used

PAO.BasisSize        SZP
 # Default value: STANDARD = DZP
 #  * SZ or MINIMAL: minimal or single-zeta basis
 #  * DZ: Double zeta basis, in the scheme defined by PAO.BasisType
 #  * SZP: Single-zeta basis plus polarization orbitals
 #  * DZP or STANDARD: Like DZ plus polarization orbitals

#%block Ps.lmax
#%endblock Ps.lmax
 # Default: (Block absent or empty). Maximum angular momentum of the basis
 #  orbitals plus one

#%block PS.KBprojectors
#%endblock PS.KBprojectors
 # Default: (Block absent or empty). Only one KB projector, constructed from
 #  the nodeless eigenfunction, used for each angular momentum

%block PAO.Basis
    O 2 nodes 1.0
    n=2 0 2 E 50.0 2.5
      3.50 3.50
      0.95 1.00
      1 1 P 2
      3.50
    H 1
      0 2 S 0.2
      5.00 0.00
%endblock PAO.Basis
 # Define Basis set
 #  Label, l_shells, type (opt), ionic_charge (opt)
 #  n (opt if not using semicore levels), l, Nzeta, ( [P: Polarization, NzetaPol] or [E: flag soft-conf, prefactor V0, inner ri])
 #      rc(izeta=1,Nzeta) (Bohr), for example Nzeta = 2 case, rc(first-zeta), rm (second-zeta)
 #      scaling factors (izeta=1,Nzeta) (opt) (default = 1.000)
 #  l, Nzeta, PolOrb (opt), NzetaPol (opt)
 #      rc(izeta=1,Nzeta)(Bohr)
http://personales.unican.es/junqueraj/JavierJunquera_files/Metodos/Basis/PAO.Basis/PAO.Basis.pdf 

PAO.EnergyShift    200 meV
 # Default value: 0.02 Ry

PAO.SplitNorm        0.20
 # Default value: 0.15
-------------------------------------------------------------------------------
■ Input file
siesta: cif2cell -p siesta -f Fe2VAl.cif
※ 作成された入力ファイルの記述が正しいかチェックが必要
Fe2VAlの場合
-----
#************************************************************
#*      Generated by cif2cell 1.0.10 2014-10-24 20:14       *
#*                             ()                           *
#* Failed to get author information, No journal information *
#************************************************************
AtomicCoordinatesFormat     Fractional
LatticeConstant             5.76517 Ang
NumberOfAtoms               6
NumberOfSpecies             3
%block LatticeVectors
  0.500000000000000   0.500000000000000   0.000000000000000
  0.500000000000000   0.000000000000000   0.500000000000000
  0.000000000000000   0.500000000000000   0.500000000000000
%endblock LatticeVectors
%block AtomicCoordinatesAndAtomicSpecies
  0.500000000000000   0.500000000000000   0.500000000000000    1
  0.250000000000000   0.250000000000000   0.250000000000000    2
  0.750000000000000   0.750000000000000   0.750000000000000    2
  0.750000000000000   0.750000000000000   0.750000000000000    2
  0.250000000000000   0.250000000000000   0.250000000000000    2
  0.000000000000000   0.000000000000000   0.000000000000000    3
%endblock AtomicCoordinatesAndAtomicSpecies
%block ChemicalSpeciesLabel
1       13      Al      
2       26      Fe      
3       23      V       
%endblock ChemicalSpeciesLabel
-----
以上のように同じ原子位置に原子は配置されている設定となっていることもある(VESTAでcifを作るときの入力で私が間違えていたかもしれない)ので、「NumberOfAtoms」と「%block AtomicCoordinatesAndAtomicSpecies」の部分が誤っている。下記のように修正する。
-----
NumberOfAtoms               4

%block AtomicCoordinatesAndAtomicSpecies
  0.500000000000000   0.500000000000000   0.500000000000000    1
  0.250000000000000   0.250000000000000   0.250000000000000    2
  0.750000000000000   0.750000000000000   0.750000000000000    2
  0.000000000000000   0.000000000000000   0.000000000000000    3
%endblock AtomicCoordinatesAndAtomicSpecies
-----


□ SCF + DOS
Fe2VAl.cif +
-----
SystenName band_dispersion GGA-PBE # Descriptive name of the system
SystemLabel case_k888 # Short name for naming files

# Restart
# MD.UseSaveXV .true. # read atomic positions and velocities
# MD.UseSaveZM .true. # read Z-matrix
# MD.UseSaveCG .true. # read CG calculation hystory
# DM.UseSaveDM .true. # read the density matrix (MD)
# ON.UseSaveLWF .true. # read the localized wave functions
# UseSaveData .true. # read all data

# Basis
#PAO.BasisSize DZP (Default value: DZP)
#%block Ps.lmax
#Al 3
#Fe 3
#V 3
#%endblock Ps.lmax

# K-points 8x8x8
%block kgrid_Monkhorst_Pack
 8 0 0 0.5
 0 8 0 0.5
 0 0 8 0.5
%endblock kgrid_Monkhorst_Pack
#kgrid_cutoff        7. Ang

# DFT, Grid, SCF
XC.functional GGA # Exchange-correlation functional (Default value: LDA)
XC.authors PBE      # Exchange-correlation version (Default value: PZ)
 # LDA type list
 #  * CA Ceperley-Alder equivalent to PZ (Perdew-Zunger). Local density approximation.
 #  * PW92 Predew-Wang-92. Local density approximation.
 # GGA type list
 #  * PBE. Generalized gradients approximation.
 #  * revPBE. Revised Perdew-Burke-Ernzerhof. Generalized gradients approximation.
 #  * RPBE. Generalized gradients approximation. Generalized gradients approximation.
 #  * WC Wu-cohen modification of PBE functional. Generalized gradients approximation.
 #  * PBEsol Perdew-Burke-Ernzerhof for solids. Generalized gradients approximation.
 #  * LYP XC: Becke and XC: Lee, Yang and Parr
MeshCutoff 150 Ry # Mesh cutoff. real space mesh (Default value: 50 Ry)
MaxSCFIterations 100 # Maximum number of SCF iterations per step (Default value: 50)

# Spin
#SpinPolarized .true. # Logical parameters are: yes or no (Default value: .false.)
#DM.InitSpinAF #.false. gives ferromagnetic order (all spins up). .true. gives antiferromagnetic order. Up and down are assigned according to order in the block AtomicCoordinatesAndAtomicSpecies: up for the odd atoms, down for even. (Default value: .false.)

# Noncollinear case start
#NonCollinearSpin  yes
#%block DM.InitSpin
# 1  +0.00    90.   0.   # atom,spin,theta,phi (deg)
# 2  +0.00    90.   0.
# 3  +0.00    90.   0.
# 4  +0.00    90.   0.
#%endblock DM.InitSpin
# noncollinear case start

DM.MixSCF1 .false. (Default value: .false.)
DM.MixingWeight 0.100 # New DM amount for next SCF cycle (Default value: 0.25)
DM.UseSaveDM .true. # to use continuation files (Default value: .false.)
DM.Tolerance 0.0001 # Tolerance in maximum difference (Default value: 10**-4)
DM.NumberPulay 6 # Number of SCF steps between pulay mixing (Default value: 0)
Diag.ParallelOverK .true.

# Eigenvalue problem: order-N or diagonalization
Solution.Method diagon # OrderN or Diagon
 # Default value: diagon for 100 atoms or less, Order-N for more than 100 atoms
ElectronicTemperature 300 K # Temp. for Fermi smearing, K or meV (Default value: 300 K)

# Output options
WriteCoorStep .true.
WriteForces .true.
WriteMullikenPop 1 # Write Mulliken Population Analysis
 # * 0 = None
 # * 1 = atomic and orbital charges
 # * 2 = 1 + atomic overlap pop.
 # * 3 = 2 + orbital overlap pop.
WriteMDXMol .true.
WriteKPoints .true.
#WriteKpoints            .false.
#WriteEigenvalues        .false.
#WriteKbands             .false.
#WriteBands              .false.
#WriteCoorXmol           .false.
#WriteMDCoorXmol         .false.
#WriteMDhistory          .false.
#WriteCoorXmol           .false.
#WriteCoorInitial    

# Options for saving/reading information
#DM.UseSaveDM                         # Use DM Continuation files
#MD.UseSaveXV            .false.      # Use stored positions and velocities
#MD.UseSaveCG            .false.      # Use stored positions and velocities
#SaveRho                              # Write valence pseudocharge at the mesh
#SaveDeltaRho                         # Write RHOscf-RHOatm at the mesh
#SaveElectrostaticPotential .false.   # Write the total elect. pot. at the mesh
#SaveTotalPotential      .false.      # Write the total pot. at the mesh
#WriteSiestaDim          .false.      # Write minimum dim to siesta.h and stop
#WriteDenchar                         # Write information for DENCHAR

#------------------------------
# Molecular dynamics and relaxations
MD.TypeOfRun CG # Type of dynamics:
 # Default value: Verlet (CG for one atom systems)
 #  * CG (Coordinate optimization by conjugate gradients)
 #  * Broyden (Coordinate optimization by Modified Broyden scheme)
 #  * FIRE (Coordinate optimization by Fast Inertial Relaxation Engine)
 #  * Verlet (NVE, Standard Verlet algorithm MD)
 #  * Nose (NVT, MD with temperature controlled by means of a Nose thermostat)
 #  * Parrinello-Rahman (NPE, MD with pressure controlled by the Parrinello-Rahman method)
 #  * Nose-Parrinello-Rahman (NPT, MD with temperature controlled by means of a Nose thermostat and pressure controlled by the Prrinello-Rahman method)
 #  * Anneal (MD with annealing to a desired temperature and/or pressure)
 #  * FC (Compute force constatns matrix for phonon calculation)
 #  * Phonon (Compute force for a specified set of atomic displacements chosen with the help of the PHONON program)
 #  * Forces (force, output for an external driver program)
MD.NumCGStep 300 # Number of CG steps for coordinate optimization
#MD.NumCGsteps        0    # Default value: 0
#MD.MaxCGDispl         0.1  Ang # Default value: 0.2 Bohr
#MD.MaxForceTol        0.04 eV/Ang # Default value: 0.04 eV/Ang

# Broyden method case start
#MD.TypeOfRun         Broyden
#MD.NumCGsteps        50
# Broyden method case end

# Verlet method case start
#MD.TypeOfRun         Verlet
#MD.InitialTemperature 600 K
#MD.UseSaveXV       T
#MD.Initial.Time.Step      1
#MD.Final.Time.Step        5
#MD.Length.Time.Step       1 fs
# Verlet method case end

# Nose case start
#MD.TypeOfRun         Nose
#MD.InitialTemperature 600 K
#MD.TargetTemperature 600 K
#MD.Initial.Time.Step      1
#MD.Final.Time.Step        5
#MD.Length.Time.Step       1 fs
# Nose case end

# ParrinelloRahman case start
#####MD.Initial.temperature 300 K
#MD.TypeOfRun         ParrinelloRahman
#MD.Target-pressure   10.0 GPa
#MD.Initial.Time.Step      1
#MD.Final.Time.Step        50
#MD.Length.Time.Step       0.3 fs
# ParrinelloRahman case end

# NoseParrinelloRahman case start
#MD.TypeOfRun         NoseParrinelloRahman
#MD.Target-pressure   10.0 GPa
#MD.Target-temperature   500 K
#MD.Initial-temperature   300 K
#MD.Initial.Time.Step      1
#MD.Final.Time.Step        10
#MD.Length.Time.Step       0.3 fs
# NoseParrinelloRahman case end

# anneal case start
#MD.TypeOfRun         anneal
#MD.AnnealOption  TemperatureAndPressure
#MD.InitialTemperature 100 K
#MD.TargetTemperature 600 K
#MD.TargetPressure 40 GPa
#MD.LengthTimeStep  1 fs
#MD.TauRelax       25 fs
#MD.FinalTimeStep  100
# anneal case end
#------------------------------

# Electron filed start
%block ExternalElectricField
 0.000 0.000 0.000 V/Ang
%endblock ExternalElectricField
# Electron filed end

# Optical calculation case start
#OpticalCalculation .true.
#%block  Optical.Mesh
#     20 20 20
#%endblock  Optical.Mesh
#Optical.OffsetMesh .true.
#Optical.PolarizationType polarized
#%block  Optical.Vector
#          1.0 0.0 0.0
#%endblock  Optical.Vector
#Optical.Broaden 0.2 eV
#Optical.EnergyMaximum  20.0 eV
#Optical.EnergyMinimum  0.0 eV
# Optical calculation case end

# DOS &PDOS case start
%block Projected-density-of-states
 -30.00 15.00 0.200 500 eV
%endblock Projected-density-of-states
# DOS case end

# COOP curves caluclation case start
#COOP.write T
#%block ProjectedDensityOfStates
# -25.  5.  0.2  500   eV
#%endblock ProjectedDensityOfStates
# COOP curves caluclation case end

# FCC lattice
#BandLinesScale ReciprocalLatticeVectors
#%block BandLines
#1 0.000 0.000 0.000 ! \Gamma
#10 0.500 0.000 0.500 ! X
#20 0.500 0.250 0.750 ! W
#40 0.375 0.375 0.750 ! K
#70 0.000 0.000 0.000 ! \Gamma
#%endblock BandLines

# BCC lattice
#%block BandLines
#  1  0.00000   0.000000  0.000000  \Gamma
# 40  2.00000   0.000000  0.000000  H
# 28  1.00000   1.000000  0.000000  N
# 28  0.00000   0.000000  0.000000  \Gamma
# 34  1.00000   1.000000  1.000000  P
#%endblock BandLines
-----
+ Al.psf + V.psf + Fe.psf
Pseudopotentials の擬ポテンシャルを用いる場合は、SpinPolarized .true. にすると正しいDOSが出力されないので注意!
mpirun -np 4 siesta < Fe2VAl.fdf > Fe2VAl.out &
tail -f Fe2VAl.out

□ gnuplot (DOS plot)
-----
gnuplot
plot case_k888.DOS u ($1+6.0483):2 w l t "Fe2VAl NCPP(atom)"
set xrange [-12:6]
set xlabel "Energy / eV"
set ylabel "Density of State / eV"
replot
※ EF は .EIG または .bands の最初に行に記載されている。
-----

DOS (up spin only)


Please, see "Tests" folder.
------------------------------------------------------------------------------- 
■ run
-----
mpirun -np 4 siesta < Fe2VAl.fdf > Fe2VAl.out &
tail -f Fe2VAl.out
-----
mpirun -np 4 transiesta < Fe2VAl.fdf > Fe2VAl.out &
tail -f Fe2VAl.out
-----
------------------------------------------------------------------------------- 
■ Compiling
-----
□ Siesta-3.2-pl-4
Siesta: http://departments.icmab.es/leem/siesta/
[Access to the code] -> By clicking I agree (Academic licence) -> downloads of selected versions of Siesta -> Siesta 3.2 (patch level 4)
1) tar zxvf siesta-3.2-pl-4.tgz
2) cd siesta-3.2-pl-4
3) cd Obj
4) sh ../Src/obj_setup.sh
5) cd Sys
◇ ifort + MKL
  gedit nano-intel-mpi.make, then cp nano-intel-mpi.make ../../Obj/arch.make
  FC=mpif90
  FFLAGS= -w  -O3 -mp -axAVX,SSE4.2,SSE4.1,SSSE3,SSE3
  EXTRA_LIBS=-lpthread
  LDFLAGS= -L/opt/intel/composer_xe_2013/mkl/lib/intel64 -pthread #-static    # do not remove just yet
  MPI_INTERFACE=libmpi_f90.a
  MPI_INCLUDE=/usr/local/openmpi/include      # Note . for no-op
  LIBS=-lmkl_scalapack_lp64 -lmkl_blacs_openmpi_lp64 \
     -lmkl_lapack95_lp64 -lmkl_blas95_lp64 \
     -lmkl_intel_lp64 -lmkl_sequential -lmkl_core $(EXTRA_LIBS)
6) cd ../../Obj
7) make
TranSiesta
8) make clean
9) make transiesta
※ retry: make clean
-----
□ Siesta-3.1
Siesta: http://departments.icmab.es/leem/siesta/
[Access to the code] -> By clicking I agree (Academic licence) -> downloads of selected versions of Siesta -> Siesta 3.1
1) tar zxvf siesta-3.1.tgz
2) cd siesta-3.1
3) cd Obj
4) sh ../Src/obj_setup.sh
5) cd Sys
◇ ifort ( unsuccess )
  ./configure FC=ifort FCFLAGS="-traceback -axAVX,SSE4.2,SSE4.1,SSSE3,SSE3 -mcmodel=large -i-dynamic" --enable-fast LDFLAGS="-L/opt/intel/composer_xe_2013/mkl/lib/intel64 -pthread" --with-blas="-lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lpthread"  --with-lapack="-lmkl_lapack95_lp64"
◇ mpif90 (unsuccess )
  ./configure FC=ifort MPIFC=mpif90 FCFLAGS="-traceback -axAVX,SSE4.2,SSE4.1,SSSE3,SSE3 -mcmodel=large -i-dynamic" --enable-fast LDFLAGS="-L/opt/intel/composer_xe_2013/mkl/lib/intel64 -pthread" --with-blas="-lmkl_blas95_lp64 -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lpthread"  --with-lapack="-lmkl_lapack95_lp64" --with-blacs="-lmkl_blacs_openmpi_lp64" --with-scalapack="-lmkl_scalapack_lp64"
◇ ifort
  gedit nano-intel-mpi.make, then cp nano-intel-mpi.make ../../Obj/arch.make
  FC=ifort
  FFLAGS= -w  -O3 -mp -axAVX,SSE4.2,SSE4.1,SSSE3,SSE3
  LDFLAGS= -L/opt/intel/composer_xe_2013/mkl/lib/intel64 #-static    # do not remove just yet
  EXTRA_LIBS=
  MPI_INTERFACE=
  MPI_INCLUDE=
  FPPFLAGS_MPI=
  LIBS=-lmkl_lapack95_lp64 -lmkl_blas95_lp64 \
     -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread $(EXTRA_LIBS)
◇ ifort (MPI)
  gedit nano-intel-mpi.make, then cp nano-intel-mpi.make ../../Obj/arch.make
  FC=mpif90
  FFLAGS= -w  -O3 -mp -axAVX,SSE4.2,SSE4.1,SSSE3,SSE3
  LDFLAGS= -L/opt/intel/composer_xe_2013/mkl/lib/intel64 #-static    # do not remove just yet
  EXTRA_LIBS=
  MPI_INTERFACE=libmpi_f90.a
  MPI_INCLUDE=/usr/local/openmpi/include
  #MPI_LIBS=-L/usr/local/openmpi/lib -lmpi -lmpi_f77
  FPPFLAGS_MPI=-DMPI
  LIBS=-lmkl_scalapack_lp64 -lmkl_blacs_openmpi_lp64 \
     -lmkl_lapack95_lp64 -lmkl_blas95_lp64 \
     -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread $(EXTRA_LIBS)
6) cd ../../Obj
7) make
TranSiesta
8) make clean
9) make transiesta
References
http://dft-blog.natanzon.eu/2007/02/compiling-siesta-in-parallel-with.html
http://pelios.csx.cam.ac.uk/~mc321/siesta.html
https://rc.fas.harvard.edu/kb/high-performance-computing/siesta/
http://www.affinity-science.com/siesta/installation.html
http://www.isus.jp/article/library-special/linkingwithintelipp/ 
-----
□ Siesta-2.0.2
siesta : http://www.icmab.es/siesta/index.php 
アフィニティサイエンス : 
http://www.affinity-science.com/siesta/installation.html 
使用方法 : http://www.affinity-science.com/siesta/quickstart.html 
siesta-2.0.2 (下記の方法で駄目な場合は、BLAS & LAPACKを入れて下さい)
1) tar zxvf siesta-2.0.2.tgz
2) cd siesta-2.0.2
3) cd Src
gfortranでは下記になる。   
4) ./configure FC=gfortran
5) make
Intel Fortran Compilerでは下記になる。
4) ./configure FC=ifort
5) make
-------------------------------------------------------------------------------


QRコード
携帯用QRコード
アクセス数
ページビュー数