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

Namespaces

namespace  components
 

Classes

struct  CavitySurface
 One cavity's worth of per-element solvation data. More...
 
struct  ContributionPair
 
struct  CornerMorphology
 A symmetry-unique corner type of the particle shape. More...
 
struct  CrystalGrowthResult
 
struct  DimerResult
 
struct  DimerSolventTerm
 
struct  EdgeMorphology
 A symmetry-unique edge type of the particle shape. More...
 
struct  EnergyTotal
 
struct  FacetMorphology
 A facet of the (Wulff or user) particle shape. More...
 
class  InteractionMapper
 
struct  MoleculeResult
 
struct  MorphologyResult
 Particle size/shape-dependent (surface + edge + corner) energies. More...
 
struct  NeighborAtoms
 
struct  ParticleSample
 Broken-bond excess energy of a finite particle at one size, decomposed by inclusion-exclusion so e_excess == e_surface + e_edge + e_corner exactly. More...
 
class  SMDCalculator
 
struct  SMDSettings
 
class  SolvationContribution
 Solvation attributed to one neighbour contact, as a set of named channels. More...
 
struct  SolvationData
 Every cavity a solvation model produced for one molecule, plus the scalar bookkeeping cg reports. More...
 
class  SolventSurfacePartitioner
 
struct  SurfaceField
 A named per-element quantity defined on one cavity. More...
 

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 >
 

Functions

 NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE (SurfaceField, name, values)
 
 NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE (CavitySurface, name, positions, areas, energies, descriptors)
 
 NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE (SolvationData, cavities, total_solvation_energy, electronic_contribution)
 
void exchange_matching_forward_reverse_pairs (const crystal::CrystalDimers::MoleculeNeighbors &neighbors, std::vector< SolvationContribution > &energy_contribution)
 
CavitySurfacecoulomb_cavity (SolvationData &)
 Convenience accessors for the two SMD/CPCM-X cavities.
 
const CavitySurfacecoulomb_cavity (const SolvationData &)
 
CavitySurfacecds_cavity (SolvationData &)
 
const CavitySurfacecds_cavity (const SolvationData &)
 
CavitySurfaceadd_cavity (SolvationData &, const std::string &name, const Mat3N &positions, const Vec &areas, const Vec &energies)
 Add a named cavity with a single energy channel of the same name.
 
SolvationData from_scrf_surfaces (const occ::scrf::SolvationSurfaces &)
 Build from the unified occ::scrf::SolvationSurfaces bundle produced by the HF/DFT and xTB pipelines.
 
SolvationData from_xtb_surfaces (const occ::xtb::SolvationSurfaces &surfaces)
 
void to_json (nlohmann::json &, const MorphologyResult &)
 

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

Function Documentation

◆ add_cavity()

CavitySurface & occ::cg::add_cavity ( SolvationData ,
const std::string &  name,
const Mat3N positions,
const Vec areas,
const Vec energies 
)

Add a named cavity with a single energy channel of the same name.

Warning
Returns a reference into cavities, so it is invalidated by the next add_cavity exactly as std::vector::emplace_back would be. Finish with one cavity before adding the next.

◆ cds_cavity() [1/2]

const CavitySurface * occ::cg::cds_cavity ( const SolvationData )

◆ cds_cavity() [2/2]

CavitySurface * occ::cg::cds_cavity ( SolvationData )

◆ coulomb_cavity() [1/2]

const CavitySurface * occ::cg::coulomb_cavity ( const SolvationData )

◆ coulomb_cavity() [2/2]

CavitySurface * occ::cg::coulomb_cavity ( SolvationData )

Convenience accessors for the two SMD/CPCM-X cavities.

◆ 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()

SolvationData occ::cg::from_scrf_surfaces ( const occ::scrf::SolvationSurfaces )

Build from the unified occ::scrf::SolvationSurfaces bundle produced by the HF/DFT and xTB pipelines.

CPCM-X has no CDS branch, so that cavity is simply absent.

◆ from_xtb_surfaces()

SolvationData occ::cg::from_xtb_surfaces ( const occ::xtb::SolvationSurfaces surfaces)
inline

◆ NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE() [1/3]

occ::cg::NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE ( CavitySurface  ,
name  ,
positions  ,
areas  ,
energies  ,
descriptors   
)

◆ NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE() [2/3]

occ::cg::NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE ( SolvationData  ,
cavities  ,
total_solvation_energy  ,
electronic_contribution   
)

◆ NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE() [3/3]

occ::cg::NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE ( SurfaceField  ,
name  ,
values   
)

◆ to_json()

void occ::cg::to_json ( nlohmann::json &  ,
const MorphologyResult  
)