reached required accuracy - stopping structural energy minimisation [ctan@baifq-hpc141 primitive_cell-opt]$ tail OUTCAR User time (sec): 88.516 System time (sec): 3.010 Elapsed time (sec): 94.030
Maximum memory used (kb): 238296. Average memory used (kb): N/A
Minor page faults: 36126 Major page faults: 669 Voluntary context switches: 1271
0) Quit 9) Back ------------->> 2 +---------------------------- Tip ------------------------------+ Input the K-spacing value for SCF Calculation: (Typical Value: 0.03-0.04 is Generally Precise Enough) ------------>> 0.03 Input the K-spacing value for Band Calculation: (Typical Value: 0.03-0.04 for DFT and 0.04-0.06 for hybrid DFT) ------------>> 0.03 +---------------------------------------------------------------+ -->> (02) Reading K-Path From KPATH.in File. +-------------------------- Summary ----------------------------+ K-Mesh for SCF Calculation: 3 3 3 The Number of K-Points along K-Path No.1: 14 The Number of K-Points along K-Path No.2: 6 The Number of K-Points along K-Path No.3: 18 The Number of K-Points along K-Path No.4: 17 The Number of K-Points along K-Path No.5: 7 The Number of K-Points along K-Path No.6: 7 +---------------------------------------------------------------+ -->> (03) Written KPOINTS File.
General timing and accounting informations for this job: ======================================================== Total CPU time used (sec): 22600.775 User time (sec): 10925.947 System time (sec): 11674.828 Elapsed time (sec): 7781.069 Maximum memory used (kb): 6086716. Average memory used (kb): N/A Minor page faults: 6831986 Major page faults: 282 Voluntary context switches: 53436870
PROFILE, used timers: 405 =============================
------------>> 21 ============================ Band Options ======================= 211) Band-Structure 212) Projected Band-Structure of Only-One-Selected Atom 213) Projected Band-Structure of Each Element 214) Projected Band-Structure of Selected Atoms 215) Projected Band-Structure by Element-Weights 216) The Sum of Projected Band for Selected Atoms and Orbitals
0) Quit 9) Back ------------>> 211 -->> (01) Reading Input Parameters From INCAR File. +---------------------------------------------------------------+ | >>> The Fermi Energy will be set to zero eV <<< | +---------------------------------------------------------------+ -->> (02) Reading Fermi-Energy from DOSCAR File. -->> (03) Reading Energy-Levels From EIGENVAL File. -->> (04) Reading K-Path From KPOINTS File. -->> (05) Written KLABELS File. +---------------------------- Tip ------------------------------+ |If You Want to Get Fine Band Structrue by Interpolating Method.| | You CAN set GET_INTERPOLATED_DATA = .TRUE. in ~/.vaspkit file.| +---------------------------------------------------------------+ -->> (06) Written BAND.dat File. -->> (07) Written REFORMATTED_BAND.dat File. -->> (08) Written KLINES.dat File. -->> (09) Written BAND_GAP File.
-->> (01) Reading Input Parameters From INCAR File. +---------------------------------------------------------------+ | >>> The Fermi Energy will be set to zero eV <<< | +---------------------------------------------------------------+ -->> (02) Reading Fermi-Level From FERMI_ENERGY.in File. -->> (03) Reading Energy-Levels From EIGENVAL File. -->> (04) Reading KPT-Params in the First Line of KPOINTS File. -->> (05) Reading K-Path From KPATH.in File. -->> (06) Written KLABELS File. +---------------------------- Tip ------------------------------+ |If You Want to Get Fine Band Structrue by Interpolating Method.| | You CAN set GET_INTERPOLATED_DATA = .TRUE. in ~/.vaspkit file.| +---------------------------------------------------------------+ -->> (07) Written BAND.dat File. -->> (08) Written REFORMATTED_BAND.dat File. -->> (09) Written KLINES.dat File. -->> (10) Written BAND_GAP File.
definput_target(self): f = input("Enter target formula: ").strip() self.target = FormulaParser.parse(f) for e, c inself.target.items(): if e notinself.atomic_masses: raise ValueError(f"Mass of element {e} not defined") self.target_mm += c * self.atomic_masses[e] print(f"Parsed: {self.target}") print(f"Target molar mass = {self.target_mm.normalize()} g/mol")
definput_reagents(self): n = int(input("Enter number of reagents: ")) for i inrange(n): f = input(f"Reagent {i+1} formula: ").strip() self.reagent_formulas.append(f) parsed = FormulaParser.parse(f) mm = sum(parsed[e] * self.atomic_masses[e] for e in parsed) self.reagents.append(parsed) self.molar_masses.append(mm) print(f"{f} molar mass = {mm.normalize()} g/mol")
defvalidate(self): tgt = set(self.target) prov = set().union(*(r.keys() for r inself.reagents)) miss = tgt - prov extra = prov - tgt if miss: print(f"Error: Missing elements: {miss}") exit() if extra: print(f"Warning: Extra elements: {extra}")
defsolve_basis(self): # Construct A, b corresponding to 1 mol elems = sorted(set(self.target) | set().union(*(r.keys() for r inself.reagents))) A = [[r.get(e, Decimal(0)) for r inself.reagents] for e in elems] b = [self.target.get(e, Decimal(0)) for e in elems] # Convert to rational number to avoid floating point error A_rat = [[Rational(str(val)) for val in row] for row in A] b_rat = [Rational(str(val)) for val in b] vars = symbols(f'x0:{len(self.reagents)}') sol = linsolve((Matrix(A_rat), Matrix(b_rat)), vars) ifnot sol: print("Error: No exact solution for 1 mol target.") exit() tup = next(iter(sol)) # Convert rational to decimal exact representation base = {} for i, r inenumerate(tup): base[vars[i]] = Decimal(r.p) / Decimal(r.q) return base, elems
defcalculate(self): t = input("Input type (0 mass g, 1 moles): ").strip() if t notin ['0','1']: print("Invalid type") exit() v = Decimal(input("Amount: ").strip()) n = v / self.target_mm if t=='0'else v print(f"Target moles = {n.normalize()}")
base, elems = self.solve_basis() print("\nReagent requirements:\n" + "="*40) total_mass = Decimal(0) for i, var inenumerate(sorted(base.keys(), key=lambda x: int(str(x)[1:]))): moles = base[var] * n mass = moles * self.molar_masses[i] total_mass += mass print(f"Reagent {i+1} ({self.reagent_formulas[i]}):") print(f" Moles: {moles.normalize():.10f} mol") print(f" Mass: {mass.normalize():.10f} g\n") print(f"Total mass = {total_mass.normalize():.10f} g")
#Verify element balance print("Verification:") for e in elems: actual = sum((base[symbols(f'x{i}')] * n) * r.get(e, Decimal(0)) for i, r inenumerate(self.reagents)) target_amt = self.target.get(e, Decimal(0)) * n print(f"{e}: target {target_amt.normalize():.10f}, actual {actual.normalize():.10f}")
# For what used to be vasp.5.lib CPP_LIB = $(CPP) FC_LIB = $(FC) CC_LIB = icc CFLAGS_LIB = -O FFLAGS_LIB = -O1 FREE_LIB = $(FREE)
OBJECTS_LIB = linpack_double.o
# For the parser library CXX_PARS = icpc LLIBS = -lstdc++
## ## Customize as of this point! Of course you may change the preceding ## part of this file as well if you like, but it should rarely be ## necessary ... ##
# When compiling on the target machine itself, change this to the # relevant target when cross-compiling for another architecture VASP_TARGET_CPU ?= -xHOST FFLAGS += $(VASP_TARGET_CPU)
# Intel MKL (FFTW, BLAS, LAPACK, and scaLAPACK) # (Note: for Intel Parallel Studio's MKL use -mkl instead of -qmkl) FCL += -qmkl=sequential MKLROOT ?= /opt/intel/oneapi/mkl/2022.1.0 #一定要添加MKLROOT的目录,否则会报错
------------>> 01 ==================== VASP Input Files Options =================== 101) Customize INCAR File 102) Generate KPOINTS File for SCF Calculation 103) Generate POTCAR File with Default Setting 104) Generate POTCAR File with User Specified Potential 105) Generate POSCAR File from cif (no fractional occupations) 106) Generate POSCAR File from Material Studio xsd (retain fixes) 107) Reformat POSCAR File in Specified Order of Elements 108) Successive Procedure to Generate VASP Files and Check 109) Submit Job Queue
0) Quit 9) Back ------------>> ------------>> 101 +---------------------------- Tip ------------------------------+ | WARNNING: You MUST know what wou are doing! | |Some Parameters in INCAR file need to be set/adjusted manually.| +---------------------------------------------------------------+ ======================== INCAR Options ========================== ST) Static-Calculation SR) Standard Relaxation MG) Magnetic Properties SO) Spin-Orbit Coupling D3) DFT-D3 no-damping Correction H6) HSE06 Calculation PU) DFT+U Calculation MD) Molecular Dynamics GW) GW0 Calculation BS) BSE Calculation DC) Elastic Constant EL) ELF Calculation BD) Bader Charge Analysis OP) Optical Properties EC) Static Dielectric Constant PC) Decomposed Charge Density PH) Phonon-Calculation PY) Phonon with Phononpy NE) Nudged Elastic Band (NEB) DM) The Dimer Method FQ) Frequence Calculation LR) Lattice Relaxation MT) Meta-GGA Calculation PZ) Piezoelectric Calculation
0) Quit 9) Back ------------>> Input Key-Parameters (STH6D3 means HSE06-D3 Static-Calcualtion)
''' 分析AIMD结果,计算MSD 和 conductivity ''' import os from pymatgen.core.trajectory import Trajectory from pymatgen.io.vasp.outputs import Xdatcar from pymatgen.core import Structure from pymatgen.analysis.diffusion.analyzer import DiffusionAnalyzer import numpy as np import pickle import matplotlib.pyplot as plt
[ctan@baifq-hpc141 primitive-slab-opt-1]$ grep ' without' OUTCAR energy without entropy= -13.96941183 energy(sigma->0) = -13.97673168 energy without entropy= -13.96945528 energy(sigma->0) = -13.97676958 energy without entropy= -13.97006413 energy(sigma->0) = -13.97726241 energy without entropy= -13.97020643 energy(sigma->0) = -13.97735554 energy without entropy= -13.97017969 energy(sigma->0) = -13.97735013
slab模型优化后的结构信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
CONTCAR\(1\1\1) 1.00000000000000 2.5701000690000000 0.0000000000000000 0.0000000000000000 -1.2850500345000000 2.2257719501000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 21.2954006195000005 Cu/0e71e558f37 4 Selective dynamics Direct 0.0000000000000000 0.0000000000000000 0.0000000000000000 F F F 0.6666700000000034 0.3333299999999966 0.0985399999999998 F F F 0.3333311322281505 0.6666688677718494 0.1972481653092927 T T T -0.0000004145140272 0.0000004145140272 0.2951613337135311 T T T
[ctan@baifq-hpc141 primitive-slab-opt-1]$ grep ' without' .bulk-calc/OUTCAR energy without entropy= -14.90258332 energy(sigma->0) = -14.90537746 energy without entropy= -14.90568039 energy(sigma->0) = -14.90844732 energy without entropy= -14.90859467 energy(sigma->0) = -14.91129762
[ctan@baifq-hpc141 conventional-slab-opt]$ grep ' without' OUTCAR energy without entropy= -55.94972046 energy(sigma->0) = -55.94434499 energy without entropy= -55.94997517 energy(sigma->0) = -55.94458201 energy without entropy= -55.95396000 energy(sigma->0) = -55.94820485 energy without entropy= -55.95519341 energy(sigma->0) = -55.94928561 energy without entropy= -55.95554732 energy(sigma->0) = -55.94959634 energy without entropy= -55.95713778 energy(sigma->0) = -55.95095507 energy without entropy= -55.95788514 energy(sigma->0) = -55.95158140 energy without entropy= -55.95893404 energy(sigma->0) = -55.95242747 energy without entropy= -55.95963672 energy(sigma->0) = -55.95296199 energy without entropy= -55.96031694 energy(sigma->0) = -55.95340564 energy without entropy= -55.96050719 energy(sigma->0) = -55.95349958 energy without entropy= -55.96053048 energy(sigma->0) = -55.95316488 energy without entropy= -55.96067995 energy(sigma->0) = -55.95346716 energy without entropy= -55.96069855 energy(sigma->0) = -55.95356576 energy without entropy= -55.96051601 energy(sigma->0) = -55.95360396 energy without entropy= -55.96050802 energy(sigma->0) = -55.95361124 energy without entropy= -55.96041586 energy(sigma->0) = -55.95360050 energy without entropy= -55.96018279 energy(sigma->0) = -55.95347398
[ctan@baifq-hpc141 conventional-slab-opt]$ grep ' without' .bulk-calc/OUTCAR energy without entropy= -14.90258332 energy(sigma->0) = -14.90537746 energy without entropy= -14.90568039 energy(sigma->0) = -14.90844732 energy without entropy= -14.90859467 energy(sigma->0) = -14.91129762
[ctan@baifq-hpc141 primitive-opt]$ grep ' without' .bulk/OUTCAR energy without entropy= -21.88865316 energy(sigma->0) = -21.88759144 energy without entropy= -21.88930785 energy(sigma->0) = -21.88825056 energy without entropy= -21.89056178 energy(sigma->0) = -21.88952707
弛豫与未弛豫的slab模型的能量信息:
1 2 3 4 5 6 7 8
[ctan@baifq-hpc141 primitive-opt]$ grep ' without' OUTCAR energy without entropy= -25.97155386 energy(sigma->0) = -25.97291371 energy without entropy= -25.97233802 energy(sigma->0) = -25.97366730 energy without entropy= -25.97412653 energy(sigma->0) = -25.97534340 energy without entropy= -25.97511519 energy(sigma->0) = -25.97602399 energy without entropy= -25.97516432 energy(sigma->0) = -25.97619350 energy without entropy= -25.97516747 energy(sigma->0) = -25.97619463 energy without entropy= -25.97517140 energy(sigma->0) = -25.97620156