@@ -32,7 +32,7 @@ namespace dftd4 {
3232 * Calculate all distance pairs and store in matrix.
3333 *
3434 * @param mol Molecule object.
35- * @param realIdx List for real atoms excluding ghost/non atoms
35+ * @param realIdx List for real atoms excluding ghost/non atoms.
3636 * @param dist Distance matrix (inout).
3737 * @return Exit status.
3838 */
@@ -42,11 +42,23 @@ extern int calc_distances(
4242 TMatrix<double > &dist
4343);
4444
45+ /* *
46+ * Initialize real indices to all atoms in the molecule.
47+ *
48+ * @param nat Number of atoms in the molecule.
49+ * @param realIdx Vector to store the real indices.
50+ * @return void
51+ */
52+ void initializeRealIdx (int nat, TVector<int > &realIdx);
53+
54+ // /////////////////////////////////////////////////////////////////////////////
55+ // /////////////////////////////////////////////////////////////////////////////
56+
4557/* *
4658 * Wrapper for error function coordination number.
4759 *
4860 * @param mol Molecule object.
49- * @param realIdx List for real atoms excluding ghost/non atoms
61+ * @param realIdx List for real atoms excluding ghost/non atoms.
5062 * @param dist Distance matrix.
5163 * @param cn Vector of coordination numbers.
5264 * @param cutoff Real-space cutoff (default: @see {dftd_cutoff.h}).
@@ -64,11 +76,31 @@ extern int get_ncoord_erf(
6476 bool lgrad = false
6577);
6678
79+ /* *
80+ * Wrapper for error function coordination number.
81+ *
82+ * @param mol Molecule object.
83+ * @param dist Distance matrix.
84+ * @param cn Vector of coordination numbers.
85+ * @param cutoff Real-space cutoff (default: @see {dftd_cutoff.h}).
86+ * @param dcndr Derivative of coordination number.
87+ * @param lgrad Flag for gradient computation.
88+ * @return Exit status.
89+ */
90+ extern int get_ncoord_erf (
91+ const TMolecule &mol,
92+ const TMatrix<double > &dist,
93+ double cutoff,
94+ TVector<double > &cn,
95+ TMatrix<double > &dcndr,
96+ bool lgrad = false
97+ );
98+
6799/* *
68100 * Calculate error function coordination number.
69101 *
70102 * @param mol Molecule object.
71- * @param realIdx List for real atoms excluding ghost/non atoms
103+ * @param realIdx List for real atoms excluding ghost/non atoms.
72104 * @param dist Distance matrix.
73105 * @param cutoff Real-space cutoff (default: @see {dftd_cutoff.h}).
74106 * @param cn Vector of coordination numbers.
@@ -87,7 +119,7 @@ extern int ncoord_erf(
87119 * w.r.t. nuclear coordinates.
88120 *
89121 * @param mol Molecule object.
90- * @param realIdx List for real atoms excluding ghost/non atoms
122+ * @param realIdx List for real atoms excluding ghost/non atoms.
91123 * @param dist Distance matrix.
92124 * @param cutoff Real-space cutoff (default: @see {dftd_cutoff.h}).
93125 * @param cn Vector of coordination numbers.
@@ -103,11 +135,14 @@ extern int dncoord_erf(
103135 TMatrix<double > &dcndr
104136);
105137
138+ // /////////////////////////////////////////////////////////////////////////////
139+ // /////////////////////////////////////////////////////////////////////////////
140+
106141/* *
107142 * Wrapper for error function coordination number for DFT-D4.
108143 *
109144 * @param mol Molecule object.
110- * @param realIdx List for real atoms excluding ghost/non atoms
145+ * @param realIdx List for real atoms excluding ghost/non atoms.
111146 * @param dist Distance matrix.
112147 * @param cutoff Real-space cutoff (default: @see {dftd_cutoff.h}).
113148 * @param cn Vector of coordination numbers.
@@ -123,11 +158,29 @@ extern int get_ncoord_d4(
123158 bool lgrad = false
124159);
125160
161+ /* *
162+ * Wrapper for error function coordination number for DFT-D4.
163+ *
164+ * @param mol Molecule object.
165+ * @param dist Distance matrix.
166+ * @param cutoff Real-space cutoff (default: @see {dftd_cutoff.h}).
167+ * @param cn Vector of coordination numbers.
168+ * @return Exit status.
169+ */
170+ extern int get_ncoord_d4 (
171+ const TMolecule &mol,
172+ const TMatrix<double > &dist,
173+ double cutoff,
174+ TVector<double > &cn,
175+ TMatrix<double > &dcndr,
176+ bool lgrad = false
177+ );
178+
126179/* *
127180 * Calculate covalent coordination number for DFT-D4.
128181 *
129182 * @param mol Molecule object.
130- * @param realIdx List for real atoms excluding ghost/non atoms
183+ * @param realIdx List for real atoms excluding ghost/non atoms.
131184 * @param dist Distance matrix.
132185 * @param cutoff Real-space cutoff (default: @see {dftd_cutoff.h}).
133186 * @param cn Vector of coordination numbers.
@@ -146,7 +199,7 @@ extern int ncoord_d4(
146199 * w.r.t. nuclear coordinates
147200 *
148201 * @param mol Molecule object.
149- * @param realIdx List for real atoms excluding ghost/non atoms
202+ * @param realIdx List for real atoms excluding ghost/non atoms.
150203 * @param dist Distance matrix.
151204 * @param cutoff Real-space cutoff (default: @see {dftd_cutoff.h}).
152205 * @param cn Vector of coordination numbers.
@@ -162,6 +215,9 @@ extern int dncoord_d4(
162215 TMatrix<double > &dcndr
163216);
164217
218+ // /////////////////////////////////////////////////////////////////////////////
219+ // /////////////////////////////////////////////////////////////////////////////
220+
165221/* *
166222 * Error function counting function for coordination number contributions.
167223 *
0 commit comments