Skip to content

Commit 94f510f

Browse files
siuwuncheungjeanlucf22dreamer2368oseikuffuor1
authored
Merge release (#398)
* Fix EnergyAndForces tests (#277) * have them work in debug mode too * Move factor 4pi out og linear solvers (#278) * Move some code into PoissonSolverFactory (#279) * Clean up class Potentials (#280) * Clean up class Ions, add test for it (#281) * Add test MD_MVP (#290) * Clean up code related to DM restart data (#292) * Write dm (#291) * Update use of DM in restart * Remove unused function in Control (#294) * Change symlink to restart in tests (#295) * enable tests when old link present * Extract number empty orbitals from restart file (#296) * Clean up MD_IonicStepper restart data write (#297) * Clean up code based on compiler warnings (#299) * Add getForces for evaluateDMandEnergyAndForces (#300) * Add check for compatibility MVP/Mehrstellen (#301) * Add support for Br atom (#302) * Clean up some HDFrestart functions (#303) * Fix and test restart single hdf5 file (#305) * Save Hartree potential for write in restart file (#306) * Speed-up recently added tests (#309) * simply use a smaller domain/mesh * Encapsulate some functions in Potentials (#310) * some functions were called at random places and confusing * Remove confusing 0 in naming restart files (#308) * use added integer only in case of fail/retry * Add functionalities for extra info in restart file (#312) * MPI abort (#313) * Fix error code used by MPI_Abort * Rho and VH restart (#311) * enable restart with consistent rho and VHartree --------- Co-authored-by: Seung Whan Chung <seung.chung@austin.utexas.edu> * Strenghten testIons (#315) * More clean up in class Potentials (#316) * remove some unused functions * make use of class MGmol_MPI * change some function names for clarity * fix some minor bug in iterative indexes * Misc code fixes (#317) * exposed by porting on new environment * Use unique restart filenames in test HDF5single (#318) * Swap ions in existing test (#319) * strengthen testing by swapping ions in testRestartEnergyAndForces * Code clean up (#320) * use more const * use initNuc() instead of moveVnuc() * remove incorrect assert * use MGmol_MPI in more cases * setup g_kbpsi_ inside initNuc() * rename initNuc() into setupPotentials() * Added functionalities to set local forces (#321) * Update mixed precision code (#322) * enable cmake build with mixed precision * enable use of BLIS * isolate blas3 loop rewrite in separate files * fix misc issues with mixed precision code * Clean up and fixes Ions (#326) * reset static index counter ion Ion when needed * simplify some loops * make Ions copy constructor private * Fixes for build without HDF5P (#324) * Fix testRhoVhRestart (#325) * Fix a few more issues with class Ions (#328) * Introduce new constructor for class Ions (#330) * modify various functions to use argument of type Ions instead of MGmol::ions_ * Add cleanup and MGmolInterface (#331) * Add function to set local forces (#333) * based on matching coordinates to local ions * Fix setLocalForces (#335) * Fix test WFEnergyAndForces (#336) * writing restart twice in same directory was failing * Add mixing option in MVP (#337) * Update MVP with mixing (#339) * use tolerance to terminate iterations * tune verbosity * Update DensityMatrix class (#342) * add extrapolation function * remove unused function * simplify use of iterative index * Fixing DM tolerance (#341) * Fix Density Matrix tolerance read --------- Co-authored-by: Jean-Luc Fattebert <fattebertj@ornl.gov> * Rm oversubscribe from CMakeLists.txt (#346) * already set in build script * Adapt to new environment on condo @ ORNL (#348) * Remove unused function * Clean up use of coords file when restarting * use coordinates file to override atomic coordinates when using restart wavefunctions * Add test restart with override atomic coordinates * Add some missing include files * required for gcc12 * Print MVP timers * Fix initialization for Dirichelt BC * was not correct for other than Gaussian functions initialization * Modify two utils scripts * Link tests with Lapack * Fix mixed-precision to use ps-projectors in double * Template axpy functions to better use BLAS1 * Replace Li PBE potential with ONCV * Tune 2 pythons scripts for better looking output * Store wavefunctions in double in KB objects * this allows to used optimized dot functions in mixed precision * Remove two unused functions * Simplify and remove unused code * Script to get matrix of wavefunctions from hdf5 * Opimize code a little bit * Rm unused/duplicated functions in LocGridOrbitals * Replace some ptr with vector in HDFrestart * Replicated Projected Matrices on CPU (#367) * Implement option of using ReplicatedMatrix on CPU * Add timers for handwritten linear algebra loops * Skip data reset before assigning arrays w ghosts * costly, and not necessary since data is assigned right after * Add timers in BlockVector class * Optimize preconditioner implementation * conversion between data type and storage type was taking a substantial amount of time * Differentiate timers in GridFuncVector based on datatype * Rm redundant function * Do not use syrk anymore * make double precision consistent with mixed-precision * Nosubdivx extended (#376) * Assume subdivx=1 in ExtendedGridOrbitals * Fix several compiler warnings (#377) * Fix several compiler warnings * Fix some stdout content (#378) * Fix header of asci files generated by read_hdf5 (#379) * Tune timers (#380) * Move Hloc Timer to not include ghosts value filling * Remove double counted Timer in KBPsiMatrixSparse * Remove unused code in KBPsiMatrixSparse * Pass in Hamiltonian object to functions that need it (#381) * Template preconditioner (#382) * Use more shared_ptr in OrbitalsPreconditioning * Template OrbitalsPreconditioning on P datatype * Use local Hphi in Davidson (#383) * Residual compute (#384) * Refactor H application and R computation * Rm optional args to Hamiltonian::addHlocal2matrix() * Fix bug in preconditioner setup (#385) * affecting Davidson only * Fix potential iterative index (#386) * was failing in some assert * Refactor Hartree_CG (#387) * Template Hartree_CG on preconditioner data type * Enable runtime precision selection for Hatree_CG preconditioner * Preconditioning precision (#388) * Redesign OrbitalsPreconditioning * Make orbitals preconditioner precision a runtime option * Template manage_memory on datatype (#389) * New DotProduct family of classes (#390) * Template GridOrbitals classes (#391) * Add test for MVP ReplicatedMatrix (#392) * Some fixes in Hamiltonian and its usage in MVP (#393) * Avoid recompute complete H*Phi in MVP and Davidson (#394) * Use delta potential in Davidson and MVP * Bug fix in Poisson PCG Mehrstellen r.h.s. (#396) * Add Convergence tolerance option for Poisson problem and some minor cleanup. (#395) * Add input option for PCG convergence tolerance. * Change default options for PCG * Renamed CG to PCG in input files. * Updated build script for LC - build.pel * Resolve errors * Minor change to scripts * Minor fix in names --------- Co-authored-by: Jean-Luc Fattebert <fattebertj@ornl.gov> Co-authored-by: Seung Whan Chung <seung.chung@austin.utexas.edu> Co-authored-by: Daniel Osei-Kuffuor <oseikuffuor1@llnl.gov>
1 parent cce45b9 commit 94f510f

199 files changed

Lines changed: 6203 additions & 4150 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ if(USE_LIBROM)
151151
find_package(libROM REQUIRED)
152152

153153
if(libROM_FOUND)
154-
set(MGMOL_HAS_LIBROM 1)
154+
add_definitions(-DMGMOL_HAS_LIBROM)
155155
endif(libROM_FOUND)
156156
endif(USE_LIBROM)
157157

@@ -233,6 +233,7 @@ FortranCInterface_HEADER(
233233
DGEMM SGEMM DSYMM DSYRK SSYRK DTRMM DTRSM STRSM
234234
#lapack
235235
DSYEV DPOTRF DPOTRS DPOTRI DSYGST DTRTRS DPOCON DSYGV DLANGE
236+
DGETRF DGETRS DLACPY
236237
)
237238

238239
FortranCInterface_HEADER(

drivers/check_input.cc

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,11 +70,13 @@ int main(int argc, char** argv)
7070
{
7171
MGmolInterface* mgmol;
7272
if (ct.isLocMode())
73-
mgmol = new MGmol<LocGridOrbitals>(global_comm, *MPIdata::sout,
74-
input_filename, lrs_filename, constraints_filename);
73+
mgmol = new MGmol<LocGridOrbitals<ORBDTYPE>>(global_comm,
74+
*MPIdata::sout, input_filename, lrs_filename,
75+
constraints_filename);
7576
else
76-
mgmol = new MGmol<ExtendedGridOrbitals>(global_comm, *MPIdata::sout,
77-
input_filename, lrs_filename, constraints_filename);
77+
mgmol = new MGmol<ExtendedGridOrbitals<ORBDTYPE>>(global_comm,
78+
*MPIdata::sout, input_filename, lrs_filename,
79+
constraints_filename);
7880

7981
*MPIdata::sout << " Input parameters OK\n";
8082

drivers/example1.cc

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -87,11 +87,13 @@ int main(int argc, char** argv)
8787

8888
MGmolInterface* mgmol;
8989
if (ct.isLocMode())
90-
mgmol = new MGmol<LocGridOrbitals>(global_comm, *MPIdata::sout,
91-
input_filename, lrs_filename, constraints_filename);
90+
mgmol = new MGmol<LocGridOrbitals<ORBDTYPE>>(global_comm,
91+
*MPIdata::sout, input_filename, lrs_filename,
92+
constraints_filename);
9293
else
93-
mgmol = new MGmol<ExtendedGridOrbitals>(global_comm, *MPIdata::sout,
94-
input_filename, lrs_filename, constraints_filename);
94+
mgmol = new MGmol<ExtendedGridOrbitals<ORBDTYPE>>(global_comm,
95+
*MPIdata::sout, input_filename, lrs_filename,
96+
constraints_filename);
9597

9698
if (MPIdata::onpe0)
9799
{

examples/AOMM/Si216.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ lz=30.78
1515
[Potentials]
1616
pseudopotential=pseudo.Si
1717
[Poisson]
18-
solver=CG
18+
solver=PCG
1919
[Run]
2020
type=QUENCH
2121
[Quench]

examples/C200H272_1.05gcc/mgmol_md.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ lz=30.568
1616
pseudopotential=pseudo.C_pbe
1717
pseudopotential=pseudo.H_pbe
1818
[Poisson]
19-
solver=CG
19+
solver=PCG
2020
[Run]
2121
type=MD
2222
[MD]

examples/C200H272_1.05gcc/mgmol_opt.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ lz=30.568
1616
pseudopotential=pseudo.C_pbe
1717
pseudopotential=pseudo.H_pbe
1818
[Poisson]
19-
solver=CG
19+
solver=PCG
2020
[Run]
2121
type=MD
2222
[MD]

examples/C200H272_1.05gcc/mgmol_quench.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ lz=30.568
1616
pseudopotential=pseudo.C_pbe
1717
pseudopotential=pseudo.H_pbe
1818
[Poisson]
19-
solver=CG
19+
solver=PCG
2020
[Run]
2121
type=QUENCH
2222
[Quench]

examples/Cu32/mvp.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ lz=13.6
1515
[Potentials]
1616
pseudopotential=pseudo.Cu_ONCVPSP_LDA
1717
[Poisson]
18-
solver=CG
18+
solver=PCG
1919
[Run]
2020
type=QUENCH
2121
[Quench]

examples/D144localPotentials/mgmol_md.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ lz=21.2406
1515
[Potentials]
1616
pseudopotential=pseudo.H
1717
[Poisson]
18-
solver=CG
18+
solver=PCG
1919
[Run]
2020
type=MD
2121
[MD]

examples/D144localPotentials/mgmol_quench.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ lz=21.2406
1515
[Potentials]
1616
pseudopotential=pseudo.H
1717
[Poisson]
18-
solver=CG
18+
solver=PCG
1919
[Run]
2020
type=QUENCH
2121
[Quench]

0 commit comments

Comments
 (0)