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

Classes

struct  AlphaBetaOccupation
 Split a total electron count into α and β occupations, e.g. More...
 
struct  AnisotropicEnergy
 
struct  AnisotropicPairGradient
 
struct  AnisotropicPotentials
 
struct  CammMoments
 
struct  CGenSolveResult
 
struct  CMatTriple
 
struct  CoordinationNumbersWithGradient
 
struct  CpcmXOptions
 Construction options for CpcmXSolvationModel. More...
 
class  CpcmXSolvationModel
 CPCM-X (xtb-flavoured CPCM) implicit-solvent model. More...
 
struct  DampedCoulomb
 
struct  ElementParam
 
struct  EwaldGammaData
 
class  ExternalXtbCalculator
 External-process GFN1/GFN2 driver: shells out to an xtb binary and exchanges geometry/energy via fixed-name files in the current working directory. More...
 
class  Gfn2Engine
 
class  Gfn2Parameters
 
struct  GlobalParam
 
struct  KPoint
 
struct  LatticeImage
 
struct  MultipolePairTensors
 
struct  MultipoleRadiiWithGradient
 
class  NullSolvationModel
 No-op solvation model — preserves gas-phase numbers. More...
 
struct  OrbitalFilling
 
struct  PeriodicMultipoleAO
 
struct  PeriodicMultipoleAOBlocks
 
struct  PeriodicSccOptions
 
struct  PeriodicSystem
 
struct  RepulsionEnergyGradient
 
struct  SccMixerState
 The quantities the SCC Hamiltonian is built from, bundled so they can be mixed as one vector between iterations. More...
 
struct  SccOptions
 
struct  ShellParam
 
struct  ShellTable
 
class  SmdSolvationModel
 SMD ("Solvation Model based on Density") for GFN-xTB. More...
 
struct  StoNgFit
 
class  TbliteCalculator
 
class  XtbCalculator
 In-tree GFN2-xTB calculator. More...
 
struct  XtbResult
 Unified GFN2-xTB SCC result. More...
 
class  XtbSolvationModel
 Abstract interface for an implicit-solvent contribution to a GFN-xTB SCC. More...
 

Typedefs

using PeriodicSccResult = XtbResult
 
using DipoleGradAO = std::array< MatTriple, 3 >
 
using QuadrupoleGradAO = std::array< MatTriple, 6 >
 
using CMat = Eigen::MatrixXcd
 
using SccResult = XtbResult
 
using SolvationSurface = occ::scrf::SolvationSurface
 Per-element solvation surface data, consumed by the crystal-growth (occ::cg) energy decomposition.
 
using SolvationSurfaces = occ::scrf::SolvationSurfaces
 

Functions

AnisotropicEnergy anisotropic_energy (const std::vector< core::Atom > &atoms, const Vec &q, const CammMoments &m, const DampedCoulomb &damped, const Gfn2Parameters &params)
 
AnisotropicPairGradient anisotropic_pair_gradient_with_dcn (const std::vector< core::Atom > &atoms, const Vec &q, const CammMoments &m, const Vec &mp_radii, const Vec &dmp_radii_dcn, const Gfn2Parameters &params)
 
void apply_anisotropic_h1_periodic (Mat &H, const Mat &S, const MatTriple &D_ket, const MatTriple &D_bra, const std::array< Mat, 6 > &Q_ket, const std::array< Mat, 6 > &Q_bra, const std::vector< int > &bf_to_atom, const AnisotropicPotentials &pot)
 
void apply_anisotropic_h1_kpoint (CMat &H, const CMat &S, const CMatTriple &D_ket, const CMatTriple &D_bra, const std::array< CMat, 6 > &Q_ket, const std::array< CMat, 6 > &Q_bra, const std::vector< int > &bf_to_atom, const AnisotropicPotentials &pot)
 
Mat3N anisotropic_density_pulay_gradient (const std::vector< core::Atom > &atoms, const std::vector< int > &bf_to_atom, const Mat &P, const Mat &S, const MatTriple &D_origin0, const std::array< MatTriple, 3 > &irp, const std::array< MatTriple, 6 > &irrp, const MatTriple &ovlp_grad, const AnisotropicPotentials &pot)
 
gto::AOBasis build_aobasis (const std::vector< core::Atom > &atoms, const Gfn2Parameters &params)
 
CammMoments compute_camm_moments (const std::vector< core::Atom > &atoms, const std::vector< int > &bf_to_atom, const Mat &P, const Mat &S, const MatTriple &D, const std::array< Mat, 6 > &Q)
 
CammMoments compute_camm_moments_periodic (const std::vector< core::Atom > &atoms, const std::vector< int > &bf_to_atom, const Mat &P, const MatTriple &D_ket, const MatTriple &D_bra, const std::array< Mat, 6 > &Q_ket, const std::array< Mat, 6 > &Q_bra)
 
void accumulate_camm_kpoint (const std::vector< int > &bf_to_atom, const CMat &P_k, double w_k, const CMatTriple &D_bra_k, const std::array< CMat, 6 > &Q_bra_k, CammMoments &mom)
 
Vec gfn_coordination_numbers (const std::vector< core::Atom > &atoms)
 
Vec gfn_coordination_numbers_periodic (const std::vector< core::Atom > &atoms, const std::vector< LatticeImage > &lattice_translations)
 
CoordinationNumbersWithGradient gfn_coordination_numbers_with_gradient (const std::vector< core::Atom > &atoms)
 
double auto_ewald_alpha (double volume_bohr3)
 
double ewald_real_cutoff (double alpha, double tol)
 
double ewald_recip_cutoff (double alpha, double tol)
 
std::vector< Vec3enumerate_g_vectors (const Mat3 &reciprocal_bohr, double recip_cutoff)
 
ShellTable build_shell_table (const std::vector< core::Atom > &atoms, const Gfn2Parameters &params)
 
Mat klopman_ohno_gamma (const std::vector< core::Atom > &atoms, const ShellTable &shells, const Gfn2Parameters &params)
 
Mat3N klopman_ohno_gamma_energy_gradient (const std::vector< core::Atom > &atoms, const ShellTable &shells, const Gfn2Parameters &params, const Mat &gamma_matrix, const Vec &qsh)
 
Vec eeq_initial_shell_charges (const std::vector< core::Atom > &atoms, const ShellTable &shells, double total_charge)
 
Vec eeq_initial_shell_charges_periodic (const std::vector< core::Atom > &atoms, const ShellTable &shells, const Mat3 &lattice_bohr, double total_charge)
 
constexpr int spin_pair_index (int l_i, int l_j)
 
PeriodicSccResult run_charge_only_periodic_scc (const PeriodicSystem &sys, const Gfn2Parameters &params, const PeriodicSccOptions &opts={})
 
PeriodicSccResult run_periodic_scc_kpoints (const PeriodicSystem &sys, const Gfn2Parameters &params, const std::vector< struct KPoint > &kpoints, const PeriodicSccOptions &opts={})
 
Vec compute_self_energies (const ShellTable &shells, const Vec &cn)
 
Mat build_h0 (const std::vector< core::Atom > &atoms, const Gfn2Parameters &params, const ShellTable &shells, const gto::AOBasis &basis, const Mat &overlap, const Vec &cn)
 
Mat3N h0_scc_gradient (const std::vector< core::Atom > &atoms, const Gfn2Parameters &params, const ShellTable &shells, const gto::AOBasis &basis, qm::IntegralEngine &engine, const Mat &S, const Mat &P, const Mat &W, const Vec &V_shell, const Vec &cn, const std::vector< Mat3N > &dcn, const Mat &P_spin=Mat(), const Vec &v_spin_shell=Vec())
 
std::vector< KPointmonkhorst_pack_grid (const Mat3 &reciprocal_bohr, int n1, int n2, int n3)
 
Vec multipole_radii (const std::vector< core::Atom > &atoms, const Vec &cn, const Gfn2Parameters &params)
 
MultipoleRadiiWithGradient multipole_radii_with_gradient (const std::vector< core::Atom > &atoms, const Vec &cn, const Gfn2Parameters &params)
 
DampedCoulomb damped_multipole_coulomb (const std::vector< core::Atom > &atoms, const Vec &mp_radii, const Gfn2Parameters &params)
 
MultipolePairTensors build_multipole_ewald_tensors (const PeriodicSystem &sys, const Vec &mp_radii, const Gfn2Parameters &params, double tol=1e-10, double alpha_user=0.0)
 
MultipolePairTensors build_molecular_multipole_tensors (const std::vector< core::Atom > &atoms, const Vec &mp_radii, const Gfn2Parameters &params)
 
AnisotropicEnergy anisotropic_energy_ewald (const std::vector< core::Atom > &atoms, const Vec &q, const CammMoments &m, const MultipolePairTensors &tensors, const Gfn2Parameters &params)
 
AnisotropicPotentials anisotropic_potentials_ewald (const std::vector< core::Atom > &atoms, const Vec &q, const CammMoments &m, const MultipolePairTensors &tensors, const Gfn2Parameters &params)
 
MatTriple dipole_ao_matrices (qm::IntegralEngine &engine, const Vec3 &origin=Vec3::Zero())
 
std::array< Mat, 6 > quadrupole_ao_matrices (qm::IntegralEngine &engine, const Vec3 &origin=Vec3::Zero())
 
DipoleGradAO dipole_ao_grad (qm::IntegralEngine &engine)
 
QuadrupoleGradAO quadrupole_ao_grad (qm::IntegralEngine &engine)
 
AlphaBetaOccupation alpha_beta_occupation (double n_elec, double n_unpaired)
 
OrbitalFilling fermi_filling (double n_electrons, double kt, const Vec &orbital_energies)
 Fill n_electrons into one spin channel by Fermi-Dirac smearing at electronic temperature kt (this is kB·T in Hartree, not T in Kelvin).
 
std::vector< LatticeImagebuild_lattice_images (const Mat3 &lattice_bohr, double cutoff_bohr)
 
EwaldGammaData build_ewald_data (const PeriodicSystem &sys, double tol=1e-10, double alpha_user=0.0, double residual_cutoff=0.0)
 
Mat periodic_klopman_ohno_gamma (const PeriodicSystem &sys, const ShellTable &shells, const Gfn2Parameters &params, const EwaldGammaData &ewald)
 
Mat periodic_klopman_ohno_gamma_direct (const PeriodicSystem &sys, const ShellTable &shells, const Gfn2Parameters &params, double cutoff_bohr)
 
std::vector< Matperiodic_overlap_blocks (const PeriodicSystem &sys, const Gfn2Parameters &params, const std::vector< LatticeImage > &translations)
 
std::vector< Matperiodic_h0_blocks (const PeriodicSystem &sys, const Gfn2Parameters &params, const std::vector< LatticeImage > &translations, const std::vector< Mat > &S_per_T, const Vec &cn)
 
PeriodicMultipoleAO build_periodic_multipole_ao (const PeriodicSystem &sys, const Gfn2Parameters &params, const std::vector< LatticeImage > &translations)
 
PeriodicMultipoleAOBlocks build_periodic_multipole_ao_blocks (const PeriodicSystem &sys, const Gfn2Parameters &params, const std::vector< LatticeImage > &translations)
 
CMatTriple bloch_sum_triple (const std::vector< MatTriple > &per_T, const std::vector< LatticeImage > &translations, const Vec3 &k)
 
std::array< CMat, 6 > bloch_sum_array6 (const std::vector< std::array< Mat, 6 > > &per_T, const std::vector< LatticeImage > &translations, const Vec3 &k)
 
void apply_traceless_quadrupole_transform (std::array< Mat, 6 > &Q)
 
PeriodicMultipoleAO center_multipole_ao (const std::vector< core::Atom > &atoms, const std::vector< int > &bf_to_atom, const Mat &S, const MatTriple &D_origin0, const std::array< Mat, 6 > &Q_origin0)
 
PeriodicMultipoleAO build_molecular_multipole_ao (const std::vector< core::Atom > &atoms, const Gfn2Parameters &params)
 
CMat bloch_sum (const std::vector< Mat > &M_per_T, const std::vector< LatticeImage > &translations, const Vec3 &k)
 
Mat bloch_sum_gamma (const std::vector< Mat > &M_per_T)
 
CGenSolveResult solve_generalized_hermitian (const CMat &H, const CMat &S, double s_eps=1e-10)
 
double repulsion_energy (const std::vector< core::Atom > &atoms, const Gfn2Parameters &params)
 
double repulsion_energy_periodic (const std::vector< core::Atom > &atoms, const Gfn2Parameters &params, const std::vector< LatticeImage > &translations)
 
RepulsionEnergyGradient repulsion_energy_and_gradient (const std::vector< core::Atom > &atoms, const Gfn2Parameters &params)
 
SccResult run_charge_only_scc (const std::vector< core::Atom > &atoms, const Gfn2Parameters &params, const SccOptions &opts={})
 
SccResult run_gfn2_scc (const std::vector< core::Atom > &atoms, const Gfn2Parameters &params, const SccOptions &opts={})
 
Mat spin_coupling_matrix (const std::vector< core::Atom > &atoms, const ShellTable &shells, const Gfn2Parameters &params, double scale=1.0)
 On-site spin-coupling matrix W (n_shells × n_shells, Hartree), block diagonal by atom — the GFN-xTB spin interaction has no inter-atomic part.
 
StoNgFit slater_to_gauss (int ng, int n, int l, double zeta, bool normalize=true)
 
std::string tblite_version ()
 

Typedef Documentation

◆ CMat

using occ::xtb::CMat = typedef Eigen::MatrixXcd

◆ DipoleGradAO

using occ::xtb::DipoleGradAO = typedef std::array<MatTriple, 3>

◆ PeriodicSccResult

◆ QuadrupoleGradAO

using occ::xtb::QuadrupoleGradAO = typedef std::array<MatTriple, 6>

◆ SccResult

using occ::xtb::SccResult = typedef XtbResult

◆ SolvationSurface

Per-element solvation surface data, consumed by the crystal-growth (occ::cg) energy decomposition.

Phase 2 unification: these are now aliases for the shared occ::scrf types — the xTB and HF/DFT solvation pipelines speak the same per-element shape.

◆ SolvationSurfaces

Function Documentation

◆ accumulate_camm_kpoint()

void occ::xtb::accumulate_camm_kpoint ( const std::vector< int > &  bf_to_atom,
const CMat P_k,
double  w_k,
const CMatTriple D_bra_k,
const std::array< CMat, 6 > &  Q_bra_k,
CammMoments mom 
)

◆ alpha_beta_occupation()

AlphaBetaOccupation occ::xtb::alpha_beta_occupation ( double  n_elec,
double  n_unpaired 
)

◆ anisotropic_density_pulay_gradient()

Mat3N occ::xtb::anisotropic_density_pulay_gradient ( const std::vector< core::Atom > &  atoms,
const std::vector< int > &  bf_to_atom,
const Mat P,
const Mat S,
const MatTriple D_origin0,
const std::array< MatTriple, 3 > &  irp,
const std::array< MatTriple, 6 > &  irrp,
const MatTriple ovlp_grad,
const AnisotropicPotentials pot 
)

◆ anisotropic_energy()

AnisotropicEnergy occ::xtb::anisotropic_energy ( const std::vector< core::Atom > &  atoms,
const Vec q,
const CammMoments m,
const DampedCoulomb damped,
const Gfn2Parameters params 
)

◆ anisotropic_energy_ewald()

AnisotropicEnergy occ::xtb::anisotropic_energy_ewald ( const std::vector< core::Atom > &  atoms,
const Vec q,
const CammMoments m,
const MultipolePairTensors tensors,
const Gfn2Parameters params 
)

◆ anisotropic_pair_gradient_with_dcn()

AnisotropicPairGradient occ::xtb::anisotropic_pair_gradient_with_dcn ( const std::vector< core::Atom > &  atoms,
const Vec q,
const CammMoments m,
const Vec mp_radii,
const Vec dmp_radii_dcn,
const Gfn2Parameters params 
)

◆ anisotropic_potentials_ewald()

AnisotropicPotentials occ::xtb::anisotropic_potentials_ewald ( const std::vector< core::Atom > &  atoms,
const Vec q,
const CammMoments m,
const MultipolePairTensors tensors,
const Gfn2Parameters params 
)

◆ apply_anisotropic_h1_kpoint()

void occ::xtb::apply_anisotropic_h1_kpoint ( CMat H,
const CMat S,
const CMatTriple D_ket,
const CMatTriple D_bra,
const std::array< CMat, 6 > &  Q_ket,
const std::array< CMat, 6 > &  Q_bra,
const std::vector< int > &  bf_to_atom,
const AnisotropicPotentials pot 
)

◆ apply_anisotropic_h1_periodic()

void occ::xtb::apply_anisotropic_h1_periodic ( Mat H,
const Mat S,
const MatTriple D_ket,
const MatTriple D_bra,
const std::array< Mat, 6 > &  Q_ket,
const std::array< Mat, 6 > &  Q_bra,
const std::vector< int > &  bf_to_atom,
const AnisotropicPotentials pot 
)

◆ apply_traceless_quadrupole_transform()

void occ::xtb::apply_traceless_quadrupole_transform ( std::array< Mat, 6 > &  Q)

◆ auto_ewald_alpha()

double occ::xtb::auto_ewald_alpha ( double  volume_bohr3)

◆ bloch_sum()

CMat occ::xtb::bloch_sum ( const std::vector< Mat > &  M_per_T,
const std::vector< LatticeImage > &  translations,
const Vec3 k 
)

◆ bloch_sum_array6()

std::array< CMat, 6 > occ::xtb::bloch_sum_array6 ( const std::vector< std::array< Mat, 6 > > &  per_T,
const std::vector< LatticeImage > &  translations,
const Vec3 k 
)

◆ bloch_sum_gamma()

Mat occ::xtb::bloch_sum_gamma ( const std::vector< Mat > &  M_per_T)

◆ bloch_sum_triple()

CMatTriple occ::xtb::bloch_sum_triple ( const std::vector< MatTriple > &  per_T,
const std::vector< LatticeImage > &  translations,
const Vec3 k 
)

◆ build_aobasis()

gto::AOBasis occ::xtb::build_aobasis ( const std::vector< core::Atom > &  atoms,
const Gfn2Parameters params 
)

◆ build_ewald_data()

EwaldGammaData occ::xtb::build_ewald_data ( const PeriodicSystem sys,
double  tol = 1e-10,
double  alpha_user = 0.0,
double  residual_cutoff = 0.0 
)

◆ build_h0()

Mat occ::xtb::build_h0 ( const std::vector< core::Atom > &  atoms,
const Gfn2Parameters params,
const ShellTable shells,
const gto::AOBasis basis,
const Mat overlap,
const Vec cn 
)

◆ build_lattice_images()

std::vector< LatticeImage > occ::xtb::build_lattice_images ( const Mat3 lattice_bohr,
double  cutoff_bohr 
)

◆ build_molecular_multipole_ao()

PeriodicMultipoleAO occ::xtb::build_molecular_multipole_ao ( const std::vector< core::Atom > &  atoms,
const Gfn2Parameters params 
)

◆ build_molecular_multipole_tensors()

MultipolePairTensors occ::xtb::build_molecular_multipole_tensors ( const std::vector< core::Atom > &  atoms,
const Vec mp_radii,
const Gfn2Parameters params 
)

◆ build_multipole_ewald_tensors()

MultipolePairTensors occ::xtb::build_multipole_ewald_tensors ( const PeriodicSystem sys,
const Vec mp_radii,
const Gfn2Parameters params,
double  tol = 1e-10,
double  alpha_user = 0.0 
)

◆ build_periodic_multipole_ao()

PeriodicMultipoleAO occ::xtb::build_periodic_multipole_ao ( const PeriodicSystem sys,
const Gfn2Parameters params,
const std::vector< LatticeImage > &  translations 
)

◆ build_periodic_multipole_ao_blocks()

PeriodicMultipoleAOBlocks occ::xtb::build_periodic_multipole_ao_blocks ( const PeriodicSystem sys,
const Gfn2Parameters params,
const std::vector< LatticeImage > &  translations 
)

◆ build_shell_table()

ShellTable occ::xtb::build_shell_table ( const std::vector< core::Atom > &  atoms,
const Gfn2Parameters params 
)

◆ center_multipole_ao()

PeriodicMultipoleAO occ::xtb::center_multipole_ao ( const std::vector< core::Atom > &  atoms,
const std::vector< int > &  bf_to_atom,
const Mat S,
const MatTriple D_origin0,
const std::array< Mat, 6 > &  Q_origin0 
)

◆ compute_camm_moments()

CammMoments occ::xtb::compute_camm_moments ( const std::vector< core::Atom > &  atoms,
const std::vector< int > &  bf_to_atom,
const Mat P,
const Mat S,
const MatTriple D,
const std::array< Mat, 6 > &  Q 
)

◆ compute_camm_moments_periodic()

CammMoments occ::xtb::compute_camm_moments_periodic ( const std::vector< core::Atom > &  atoms,
const std::vector< int > &  bf_to_atom,
const Mat P,
const MatTriple D_ket,
const MatTriple D_bra,
const std::array< Mat, 6 > &  Q_ket,
const std::array< Mat, 6 > &  Q_bra 
)

◆ compute_self_energies()

Vec occ::xtb::compute_self_energies ( const ShellTable shells,
const Vec cn 
)

◆ damped_multipole_coulomb()

DampedCoulomb occ::xtb::damped_multipole_coulomb ( const std::vector< core::Atom > &  atoms,
const Vec mp_radii,
const Gfn2Parameters params 
)

◆ dipole_ao_grad()

DipoleGradAO occ::xtb::dipole_ao_grad ( qm::IntegralEngine engine)

◆ dipole_ao_matrices()

MatTriple occ::xtb::dipole_ao_matrices ( qm::IntegralEngine engine,
const Vec3 origin = Vec3::Zero() 
)

◆ eeq_initial_shell_charges()

Vec occ::xtb::eeq_initial_shell_charges ( const std::vector< core::Atom > &  atoms,
const ShellTable shells,
double  total_charge 
)

◆ eeq_initial_shell_charges_periodic()

Vec occ::xtb::eeq_initial_shell_charges_periodic ( const std::vector< core::Atom > &  atoms,
const ShellTable shells,
const Mat3 lattice_bohr,
double  total_charge 
)

◆ enumerate_g_vectors()

std::vector< Vec3 > occ::xtb::enumerate_g_vectors ( const Mat3 reciprocal_bohr,
double  recip_cutoff 
)

◆ ewald_real_cutoff()

double occ::xtb::ewald_real_cutoff ( double  alpha,
double  tol 
)

◆ ewald_recip_cutoff()

double occ::xtb::ewald_recip_cutoff ( double  alpha,
double  tol 
)

◆ fermi_filling()

OrbitalFilling occ::xtb::fermi_filling ( double  n_electrons,
double  kt,
const Vec orbital_energies 
)

Fill n_electrons into one spin channel by Fermi-Dirac smearing at electronic temperature kt (this is kB·T in Hartree, not T in Kelvin).

kt <= 0, or a full set of orbitals, falls back to aufbau filling — which is also where any gapped system lands, since at the default 300 K kT ≈ 1 mHa leaves occupations integral to machine precision.

◆ gfn_coordination_numbers()

Vec occ::xtb::gfn_coordination_numbers ( const std::vector< core::Atom > &  atoms)

◆ gfn_coordination_numbers_periodic()

Vec occ::xtb::gfn_coordination_numbers_periodic ( const std::vector< core::Atom > &  atoms,
const std::vector< LatticeImage > &  lattice_translations 
)

◆ gfn_coordination_numbers_with_gradient()

CoordinationNumbersWithGradient occ::xtb::gfn_coordination_numbers_with_gradient ( const std::vector< core::Atom > &  atoms)

◆ h0_scc_gradient()

Mat3N occ::xtb::h0_scc_gradient ( const std::vector< core::Atom > &  atoms,
const Gfn2Parameters params,
const ShellTable shells,
const gto::AOBasis basis,
qm::IntegralEngine engine,
const Mat S,
const Mat P,
const Mat W,
const Vec V_shell,
const Vec cn,
const std::vector< Mat3N > &  dcn,
const Mat P_spin = Mat(),
const Vec v_spin_shell = Vec() 
)

◆ klopman_ohno_gamma()

Mat occ::xtb::klopman_ohno_gamma ( const std::vector< core::Atom > &  atoms,
const ShellTable shells,
const Gfn2Parameters params 
)

◆ klopman_ohno_gamma_energy_gradient()

Mat3N occ::xtb::klopman_ohno_gamma_energy_gradient ( const std::vector< core::Atom > &  atoms,
const ShellTable shells,
const Gfn2Parameters params,
const Mat gamma_matrix,
const Vec qsh 
)

◆ monkhorst_pack_grid()

std::vector< KPoint > occ::xtb::monkhorst_pack_grid ( const Mat3 reciprocal_bohr,
int  n1,
int  n2,
int  n3 
)

◆ multipole_radii()

Vec occ::xtb::multipole_radii ( const std::vector< core::Atom > &  atoms,
const Vec cn,
const Gfn2Parameters params 
)

◆ multipole_radii_with_gradient()

MultipoleRadiiWithGradient occ::xtb::multipole_radii_with_gradient ( const std::vector< core::Atom > &  atoms,
const Vec cn,
const Gfn2Parameters params 
)

◆ periodic_h0_blocks()

std::vector< Mat > occ::xtb::periodic_h0_blocks ( const PeriodicSystem sys,
const Gfn2Parameters params,
const std::vector< LatticeImage > &  translations,
const std::vector< Mat > &  S_per_T,
const Vec cn 
)

◆ periodic_klopman_ohno_gamma()

Mat occ::xtb::periodic_klopman_ohno_gamma ( const PeriodicSystem sys,
const ShellTable shells,
const Gfn2Parameters params,
const EwaldGammaData ewald 
)

◆ periodic_klopman_ohno_gamma_direct()

Mat occ::xtb::periodic_klopman_ohno_gamma_direct ( const PeriodicSystem sys,
const ShellTable shells,
const Gfn2Parameters params,
double  cutoff_bohr 
)

◆ periodic_overlap_blocks()

std::vector< Mat > occ::xtb::periodic_overlap_blocks ( const PeriodicSystem sys,
const Gfn2Parameters params,
const std::vector< LatticeImage > &  translations 
)

◆ quadrupole_ao_grad()

QuadrupoleGradAO occ::xtb::quadrupole_ao_grad ( qm::IntegralEngine engine)

◆ quadrupole_ao_matrices()

std::array< Mat, 6 > occ::xtb::quadrupole_ao_matrices ( qm::IntegralEngine engine,
const Vec3 origin = Vec3::Zero() 
)

◆ repulsion_energy()

double occ::xtb::repulsion_energy ( const std::vector< core::Atom > &  atoms,
const Gfn2Parameters params 
)

◆ repulsion_energy_and_gradient()

RepulsionEnergyGradient occ::xtb::repulsion_energy_and_gradient ( const std::vector< core::Atom > &  atoms,
const Gfn2Parameters params 
)

◆ repulsion_energy_periodic()

double occ::xtb::repulsion_energy_periodic ( const std::vector< core::Atom > &  atoms,
const Gfn2Parameters params,
const std::vector< LatticeImage > &  translations 
)

◆ run_charge_only_periodic_scc()

PeriodicSccResult occ::xtb::run_charge_only_periodic_scc ( const PeriodicSystem sys,
const Gfn2Parameters params,
const PeriodicSccOptions opts = {} 
)

◆ run_charge_only_scc()

SccResult occ::xtb::run_charge_only_scc ( const std::vector< core::Atom > &  atoms,
const Gfn2Parameters params,
const SccOptions opts = {} 
)

◆ run_gfn2_scc()

SccResult occ::xtb::run_gfn2_scc ( const std::vector< core::Atom > &  atoms,
const Gfn2Parameters params,
const SccOptions opts = {} 
)

◆ run_periodic_scc_kpoints()

PeriodicSccResult occ::xtb::run_periodic_scc_kpoints ( const PeriodicSystem sys,
const Gfn2Parameters params,
const std::vector< struct KPoint > &  kpoints,
const PeriodicSccOptions opts = {} 
)

◆ slater_to_gauss()

StoNgFit occ::xtb::slater_to_gauss ( int  ng,
int  n,
int  l,
double  zeta,
bool  normalize = true 
)

◆ solve_generalized_hermitian()

CGenSolveResult occ::xtb::solve_generalized_hermitian ( const CMat H,
const CMat S,
double  s_eps = 1e-10 
)

◆ spin_coupling_matrix()

Mat occ::xtb::spin_coupling_matrix ( const std::vector< core::Atom > &  atoms,
const ShellTable shells,
const Gfn2Parameters params,
double  scale = 1.0 
)

On-site spin-coupling matrix W (n_shells × n_shells, Hartree), block diagonal by atom — the GFN-xTB spin interaction has no inter-atomic part.

Given shell magnetizations m (Mulliken pop(α) − pop(β)), the spin energy is E_spin = ½ mᵀWm and the conjugate shell potential is v = Wm. The constants are negative, so polarizing the spin density lowers the energy.

scale multiplies every entry; 0 disables spin polarization, recovering the common-Fock open-shell treatment of plain xtb --uhf. Any other value requires a spin_constants block for every element in the parameter set, and throws naming the element if one is missing.

◆ spin_pair_index()

constexpr int occ::xtb::spin_pair_index ( int  l_i,
int  l_j 
)
constexpr

◆ tblite_version()

std::string occ::xtb::tblite_version ( )