occ
Loading...
Searching...
No Matches
occ::cg Namespace Reference

Namespaces

namespace  components
 

Classes

struct  ContributionPair
 
struct  CrystalGrowthResult
 
struct  DimerResult
 
struct  DimerSolventTerm
 
struct  EnergyTotal
 
class  InteractionMapper
 
struct  MoleculeResult
 
struct  NeighborAtoms
 
struct  NeighborContribution
 
class  SMDCalculator
 
struct  SMDSettings
 
struct  SMDSolventSurfaces
 
class  SolvationContribution
 
struct  SolventSurface
 
class  SolventSurfacePartitioner
 

Typedefs

using Crystal = occ::crystal::Crystal
 
using CrystalDimers = occ::crystal::CrystalDimers
 
using DimerMappingTable = occ::crystal::DimerMappingTable
 
using DimerIndex = occ::crystal::DimerIndex
 
using DimerIndexHash = occ::crystal::DimerIndexHash
 
using Molecule = occ::core::Molecule
 
using Dimer = occ::core::Dimer
 
using PairEnergies = std::vector< occ::interaction::CEEnergyComponents >
 
using CGEnergyComponents = ankerl::unordered_dense::map< std::string, double >
 
using CGEnergies = std::vector< CGEnergyComponents >
 
using DimerResults = std::vector< DimerResult >
 

Enumerations

enum class  PartitionScheme { NearestAtom , NearestAtomDnorm , ElectronDensity }
 

Functions

 NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE (SolventSurface, positions, energies, areas)
 
 NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE (SMDSolventSurfaces, coulomb, cds, electronic_energies, total_solvation_energy, electronic_contribution, gas_phase_contribution, free_energy_correction)
 
void exchange_matching_forward_reverse_pairs (const crystal::CrystalDimers::MoleculeNeighbors &neighbors, std::vector< SolvationContribution > &energy_contribution)
 
SMDSolventSurfaces from_scrf_surfaces (const occ::scrf::SolvationSurfaces &scrf_surfaces)
 Adapter from the unified occ::scrf::SolvationSurfaces per-element bundle (produced by both the xTB and HF/DFT pipelines after Phase 3) to the cg shape consumed by SolventSurfacePartitioner and the JSON writers.
 
SMDSolventSurfaces from_xtb_surfaces (const occ::xtb::SolvationSurfaces &xtb_surfaces)
 Backwards-compatible alias.
 

Typedef Documentation

◆ CGEnergies

using occ::cg::CGEnergies = typedef std::vector<CGEnergyComponents>

◆ CGEnergyComponents

using occ::cg::CGEnergyComponents = typedef ankerl::unordered_dense::map<std::string, double>

◆ Crystal

◆ CrystalDimers

◆ Dimer

◆ DimerIndex

◆ DimerIndexHash

◆ DimerMappingTable

◆ DimerResults

using occ::cg::DimerResults = typedef std::vector<DimerResult>

◆ Molecule

◆ PairEnergies

Enumeration Type Documentation

◆ PartitionScheme

enum class occ::cg::PartitionScheme
strong
Enumerator
NearestAtom 
NearestAtomDnorm 
ElectronDensity 

Function Documentation

◆ exchange_matching_forward_reverse_pairs()

void occ::cg::exchange_matching_forward_reverse_pairs ( const crystal::CrystalDimers::MoleculeNeighbors neighbors,
std::vector< SolvationContribution > &  energy_contribution 
)

◆ from_scrf_surfaces()

SMDSolventSurfaces occ::cg::from_scrf_surfaces ( const occ::scrf::SolvationSurfaces scrf_surfaces)

Adapter from the unified occ::scrf::SolvationSurfaces per-element bundle (produced by both the xTB and HF/DFT pipelines after Phase 3) to the cg shape consumed by SolventSurfacePartitioner and the JSON writers.

Behaviour: • scrf::SolvationSurface.energies carries the full per-element ES contribution ½ σ_i · φ_total_i — identical algebraically to the legacy nuc_i + elec_i + pol_i per-element decomposition — so it flows straight into coulomb.energies and electronic_energies stays zero. The cg partitioner sums coulomb.energies(i) + electronic_energies(i) per element anyway, see distance_partition.cpp:108. • CPCM-X has no CDS branch (scrf_surfaces.cds == std::nullopt); the returned cds surface comes out empty. • total_solvation_energy is set to scrf_surfaces.total_energy(); the remaining DFT-flavoured fields (electronic_contribution, gas_phase_contribution, free_energy_correction) stay at their default zero — the DFT caller fills them in via SMDCalculator::calculate_free_energy_components.

◆ from_xtb_surfaces()

SMDSolventSurfaces occ::cg::from_xtb_surfaces ( const occ::xtb::SolvationSurfaces xtb_surfaces)
inline

Backwards-compatible alias.

occ::xtb::SolvationSurfaces is a type alias for occ::scrf::SolvationSurfaces (Phase 2), so this just forwards.

◆ NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE() [1/2]

occ::cg::NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE ( SMDSolventSurfaces  ,
coulomb  ,
cds  ,
electronic_energies  ,
total_solvation_energy  ,
electronic_contribution  ,
gas_phase_contribution  ,
free_energy_correction   
)

◆ NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE() [2/2]

occ::cg::NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE ( SolventSurface  ,
positions  ,
energies  ,
areas   
)