votca 2026-dev
Loading...
Searching...
No Matches
votca::xtp::HirshfeldPartition::Constraint Struct Reference

#include <hirshfeldpartition.h>

Public Attributes

Eigen::MatrixXd weight_matrix
double target_population
double lambda = 0.0
double spin_alpha_coefficient = 1.0
double spin_beta_coefficient = 1.0

Detailed Description

One active CDFT constraint: the Lagrange-multiplier potential term added to the Fock matrix(es) is lambda * spin_alpha_coefficient * weight_matrix for the alpha channel, and lambda * spin_beta_coefficient * weight_matrix for the beta channel.

For a CHARGE constraint (the only kind implemented so far): spin_alpha_coefficient = spin_beta_coefficient = +1.0, since the constrained quantity is Tr[(P_alpha + P_beta) * W] – the SAME potential added to both spin channels. A SPIN constraint (not yet implemented, but the reason these two coefficients are stored separately rather than hardcoding "add to both channels equally") would instead need +1.0/-1.0, since it constrains Tr[(P_alpha - P_beta) * W] – per the design discussion this struct grew out of, adding spin constraints later should only ever require constructing a Constraint with different coefficients, never touching the Fock-matrix-assembly code that consumes this struct at all.

Definition at line 331 of file hirshfeldpartition.h.

Member Data Documentation

◆ lambda

double votca::xtp::HirshfeldPartition::Constraint::lambda = 0.0

Definition at line 334 of file hirshfeldpartition.h.

◆ spin_alpha_coefficient

double votca::xtp::HirshfeldPartition::Constraint::spin_alpha_coefficient = 1.0

Definition at line 335 of file hirshfeldpartition.h.

◆ spin_beta_coefficient

double votca::xtp::HirshfeldPartition::Constraint::spin_beta_coefficient = 1.0

Definition at line 336 of file hirshfeldpartition.h.

◆ target_population

double votca::xtp::HirshfeldPartition::Constraint::target_population

Definition at line 333 of file hirshfeldpartition.h.

◆ weight_matrix

Eigen::MatrixXd votca::xtp::HirshfeldPartition::Constraint::weight_matrix

Definition at line 332 of file hirshfeldpartition.h.


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