esta.gaussianBag package#

Submodules#

esta.gaussianBag.input_gaussian module#

class esta.gaussianBag.input_gaussian.GenerateCom(xyzfile, charge, multiplicity, cal_type)#

Bases: object

python class to generate input files (*.com file) for gaussian calculations

Note

work in progress: more componets are being added!!

author: skumar

np = <module 'numpy' from '/home/sonu/anaconda3/envs/py3a/lib/python3.7/site-packages/numpy/__init__.py'>#
read_xyz()#
Parameters

filename (str) – xyz file name

Returns

  • atomic positions (array) – rank 2 array of shape (natoms, 3)

  • atomic labels (list/array of strings) – rank 1 array of atomic labels

  • strings (string) – string mentioning the units of coordinates

write_com(func_basis=None, dispersion=None, solvent=None, chk_file_prefix=None, **kwargs)#
Parameters
  • func_bais (string data) – information for the functional and basis

  • solvent (string (optional)) – solvent for the reaction

  • chk_filename (string) – name of the chk file where data for subsequent calculations can be used for.

  • parameters (there are other (optional) kwargs containing gaussian related) –

Returns

input – as other parameters

Return type

com gaussian file containing info of atomic structure as well

Note

%chk=opt.chk %nproc=26 %mem=5000MW #p B3LYP/Def2SVP EmpiricalDispersion=GD3 opt=(maxcycles=60)

opt cation

1 1 O -0.407106382 1.443503609 0.802672557 .. so on

write_com_2xyz(xyz2file, interface=None, **kwargs)#

xyz files of products read from command line arguments ….mainly used for creating DS-AFIR input file …

atomic postions atomic labels no of atoms _________________ –> all of these variable read form 1xyz file ..by

calling self.read_xyz()

str: xyz file name —2nd xyz filename correspinding to product of rxn

com file containing info of atomic structure info of two atomic systems

write_inp(xyzfile, charge, multiplicity, ncores=None, memory=None, interface=None)#

generate input file for ORCA like below:

Parameters
  • prefix (string) – name of inp file with .inp extension

  • charge (sclar) – chare on ths system

  • multiplicity (integer) – spin multiplicity (2S+1); for a single electron: S =1/2

Returns

file – inp file for orca containg charge and multiplicity options

Return type

string

Note

! XTB2 NoUseSym @job

  • xyz 0 1

@geometry *

write_input_oniom()#

get input file for the oniom-msm method by suzuki etal. (ICReDD) for:

  • saddle calculations (see general folder for the implementation)

  • EQ/TS sampling calculations (this may not be possible as I tried setting up the calculation, but failed!!)

  • ReStruct calculation ..

esta.gaussianBag.input_gaussian_TODO module#

esta.gaussianBag.input_gaussian_TODO.get_atomic_positions(filename)#

get atomic positiions and atomic labels from gaussian com file

esta.gaussianBag.input_gaussian_TODO.get_list_of_string_and_float(sf)#
esta.gaussianBag.input_gaussian_TODO.get_str_and_float(sf)#

list of strings

list of stings and floats; is it not intersting ..ha ha ..sk!

example: o_list = [‘sdata’, ‘218’, ‘167’, ‘-0.0001’] t_list = [get_list_of_string_and_float(v) for v in o_list] print(t_list)

esta.gaussianBag.input_grrm module#

class esta.gaussianBag.input_grrm.GenerateCom(xyzfile, charge, multiplicity, cal_type)#

Bases: object

flags_grrm(**kwargs)#

other options in GRRM code for calculation types e.g:

Options sublink=/home/kumarsonu/bin/link_excode_allv3.1_.py Add Interaction Fragm.1=56,57,58,1 Fragm.2=59-62 1 2 Gamma=200.0 END NOFC KeepIntFiles DownDC=12

np = <module 'numpy' from '/home/sonu/anaconda3/envs/py3a/lib/python3.7/site-packages/numpy/__init__.py'>#
read_xyz()#

filename, str, filename xyz file name

atomic positions: array: rank 2 array of shape (natoms, 3) atomic labels: list/array of strings: rank 1 array of atomic labels no of atoms: scalar

read_xyz2(xyz2file)#

filename, str, filename xyz file name

atomic positions: array: rank 2 array of shape (natoms, 3) atomic labels: list/array of strings: rank 1 array of atomic labels no of atoms: scalar

write_com(**kwargs)#

atomic postions atomic labels no of atoms

com file containing info of atomic structure

write_com_2xyz(xyz2file, **kwargs)#

atomic postions atomic labels no of atoms _________________ –> all of these variable read form 1xyz file ..by

calling self.read_xyz()

str: xyz file name —2nd xyz filename correspinding to product of rxn

com file containing info of atomic structure info of two atomic systems

esta.gaussianBag.input_grrm_advv module#

class esta.gaussianBag.input_grrm_advv.GenerateCom(xyzfile, charge, multiplicity, cal_type)#

Bases: object

python class to generate input files (*.com file) for different type of calculations for GRRM using:

  • non-supported

  • orca

  • gaussian

Note

Different types of calculation are carried out by the

GRRM software given below:

calculaiton type …. status of Implementation

    • Normal mode analysis (FREQ)

    • Minimum point optimization (MIN) ……DONE

    • Saddle-point optimization (SADDLE)

    • IRC following (IRC)

    • LUP path optimization (LUP) …. ongoing

    – to do

    Crossing point (MECI or MESX) optimization …. will not be done Crossing point (MECI or MESX) estimation …. will not be done External atoms (microiterations) Frozen atoms …. DONE

  1. MIN-AFIR calculations … DONE AFIR calculations … DONE DS-AFIR calculations … DONE

    Refinement calculations ….. TODO

author: skumar email: sonukumar.physics@gmail.com

flags_grrm(**kwargs)#

options in GRRM code for calculation types

Note

Options sublink=/home/kumarsonu/bin/link_excode_allv3.1_.py Add Interaction Fragm.1=56,57,58,1 Fragm.2=59-62 1 2 Gamma=200.0 END NOFC KeepIntFiles DownDC=12

read_xyz()#
Parameters

filename (str) – xyz file name

Returns

  • atomic positions (array) – rank 2 array of shape (natoms, 3)

  • atomic labels (list/array of strings) – rank 1 array of atomic labels

  • strings (string) – string mentioning the units of coordinates

read_xyz2(xyz2file)#
Parameters
  • filename

  • str

  • name (filename xyz file) –

Returns

  • atomic positions (array: rank 2 array of shape (natoms, 3))

  • atomic labels (list/array of strings: rank 1 array of atomic labels)

  • no of atoms (scalar)

write_com(interface=None, basis=None, solvent=None, log_filename=None, **kwargs)#

atomic postions atomic labels no of atoms kwargs containing GRRM related parameters

input com GRRM file containing info of atomic structure as well as other GRRM parameteres

write_com_2xyz(xyz2file, interface=None, **kwargs)#

xyz files of products read from command line arguments ….mainly used for creating DS-AFIR input file …

atomic postions atomic labels no of atoms _________________ –> all of these variable read form 1xyz file ..by

calling self.read_xyz()

str: xyz file name —2nd xyz filename correspinding to product of rxn

com file containing info of atomic structure info of two atomic systems

write_inp(xyzfile, charge, multiplicity, ncores=None, memory=None, interface=None)#

generate input file for ORCA like below:

Parameters
  • prefix (string) – name of inp file with .inp extension

  • charge (sclar) – chare on ths system

  • multiplicity (integer) – spin multiplicity (2S+1); for a single electron: S =1/2

Returns

file – inp file for orca containg charge and multiplicity options

Return type

string

Note

! XTB2 NoUseSym @job

  • xyz 0 1

@geometry *

write_input_oniom()#

get input file for the oniom-msm method by suzuki etal. (ICReDD) for:

  • saddle calculations (see general folder for the implementation)

  • EQ/TS sampling calculations (this may not be possible as I tried setting up the calculation, but failed!!)

  • ReStruct calculation ..

esta.gaussianBag.output_gaussian_adv module#

gauss class to handle for the gaussian16 log file

class esta.gaussianBag.output_gaussian_adv.gauss(filename)#

Bases: object

gauss class for the gaussian16 output file

get_all_atomic_positions()#

get all xyzs from log file of gaussian calculations.

get_all_xyz_file()#

get all xyz file by reading the atomic positions and atomic numbers:

..note::

outfile: write data in xyz file specified by name outfile

get_all_xyz_in_a_file(comment=None)#

get all xyz file by reading the atomic positions and atomic labels:

..note::

outfile: write data in a single xyz file specified by name outfile; here outfile = prefix+”_”+’all_’+’.xyz’

get_atomic_positions()#

get atomic positions from the log file of gaussian

..important::

all the atomic positions are stored in pos_all array

get_energies()#

extract energies from the gaussian log file

..note::

get the energies from the gaussian log/output file

Zero-point correction= 0.018555 (Hartree/Particle) Thermal correction to Energy= 0.018650 Thermal correction to Enthalpy= 0.018681 Thermal correction to Gibbs Free Energy= 0.017917 Sum of electronic and zero-point Energies= -2538.604330 Sum of electronic and thermal Energies= -2538.604235 Sum of electronic and thermal Enthalpies= -2538.604203 Sum of electronic and thermal Free Energies= -2538.604968

SCF Done: E(UB3P86) = -2538.62288479 A.U.

and so on ..

get_forces()#

find the forces on all atoms along with max force, and min of all forces on atoms

Parameters

self.filename – str name of the gaussian log file

get_homo_lumo()#
get homo, lumo, and band gaps in hartree (default) from log file of the gaussian, check whether

spin polairsed system or not?

get_natoms_dummy()#

get natoms if “NAtoms” string is not present in the gaussian log file

get_xyz_file()#

get a single xyz file from atomic positions and atomic labels input.

..note::

outfile: write data in xyz file specified by name outfile

esta.gaussianBag.output_gaussian_adv0 module#

gauss class to handle for the gaussian16 output file

class esta.gaussianBag.output_gaussian_adv0.gauss(filename)#

Bases: object

gauss class for the gaussian16 output file

get_all_atomic_positions()#

get all xyz from log file/output file of gaussian

get_all_xyz_file()#

get all xyz file by reading the atomic positions and atomic numbers:

Returns

write data in xyz file specified by name outfile

Return type

outfile

get_all_xyz_in_a_file(comment=None)#

get all xyz file by reading the atomic positions and atomic labels:

Returns

write data in a single xyz file specified by name outfile

here outfile = prefix+”_”+’all_’+’.xyz’

Return type

outfile

get_atomic_positions()#

get xyz from log file/output file of gaussian

Note: all the atomic positions are stored in pos_all array; you can use it as well

get_energies()#

get the energies from the gaussian log/output file

For example:

Zero-point correction= 0.018555 (Hartree/Particle) Thermal correction to Energy= 0.018650 Thermal correction to Enthalpy= 0.018681 Thermal correction to Gibbs Free Energy= 0.017917 Sum of electronic and zero-point Energies= -2538.604330 Sum of electronic and thermal Energies= -2538.604235 Sum of electronic and thermal Enthalpies= -2538.604203 Sum of electronic and thermal Free Energies= -2538.604968

SCF Done: E(UB3P86) = -2538.62288479 A.U.

and so on ..

get_forces()#

find the forces on all atoms max and min of all forces on atoms

Parameters

self.filename – str name of the gaussian log file

get_natoms_dummy()#

get natoms if “NAtoms” string is not present in the gaussian log file

get_xyz_file()#

get xyz file by reading the atomic positions and atomic numbers:

Returns

write data in xyz file specified by name outfile

Return type

outfile

Module contents#