forked from SPARC-X/SPARC
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChangeLog
1697 lines (1322 loc) · 48.6 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
----------------
-Date
-Name
-changes
--------------
Nov 18, 2022
Name: Xin Jing
Changes: (initialization.c, xc/exx/exactExchange.c)
1. Fix the issue in hybrid outer loop for creating ACE operator for additional time
2. Update testsuite
--------------
Nov 17, 2022
Name: Boqin Zhang
Changes: (mgga/MGGAstress.c)
1. Fix a memory bug in calculating meta-GGA stress term
--------------
Nov 11, 2022
Name: Xin Jing
Changes: (initialization.c, electronicGroundState.c, exchangeCorrelation.c, readfiles.c)
1. Fix a bug in calculating energy using specific electron density
2. Update force and stress expression
3. Update default TOL_SCF model for energy and force accuracy
4. Fix a compile warning using strncpy
5. Update testsuite
--------------
Nov 07, 2022
Name: Qimen Xu
Changes: (lapVecOrth.c, lapVecNonOrth.c, lapVecOrthKpt.c, lapVecNonOrthKpt.c)
1. Merge orth lapvec routines and non-orth lapvec routines in the same file.
2. Fix compilation warnings (mostly unused variables).
3. Remove the source file energyDensity.c (functions moved to other files).
--------------
Nov 1, 2022
Name: Xin Jing
Changes: (xc/exx/exactExchangeInitialization.c)
1. Hotfix in memory estimation, leading to hang in hybrid calculation
--------------
Oct 28, 2022
Name: Qimen Xu
Changes: (gradVecRoutines.c, gradVecRountinesKpt.c, lapVecNonOrth.c,
lapVecNonOrthKpt, lapVecOrth.c, lapVecOrthKpt.c)
1. Remove the feature to overlap communication and computation in the stencils.
--------------
Oct 26, 2022
Name: Qimen Xu
Changes: (electrostatics.c)
1. Print dipole moment in DEBUG mode for molecules (BC: D D D).
--------------
Oct 25, 2022
Name: Xin Jing
Changes: (exx/exactExchangeInitialization.c, initialization.c, doc/Manual.tex)
1. Fix hybrid memory estimation
2. Enable searching with '_' in docs
--------------
Oct 20, 2022
Name: Xin Jing
Changes: (exx/, initialization.c, printing.c, readfiles)
1. Change to use PBE results as initial guess for hybrid MD
2. Add EXX_FRAC input option to control the fraction of exact exchange
3. Update documentation and add units in docs
4. Fix a bug in printing eigen file when using SOC and add unit
5. Update MoS2_surface_d3 standard test
--------------
Oct 13, 2022
Name: Qimen Xu
Changes: (linearAlgebra.c, eigenSolver.c, eigenSolverKpt.c, readfiles.c, initialization.c, makefile)
1. Add sub-communicator eigensolvers, add input argument `EIG_PARAL_MAXNP`.
2. Use `pdsyr2k` instead of `pdgemm` for the mass matrix calculation in the projection step.
--------------
Oct 12, 2022
Name: Xin Jing
Changes: (initialization.c)
1. Change EXX_MEM option to 20 and fix a bug in memory estimation
2. Update documentation
3. Add ACE timing in the output file.
--------------
Oct 09, 2022
Name: Boqin Zhang, Qimen Xu
Changes: (initialization.c, eigenSolver.c, eigenSolverKpt.c, readfiles.c, isddft.h)
1. Fix a bug in counting d3 computation time in debug mode
2. Check the availability of MD method in initialization.c
3. Add the missed "-" in "z-direction"
4. Add `eig_paral_orfac` option to control the reorthogonalization of parallel eigensolvers p?syevx and p?sygvx. The default is 0.0.
5. Modify default `EIG_SERIAL_MAXNS` value to 1500.
--------------
Oct 03, 2022
Name: Qimen Xu
Changes: (mixing.c)
1. Always scale electron density after density mixing.
--------------
Sep 29, 2022
Name: Shashikant Kumar
Changes: (tests/)
1. Added slurm samplepbs
2. Added some scan tests
--------------
Sep 20, 2022
Name: Shashikant Kumar
Changes: (tests/, psps/)
1. Updated reference files in tests folder for SPMS psps
2. Added the SPMS pseudopotential (psp8) in psps/ folder
--------------
Sep 06, 2022
Name: Boqin Zhang
Changes: (forces.c)
1. Add the lost declaration of d3 force
--------------
Sep 05, 2022
Name: Boqin Zhang
Changes: (xc/vdW/vdWDF/, electronicGroundState.c)
1. Add citations for vdWDF
2. Move the d3 calling out from Calculate_electronicGroundState function
3. Fix a bug in adding d3 force term into total force
--------------
Aug 30, 2022
Name: Qimen Xu
Changes: (README.md, finalization.c)
1. Modify funding info in README.md, documentation, and .out files.
--------------
Aug 24, 2022
Name: Boqin Zhang
Changes: (md.c, electronicGroundState.c)
1. Modify the description about entropy in .out file and .aimd file
--------------
Aug 24, 2022
Name: Boqin Zhang
Changes: (xc/vdW/d3/d3initialization.c)
1. Add coefficients for PBE0 and HSE using DFT-D3
2. Add error message for setting cutoff radius of DFT-D3
--------------
Aug 16, 2022
Name: Qimen Xu
Changes: (lapVecNonOrth.c, README.md)
1. Modify non-orth real laplacian stencils.
2. Fix an issue in README.md and doc.
--------------
Aug 16, 2022
Name: Boqin Zhang
Changes: (xc/vdW/vdWDF/, xc/mgga/, electronicGroundState.c, hamiltonianVectorRoutines.c)
1. Modify the counter of potential calculation to let PBE replace SCAN only at the first MD step
--------------
Aug 15, 2022
Name: Xin Jing
Changes: (printing.c, initialization.c, readfile.c, energyDensity.c)
1. Change printed density to cube format.
2. Add print_orbital and print_energy_density options.
3. Update documentations
--------------
Aug 13, 2022
Name: Boqin Zhang
Changes: (occupation.c, vdW/vdWDF/vdWDFexchangeLinearCorre.c)
1. Modify the function for calculating Fermi level
2. Fix a numerical bug in vdWDF
--------------
Aug 09, 2022
Name: Qimen Xu
Changes: (tools.c, lapVecNonOrthKpt.c)
1. Improve non-orth complex laplacian stencils.
--------------
Aug 08, 2022
Name: Boqin Zhang
Changes: (xc/vdW/vdWDF/, initialization.c, finalization.c)
1. Add spin-polarized vdW-DF1 and vdW-DF2.
2. fix a memory bug for vdW finalization.
--------------
Aug 04, 2022
Names: Qimen Xu, Xin Jing, Boqin Zhang
Changes: (src/)
1. Remove unused variables and fix other warnings.
2. Fix a memory bug in vdW.
--------------
Aug 04, 2022
Name: Qimen Xu
Changes: (tools.c, gradVecRoutinesKpt.c, lapVecOrthKpt.c, lapVecNonOrthKpt.c)
1. Fix a bug introduced by missing a function declaration under -Werror-implicit-function-declaration.
2. Remove the `-Werror-implicit-function-declaration` flag in makefile.
--------------
Aug 03, 2022
Name: Qimen Xu
Changes: (initialization.c, parallelization.c, finalization.c)
1. Make XC functional options case-insensitive.
--------------
June 29, 2022
Name: Qimen Xu
Changes: (gradVecRoutinesKpt.c, lapVecOrthKpt.c, lapVecNonOrthKpt.c)
1. Improve complex gradient and orthogonal laplacian routines.
--------------
July 27, 2022
Name: Xin Jing
Changes: (exactExchange.c, initialization.c)
1. Change default MINIT_FOCK to 2
2. Change default TOL_FOCK and relate it to TOL_SCF
--------------
Jul 27, 2022
Name: Shashikant Kumar
Changes: (tests/, README.md, makefile )
1. Updated tests reference outputs for 48 processors (standard accuracy) and 96 processors (high accuracy)
2. changed the name of 'test.py' to 'SPARC_testing_script.py'
3. Fixed minor bugs in SPARC_testing_script.py
4. Changed 'test.py' to 'SPARC_testing_script.py' in README.md and makefile
--------------
Jul 19, 2022
Name: Qimen Xu
Changes: (gradVecRoutines.c, lapVecOrth.c)
1. When the FD order = `12`, use a hard-coded version of the (orthogonal, gamma-point) stencil to improve its efficiency.
--------------
Jul 18, 2022
Name: Shashikant Kumar
Changes: (tests)
1. psps files in one folder
2. launch with single pbs script
3. All tests with same number of processors
4. add option to update reference files
5. option to run on any general cluster
--------------
Jul 15, 2022
Name: Boqin Zhang
Changes: (xc/vdW/d3, xc/vdW/vdWDF, xc/mgga, stress.c, pressure.c)
1. Split DFT-D3, vdWDF and metaGGA files into multiple files
--------------
Jul 14, 2022
Name: Xin Jing
Changes: (exx/, sq/, initialization.c, tests/)
1. Split exact exchange and sq files into multiple files
2. Change spin_typ in tests/ folder
--------------
Jul 14, 2022
Name: Qimen Xu
Changes: (doc/, psdpots/, mgga/, vdW/, exx/, sq/, makefile, energyDensity.c)
1. Make `LaTex/` within `doc/` a hidden directory, and merge SQ manual into the main manual.
2. Rename `psdpots/` to `psps/`.
3. Create a `xc/` directory, and move `mgga/`, `vdW/`, and `exx/` into `xc/`.
4. Create a `orderN/` directory, and move `sq/` into `orderN/`.
5. Create a `include/` directory within `mgga/`, `vdW/`, `exx/`, `xc/` and `sq/`.
6. Move energyDensity.c and the corresponding header file into `xc/mgga/`.
7. Move warnings regarding Nstates and occupation from .out file to log file.
8. Modify the ending info in the .out file.
--------------
July 01, 2022
Name: Boqin Zhang
Changes: (mgga/mgga.h, eigenSolver.c, eigenSolverKpt.c, energy.c, pressure.c)
1. Add missed headfiles and function declarations
2. Modify Lanczos for SCAN
--------------
June 24, 2022
Name: Boqin Zhang
Changes: (mgga/, initialization.c, eigenSolver.c, eigenSolverKpt.c, exchangeCorrelation.c, hamiltonianVecRoutine.c, energy.c)
1. Add spin-polarized SCAN functional
--------------
June 21, 2022
Name: Xin Jing
Changes: (exx/, makefile, initialization.c)
1. Fix issues when compiling using different modules for exact exchange
--------------
June 17, 2022
Name: Xin Jing
Changes: (exactExchangeProperties.h)
1. Fix a inconsistency in header file and function
--------------
June 09, 2022
Name: Xin Jing
Changes: (exx/)
1. Enable band parallelization in exact exchange
2. Fix a bug in parallelization when Nd_blacscomm are not the same in all blacscomm,
leading to different dims in blacs_ctxt.
3. update test suits
--------------
May 17, 2022
Name: Xin Jing
Changes: (sq.c, initialization.c, sqProperties.c, energyDensity.c)
1. Release SQ method
2. Fix a few warnings in compilation
3. Move a few functions related to energy density into a separate file
4. Update documentations about SQ
--------------
May 10 2022
Name: Xin Jing
Changes: (initialization.c, spinOrbitCoupling.c, doc/)
1. Release spin-orbit coupling with all features except spin
2. Add tests in tests/ folder
3. Update docs
--------------
May 09, 2022
Name: Boqin Zhang
Changes: (mgga/, initialization.c, electronicGroundState.c, exchangeCorrelation.c, parallelization.c, hamiltonianVecRoutine.c, energy.c, stress.c, pressure.c)
1. Add metaGGA functions and SCAN functional
2. Move DFT-D3 stress function calling from electronicGrountState.c to stress.c and pressure.c
--------------
May 06, 2022
Name: Xin Jing
Changes: (exx/, hamiltonian.c, gradVecRoutinesKpt.c, initialization.c, etc)
1. Release the hybrid calculation of PBE0 and HSE and the corresponding tests
2. Change the gradVecRountinesKpt more general
3. Update the documentations and README.md
--------------
Apr 28, 2022
Name: Xin Jing
Changes: (stress.c)
1. Fix bug in stress when multiple k-points in each kptcomm
--------------
Mar 18, 2022
Name: Boqin Zhang
Changes: (initialization.c, md.c, md.h)
1. Modify NPT-NH and NPT-NP to output LATVEC_SCALE in .out and .restart
2. Add error message for using vdW-DF in Dirichlet boundary condition
--------------
Feb 26, 2022
Name: Boqin Zhang
Changes: (initialization.c, isddft.h, md.c, pressure.c, stress.c, finalization.c, vdW/vdWDF, tests/test.py)
1. Add van der Waals density functional (vdWDF1 and vdWDF2), and their test systems
2. modify bugs in NPT-NH and NPT-NP thermostat
--------------
Jan 04, 2022
Name: Boqin Zhang
Changes: (initialization.c, isddft.h, readfiles.c, md.h, md.c)
1. Add NPT-NH and NPT-NP thermostat
--------------
Dec 23, 2021
Name: Boqin Zhang
Changes: (initialization.c, isddft.h, readfiles.c, electronicGroundStates.c, atomdata.c, finalization.c, vdW/d3)
1. Add Grimme's DFT-D3 correction
--------------
Dec 21, 2021
Name: Xin Jing
Changes: (initialization.c, eigensolver.c, isddft.h, scalapck.h)
1. Add GPU hooks
--------------
Nov 19, 2021
Name: Qimen Xu
Changes: (electrostatics.c)
1. Fix bug in NLCC for spin-polarized relaxation/MD simulations.
--------------
Oct 28, 2021
Name: Shashikant Kumar
Changes: (tests)
1. Added features in the test.py to launch the jobs in batches
2. Updated the reference output files
--------------
Oct 11, 2021
Name: Xin Jing
Changes: (parallelization.c)
1. Fix bug in is_phi_eq_kpt_topo when there are MPI_COMM_NULL and dmcomm_phi is actually equal to kptcomm_topo
--------------
Oct 07, 2021
Name: Xin Jing
Changes: (readfiles.c)
1. increase robustness in checking scientific notation of pseudopotential files
--------------
Oct 07, 2021
Name: Qimen Xu
Changes: (parallelization.c, eigenSolver.c, finalization.c, isddft.h)
1. Fix bug in Lanczos: in the case user specifies `NP_DOMAIN_PHI_PARAL`, check if dmcomm_phi is the same as kptcomm_topo before using dmcomm_phi for Lanczos.
--------------
Oct 03, 2021
Name: Qimen Xu
Changes: (main.c, initialization.c, md.c, relax.c)
1. Explicitly flush the standard output right before MPI_Finalization to prevent Finalize hang.
2. In DEBUG mode, make sure all standard output are printed by rank 0.
--------------
Sep 22, 2021
Name: Xin Jing
Changes: (initialization.c,)
1. Change numbering of output files
2. Add robustness of reading .ion files
3. Fix bug in print electron density
4. Add KENIG in .aimd file
--------------
Sep 22, 2021
Name: Xin Jing
Changes: (initialization.c)
1. Add CELL section in output file
--------------
Sep 19, 2021
Name: Shashikant Kumar
Changes: (tests)
1. Updated reference output files
2. Added a new NLCC system
3. Added a feature to just run the check
4. Added MIXING_PRECOND_MAG tests
--------------
Sep 17, 2021
Name: Xin Jing
Changes: (doc/, initialization.c, electronicGroundState.c)
1. Modify documentation.
2. Capitalize Error and Warnings
3. Fix bug in mixing
4. Fix bug in exchange correlation with NLCC
--------------
Sep 09, 2021
Name: Qimen Xu
Changes: (doc/)
1. Modify documentation.
--------------
Jul 31, 2021
Name: Shashikant Kumar
Changes: (tests)
1. Replaced "CELL" with "LATVEC_SCALE" in input files
2. Fe_spin with non-zero magnetization
3. Bulk system with three orientations
4. Bandgap tests for molecules
5. Check ionic stress and velocities for MD
6. added option "clean_temp" to clear the files
--------------
Jul 23, 2021
Name: Qimen Xu
Changes: (electronicGroundState.c)
1. Switch back to calculating the pressure directly when CALC_PRES is turned on alone (i.e., CALC_STRESS is off).
--------------
Jul 14, 2021
Name: Qimen Xu
Changes: (eigenSolver*.c, parallelization.c, initialization.c)
1. Modify memory estimate (include extra memory used by MKL).
2. Reduce memory usage due to MKL for domain-only parallelization (NP_BAND_PARAL: 1): skip data transfer through p?gemr2d and explicitly call BLAS ?gemm instead of ScaLAPACK p?gemm for projection.
3. Move memory allocation of eigmin/eigmax arrays to initialization stage.
--------------
Jul 13, 2021
Name: Shashikant Kumar
Changes: (tests)
1. Fixed bug in 'tests' folder for the systems with 'quick_run' tag
--------------
Jul 09, 2021
Name: Shashikant Kumar
Changes: (README.md, doc/Manual, tests/test.py)
1. Updated README.md and manual doc file to make it consistent with the new tests folder
2. Changed the test.py (tests folder) to include "quick_run" tag which launches very fast tests
--------------
Jul 09, 2021
Name: Qimen Xu
Changes: (eigenSolver*.c, orbitalElecDensInit.c, forces.c, stress.c)
1. Reduce memory required for simulations with k-points.
2. Calculate the stress tensor instead when CALC_PRES is turned on.
3. Bug fix: MPI_Allreduce instead of MPI_Reduce for calculating nloc stress over kpoints.
4. Use divide-and-conquer eigensolvers from LAPACK for the subspace eigenproblem. Increase default `EIG_SERIAL_MAXNS` to 10000.
--------------
May 11, 2021
Name: Shashikant Kumar
Changes: (tests)
1. Updated the reference files
2. Enabled valgrind tests for all systems, tests of SCF iterations
--------------
Apr 23, 2021
Name: Qimen Xu
Changes: (mixing.c)
1. Add options to perform a different mixing parameter and different preconditioner for the magnetization density/potential from the total density/potential in spin-polarized calcuations. The new options are:
1) `MIXING_PARAMETER_MAG`
2) `MIXING_PARAMETER_SIMPLE_MAG`
3) `MIXING_PRECOND_MAG`
4) `PRECOND_KERKER_KTF_MAG`
5) `PRECOND_KERKER_THRESH_MAG`
Details about these options can be found in doc/Manual.pdf.
--------------
Apr 20, 2021
Name: Qimen Xu
Changes: (electronicGroundState.c)
1. Fix bug in mixing history vectors for spin-polarized tests which seriously affects the SCF convergence.
2. Modify the mixing function so that it's consistent with M-SPARC.
--------------
Apr 19, 2021
Name: Qimen Xu
Changes: (readfiles.c, initialization.c, isddft.h)
1. Add input option LATVEC_SCALE, which is an alternative option for CELL, except it takes into account the length of the lattice vectors given by LATVEC.
--------------
Apr 14, 2021
Name: Qimen Xu
Changes: (electrostatics.c)
1. Fix bug in NLCC: reinitialize core charge density correctly when atoms are moved.
--------------
Apr 06, 2021
Name: Shashikant Kumar
Changes: (.travis.yml, makefile, makefile-ibm, tests)
1. Enabled concurrent .ci testing in travis.yml
--------------
Apr 05, 2021
Name: Qimen Xu, Abhraj Sharma
Changes: (md.c)
1. Fix bug in stress printing in .aimd files, print electronic stress which excludes the ionic contribution.
--------------
April 1, 2021
Name: Shashikant Kumar
Changes: Tests
1. Added automatic testing
2. Removed old tests folder
--------------
Mar 30, 2021
Name: Qimen Xu, Abhraj Sharma
Changes: (parallelization.c, tools.c, stress.c)
1. Add new default parallelization parameter choosing routine.
2. Fix bug in kinetic stress for spin case without kpts for single processor.
--------------
Mar 22, 2021
Name: Qimen Xu
Changes: (initialization.c, include/isddft.h)
1. Add non-linear core correction (NLCC) support (energy, force, stress, and pressure).
2. Statically link MKL by using the -rpath option in the makefile.
--------------
Oct 21, 2020
Name: Qimen Xu
Changes: (initialization.c, include/isddft.h)
1. Add command line argument options:
(a) -h, --help Print help massages and exit.
(b) -n Specify number of nodes.
(c) -c Specify number of CPUs per node.
(d) -a Specify number of Accelerators per node, e.g., GPUs.
--------------
Oct 18, 2020
Name: Qimen Xu
Changes: (*Kpt.c)
1. Add compiling option to enable SIMD vectorization of complex stencil routines (use when intel/19.0.3 or later versions of compilers are available).
--------------
Oct 01, 2020
Name: Qimen Xu
Changes: (readfiles.c)
1. Modify the function for reading pseudopotentials to support two formats of converted TM pseudopotentials.
2. Memory leak fix in DP (kpt_comm not freed for idle processes).
--------------
Sep 09, 2020
Name: Qimen Xu
Changes: (gradVecRoutinesKpt.c, lapVecNonOrthKpt.c, lapVecOrthKpt.c)
1. Add simd instructions for Laplacian vector routines for k-points (works well for intel/19.0.5 with automatic cpu dispatch).
--------------
Aug 27, 2020
Name: Qimen Xu
Changes: (eigensolver.c, eigensolverKpt.c)
1. Bug fix in DP: when DP is turned on and npdomain > 1, eigenvalues are only correct in the first dmcomm.
--------------
Jul 24, 2020
Name: Qimen Xu, Abhiraj Sharma
Changes: (eigensolver.c, stress.c)
1. Removed repetitive part involving finding global max and min of eigenvalues among spin communicators.
2. Fixed bug related to specification of BCy instead of BCz while calculating cell measure (5 places).
--------------
Jun 22, 2020
Name: Qimen Xu
Changes:
1. Update makefile-ibm to a generalized and streamlined version.
--------------
Jun 20, 2020
Name: Qimen Xu
Changes:
1. For MPI_Comm_split calls, change color = -1 to color = INT_MAX.
--------------
Jun 13, 2020
Name: Qimen Xu
Changes:
1. Remove some unused variables.
2. Enable comments after the "LATVEC:" flag.
3. Update the headings of .ion files in the tests/ folder.
--------------
Jun 10, 2020
Name: Qimen Xu
Changes:
1. Modify default Chebyshev filter degree for non-orthogonal systems.
--------------
Jun 09, 2020
Name: Qimen Xu
Changes:
1. Add makefile-IBM for compiling SPARC on IBM machines.
2. Modify scalapack.h for compatibility of ScaLAPACK function declarations on IBM machines.
3. Resolve some abs data type compatibility issues.
--------------
May 26, 2020
Name: Qimen Xu
Changes:
1. Update README.
2. Modify some simd instructions in gradVecRoutines.c and lapVecNonOrth.c, with some versions of compilers the simd instructions were causing compilation error.
--------------
May 20, 2020
Name: Qimen Xu
Changes:
1. Update documentation and README.
2. Some small changes to the output headings.
3. Add Examples to tests/ folder, rerun existing tests.
--------------
May 18, 2020
Name: Qimen Xu
Changes:
1. Fix MD time printing issue. When PRINT_MDOUT is turned off, the MD step time was not correctly printed to .out.
2. Fix the issue where an empty .static is created for relax and MD simulations.
3. Change default relax method from NLCG to LBFGS.
4. Rerun the tests in the tests/ folder.
--------------
May 11, 2020
Name: Qimen Xu
Changes:
1. Bug fix: nonlocal force calculation occasionally fails during MPI_Reduce
between kptcomms, switching to MPI_Allreduce fixed the issue.
2. Change input EIG_SCALAPACK_BLKSZ to EIG_PARAL_BLKSZ.
3. Change input EIG_LAPACK_MAXNS to EIG_SERIAL_MAXNS.
4. Remove EIG_USE_LAPACK option.
5. Remove rational function approx. to Kerker preconditioner (truncated_kerker
and resta), move AAR_complex to extras folder.
--------------
May 06, 2020
Name: Qimen Xu
Changes:
1. Change default preconditioner to density mixing + Kerker preconditioner, with a preconditioner threshold of 0.1.
2. Add a parallelization summary to log file in DEBUG mode.
3. Add an input option to choose whether to use LAPACK for solving the subspace eigenproblem (specify by EIG_USE_LAPACK).
4. Change default block size for solving subspace eigenproblem using ScaLAPACK from 64 to 128.
5. Add an input option to modify the above block size (specify by EIG_SCALAPACK_BLKSZ).
6. Add an input option to change the maximum NSTATES up to which LAPACK will be used to solve the subspace eigenproblem (specify by EIG_LAPACK_MAXNS).
7. Modify occupation warnings.
--------------
May 02, 2020
Name: Abhiraj Sharma
Changes: initialization.c
1) Time reversal symmetry edited to account for additional symmetry points on the boundary of IBZ
--------------
Apr 28, 2020
Name: Qimen Xu
Changes:
--------------
1. Add another MPI_Barrier after MPI_Bcast in Transfer_Veff_loc to avoid slowdown in the MPI_Bcast step.
Apr 27, 2020
Name: Qimen Xu
Changes:
1. Modify comments in makefile.
--------------
Apr 25, 2020
Name: Qimen Xu
Changes:
1. Add MPI_Barrier before MPI_Bcast in Transfer_Veff_loc to avoid slowdown in the MPI_Bcast step.
2. Modify occupation warning message.
3. Print relative error in CG linear solver in DEBUG mode.
--------------
Apr 24, 2020
Name: Qimen Xu, Abhiraj Sharma
Changes:
1. Print stress tensor to .static file for single point calculations instead of .out file, print max stress to .out file.
2. Print energy to .static file and .geopt file as well as .out file.
3. Fix scf# issue for restarted calculations.
--------------
Apr 17, 2020
Name: Qimen Xu, Abhiraj Sharma
Changes:
1. Add .static file for single point calculations.
2. Memory leak fixes.
3. For relaxation, instead of exiting, print a warning if Brent's method didn't converge.
4. Modify SPIN_TYP option, used to be 1 (no spin) or 2 (with spin). Now changed to 0 (no spin) or 1 (with spin).
--------------
Apr 08, 2020
Name: Qimen Xu
Changes:
1. Clean some source files.
2. 2D decomposition of proc according to matrix for ScaLAPACK context (for most cases we end up with domain-only parallelization).
--------------
Apr 02, 2020
Name: Qimen Xu
Changes:
1. Modify occupation warnings (back toocc[Ns * 90%] < 1e-6), also provide a suggested Ns.
2. Add an option to randomize the initial velocities in MD. Set `ION_VEL_DSTR_RAND: 1` to enable it.
3. Move ExtVecAccel/ to extras/.
4. Fix some valgrind warnings.
5. Clean some source files.
--------------
Mar 31, 2020
Name: Qimen Xu
Changes:
1. Modify occupation warnings (occ[Ns * 95%] < 1e-6).
--------------
Mar 29, 2020
Name: Qimen Xu
Changes:
1. Simplify paths (Unix style) to canonical paths, e.g., "././foo/../foo/a.txt" => "foo/a.txt".
--------------
Mar 28, 2020
Name: Qimen Xu
Changes:
1. Allow users to provide both relative path and absolute path to pseudopotentials.
2. Increase max length for file/directory paths to 4096 (default PATH_MAX on linux systems).
--------------
Mar 26, 2020
Name: Qimen Xu
Changes:
1. LAPACK + GTMatrix option (no MKL or ScaLAPACK).
2. LAPACK + GTMatrix + ScaLAPACK (for subspace eigenproblem only) option.
3. Fix some potential memory leak issue.
--------------
Mar 25, 2020
Name: Abhiraj Sharma
Changes: md.c, relax.c
1. If RestartFlag = 1 and .restart files are absent then dynamics will start from the beginning.
--------------
Mar 19, 2020
Name: Qimen Xu, Hua Huang
Changes:
1. Remove compiler warnings (mostly "may be uninitialized" warnings).
2. Remove some valgrind warnings.
3. Separate out data distribution routines for projection/rotation and move
them to parallelization.c.
4. Create a framework for using ScaLAPACK only for subspace eigenproblem.
5. Fix bug in MD, allocate correct memory for array storing ":MIND:".
6. Fix bug in MD, initialize mean_TE_ext and std_TE_ext to zero.
--------------
Mar 11, 2020
Name: Qimen Xu
Changes: (readfiles.c, eigenSolver.c, eigenSolverKpt.c)
1. Change warnings regarding occupation numbers.
2. Modify pseudopotential reading so that it reads special pseudopotentials
(lmax = lloc = 0) in psp8 format.
3. Automatically expand bounds in Brent's method.
--------------
Mar 04, 2020
Name: Hua Huang
Changes: (eigenSolver.c, eigenSolverKpt.c, makefile)
1. Replace GTMatrix with MPI_Alltoallv to use domain parallelization (decomposition) only data layout for solving subspace eigenproblem.
2. Update the makefile
--------------
Feb 26, 2020
Name: Qimen Xu
Changes: (electrostatics.c, readfiles.c, initialization.c)
1) Improve speed for spline (around 8x for uniform grid, 2x times for non-uniform grid).
2) Give warning when radial grid in the pseudopotential is not uniform.
3) Read TM pseudopotential in psp8 format.
--------------
Feb 23, 2020
Name: Qimen Xu
Changes: (mixing.c, readfiles.c, initialization.c)
1) Add real-space abinit-like preconditioner. Use by setting
PRECOND_KERKER_THRESH (equivalent to 1/DIEMAC).
2) Give warning when pspxc in the pseudopotential is not equal to input XC.
3) Exit if nonlinear core correction is present in the pseudopotential file.
--------------
Feb 20, 2020
Name: Qimen Xu
Changes: (included headers, makefile)
1) Add option to use ScaLAPACK instead of MKL.
2) Add strcmpi function for comparing strings igoring case.
--------------
Feb 19, 2020
Name: Abhiraj Sharma
Changes: (relax.c, initialization.c, isddft.h, orbitalelecDens.c)
1) Added full relaxation (atom + stress) option in the code.
2) Changed the units of stress for different BCs.
3) Stress for different BCs is printed differently.
--------------
Feb 13, 2020
Name: Qimen Xu
Changes: (initialization.c, readfiles.c, relax.c)
1) Add cell volume relaxation.
2) Print memory estimate.
--------------
Feb 10, 2020
Name: Abhiraj Sharma
Changes: (initialization.c, readfiles.c, finalization.c)
1. Removed ion_elec_eqT as input option.
2. Changed default electronic smearing and its type for MD depending on different user inputs.
3. Memory bug regarding release of pSPARC->forces fixed.
---------------
Feb 07, 2020
Name: Qimen Xu
* Add MESH_SPACING, ECUT options (alternative ways to define mesh spacing).
---------------
Feb 05, 2020
Name: Abhiraj Sharma, Qimen Xu
* Modify k-point grid definition. K-point shift is defined wrt the gamma point.
* Replace "strcpy" function with safer function "snprintf".
---------------
Feb 02, 2020
Name: Abhiraj Sharma
Fixed compilation bug in non-debug mode
----------------
Feb 01, 2020
Name: Abhiraj Sharma
Changes: (isddft.h, md.c, readfiles.c, initialization.c, energy.c, electronicgroundstate.c)
1. Pressure bug for the first step of MD fixed (ionic pressure was calculated twice)
2. ion_T used instead of thermos_T in Ideal gas pressure implementation.
3. potential energy in MD corrected.
4. occ in .eigen file factored by 2 for non-spin cases.
5. MD_Nstep made to take input in exponential forms like 1e9.
6. TWtime or MD_Nstep or both can be used for MD simulation. Default MD_Nstep made a very high number.
7. Minimum atomic distance uncommented and printed in .aimd file.