8000 Feature Request: Add parsing capabilities for ORCA compound jobs · Issue #1618 · cclib/cclib · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
Feature Request: Add parsing capabilities for ORCA compound jobs #1618
Open
@spackman

Description

@spackman

I use a lot of ORCA compound jobs in my work to calculate different properties particularly NMR/EPR (#125 ) or optimize under different methods.
This is similar in concept to Gaussian's linked jobs.

It would be really nice if cclib could handle parsing these types of output files. In my testing it appears that cclib can get some limited information about the input file,package version and basis set, but no meaningful data on energies, geometries etc (I'm not expecting that it would get the EPR/NMR parameters).

Here is an example:

import cclib
filename = r"compound_job.out"
data = cclib.io.ccread(filename)

data.getattributes()
#returns:
{'charge': 0,
 'metadata': {'package': 'ORCA',
  'methods': [],
  'success': True,
  'num_cpu': 1,
  'legacy_package_version': '6.0.0',
  'package_version': '6.0.0',
  'basis_set': 'def2-SVP',
  'input_file_name': '/beegfs/scratch/crbosgraaf/EPR_calcs/EPR_calculations_optimized_CF2H/benchmarking_files/F00_B00_IN-PROGRESS/F00_B00_Compound_2.inp',
  'input_file_contents': '      ! HF pc-1 TightSCF\n      %base "F00_B00_epr"\n  \n      %eprnmr  \n          ORI       = GIAO\n          GTENSOR  TRUE\n          NUCLEI  = ALL H {AISO, ADIP, AORB}\n          NUCLEI  = ALL F {AISO, ADIP, AORB}\n          NUCLEI  = ALL C {AISO, ADIP, AORB}\n      end\n  \n\n',
  'coord_type': 'xyz',
  'keywords': ['HF', 'pc-1', 'TightSCF'],
  'coords': [],
  'warnings': ['your system is open-shell and RHF/RKS was chosenWILL SWITCH to UHF/UKS',
   'Geometry OptimizationSwitching off AutoStartFor restart on a previous wavefunction, please use MOREAD',
   'your system is open-shell and RHF/RKS was chosenWILL SWITCH to UHF/UKS'],
  'info': [],
  'wall_time': [datetime.timedelta(seconds=589, microseconds=114000)],
  'cpu_time': [datetime.timedelta(seconds=589, microseconds=114000)]}}

The orca input file for these sorts of calculations looks something like this:

!HF
%maxcore 4000
%pal nprocs 36 end

# ---------------------------------------
# Geometry from r2scan-3c tight opt
# ---------------------------------------
*xyz 0 2
  H          -1.01753024797734      1.28244048569555      3.83126470832566
  F          -0.74725430833994      2.17270427275665      2.01366249446148
  F          -1.86497859454729      3.13127106394363      3.65205621187758
  C          -1.47233184913543      1.97315817760416      3.11657458533527
*

%COMPOUND

  variable JobName;
  JobName = "compound_job";

  # ------------------------------------
  # EPR Calculation
  # ------------------------------------
  New_Step
    ! HF pc-1 TightSCF
    %base "&{{JobName}}_epr"

    %eprnmr  
        ORI       = GIAO
        GTENSOR		TRUE
        NUCLEI		= ALL H {AISO, ADIP, AORB}
        NUCLEI		= ALL F {AISO, ADIP, AORB}
        NUCLEI		= ALL C {AISO, ADIP, AORB}
    end

  Step_End
End

A sample outputfile is attached.

compound_job.txt

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0