occ
Loading...
Searching...
No Matches
occ::scrf::Options Struct Reference

Construction options for ReactionFieldEngine. More...

#include <reaction_field.h>

Public Types

enum class  Backend { CPCM }
 Electrostatic kernel. More...
 
enum class  Radii { CosmoVdW , SmdIntrinsicCoulomb , Custom }
 Atomic-radii set used to build the ES cavity. More...
 

Static Public Member Functions

static Options conductor (double probe_radius_angs=0.0, int angular_points=590)
 Ideal-conductor COSMO on Klamt radii with no CDS branch — the reference state σ-profiles are defined against.
 

Public Attributes

Backend backend {Backend::CPCM}
 
Radii radii {Radii::CosmoVdW}
 
std::string solvent {"water"}
 Solvent name; looked up via occ::solvent::get_dielectric (and, when include_cds or Radii::SmdIntrinsicCoulomb, get_smd_parameters).
 
double dielectric_override {-1.0}
 Override the dielectric directly.
 
double f_eps_x {0.0}
 COSMO/CPCM convention parameter in f(ε) = (ε − 1)/(ε + x).
 
double probe_radius_angs {0.0}
 Solvent probe radius (Å) handed to the cavity builder.
 
int angular_points {146}
 Lebedev order per atom for the cavity.
 
double smoothing_width_bohr {0.1}
 Smoothing width (Bohr) for the cavity weight.
 
bool include_cds {false}
 Build a second cavity for the SMD cavitation-dispersion-solvent term and pre-compute its per-element energy contributions.
 
Vec custom_es_radii_bohr
 Custom ES-cavity radii (Bohr, length = N_atoms).
 
bool draco_scaling {false}
 

Detailed Description

Construction options for ReactionFieldEngine.

One struct covers both CPCM-X-style (vdW radii, no CDS) and SMD-style (intrinsic Coulomb radii + CDS) configurations; concrete preset factories live below.

Member Enumeration Documentation

◆ Backend

enum class occ::scrf::Options::Backend
strong

Electrostatic kernel.

Only CPCM is wired today; the slots are placeholders for future ALPB/GBSA Born-radii backends sharing the same engine API.

Enumerator
CPCM 

◆ Radii

enum class occ::scrf::Options::Radii
strong

Atomic-radii set used to build the ES cavity.

• CosmoVdW : solvent::cosmo::solvation_radii(Z) (CPCM-X). • SmdIntrinsicCoulomb : solvent::smd::intrinsic_coulomb_radii(Z) (SMD). • Custom : caller supplies custom_es_radii_bohr (e.g. DRACO-scaled charge-dependent radii).

Enumerator
CosmoVdW 
SmdIntrinsicCoulomb 
Custom 

Member Function Documentation

◆ conductor()

static Options occ::scrf::Options::conductor ( double  probe_radius_angs = 0.0,
int  angular_points = 590 
)
static

Ideal-conductor COSMO on Klamt radii with no CDS branch — the reference state σ-profiles are defined against.

f(ε) → 1 is reached by taking ε large rather than by a separate code path; at ε = 1e10 the difference from unity is 1e-10.

The probe defaults to zero. Although the published σ-profile databases were generated by codes reporting a 1.3 Å solvent radius, their cavity areas and volumes match a plain union of Klamt spheres to 1–3%, whereas applying a 1.3 Å probe here loses 18–35% of the area.

Member Data Documentation

◆ angular_points

int occ::scrf::Options::angular_points {146}

Lebedev order per atom for the cavity.

146 suffices for energies; σ-profiles need more to avoid a spiky histogram.

◆ backend

Backend occ::scrf::Options::backend {Backend::CPCM}

◆ custom_es_radii_bohr

Vec occ::scrf::Options::custom_es_radii_bohr

Custom ES-cavity radii (Bohr, length = N_atoms).

Consumed when radii == Radii::Custom; ignored otherwise. Lets callers (DRACO, regression scripts) bypass the built-in radii tables.

◆ dielectric_override

double occ::scrf::Options::dielectric_override {-1.0}

Override the dielectric directly.

Any value > 0 takes precedence over the solvent-name lookup. Useful for sweeps / regression tests.

◆ draco_scaling

bool occ::scrf::Options::draco_scaling {false}

◆ f_eps_x

double occ::scrf::Options::f_eps_x {0.0}

COSMO/CPCM convention parameter in f(ε) = (ε − 1)/(ε + x).

x = 0 is the CPCM ideal-conductor convention (used by tblite); x = 0.5 is the classical Klamt COSMO.

◆ include_cds

bool occ::scrf::Options::include_cds {false}

Build a second cavity for the SMD cavitation-dispersion-solvent term and pre-compute its per-element energy contributions.

Only meaningful when a full SMD parameter set is available for solvent.

◆ probe_radius_angs

double occ::scrf::Options::probe_radius_angs {0.0}

Solvent probe radius (Å) handed to the cavity builder.

Zero gives a plain union of vdW spheres. Ignored unless the boolean cavity is selected (smoothing_width_bohr == 0) — see solvent_surface.

◆ radii

Radii occ::scrf::Options::radii {Radii::CosmoVdW}

◆ smoothing_width_bohr

double occ::scrf::Options::smoothing_width_bohr {0.1}

Smoothing width (Bohr) for the cavity weight.

0.0 falls back to the legacy boolean mask and disables the smooth-cavity diagonal gradient term. 0.1 Bohr is the validated default (see CpcmXOptions notes).

◆ solvent

std::string occ::scrf::Options::solvent {"water"}

Solvent name; looked up via occ::solvent::get_dielectric (and, when include_cds or Radii::SmdIntrinsicCoulomb, get_smd_parameters).


The documentation for this struct was generated from the following file: