Class HighLevelEnergyCalculator

Class Documentation

class HighLevelEnergyCalculator

Complete high-level energy calculation and analysis system.

The HighLevelEnergyCalculator class provides a comprehensive solution for combining high-level electronic energies with low-level thermal corrections to calculate accurate thermodynamic properties. It implements the two-level computational approach commonly used in computational chemistry.

Strategy

The calculator follows this methodology:

  1. Extract high-level electronic energies from current directory

  2. Extract thermal corrections from parent directory calculations

  3. Combine energies using appropriate theoretical framework

  4. Apply temperature and concentration corrections

  5. Output results in user-specified formats

Structure

Expected directory organization:

parent_directory/          # Low-level calculations (opt+freq)
├── compound1.log         # Optimization and frequency calculation
├── compound2.log
└── high_level_dir/       # High-level calculations (single points)
    ├── compound1.log     # High-level single-point energy
    └── compound2.log

Features

  • Automatic detection of calculation types and methods

  • Support for various high-level methods (DFT, MP2, CCSD(T))

  • Temperature and concentration-dependent corrections

  • Multiple output formats for different analysis needs

  • Comprehensive error handling and validation

  • Integration with job scheduler resource management

Public Functions

HighLevelEnergyCalculator(double temp = 298.15, double concentration_m = 1.0, int sort_column = 2, bool is_au_format = false)

Constructor with temperature and concentration specification.

Initializes the calculator with specified thermodynamic conditions. Temperature affects thermal corrections and phase corrections, while concentration affects phase corrections for solution-phase calculations.

Parameters:
  • temp – Temperature for thermodynamic calculations (K, default: 298.15)

  • concentration_m – Concentration in mol/L for phase corrections (default: 1.0)

HighLevelEnergyCalculator(std::shared_ptr<ProcessingContext> context, double temp = 298.15, double concentration_m = 1.0, int sort_column = 2, bool is_au_format = false)

Constructor with processing context for advanced resource management.

Initializes the calculator with a complete processing context that includes:

  • Memory monitoring for large-scale processing

  • File handle management for efficient I/O

  • Thread-safe error collection

  • Job scheduler integration

Parameters:
  • context – Shared processing context with resource managers

  • temp – Temperature for thermodynamic calculations (K, default: 298.15)

  • concentration_m – Concentration in mol/L for phase corrections (default: 1.0)