.. index:: pair: struct; CPMDCPropertySnapshot .. _doxid-struct_c_p_m_d_c_property_snapshot: struct CPMDCPropertySnapshot ============================ .. toctree:: :hidden: Overview ~~~~~~~~ PROP-style property snapshot after a successful evaluation. :ref:`More...` .. ref-code-block:: cpp :class: doxyrest-overview-code-block #include struct CPMDCPropertySnapshot { // fields int :ref:`valid`; size_t :ref:`hessian_count`; double :ref:`hessian`[4096]; size_t :ref:`dipole_count`; double :ref:`dipole`[3]; size_t :ref:`polarizability_count`; double :ref:`polarizability`[9]; }; .. _details-struct_c_p_m_d_c_property_snapshot: Detailed Documentation ~~~~~~~~~~~~~~~~~~~~~~ PROP-style property snapshot after a successful evaluation. * dipole[3]: OpenCPMD ``ddippdipole`` (a.u.) when linked; PEF zeros * polarizability[9]: filled when PROP/aoresponse available; else zeros with count 9 * hessian[]: nuclear gradient dE/dR packed as [natoms\*3] (full Hessian needs dedicated PROP/Hessian run; gradient is always available after force eval) Fields ------ .. index:: pair: variable; valid .. _doxid-struct_c_p_m_d_c_property_snapshot_1ab26d1b54dbe94a3381bd01ef061f2c87: .. ref-code-block:: cpp :class: doxyrest-title-code-block int valid Non-zero when the snapshot was written. .. index:: pair: variable; hessian_count .. _doxid-struct_c_p_m_d_c_property_snapshot_1a219308dd9232cb5340fc99466db536a5: .. ref-code-block:: cpp :class: doxyrest-title-code-block size_t hessian_count Number of doubles copied into ``hessian``. .. index:: pair: variable; hessian .. _doxid-struct_c_p_m_d_c_property_snapshot_1af26b4dd2e4fbde6ebf3605d6eb778f2e: .. ref-code-block:: cpp :class: doxyrest-title-code-block double hessian[4096] Nuclear gradient dE/dR, packed as ``natoms * 3``. .. index:: pair: variable; dipole_count .. _doxid-struct_c_p_m_d_c_property_snapshot_1af22f800017ca74f8ac3d58766c0c7d7e: .. ref-code-block:: cpp :class: doxyrest-title-code-block size_t dipole_count Number of doubles copied into ``dipole``. .. index:: pair: variable; dipole .. _doxid-struct_c_p_m_d_c_property_snapshot_1a29b033740147bb25af1b397e20bc7aa9: .. ref-code-block:: cpp :class: doxyrest-title-code-block double dipole[3] OpenCPMD ``ddippdipole`` in atomic units, or zeros for a reference PEF. .. index:: pair: variable; polarizability_count .. _doxid-struct_c_p_m_d_c_property_snapshot_1aa375aea8f4d2476b4d3e8857e1c1e128: .. ref-code-block:: cpp :class: doxyrest-title-code-block size_t polarizability_count Number of doubles copied into ``polarizability``. .. index:: pair: variable; polarizability .. _doxid-struct_c_p_m_d_c_property_snapshot_1a0165ad7c4fe23bd81b91210082cf75cd: .. ref-code-block:: cpp :class: doxyrest-title-code-block double polarizability[9] Polarizability when PROP is available; otherwise zeros.