Skip to content

Commit 7ea3123

Browse files
committed
Flush
1 parent f72973b commit 7ea3123

File tree

2 files changed

+82
-17
lines changed

2 files changed

+82
-17
lines changed

org/qmckl_jastrow_champ.org

Lines changed: 79 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2567,6 +2567,12 @@ assert(qmckl_electron_provided(context));
25672567
assert(rc == QMCKL_SUCCESS);
25682568

25692569
for (int64_t i=0 ; i<walk_num*elec_num*elec_num*(cord_num+1) ; i++) {
2570+
if (fabs(ee_distance_rescaled_hpc[i] - ee_distance_rescaled_doc[i]) > 1.e-10) {
2571+
printf("i = %ld\n", i);
2572+
printf("ee_distance_rescaled_hpc = %f\n", ee_distance_rescaled_hpc[i]);
2573+
printf("ee_distance_rescaled_doc = %f\n", ee_distance_rescaled_doc[i]);
2574+
fflush(stdout);
2575+
}
25702576
assert(fabs(ee_distance_rescaled_hpc[i] - ee_distance_rescaled_doc[i]) < 1.e-10);
25712577
}
25722578
}
@@ -2957,6 +2963,7 @@ assert(qmckl_electron_provided(context));
29572963
printf("nw=%d i=%d j=%d k=%d\n", nw, i, j, k);
29582964
printf("fd =%f\n", fd[nw][i][j][k]);
29592965
printf("ee_distance_rescaled_gl=%f\n", ee_distance_rescaled_gl[nw][i][j][k]);
2966+
fflush(stdout);
29602967
}
29612968
assert(fabs(fd[nw][i][j][k] - ee_distance_rescaled_gl[nw][i][j][k]) < 1.e-8);
29622969
}
@@ -2966,6 +2973,7 @@ assert(qmckl_electron_provided(context));
29662973
printf("nw=%d i=%d j=%d k=%d\n", nw, i, j, k);
29672974
printf("fd =%f\n", fd[nw][i][j][k]);
29682975
printf("ee_distance_rescaled_gl=%f\n", ee_distance_rescaled_gl[nw][i][j][k]);
2976+
fflush(stdout);
29692977
}
29702978
assert(fabs(fd[nw][i][j][k] - ee_distance_rescaled_gl[nw][i][j][k]) < 1.e-6);
29712979
}
@@ -2999,6 +3007,7 @@ assert(qmckl_electron_provided(context));
29993007
printf("i=%ld\n", i);
30003008
printf("ee_distance_rescaled_gl_doc=%f\n", ee_distance_rescaled_gl_doc[i]);
30013009
printf("ee_distance_rescaled_gl_hpc=%f\n", ee_distance_rescaled_gl_hpc[i]);
3010+
fflush(stdout);
30023011
}
30033012
assert(fabs(ee_distance_rescaled_gl_doc[i] - ee_distance_rescaled_gl_hpc[i]) < 1.e-8);
30043013
}
@@ -3514,6 +3523,7 @@ assert(qmckl_jastrow_champ_provided(context));
35143523

35153524
// calculate factor_ee
35163525
printf("%20.15f\n%20.15f\n",factor_ee[0],-16.83886184243964);
3526+
fflush(stdout);
35173527
assert(fabs(factor_ee[0]+16.83886184243964) < 1.e-12);
35183528

35193529
printf("factor_ee_hpc\n");
@@ -3558,6 +3568,7 @@ assert(qmckl_jastrow_champ_provided(context));
35583568
printf("i=%ld\n", i);
35593569
printf("factor_ee_doc=%f\n", factor_ee_doc[i]);
35603570
printf("factor_ee_hpc=%f\n", factor_ee_hpc[i]);
3571+
fflush(stdout);
35613572
}
35623573
assert(fabs(factor_ee_doc[i] - factor_ee_hpc[i]) < 1.e-8);
35633574
}
@@ -4267,16 +4278,16 @@ assert(qmckl_jastrow_champ_provided(context));
42674278
if (fabs(fd[nw][k][i] - factor_ee_gl[nw][k][i]) > 1.e-12) {
42684279
printf("nw=%d i=%d k=%d\n", nw, i, k);
42694280
printf("fd=%f factor_ee_gl=%f\n", fd[nw][k][i], factor_ee_gl[nw][k][i]);
4281+
fflush(stdout);
42704282
}
42714283
assert(fabs(fd[nw][k][i] - factor_ee_gl[nw][k][i]) < 1.e-8);
42724284
}
42734285
int k=3;
42744286
if (fabs(fd[nw][k][i] - factor_ee_gl[nw][k][i]) > 1.e-12) {
42754287
printf("nw=%d i=%d k=%d\n", nw, i, k);
42764288
printf("fd=%f factor_ee_gl=%f\n", fd[nw][k][i], factor_ee_gl[nw][k][i]);
4289+
fflush(stdout);
42774290
}
4278-
printf("%.10f\t", fd[nw][k][i]);
4279-
printf("%.10f\n", factor_ee_gl[nw][k][i]);
42804291
assert(fabs(fd[nw][k][i] - factor_ee_gl[nw][k][i]) < 1.e-5);
42814292
}
42824293
}
@@ -4333,6 +4344,7 @@ assert(qmckl_jastrow_champ_provided(context));
43334344
for (int64_t i = 0 ; i < walk_num*4*elec_num ; i++) {
43344345
if (fabs(factor_ee_gl_hpc[i] - factor_ee_gl_doc[i]) > 1.e-12) {
43354346
printf("i=%ld\nfactor_ee_gl_hpc=%f\nfactor_ee_gl_doc=%f\n", i, factor_ee_gl_hpc[i], factor_ee_gl_doc[i]);
4347+
fflush(stdout);
43364348
}
43374349
assert(fabs(factor_ee_gl_hpc[i] - factor_ee_gl_doc[i]) < 1.e-8);
43384350
}
@@ -4608,6 +4620,7 @@ rc = qmckl_get_jastrow_champ_asymp_jasa(context, asymp_jasa, type_nucl_num);
46084620

46094621
// calculate asymp_jasb
46104622
printf("%e %e\n", asymp_jasa[0], -1.75529774);
4623+
fflush(stdout);
46114624
assert(fabs(-1.75529774 - asymp_jasa[0]) < 1.e-8);
46124625

46134626
#+end_src
@@ -5028,6 +5041,7 @@ assert(fabs(en_distance_rescaled[0][0][6] - 0.4726452953409436) < 1.e-12);
50285041
for (int64_t i=0 ; i<walk_num*nucl_num*elec_num ; ++i) {
50295042
if (fabs(en_distance_rescaled_doc[i] - en_distance_rescaled_hpc[i]) > 1.e-12) {
50305043
printf("i = %ld, doc = %e, hpc = %e\n", i, en_distance_rescaled_doc[i], en_distance_rescaled_hpc[i]);
5044+
fflush(stdout);
50315045
}
50325046
assert(fabs(en_distance_rescaled_doc[i] - en_distance_rescaled_hpc[i]) < 1.e-8);
50335047
}
@@ -5514,12 +5528,14 @@ assert(qmckl_electron_provided(context));
55145528
for (int k = 0; k < 3; k++){
55155529
printf("%.10f\t", fd[nw][i][j][k]);
55165530
printf("%.10f\n", en_distance_rescaled_gl[nw][i][j][k]);
5531+
fflush(stdout);
55175532
assert(fabs(fd[nw][i][j][k] - en_distance_rescaled_gl[nw][i][j][k]) < 1.e-8);
55185533
}
55195534
int k=3;
55205535
if (i != j) {
55215536
printf("%.10f\t", fd[nw][i][j][k]);
55225537
printf("%.10f\n", en_distance_rescaled_gl[nw][i][j][k]);
5538+
fflush(stdout);
55235539
assert(fabs(fd[nw][i][j][k] - en_distance_rescaled_gl[nw][i][j][k]) < 1.e-6);
55245540
}
55255541
}
@@ -5546,6 +5562,10 @@ assert(qmckl_electron_provided(context));
55465562
assert(rc == QMCKL_SUCCESS);
55475563

55485564
for (int i = 0; i < walk_num*nucl_num*elec_num*4; i++) {
5565+
if (fabs(en_distance_rescaled_gl_doc[i] - en_distance_rescaled_gl_hpc[i]) > 1.e-8) {
5566+
printf("i = %d, doc = %e, hpc = %e\n", i, en_distance_rescaled_gl_doc[i], en_distance_rescaled_gl_hpc[i]);
5567+
fflush(stdout);
5568+
}
55495569
assert(fabs(en_distance_rescaled_gl_doc[i] - en_distance_rescaled_gl_hpc[i]) < 1.e-8);
55505570
}
55515571
}
@@ -5984,6 +6004,7 @@ rc = qmckl_get_jastrow_champ_factor_en(context, factor_en,walk_num);
59846004

59856005
// calculate factor_en
59866006
printf("%f %f\n", factor_en[0], 22.781375792083587);
6007+
fflush(stdout);
59876008
assert(fabs(22.781375792083587 - factor_en[0]) < 1.e-12);
59886009

59896010
{
@@ -6661,11 +6682,14 @@ assert(qmckl_jastrow_champ_provided(context));
66616682
for (int k = 0; k < 3; k++){
66626683
printf("%.10f\t", fd[nw][k][i]);
66636684
printf("%.10f\n", factor_en_gl[nw][k][i]);
6685+
fflush(stdout);
66646686
assert(fabs(fd[nw][k][i] - factor_en_gl[nw][k][i]) < 1.e-8);
66656687
}
66666688
int k=3;
6667-
printf("%.10f\t", fd[nw][k][i]);
6668-
printf("%.10f\n", factor_en_gl[nw][k][i]);
6689+
if (fabs(fd[nw][k][i] - factor_en_gl[nw][k][i]) > 1.e-5) {
6690+
printf("i=%d doc=%f hpc=%f\n", i, fd[nw][k][i], factor_en_gl[nw][k][i]);
6691+
fflush(stdout);
6692+
}
66696693
assert(fabs(fd[nw][k][i] - factor_en_gl[nw][k][i]) < 1.e-5);
66706694
}
66716695
}
@@ -6704,6 +6728,7 @@ assert(qmckl_jastrow_champ_provided(context));
67046728
for (int64_t i = 0; i < walk_num*4*elec_num; i++) {
67056729
if (fabs(factor_en_gl_doc[i] - factor_en_gl_hpc[i]) > 1.e-12) {
67066730
printf("i=%ld doc=%f hpc=%f\n", i, factor_en_gl_doc[i], factor_en_gl_hpc[i]);
6731+
fflush(stdout);
67076732
}
67086733
assert(fabs(factor_en_gl_doc[i] - factor_en_gl_hpc[i]) < 1.e-8);
67096734
}
@@ -7270,6 +7295,10 @@ assert(fabs(een_rescaled_e[0][2][1][5]- 0.5257156022077619 ) < 1.e-12);
72707295
for (int64_t j = 0; j < cord_num+1; j++) {
72717296
for (int64_t k = 0; k < elec_num; k++) {
72727297
for (int64_t l = 0; l < elec_num; l++) {
7298+
if (fabs(een_rescaled_e_doc[i][j][k][l] - een_rescaled_e_hpc[i][j][k][l]) > 1.e-12) {
7299+
printf("i=%ld j=%ld k=%ld l=%ld doc=%f hpc=%f\n", i, j, k, l, een_rescaled_e_doc[i][j][k][l], een_rescaled_e_hpc[i][j][k][l]);
7300+
fflush(stdout);
7301+
}
72737302
assert(fabs(een_rescaled_e_doc[i][j][k][l] - een_rescaled_e_hpc[i][j][k][l]) < 1.e-8);
72747303
}
72757304
}
@@ -7884,6 +7913,7 @@ assert(qmckl_electron_provided(context));
78847913
for (int64_t i = 0; i < walk_num*(cord_num + 1)*elec_num*4*elec_num; i++) {
78857914
if (fabs(een_rescaled_e_gl_doc[i] - een_rescaled_e_gl_hpc[i]) > 1.e-12) {
78867915
printf("i = %ld, doc = %f, hpc = %f\n", i, een_rescaled_e_gl_doc[i], een_rescaled_e_gl_hpc[i]);
7916+
fflush(stdout);
78877917
}
78887918
assert(fabs(een_rescaled_e_gl_doc[i] - een_rescaled_e_gl_hpc[i]) < 1.e-8);
78897919
}
@@ -7892,7 +7922,7 @@ assert(qmckl_electron_provided(context));
78927922

78937923
{
78947924
/* Finite difference test fails and I can't understand why... */
7895-
/*
7925+
78967926
printf("een_distance_rescaled_e_gl\n");
78977927

78987928
double fd[walk_num][cord_num+1][elec_num][4][elec_num];
@@ -7991,24 +8021,30 @@ assert(qmckl_electron_provided(context));
79918021
for (int i = 0; i < elec_num; i++) {
79928022
for (int j = 0; j < elec_num; j++) {
79938023
for (int k = 0; k < 3; k++){
7994-
printf("%2d %2d %2d %2d %2d\t", nw, c, i, k, j);
7995-
printf("%.10e\t", fd[nw][c][i][k][j]);
7996-
printf("%.10e\n", een_distance_rescaled_e_gl[nw][c][i][k][j]);
8024+
if (fabs(fd[nw][c][i][k][j] - een_distance_rescaled_e_gl[nw][c][i][k][j]) > 1.e-10) {
8025+
printf("%2d %2d %2d %2d %2d\t", nw, c, i, k, j);
8026+
printf("%.10e\t", fd[nw][c][i][k][j]);
8027+
printf("%.10e\n", een_distance_rescaled_e_gl[nw][c][i][k][j]);
8028+
fflush(stdout);
8029+
}
79978030
assert(fabs(fd[nw][c][i][k][j] - een_distance_rescaled_e_gl[nw][c][i][k][j]) < 1.e-8);
79988031
}
79998032
int k=3;
80008033
if (i != j) {
8001-
printf("%2d %2d %2d %2d %2d\t", nw, c, i, k, j);
8002-
printf("%.10e\t", fd[nw][c][i][k][j]);
8003-
printf("%.10e\n", een_distance_rescaled_e_gl[nw][c][i][k][j]);
8034+
if (fabs(fd[nw][c][i][k][j] - een_distance_rescaled_e_gl[nw][c][i][k][j]) > 1.e-8) {
8035+
printf("%2d %2d %2d %2d %2d\t", nw, c, i, k, j);
8036+
printf("%.10e\t", fd[nw][c][i][k][j]);
8037+
printf("%.10e\n", een_distance_rescaled_e_gl[nw][c][i][k][j]);
8038+
fflush(stdout);
8039+
}
80048040
assert(fabs(fd[nw][c][i][k][j] - een_distance_rescaled_e_gl[nw][c][i][k][j]) < 1.e-6);
80058041
}
80068042
}
80078043
}
80088044
}
80098045
}
80108046
printf("OK\n");
8011-
*/
8047+
80128048
}
80138049

80148050
#+end_src
@@ -10247,9 +10283,11 @@ double dtmp_c[walk_num][cord_num][cord_num+1][nucl_num][4][elec_num];
1024710283
rc = qmckl_get_jastrow_champ_dtmp_c(context, &(dtmp_c[0][0][0][0][0][0]), sizeof(dtmp_c)/sizeof(double));
1024810284

1024910285
printf("%e\n%e\n", tmp_c[0][0][1][0][0], 3.954384);
10286+
fflush(stdout);
1025010287
assert(fabs(tmp_c[0][0][1][0][0] - 3.954384) < 1e-6);
1025110288

1025210289
printf("%e\n%e\n", dtmp_c[0][1][0][0][0][0],3.278657e-01);
10290+
fflush(stdout);
1025310291
assert(fabs(dtmp_c[0][1][0][0][0][0] - 3.278657e-01 ) < 1e-6);
1025410292
#+end_src
1025510293

@@ -11777,6 +11815,18 @@ TODO
1177711815
factor_een_gl_doc);
1177811816
assert(rc == QMCKL_SUCCESS);
1177911817

11818+
assert(walk_num == 2);
11819+
assert(elec_num == 10);
11820+
assert(nucl_num == 2);
11821+
assert(cord_num == 5);
11822+
assert(dim_c_vector == 23);
11823+
11824+
assert(ctx->electron.walker.num == walk_num);
11825+
assert(ctx->electron.num == elec_num);
11826+
assert(ctx->nucleus.num == nucl_num);
11827+
assert(ctx->jastrow_champ.cord_num == cord_num);
11828+
assert(ctx->jastrow_champ.dim_c_vector == dim_c_vector);
11829+
1178011830
double factor_een_gl_hpc[walk_num*4*elec_num];
1178111831
memset(&(factor_een_gl_hpc[0]), 0, walk_num*4*elec_num*sizeof(double));
1178211832
rc = qmckl_compute_jastrow_champ_factor_een_gl(context,
@@ -11798,6 +11848,7 @@ TODO
1179811848
printf("i = %ld\n", i);
1179911849
printf("factor_een_gl_doc = %20.15e\n", factor_een_gl_doc[i]);
1180011850
printf("factor_een_gl_hpc = %20.15e\n", factor_een_gl_hpc[i]);
11851+
fflush(stdout);
1180111852
}
1180211853
assert(fabs(factor_een_gl_doc[i] - factor_een_gl_hpc[i]) < 1e-8);
1180311854
}
@@ -12163,7 +12214,13 @@ assert(qmckl_jastrow_champ_provided(context));
1216312214

1216412215

1216512216
for (int64_t i=0 ; i< walk_num ; ++i) {
12166-
assert (total_j[i] - exp(factor_ee[i] + factor_en[i] + factor_een[i]) < 1.e-12);
12217+
if (fabs(total_j[i] - exp(factor_ee[i] + factor_en[i] + factor_een[i])) > 1e-12) {
12218+
printf("i = %ld\n", i);
12219+
printf("total_j = %20.15e\n", total_j[i]);
12220+
printf("exp(factor_ee + factor_en + factor_een) = %20.15e\n", exp(factor_ee[i] + factor_en[i] + factor_een[i]));
12221+
fflush(stdout);
12222+
}
12223+
assert (fabs(total_j[i] - exp(factor_ee[i] + factor_en[i] + factor_een[i])) < 1.e-8);
1216712224
}
1216812225
}
1216912226

@@ -12586,7 +12643,15 @@ assert(qmckl_jastrow_champ_provided(context));
1258612643
for (int64_t m=0 ; m<4; ++m) {
1258712644
for (int64_t e=0 ; e<elec_num; ++e) {
1258812645
if (m < 3) { /* test only gradients */
12589-
assert (total_j_deriv[k][m][e]/total_j[k] - (factor_ee_gl[k][m][e] + factor_en_gl[k][m][e] + factor_een_gl[k][m][e]) < 1.e-12);
12646+
if (fabs(total_j_deriv[k][m][e]/total_j[k] - (factor_ee_gl[k][m][e] + factor_en_gl[k][m][e] + factor_een_gl[k][m][e])) > 1e-12) {
12647+
printf("k = %ld\n", k);
12648+
printf("m = %ld\n", m);
12649+
printf("e = %ld\n", e);
12650+
printf("total_j_deriv = %20.15e\n", total_j_deriv[k][m][e]/total_j[k]);
12651+
printf("factor_ee_gl + factor_en_gl + factor_een_gl = %20.15e\n", factor_ee_gl[k][m][e] + factor_en_gl[k][m][e] + factor_een_gl[k][m][e]);
12652+
fflush(stdout);
12653+
}
12654+
assert (fabs(total_j_deriv[k][m][e]/total_j[k] - (factor_ee_gl[k][m][e] + factor_en_gl[k][m][e] + factor_een_gl[k][m][e])) < 1.e-12);
1259012655
}
1259112656
}
1259212657
}

org/qmckl_tests.org

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1152,7 +1152,7 @@ N2
11521152

11531153
Nuclear coordinates are stored in atomic units in transposed format.
11541154

1155-
#+begin_src c :tangle (concat tests "n2.h")
1155+
#+begin_src c
11561156
#define n2_nucl_num ((int64_t) 2)
11571157

11581158
double n2_charge[n2_nucl_num] = { 5., 5.};
@@ -1168,7 +1168,7 @@ double n2_nucl_coord[3][n2_nucl_num] =
11681168

11691169
Electron coordinates are stored in atomic units in normal format.
11701170

1171-
#+begin_src c :tangle (concat tests "n2.h")
1171+
#+begin_src c
11721172
#define n2_elec_up_num ((int64_t) 5)
11731173
#define n2_elec_dn_num ((int64_t) 5)
11741174
#define n2_elec_num ((int64_t) 10)
@@ -1203,7 +1203,7 @@ double n2_elec_coord[n2_walk_num][n2_elec_num][3] = { {
12031203
This test is mainly for the Jastrow factor and was supplied by
12041204
Ramon Panades Baruetta.
12051205

1206-
#+begin_src c :tangle (concat tests "n2.h")
1206+
#+begin_src c
12071207
/* Jastrow related */
12081208

12091209
#define n2_type_nucl_num ((int64_t) 1)

0 commit comments

Comments
 (0)