|
occ
|
Result from crystal energy evaluation with Hessian. More...
#include <crystal_energy.h>
Public Member Functions | |
| Mat | pack_hessian (bool fix_first_translation, bool fix_first_rotation) const |
| Pack Hessian with only the optimizable DOF (excluding fixed molecule translations/rotations) | |
Public Member Functions inherited from occ::mults::CrystalEnergyResult | |
| Vec | pack_gradient () const |
| Pack into single gradient vector (6 components per molecule). | |
Public Attributes | |
| Mat | hessian |
| Full Hessian matrix (6N x 6N for N molecules) Layout: [x1, y1, z1, θx1, θy1, θz1, x2, ...]. | |
| bool | exact_for_model = false |
| True only when the Hessian matches the full current energy model. | |
| bool | includes_ewald_terms = false |
| True when Ewald second-derivative terms are included. | |
| Mat6 | strain_hessian = Mat6::Zero() |
| Clamped affine cell-strain Hessian d^2E/dE_i dE_j (Voigt, kJ/mol per unit cell). | |
| Mat | strain_state_hessian |
| Strain-state coupling d^2E/dE_i dq_j (6 x 6N, kJ/mol). | |
Public Attributes inherited from occ::mults::CrystalEnergyResult | |
| double | total_energy = 0.0 |
| Total energy (kJ/mol) | |
| double | electrostatic_energy = 0.0 |
| Electrostatic component. | |
| double | repulsion_dispersion = 0.0 |
| Short-range component. | |
| std::vector< Vec3 > | forces |
| Force on each molecule (kJ/mol/Ang) | |
| std::vector< Vec3 > | torques |
| Lab-frame rotational gradient dE/dψ on each molecule. | |
| Vec6 | strain_gradient = Vec6::Zero() |
| Affine cell-strain gradient dE/dE_i (Voigt E1..E6, kJ/mol per unit cell). | |
| std::vector< double > | molecule_energies |
| Per-molecule energies for analysis. | |
Result from crystal energy evaluation with Hessian.
| Mat occ::mults::CrystalEnergyResultWithHessian::pack_hessian | ( | bool | fix_first_translation, |
| bool | fix_first_rotation | ||
| ) | const |
Pack Hessian with only the optimizable DOF (excluding fixed molecule translations/rotations)
| bool occ::mults::CrystalEnergyResultWithHessian::exact_for_model = false |
True only when the Hessian matches the full current energy model.
| Mat occ::mults::CrystalEnergyResultWithHessian::hessian |
Full Hessian matrix (6N x 6N for N molecules) Layout: [x1, y1, z1, θx1, θy1, θz1, x2, ...].
| bool occ::mults::CrystalEnergyResultWithHessian::includes_ewald_terms = false |
True when Ewald second-derivative terms are included.
| Mat6 occ::mults::CrystalEnergyResultWithHessian::strain_hessian = Mat6::Zero() |
Clamped affine cell-strain Hessian d^2E/dE_i dE_j (Voigt, kJ/mol per unit cell).
| Mat occ::mults::CrystalEnergyResultWithHessian::strain_state_hessian |
Strain-state coupling d^2E/dE_i dq_j (6 x 6N, kJ/mol).
q layout matches hessian: [x1,y1,z1,θx1,θy1,θz1,...].