Project Settings

Configure project-specific settings for Gaussian and ORCA calculations.

Gaussian Project Settings

The ~/.chemsmart/gaussian/ directory contains project settings files specifying DFT functionals, basis sets, and other calculation parameters. This folder is created automatically when configuring CHEMSMART. Users can access and freely modify the contents in this folder without affecting the CHEMSMART codes.

Job Type Settings

Project settings are organized by job type, allowing you to specify different computational methods for different phases of your calculations:

  • gas: Used for geometry optimization, transition state searches, and other gas-phase structural calculations.

  • solv: Used for single point energy calculations in solution.

  • td: Used for TD-DFT (time-dependent DFT) calculations for excited states and UV-Vis spectra.

If gas: Null is set, then all job types will be run in solvent phase specified by solv.

Example 1: Basic Multi-Phase Settings

This example (~/.chemsmart/gaussian/test.yaml) demonstrates how to configure different settings for gas-phase optimizations, solution-phase single points, and TD-DFT calculations:

gas:
  ab_initio: Null
  functional: m062x
  basis: def2svp
  semiempirical: Null
  solvent_model: smd
  solvent_id: dichloroethane
solv:
  functional: m062x
  basis: def2tzvp
  freq: False
  solvent_model: smd
  solvent_id: dichloroethane
td:
  functional: cam-b3lyp
  basis: genecp
  heavy_elements: ['I']
  heavy_elements_basis: def2-SVPD
  light_elements_basis: def2SVP
  freq: False

In this configuration:

  • Gas phase optimizations use M062X/def2-SVP with SMD(dichloroethane) implicit solvation

  • Solution phase single points use M062X/def2-TZVP with higher basis set for better energies

  • TD-DFT calculations use CAM-B3LYP with mixed basis sets for systems containing iodine where I element takes def2-SVPD basis set whereas all other elements take def2-SVP basis set. Since iodine (Z=53) has atomic number > 36, the genecp keyword will be used in the Gaussian input file.

Example 2: Mixed Element Basis Sets

For systems with transition metals or heavy elements (or in fact any system), you can specify different basis sets for different elements, as seen in example project settings file in ~/.chemsmart/gaussian/test2.yaml:

gas:
  functional: b3lyp
  basis: genecp
  additional_route_parameters: empiricaldispersion=gd3bj
  heavy_elements: ['Pd', 'Ag', 'Br', 'Cu', 'Mn']
  heavy_elements_basis: def2-TZVPPD
  light_elements_basis: def2-SVP
solv:
  functional: b3lyp
  freq: False
  basis: def2qzvp
  additional_route_parameters: empiricaldispersion=gd3bj
  solvent_model: smd
  solvent_id: TetraHydroFuran

This configuration:

  • Uses B3LYP-D3(BJ) functional with Grimme’s D3 dispersion correction

  • Assigns def2-TZVPPD basis to heavy elements (Pd, Ag, Br, Cu, Mn); if such elements do not occur in the molecule, it will be simply ignored.

  • Assigns def2-SVP basis to all other light elements (H, C, N, O, etc.)

  • Solution phase calculations use uniform def2-QZVP basis set for all atoms for high accuracy

Note

Automatic GEN/GENECP Selection: CHEMSMART automatically determines whether to use gen or genecp keywords in the Gaussian input file based on the elements present in your molecule:

  • If no heavy elements from the heavy_elements list are present, the light_elements_basis is used

  • If all heavy elements have atomic number ≤ 36 (up to Kr), the gen keyword is used

  • If any heavy element has atomic number > 36 (Rb and beyond), the genecp keyword is used

For example, with heavy_elements: ['Pd', 'Ag', 'Br']:

  • A molecule containing only Br (Z=35) will use gen

  • A molecule containing Pd (Z=46) or Ag (Z=47) will use genecp

  • A molecule with no heavy elements will use light_elements_basis directly

This ensures that effective core potentials (ECPs) are only applied when needed for heavier elements.

Example 3: Custom Solvent Parameters

For non-standard solvents, you can define custom solvent parameters (~/.chemsmart/gaussian/test3.yaml):

gas:
  functional: mn15
  basis: genecp
  heavy_elements: ['Rh','Ag','Br','Cu', 'Pd']
  heavy_elements_basis: def2tzvpd
  light_elements_basis: def2svp
solv:
  functional: mn15
  basis: def2qzvp
  freq: False
  solvent_model: smd
  solvent_id: generic
  custom_solvent : |
    solventname=1,1,1,3,3,3-hexafluoropropan-2-ol
    eps=16.7
    epsinf=1.625625 !(not really needed for gs properties)
    HBondAcidity=0.77
    HBondBasicity=0.10
    SurfaceTensionAtInterface=23.23
    CarbonAromaticity=0.0
    ElectronegativeHalogenicity=0.60

This example shows how to:

  • Define custom solvent properties (dielectric constant, H-bonding parameters, etc.)

  • Use MN15 functional with mixed basis sets for transition metal systems

  • Set solvent_id: generic and provide detailed parameters via custom_solvent

Special Settings

To run all calculations with solvent (skip gas phase), set gas: Null:

gas: Null

Other project settings can also be specified, for example, if one requires #p dieze tag for Gaussian input, then in the project settings, one can add

gas:
  dieze_tag: p
  functional: M062X
  basis: def2svp

to specify it and allow automatically inclusion of it in input file writing.

Note

If freq: False is not set, frequency calculations are performed by default for all geometry optimization jobs.

ORCA Project Settings

The ~/.chemsmart/orca/ directory contains ORCA project settings files.

Job Type Settings

Similar to Gaussian, ORCA project settings support multiple job types:

  • gas: Used for geometry optimization and transition state searches in gas phase.

  • solv: Used for single point energy calculations, often with higher-level methods.

Example: DFT Optimization with High-Level Single Points

This example (~/.chemsmart/orca/test.yaml) demonstrates a common workflow: geometry optimization with DFT followed by high-accuracy single point calculations using coupled cluster methods:

gas:
  functional: M062X
  basis: def2-SVP
solv:
  ab_initio: DLPNO-CCSD(T)
  functional: Null
  basis: Extrapolate(2/3,cc)
  aux_basis: AutoAux
  defgrid: DEFGRID3
  freq: False
  scf_tol: TightSCF
  scf_algorithm: KDIIS
  scf_maxiter: 500
  mdci_cutoff: Normal
  mdci_density: None
  dipole: False
  solvent_model: SMD
  solvent_id: "toluene"

This configuration:

  • Gas phase: Performs geometry optimizations using M062X/def2-SVP DFT method

  • Solution phase: Performs high-accuracy single point energies with DLPNO-CCSD(T) using:

    • Complete basis set (CBS) extrapolation from cc-pVDZ and cc-pVTZ (Extrapolate(2/3,cc))

    • Automatic auxiliary basis set selection (AutoAux)

    • Tight SCF convergence with KDIIS algorithm

    • SMD implicit solvation model with toluene as solvent

    • MDCI (Modified Davidson Configuration Interaction) cutoff parameters

This workflow is efficient for obtaining highly accurate energies on DFT-optimized geometries, commonly used for thermochemistry and reaction energetics. One can simply use Gaussian .log file as input for chemsmart to automatically create ORCA single-point .inp file in a single command (see later examples).

Key ORCA-Specific Parameters

  • ab_initio: Specifies post-HF methods (e.g., DLPNO-CCSD(T), CCSD, MP2)

  • functional: DFT functional (set to Null when using pure ab initio methods)

  • basis: Basis set specification, supports extrapolation schemes

  • aux_basis: Auxiliary basis for RI approximations (AutoAux for automatic selection)

  • defgrid: Integration grid quality (DEFGRID1-3)

  • scf_tol: SCF convergence threshold (TightSCF, VeryTightSCF)

  • scf_algorithm: SCF convergence algorithm (KDIIS, SOSCF)

  • mdci_cutoff: MDCI method cutoff settings (Loose, Normal, Tight)

  • mdci_density: Density treatment in MDCI (must be the string "None", not YAML null value)

Example: Custom Solvent Parameters for ORCA

For non-standard solvents in ORCA, custom solvent parameters are written directly into the model’s solvent block. Unlike Gaussian (where custom_solvent is appended after the molecular coordinates), ORCA reads these parameters from the appropriate block (%cpcm or %cosmors).

Supported solvent models and their corresponding ORCA blocks:

Model

Route keyword

Block written

cpcm

CPCM(solvent) or bare CPCM

%cpcm end

cpcmc

CPCMC(solvent) or bare CPCMC

%cpcm end (CPCM with COSMO epsilon function; replaces legacy COSMO removed in ORCA 4.0)

smd

SMD(solvent) or bare SMD

%cpcm end only if custom_solvent / -so options present

cosmors

COSMORS(solvent) or bare COSMORS

%cosmors end

CPCM with custom dielectric (~/.chemsmart/orca/custom.yaml):

gas:
  functional: m062x
  basis: def2-svp
  defgrid: DEFGRID3
solv:
  functional: m062x
  basis: def2-tzvp
  defgrid: DEFGRID3
  freq: False
  solvent_model: cpcm
  custom_solvent : |
    Epsilon 16.7
    Refrac 1.275

This produces the following ORCA input for the solv job type:

! CPCM M062X def2-tzvp DEFGRID3 ...
%cpcm
  Epsilon 16.7
  Refrac 1.275
end

CPCMC with custom dielectric (CPCM + COSMO epsilon; use instead of legacy COSMO):

solv:
  functional: m062x
  basis: def2-tzvp
  solvent_model: cpcmc
  custom_solvent : |
    Epsilon 16.7
    Refrac 1.275

This produces:

! CPCMC M062X def2-tzvp ...
%cpcm
  Epsilon 16.7
  Refrac 1.275
end

openCOSMO-RS with named solvent and full parameter block:

solv:
  functional: m062x
  basis: def2-tzvp
  solvent_model: cosmors
  solvent_id: water
  custom_solvent : |
    aeff              5.925
    lnalpha           0.202
    lnchb             0.166
    chbt              1.50
    sigmahb           9.61e-3
    rav               0.50
    fcorr             2.40
    ravcorr           1.00
    astd              41.624
    zcoord            10.0
    dgsolv_eta       -4.4480
    dgsolv_omegaring  0.2630
    temp              298.15
    dftfunc           "BP86"
    dftbas            "def2-TZVPD"
    solventfilename   "water"
    orbs_vac          false

This produces:

! COSMORS(water) M062X def2-tzvp ...
%cosmors
  aeff              5.925
  lnalpha           0.202
  lnchb             0.166
  chbt              1.50
  sigmahb           9.61e-3
  rav               0.50
  fcorr             2.40
  ravcorr           1.00
  astd              41.624
  zcoord            10.0
  dgsolv_eta       -4.4480
  dgsolv_omegaring  0.2630
  temp              298.15
  dftfunc           "BP86"
  dftbas            "def2-TZVPD"
  solventfilename   "water"
  orbs_vac          false
end

Note

ORCA 6.1 duplicate-keyword guard: When solvent_id is set, COSMORS(solvent_id) already encodes the solvent in the route line. Writing solvent "name" inside the %cosmors block too would cause ORCA to raise an INPUT ERROR: DUPLICATED KEYWORD. chemsmart automatically filters out any solvent "..." lines from the %cosmors block when solvent_id is set.

solventfilename "..." is a different keyword (it points to a .cosmorsxyz file) and is never filtered.

If you want the solvent name to go into the %cosmors block only (omitting it from the route), leave solvent_id unset and add solvent "name" to custom_solvent — the route will then use bare COSMORS without parentheses.

All other parameters listed in the custom_solvent block correspond directly to keywords in the ORCA %cosmors section. Any subset of these can be used — only the parameters you want to override from their defaults need to be listed.

Note

Using a custom ``.cosmorsxyz`` file via ``-sf``: If you have a custom solvent file (e.g. mysolvent.cosmorsxyz), specify it via the -sf / --solventfilename CLI option instead of (or in addition to) the YAML custom_solvent block:

chemsmart sub orca -p myproject -f molecule.xyz -c 0 -m 1 \
    -sm cosmors -si mysolvent -sf /path/to/mysolvent.cosmorsxyz sp

The file is copied to the running directory (scratch or job folder) and solventfilename "mysolvent" is injected into the %cosmors block automatically. If scratch is enabled, chemsmart also detects solventfilename "..." entries in the written input and copies the corresponding .cosmorsxyz file to scratch so ORCA can locate it.

SMD with named solvent and extra parameters:

solv:
  functional: m062x
  basis: def2-tzvp
  solvent_model: smd
  solvent_id: water
  custom_solvent : |
    Epsilon 78.36
    Refrac 1.33

This produces:

! SMD(water) M062X def2-tzvp ...
%cpcm
  Epsilon 78.36
  Refrac 1.33
end

Note

The custom_solvent block and -so/--solvent-options CLI parameters all appear together in a single solvent block, in that order: custom_solvent lines first, then any extra options from -so.

For SMD in ORCA 6.0, the model is activated by the SMD(solvent) route keyword alone — no SMD true / SMDsolvent lines are needed in the %cpcm block.

Scratch Directory

Set up scratch directories for Gaussian and ORCA jobs:

ln -s /path/to/scratch/ ~/scratch