Skip to content

Commit a269d11

Browse files
committed
Minor changes
1 parent d3ac2a0 commit a269d11

File tree

1 file changed

+42
-37
lines changed

1 file changed

+42
-37
lines changed

org/qmckl_jastrow_champ.org

Lines changed: 42 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -11280,23 +11280,23 @@ qmckl_compute_jastrow_champ_factor_een_gl_hpc(const qmckl_context context,
1128011280
double cn = c_vector_full[a+n*nucl_num];
1128111281
if (cn == 0.0) continue;
1128211282

11283-
const size_t ishift = elec_num*a;
11283+
const size_t ishift = elec_num*a;
1128411284
const size_t ishift4 = ishift*4;
1128511285

1128611286
const double* restrict tmp_c_amkn = tmp_c_mkn + ishift;
1128711287
const double* restrict tmp_c_amlkn = tmp_c_mlkn + ishift;
11288-
const double* restrict een_rescaled_n_amnw = een_rescaled_n_mnw + ishift;
11288+
const double* restrict een_rescaled_n_amnw = een_rescaled_n_mnw + ishift;
1128911289
const double* restrict een_rescaled_n_amlnw = een_rescaled_n_mlnw + ishift;
11290-
const double* restrict dtmp_c_0amknw = dtmp_c_mknw + ishift4;
11290+
const double* restrict dtmp_c_0amknw = dtmp_c_mknw + ishift4;
1129111291
const double* restrict dtmp_c_0amlknw = dtmp_c_mlknw + ishift4;
1129211292
const double* restrict een_rescaled_n_gl_0amnw = een_rescaled_n_gl_mnw + ishift4;
1129311293
const double* restrict een_rescaled_n_gl_0amlnw = een_rescaled_n_gl_mlnw + ishift4;
1129411294

11295-
const double* restrict dtmp_c_1amknw = dtmp_c_0amknw + elec_num;
11295+
const double* restrict dtmp_c_1amknw = dtmp_c_0amknw + elec_num;
1129611296
const double* restrict dtmp_c_1amlknw = dtmp_c_0amlknw + elec_num;
11297-
const double* restrict dtmp_c_2amknw = dtmp_c_0amknw + elec_num2;
11297+
const double* restrict dtmp_c_2amknw = dtmp_c_0amknw + elec_num2;
1129811298
const double* restrict dtmp_c_2amlknw = dtmp_c_0amlknw + elec_num2;
11299-
const double* restrict dtmp_c_3amknw = dtmp_c_0amknw + elec_num3;
11299+
const double* restrict dtmp_c_3amknw = dtmp_c_0amknw + elec_num3;
1130011300
const double* restrict dtmp_c_3amlknw = dtmp_c_0amlknw + elec_num3;
1130111301

1130211302
const double* restrict een_rescaled_n_gl_1amnw = een_rescaled_n_gl_0amnw + elec_num;
@@ -11305,6 +11305,7 @@ qmckl_compute_jastrow_champ_factor_een_gl_hpc(const qmckl_context context,
1130511305
const double* restrict een_rescaled_n_gl_2amlnw = een_rescaled_n_gl_0amlnw + elec_num2;
1130611306
const double* restrict een_rescaled_n_gl_3amnw = een_rescaled_n_gl_0amnw + elec_num3;
1130711307
const double* restrict een_rescaled_n_gl_3amlnw = een_rescaled_n_gl_0amlnw + elec_num3;
11308+
1130811309
double* const restrict factor_een_gl_1nw = factor_een_gl_0nw + elec_num;
1130911310
double* const restrict factor_een_gl_2nw = factor_een_gl_0nw + elec_num2;
1131011311
double* const restrict factor_een_gl_3nw = factor_een_gl_0nw + elec_num3;
@@ -11571,7 +11572,7 @@ assert(qmckl_jastrow_champ_provided(context));
1157111572
| ~dtmp_c~ | ~double[walk_num][0:cord_num-1][0:cord_num][nucl_num][4][elec_num]~ | in | vector of non-zero coefficients |
1157211573
| ~een_rescaled_n~ | ~double[walk_num][0:cord_num][nucl_num][elec_num]~ | in | Electron-nucleus rescaled factor |
1157311574
| ~een_rescaled_n_gl~ | ~double[walk_num][0:cord_num][nucl_num][4][elec_num]~ | in | Derivative of Electron-nucleus rescaled factor |
11574-
| ~factor_een_grad~ | ~double[walk_num][4][elec_num]~ | out | Derivative of Electron-nucleus jastrow |
11575+
| ~factor_een_grad~ | ~double[walk_num][3][elec_num]~ | out | Derivative of Electron-nucleus jastrow |
1157511576

1157611577

1157711578
#+begin_src f90 :comments org :tangle (eval f) :noweb yes
@@ -11631,10 +11632,10 @@ function qmckl_compute_jastrow_champ_factor_een_grad_doc( &
1163111632
do ii = 1, 3
1163211633
do j = 1, elec_num
1163311634
factor_een_grad(j,ii,nw) = factor_een_grad(j,ii,nw) + ( &
11634-
tmp_c(j,a,m,k,nw) * een_rescaled_n_gl(j,ii,a,m+l,nw) + &
11635-
(dtmp_c(j,ii,a,m,k,nw)) * een_rescaled_n(j,a,m+l,nw) + &
11636-
(dtmp_c(j,ii,a,m+l,k,nw)) * een_rescaled_n(j,a,m ,nw) + &
11637-
tmp_c(j,a,m+l,k,nw) * een_rescaled_n_gl(j,ii,a,m,nw) &
11635+
dtmp_c(j,ii,a,m ,k,nw) * een_rescaled_n (j, a,m+l,nw) + &
11636+
dtmp_c(j,ii,a,m+l,k,nw) * een_rescaled_n (j, a,m ,nw) + &
11637+
tmp_c(j,a,m ,k,nw) * een_rescaled_n_gl(j,ii,a,m+l,nw) + &
11638+
tmp_c(j,a,m+l,k,nw) * een_rescaled_n_gl(j,ii,a,m ,nw) &
1163811639
) * cn
1163911640
end do
1164011641
end do
@@ -11685,7 +11686,7 @@ end function qmckl_compute_jastrow_champ_factor_een_grad_doc
1168511686
const double* een_rescaled_n_gl,
1168611687
double* const factor_een_grad );
1168711688
#+end_src
11688-
11689+
1168911690
#+begin_src c :tangle (eval c) :comments org
1169011691
qmckl_exit_code
1169111692
qmckl_compute_jastrow_champ_factor_een_grad(const qmckl_context context,
@@ -11798,72 +11799,75 @@ qmckl_compute_jastrow_champ_factor_een_grad_hpc(const qmckl_context context,
1179811799
const double* restrict tmp_c_mlkn = tmp_c_mkn + len;
1179911800
const double* restrict een_rescaled_n_mnw = &(een_rescaled_n[addr1]);
1180011801
const double* restrict een_rescaled_n_mlnw = een_rescaled_n_mnw + len;
11801-
const double* restrict dtmp_c_mknw = &(dtmp_c[addr0 << 2]);
11802+
const double* restrict dtmp_c_mknw = &(dtmp_c[addr0*4]);
1180211803
const double* restrict dtmp_c_mlknw = dtmp_c_mknw + len4;
11803-
const double* restrict een_rescaled_n_gl_mnw = &(een_rescaled_n_gl[addr1 << 2]);
11804+
const double* restrict een_rescaled_n_gl_mnw = &(een_rescaled_n_gl[addr1*4]);
1180411805
const double* restrict een_rescaled_n_gl_mlnw = een_rescaled_n_gl_mnw + len4;
1180511806

1180611807
for (size_t a = 0; a < (size_t) nucl_num; a++) {
1180711808
double cn = c_vector_full[a+n*nucl_num];
1180811809
if (cn == 0.0) continue;
1180911810

11810-
const size_t ishift = elec_num*a;
11811+
const size_t ishift = elec_num*a;
1181111812
const size_t ishift4 = ishift*4;
1181211813

1181311814
const double* restrict tmp_c_amlkn = tmp_c_mlkn + ishift;
1181411815
const double* restrict tmp_c_amkn = tmp_c_mkn + ishift;
11815-
const double* restrict een_rescaled_n_amnw = een_rescaled_n_mnw + ishift;
11816+
const double* restrict een_rescaled_n_amnw = een_rescaled_n_mnw + ishift;
1181611817
const double* restrict een_rescaled_n_amlnw = een_rescaled_n_mlnw + ishift;
11817-
const double* restrict dtmp_c_0amknw = dtmp_c_mknw + ishift4;
11818+
const double* restrict dtmp_c_0amknw = dtmp_c_mknw + ishift4;
1181811819
const double* restrict dtmp_c_0amlknw = dtmp_c_mlknw + ishift4;
11819-
const double* restrict een_rescaled_n_gl_0amnw = een_rescaled_n_gl_mnw + ishift4;
11820+
const double* restrict een_rescaled_n_gl_0amnw = een_rescaled_n_gl_mnw + ishift4;
1182011821
const double* restrict een_rescaled_n_gl_0amlnw = een_rescaled_n_gl_mlnw + ishift4;
1182111822

11822-
const double* restrict dtmp_c_1amknw = dtmp_c_0amknw + elec_num;
11823+
const double* restrict dtmp_c_1amknw = dtmp_c_0amknw + elec_num;
1182311824
const double* restrict dtmp_c_1amlknw = dtmp_c_0amlknw + elec_num;
11824-
const double* restrict dtmp_c_2amknw = dtmp_c_0amknw + elec_num2;
11825+
const double* restrict dtmp_c_2amknw = dtmp_c_0amknw + elec_num2;
1182511826
const double* restrict dtmp_c_2amlknw = dtmp_c_0amlknw + elec_num2;
11827+
1182611828
const double* restrict een_rescaled_n_gl_1amnw = een_rescaled_n_gl_0amnw + elec_num;
1182711829
const double* restrict een_rescaled_n_gl_1amlnw = een_rescaled_n_gl_0amlnw + elec_num;
1182811830
const double* restrict een_rescaled_n_gl_2amnw = een_rescaled_n_gl_0amnw + elec_num2;
1182911831
const double* restrict een_rescaled_n_gl_2amlnw = een_rescaled_n_gl_0amlnw + elec_num2;
11832+
1183011833
double* const restrict factor_een_grad_1nw = factor_een_grad_0nw + elec_num;
1183111834
double* const restrict factor_een_grad_2nw = factor_een_grad_0nw + elec_num2;
1183211835

1183311836
#ifdef HAVE_OPENMP
1183411837
#pragma omp simd
1183511838
#endif
1183611839
for (size_t j = 0; j < (size_t) elec_num; ++j) {
11837-
factor_een_grad_0nw[j] = factor_een_grad_0nw[j] + cn *
11838-
(tmp_c_amkn[j] * een_rescaled_n_gl_0amlnw[j] +
11839-
dtmp_c_0amknw[j] * een_rescaled_n_amlnw[j] +
11840-
dtmp_c_0amlknw[j] * een_rescaled_n_amnw[j] +
11841-
tmp_c_amlkn[j] * een_rescaled_n_gl_0amnw[j]);
11840+
factor_een_grad_0nw[j] = factor_een_grad_0nw[j] + cn * (
11841+
dtmp_c_0amknw [j] * een_rescaled_n_amlnw[j] +
11842+
dtmp_c_0amlknw[j] * een_rescaled_n_amnw [j] +
11843+
tmp_c_amkn [j] * een_rescaled_n_gl_0amlnw[j] +
11844+
tmp_c_amlkn[j] * een_rescaled_n_gl_0amnw [j] );
11845+
1184211846
}
1184311847

1184411848
#ifdef HAVE_OPENMP
1184511849
#pragma omp simd
1184611850
#endif
1184711851
for (size_t j = 0; j < (size_t) elec_num; ++j) {
11848-
factor_een_grad_1nw[j] = factor_een_grad_1nw[j] + cn *
11849-
(tmp_c_amkn[j] * een_rescaled_n_gl_1amlnw[j] +
11850-
dtmp_c_1amknw[j] * een_rescaled_n_amlnw[j] +
11851-
dtmp_c_1amlknw[j] * een_rescaled_n_amnw[j] +
11852-
tmp_c_amlkn[j] * een_rescaled_n_gl_1amnw[j]);
11852+
factor_een_grad_1nw[j] = factor_een_grad_1nw[j] + cn * (
11853+
dtmp_c_1amknw [j] * een_rescaled_n_amlnw[j] +
11854+
dtmp_c_1amlknw[j] * een_rescaled_n_amnw [j] +
11855+
tmp_c_amkn [j] * een_rescaled_n_gl_1amlnw[j] +
11856+
tmp_c_amlkn[j] * een_rescaled_n_gl_1amnw [j]);
1185311857
}
1185411858

1185511859
#ifdef HAVE_OPENMP
1185611860
#pragma omp simd
1185711861
#endif
1185811862
for (size_t j = 0; j < (size_t) elec_num; ++j) {
11859-
factor_een_grad_2nw[j] = factor_een_grad_2nw[j] + cn *
11860-
(tmp_c_amkn[j] * een_rescaled_n_gl_2amlnw[j] +
11861-
dtmp_c_2amknw[j] * een_rescaled_n_amlnw[j] +
11862-
dtmp_c_2amlknw[j] * een_rescaled_n_amnw[j] +
11863-
tmp_c_amlkn[j] * een_rescaled_n_gl_2amnw[j]);
11863+
factor_een_grad_2nw[j] = factor_een_grad_2nw[j] + cn * (
11864+
dtmp_c_2amknw [j] * een_rescaled_n_amlnw[j] +
11865+
dtmp_c_2amlknw[j] * een_rescaled_n_amnw [j] +
11866+
tmp_c_amkn [j] * een_rescaled_n_gl_2amlnw[j] +
11867+
tmp_c_amlkn[j] * een_rescaled_n_gl_2amnw [j]);
1186411868
}
1186511869

11866-
}
11870+
}
1186711871
}
1186811872
}
1186911873
return info;
@@ -12973,7 +12977,8 @@ assert(qmckl_jastrow_champ_provided(context));
1297312977
for (int64_t e=0 ; e<elec_num; ++e) {
1297412978
if (fabs(total_j_grad[k][m][e] - total_j_deriv[k][m][e]) > 1e-12) {
1297512979
printf("%ld %ld %ld\n", k, m, e);
12976-
printf("total_j_grad = %20.15e\n", total_j_grad[k][m][e]);
12980+
printf("total_j_deriv = %20.15e\n", total_j_deriv[k][m][e]);
12981+
printf("total_j_grad = %20.15e\n", total_j_grad[k][m][e]);
1297712982
fflush(stdout);
1297812983
}
1297912984
assert (fabs(total_j_deriv[k][m][e] - total_j_grad[k][m][e]) < 1.e-12);

0 commit comments

Comments
 (0)