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
Ielement takes def2-SVPD basis set whereas all other elements take def2-SVP basis set. Since iodine (Z=53) has atomic number > 36, thegenecpkeyword 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_elementslist are present, thelight_elements_basisis usedIf all heavy elements have atomic number ≤ 36 (up to Kr), the
genkeyword is usedIf any heavy element has atomic number > 36 (Rb and beyond), the
genecpkeyword is used
For example, with heavy_elements: ['Pd', 'Ag', 'Br']:
A molecule containing only Br (Z=35) will use
genA molecule containing Pd (Z=46) or Ag (Z=47) will use
genecpA molecule with no heavy elements will use
light_elements_basisdirectly
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: genericand provide detailed parameters viacustom_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 toNullwhen using pure ab initio methods)basis: Basis set specification, supports extrapolation schemesaux_basis: Auxiliary basis for RI approximations (AutoAuxfor 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 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