dft_2_data

The Primary_DATA class

class Primary_DATA(metal_atoms=['Pt'], adsorbate_atoms=['C', 'O'], create_new_vasp_files=False, delta=0.025)[source]

Class that generates primary data (frequencies, intensities, GCN values)

Parameters
  • metal_atoms (list of str) – List of atom types considered part of the surface, bulk nanoparticle

  • adsorbate_atoms (list of str) – List of atom types onsidered adsorbates. The first atom type listed is considered in contact with the surface.

  • create_new_vasp_files (bool) – If True, charg2.extxyzstripped and vasprun2.xmlstripped files are generated which compile concatenated DDEC6 charge and vasprun.xml files into a format readable by PANDAS or ASE

  • delta (float) – Angstroms atoms were displaced in finite difference calculation for parameterizing the Hessian

Variables
  • METAL_ATOMS (list of str) – List of atom types considered part of the surface, bulk nanoparticle

  • ADSORBATE_ATOMS (list of str) – List of atom types onsidered adsorbates. The first atom type listed is considered in contact with the surface.

  • CREATE_NEW_VASP_FILES (bool) – If True, charg2.extxyzstripped and vasprun2.xmlstripped files are generated which compile concatenated DDEC6 charge and vasprun.xml files into a format readable by PANDAS or ASE

  • DELTA (float) – Angstroms atoms were displaced in finite difference calculation for parameterizing the Hessian

generate_isotope_data(vasp_directory, output_file, masses1=[12, 16], masses2=[24, 32])[source]

Generate isotope data used in frequency scaling

Parameters
  • vasp_directory (str) – Directory where vasp files are stored.

  • output_path (str) – Output file location of json that will stroe isotope studies

  • masses1 (list of int) – List of masses for ‘adsorbate_atoms’ for one isotope set

  • masses2 (list of int) – List of masses for ‘adsorbate_atoms’ for the other isotope set

Variables
  • OUTPUT_DICTIONARY (dict) – Dictionary of primary data

  • FREQ_FILES (list of str) – List of preprocessed concatenated vasprun.xml files

  • CHARGE_FILES (list of str) – list of preprocessed concatenated DECC6 charge files

  • INDICES_USED (numpy.ndarray) – indices of CHARGE_FILES and FREQ_FILES whose data is used to generate primary data written to the OUTPUT_DICTIONARY

  • MOLECULES (list of Atoms) – List of ASE atoms object that represent the local minima used as the initial configuration for each normal mode analysis

Notes

The following data is written for the isotopic analysis used in determining coverage scaling.

FREQUENCIES: frequencies of normal modes INTENSITIES: intensities of normal modes CO_CN_CO: number of CO to which each CO is coordinated MIN_SEPARATION: smallest distance (A) between each CO CN_CO: number of Pt to which each CO is coordinated GCN: generalized coordination number of each adsorption site CN_PT: coordination of each adsorption site NUM_PT: Number of Pt atoms in each slab SURFACE_AREA: surface area in each slab (A2) CO_PER_A2: CO per surface area (A2) NUM_CO: number of CO on the surface SURFACE_PT: Number of Pt atoms on the adsorbate surface NUM_C12O16: Number of C12O16 on the surface COVERAGE: CO molecules/surface Pt atoms SELF_COVERAGE: major contributing CO molecules of the normal mode per surface Pt atom NUM_C12O32: number of C12O32 molecules NUM_C24O16: number of C24O16 molecules NUM_C24O32: number of C24O32 molecules SELF_CO_PER_A2: major contributing CO moldecules of the normal mode per A2 MODE_ID: ID of each mode REDUCED_MASS: simple reduced mass of each molecule REDUCED_MASS_NORMED: normalized reduced mass of each normal mode MIXED_FACTOR: contribution to each normal from secondary contributing CO isotopes

generate_primary_data(vasp_directory, output_path, data_type='nanoparticle', num_adsorbates='single', poc=1, key_list=None)[source]

Generate primary data

Parameters
  • vasp_directory (str) – Directory where vasp files are stored.

  • output_path (str) – Output file location of json that will stroe primary data

  • data_type (str) – Indicates the kind of DFT data that is being used. Can be ‘nanoparticle’ or ‘surface’.

  • num_adsorbates (str) – Indicates the number of adsorbates that were considered in the simulation. Can be ‘single’ or ‘multiple’

  • poc (int) – The number of points of contact each adsorbate has with the surface.

  • key_list (list) – List of keys for a personalized dictionary of structural features Can include the following: ‘FREQUENCIES’, ‘IMAGINARY’, ‘INTENSITIES’ , ‘MAX_FORCE’, ‘CN_ADSORBATE’, ‘GCN’, ‘CN_METAL’, ‘SYMBOLS’ , ‘NUM_METAL’, ‘COVERAGE’, ‘ENERGY’, ‘POSITIONS’, and/or ‘SHELL_LIST’

Variables
  • OUTPUT_DICTIONARY (dict) – Dictionary of primary data

  • FREQ_FILES (list of str) – List of processed concatenated vasprun.xml files

  • CHARGE_FILES (list of str) – list of processed concatenated DECC6 charge files

  • INDICES_USED (numpy.ndarray) – indices of CHARGE_FILES and FREQ_FILES whose data is used to generate primary data written to the OUTPUT_DICTIONARY

  • MOLECULES (list of Atoms) – List of ASE atoms object that represent the local minima used as the initial configuration for each normal mode analysis

The COVERAGE_SCALING class

class COVERAGE_SCALING(primary_data_path)[source]

Class that generates coverage scaling parameters

Parameters

primary_data_path (str) – Primary isotopic data used in generate coverage scaling realtions

Variables

PRIMARY_DATA_PATH (str) – Primary isotopic data used in generate coverage scaling realtions

get_coverage_parameters(coverage_scaling_path)[source]

Function that generates coverage scaling relations

Parameters

coverage_scaling_path (str) – Location to write coverage scaling parameter dictionary as a json.

save_coverage_figures(figure_directory, adsorbate='CO', metal='Pt', frequency_scale_axis1=[0.98, 1.1], frequency_scale_axis2=[0.995, 1.138], y_2_ticks=[1, 1.02, 1.04, 1.06, 1.08, 1.1, 1.12], presentation=False)[source]

Function generates and saves coverage scaling figures

Parameters
  • figure_directory (str) – Directory where coverage scaling figures are to be saved

  • adsorbate (str) – Name of adsorbate

  • metal (str) – Name of metal

  • frequency_scale_axis1 (list of flaot) – Scale of y axis for first and third subgraphs

  • frequency_scale_axis2 (list of float) – Scale of y axis for second and fourth subgraphs

  • y_2_ticks (list of float) – Tick points for y-axis of second and fourth subgraphs

  • presentation (bool) – Indicates whether presentation style graphs are to be created.