An Ab Initio Materials Simulation Code

An Ab Initio Materials Simulation Code

CP2K: An ab initio materials simulation code Lianheng Tong Physics on Boat Tutorial , Helsinki, Finland 2015-06-08 Faculty of Natural & Mathematical Sciences Department of Physics Brief Overview • Overview of CP2K - General information about the package - QUICKSTEP: DFT engine • Practical example of using CP2K to generate simulated STM images - Terminal states in AGNR segments with 1H and 2H termination groups What is CP2K? Swiss army knife of molecular simulation www.cp2k.org • Geometry and cell optimisation Energy and • Molecular dynamics (NVE, Force Engine NVT, NPT, Langevin) • STM Images • Sampling energy surfaces (metadynamics) • DFT (LDA, GGA, vdW, • Finding transition states Hybrid) (Nudged Elastic Band) • Quantum Chemistry (MP2, • Path integral molecular RPA) dynamics • Semi-Empirical (DFTB) • Monte Carlo • Classical Force Fields (FIST) • And many more… • Combinations (QM/MM) Development • Freely available, open source, GNU Public License • www.cp2k.org • FORTRAN 95, > 1,000,000 lines of code, very active development (daily commits) • Currently being developed and maintained by community of developers: • Switzerland: Paul Scherrer Institute Switzerland (PSI), Swiss Federal Institute of Technology in Zurich (ETHZ), Universität Zürich (UZH) • USA: IBM Research, Lawrence Livermore National Laboratory (LLNL), Pacific Northwest National Laboratory (PNL) • UK: Edinburgh Parallel Computing Centre (EPCC), King’s College London (KCL), University College London (UCL) • Germany: Ruhr-University Bochum • Others: We welcome contributions from interested users, just send code to a developer. After passing quality check can be in SVN trunk within days. User Base • Large user base across the world • Recent UK national HPC service report: • 2nd most used code on ARCHER • Number of users increasing • Preferred by users for larger simulations compared to traditional plane-wave codes • User community through Google Group • https://groups.google.com/forum/#! forum/cp2k • Tutorial pages: • http://www.cp2k.org/tutorials • Wiki format, users are encouraged to share their experiences with the community Turner, A, https://www.archer.ac.uk/documentation/white-papers/app-usage/UKParallelApplications.pdf Information For Developers • Parallelisation: • MPI + OpenMP • CUDA C (GPU): sparse matrix multiplication engine • Quality Control on Development: • Over 2000 automatic regression tests and memory leak tests • Own Libraries: • DBCSR (parallel sparse matrix format and multiplication) • libsmm (small matrix multiplication) • External Libraries: • BLAS/LAPACK (MKL, ACML, ATLAS, Cray-LibSci, …) • ScaLAPACK/BLACS, ELPA • FFTW • libint (HF exact exchange) • libxc (exchange-correlation functionals) DFT Solver: QuickStep Select basis • Basis Sets: GWP Initialise density matrix • Contracted Gaussians functions for matrices • Planewaves for density function: electrostatics using FFT Construct density in planewave rep. Construct E and H • Uses Pseudopotentials based on Gaussian functions (Goedecker-Teter- Hutter) Minimise E • A library of pseudo potentials and Obtain new density basis functions for most elements in matrix the periodic table comes with the package Self-consistent • Energy Minimiser cycle • Diagonalisation • Orbital Transform • Self-consistent cycle From optimised density • Pulay, Broyden construct H and calculate force Direct Diagonalisation + DIIS • Construct H and S, and solve eigenvalue problem directly — O(N^3) Hˆ n(r)=En n(r) ⇢(r)= fn(En,Ne) n(r) n(r)⇤ n X 1 • CP2K reorthogonalises the basis set by using transformation S− 2 • Uses ScaLAPACK (or ELPA) m m • DIIS (Pulay mixing): opt i ↵ =1 ⇢in = ↵i⇢in i i=m N +1 i=m NP +1 X− P X− m 1 m m 3 m m j=m N +1 Aji− R[⇢in ] R[⇢in ] d rR([⇢in ], r)R([⇢in ], r) − P h | i⌘ ↵i = m 1 A− Z Pi,j=m NP +1 ji − R[⇢opt] R[⇢opt] R[⇢ ] R[⇢ ] h in | in ih in | in i P opt opt i j m+1 A R[⇢ ] R[⇢ ] ⇢in ⇢in + AR[⇢in ] ij ⌘h in | in i ⌘ Orbital Transform Method • Total KS energy is a functional of the electron density, which is a functional of the wavefunctions. • Density Functional Theory: the minimal of the KS functional gives the ground state density and energy • Orbital Transform method: find the ground state density (wavefunctions) by direct minimisation of the KS energy as a function of the wavefunction coefficients (in the Gaussian basis representation) • Advantages: • Fast: does not involve expensive diagonalisation • If preconditioned correctly, method guaranteed to find minimum • Disadvantages: • Sensitive to preconditioning. A good preconditioner can be expensive • No smearing, or advanced SCF mixing possible: poor convergence for metalic systems Orbital Transform • We need to minimise energy with respect to the constraint that wavefunctions il i0l0 always remain orthonormal: C ⇤ φ φ C = δ n h il| i0l0 i m nm iiX0ll0 @E @X @G Direction of ⇤ steepest decent @X E = constant on E surface correction tangent to manifold at n Cn+1 G(X) = 0 Cn geodesic Direction of Constraint steepest decent manifold on E surface for CTSC = 1 tangent to manifold at n Orbital Transform Direction of steepest decent on E surface • Instead of minimising E correction tangent to manifold at n with respect to Cn+1 C geodesic wavefunction coefficients, n make a transformation of Constraint variable to: manifold for CTSC = 1 1 C(X)=C0 cos(U)+XU− sin(U) Direction of T 1 steepest decent U =(X SX) 2 on E surface tangent to manifold at n • With the constraint: Xn+1 Xn T X SC0 =0 Constraint manifold T for X SC0 =0 Orbital Transform • Need to avoid diagonalisation • Cosine and Sine functions are expanded in Taylor series up to order K (K = 2, 3 already give machine precision) • Calculate inverse U as part of Taylor expansion K ( 1) cos(U)= − (XTSX)i (2i)! i=0 X K i 1 ( 1) T i U− sin(U)= − (X SX) (2i + 1)! i=0 X • 10 to 20 times faster than Diagonalisation + DIIS Practical Example: ANGR Terminal States • Consider two polyantryl molecules (armchair graphene nano ribbon segments): It has been observed that different termination leads to a change of state structure completely: Talirz et al. J. Am. Chem. Soc., 2013, 135 (6), pp 2060–2063 The associated files for this tutorial is available for download at: http://www.cp2k.org/howto:stm Prepare CP2K Input Files • To run a CP2K simulation, you need the minimum of following files: • Input parameters file • Atomic coordinate file — if not include in the input file • Pseudopotential data file • Gaussian basis set data file • Pseudopotential and basis set can simply be copied from cp2k/ data/ directory included in the package • Atomic coordinate files can be most of the common formats such as .xyz or .pdb etc. • A web-based GUI for generating the input parameter file is under development, expect to be released in the near future! CP2K Input Parameters File Job Admin &section_name Controls overal &GLOBAL keyword values verbosity PRINT_LEVEL LOW ... Job name PROJECT GNR_A7_L11_2H &subsection_name Job type RUN_TYPE GEO_OPT keyword values &END GLOBAL ... &END subsection_name Force &FORCE_EVAL Model type ... Engine METHOD Quickstep &END section_name MD Parameters for &SUBSYS Atomic &another_section Job type &MOTION ... coordinates ... &GEO_OPT &END SUBSYS and kinds &END another_section ... &DFT &END GEO_OPT ... Model CP2K input consists &CONSTRAINT &END DFT parameters of nested sections ... &PRINT &END CONSTRAINT ... Controls level of &PRINT &END PRINT output during Controls level of ... Constraints&END FORCE_EVAL Force eval output during &END PRINT MD &END MOTION &FORCE_EVAL METHOD Quickstep &SUBSYS First Relax The System &CELL ABC [angstrom] 60 30 20 MULTIPLE_UNIT_CELL 1 1 1 &END &GLOBAL &TOPOLOGY atomic coordinates It is essential to first find you COORD_FILE_NAME ./GNR_A7_L11_1H.xyz PRINT_LEVEL LOW have enough grid points for the real COORDINATE xyz PROJECT GNR_A7_L11_1H space and FFT grid (i.e. large enough MULTIPLE_UNIT_CELL 1 1 1 RUN_TYPE GEO_OPT &END planewave basis set). A tutorial on how &KIND C &END GLOBAL to do this can be found on http:// BASIS_SET DZVP-MOLOPT-GTH www.cp2k.org/ POTENTIAL GTH-PBE-q4 which basis and &END KIND &KIND H PP to use BASIS_SET DZVP-MOLOPT-GTH POTENTIAL GTH-PBE-q1 &MOTION &END KIND &END SUBSYS &GEO_OPT &DFT TYPE MINIMIZATION Basis and BASIS_SET_FILE_NAME ./BASIS_MOLOPT MAX_DR 1.0E-03 Pseudopotential POTENTIAL_FILE_NAME ./GTH_POTENTIALS &MGRID MAX_FORCE 1.0E-03 files CUTOFF 350 RMS_DR 1.0E-03 NGRIDS 5 Planewave cutoff RMS_FORCE 1.0E-03 &END &SCF MAX_ITER 200 MAX_SCF 100 OPTIMIZER BFGS SCF_GUESS ATOMIC EPS_SCF 1.0E-6 &END GEO_OPT &OT &CONSTRAINT PRECONDITIONER FULL_KINETIC &FIXED_ATOMS ENERGY_GAP 0.01 &END COMPONENTS_TO_FIX XYZ &OUTER_SCF LIST 1 MAX_SCF 30 &END FIXED_ATOMS We fix the first atom EPS_SCF 1.0E-6 &END &END CONSTRAINT &END SCF &END MOTION &XC Functional to use &XC_FUNCTIONAL PBE &END XC_FUNCTIONAL &END XC &END DFT &END FORCE_EVAL First Relax The System: SCF output SCF WAVEFUNCTION OPTIMIZATION ----------------------------------- OT --------------------------------------- Allowing for rotations: F Optimizing orbital energies: F Minimizer : CG : conjugate gradient Preconditioner : FULL_KINETIC : inversion of T + eS Precond_solver : DEFAULT Line search : 2PNT : 2 energies, one gradient stepsize : 0.15000000 energy_gap : 0.01000000 eps_taylor : 0.10000E-15 max_taylor : 4 mixed_precision : F ----------------------------------- OT --------------------------------------- Step Update method Time Convergence Total energy Change ------------------------------------------------------------------------------ 1 OT CG 0.15E+00 10.1 0.02378927 -453.3605987256 -4.53E+02

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    28 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us