Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
75 commits
Select commit Hold shift + click to select a range
5a44ca9
Working HF integral read-in
brianz98 Dec 13, 2021
cbd2297
Working CMake and BLAS, starting on HF
brianz98 Dec 14, 2021
8bdae78
Restructure directories
brianz98 Dec 15, 2021
e7c322a
Update README.md
brianz98 Dec 15, 2021
141ce3d
Update README.md
brianz98 Dec 15, 2021
6aa6d46
Update README.md
brianz98 Dec 15, 2021
c06b018
Working initial density
brianz98 Dec 15, 2021
2cf366c
Merge changes to README
brianz98 Dec 15, 2021
c15a26e
Working HF
brianz98 Dec 16, 2021
76244fe
Add read-in functionalities
brianz98 Dec 17, 2021
c3edcb0
Add convergence checking and more printing
brianz98 Dec 17, 2021
aba88e0
Add timing routines
brianz98 Dec 17, 2021
f24226b
Working MP2 with N^5 loops, further optimisation possible.
brianz98 Dec 18, 2021
1d753e3
More printing, eri lookup array
brianz98 Dec 19, 2021
1cce7cd
Fix geometry, update readme
brianz98 Dec 19, 2021
e41274a
Update README.md
brianz98 Dec 19, 2021
7ec142a
Spatial to spinorbital transformation for CCSD
brianz98 Dec 20, 2021
45d2719
Merge branch 'master' of github.com:brianz98/A-Fortran-Electronic-Str…
brianz98 Dec 20, 2021
97cc57f
Working CCSD initialisation, reproduces MP2 energy
brianz98 Dec 20, 2021
949699c
Build tau and F intermediate tensors
brianz98 Dec 23, 2021
73cce38
Form intermediate W tensors, non-lazy allocation of large arrays
brianz98 Dec 23, 2021
a7cf364
Bug free CCSD but wrong results for now
brianz98 Dec 25, 2021
61c342b
Milestone: working CCSD
brianz98 Dec 25, 2021
0a3f7dc
OMP parallelise Fock build code
brianz98 Dec 26, 2021
53a6cb9
OMP parallelise MP2
brianz98 Dec 26, 2021
3ac324b
OMP parallelise CCSD
brianz98 Dec 26, 2021
1d294c0
Update README.md
brianz98 Dec 26, 2021
9f8151d
Update CMakeLists with OpenMP flags
brianz98 Dec 26, 2021
9f1a967
Merge branch 'master' of github.com:brianz98/A-Fortran-Electronic-Str…
brianz98 Dec 26, 2021
1766e20
Correct collapse clause behaviour
brianz98 Dec 26, 2021
7486675
Working DIIS for HF
brianz98 Dec 27, 2021
7bf328a
Update README.md
brianz98 Dec 27, 2021
f295c4f
Add deallocation of data types, further OMP, convergence checking in …
brianz98 Dec 27, 2021
1456ebd
Update README.md
brianz98 Dec 27, 2021
4e2fe73
Update README.md
brianz98 Dec 27, 2021
cc4b67e
Working CCSD(T)
brianz98 Dec 28, 2021
3ac07e3
Update README.md
brianz98 Dec 28, 2021
8971abd
Working CCSD DIIS
brianz98 Dec 28, 2021
3618aa9
Update README.md
brianz98 Dec 28, 2021
5cc34f0
Document and clean up ccsd.f90
brianz98 Dec 28, 2021
225a3d3
Optimise loop order of mp2.f90, further documentation and clean-up
brianz98 Dec 29, 2021
0a9e11f
First attempt at cache optimisation, mp2 quite successful but ccsd/(t…
brianz98 Dec 29, 2021
2f20d81
Update README.md
brianz98 Dec 29, 2021
a93933d
Update README.md
brianz98 Dec 29, 2021
d4b474b
Fix wrong CCSD energy, add per-iteration time
brianz98 Jan 1, 2022
02b44b5
Add utility to generate integrals with permutational sym
brianz98 Jan 4, 2022
0c90bee
Add system read_in functionality
brianz98 Jan 17, 2022
7da4107
Implement (small-time) modularisation via input file, add spatial and…
brianz98 Jan 17, 2022
fd23bf8
Update README.md with compilation instructions
brianz98 Jan 18, 2022
50778c2
Add dgemm wrapper, will update the already-functional spinorbital for…
brianz98 Jan 23, 2022
128230f
First attempt at dgemm, good results (~2x faster on water/DZP), rate …
brianz98 Jan 24, 2022
6d297f6
Update README.md
brianz98 Jan 24, 2022
6c38870
add untested dgemms with ERI slices
brianz98 Jan 24, 2022
9ed5a43
Syncing commit, to see if a segfault is caused by limited memory
brianz98 Jan 25, 2022
0c4a086
Add data
brianz98 Jan 25, 2022
d7d93d3
Reshape_scratch sync commit
brianz98 Jan 25, 2022
f84bdb4
Fix misunderstanding in dgemm_wrapper concerning tranpose behaviour
brianz98 Jan 25, 2022
836add3
Debugging attempt, comments and housekeeping. Still not getting corre…
brianz98 Jan 26, 2022
6324a94
Fix diis idx bug (no help with the energy though), enable input file …
brianz98 Jan 26, 2022
bf1e73a
Another CCSD DIIS bug spotted, still doesn't help
brianz98 Jan 26, 2022
07b8550
Yet another DIIS bug, no help
brianz98 Jan 26, 2022
06673ec
AB testing commit
brianz98 Jan 27, 2022
3c09631
AB testing completed. Energies now correct.
brianz98 Jan 27, 2022
95cd3ad
T2 update optimisation done
brianz98 Jan 27, 2022
048c0a8
T1 optimisation done
brianz98 Jan 27, 2022
d78a92e
Final touches, last commit with AB testing blocks
brianz98 Jan 27, 2022
48e5639
Spinorbital CCSD done
brianz98 Jan 27, 2022
2485b2a
Clean up unused variables and arguments
brianz98 Jan 27, 2022
49f6a51
Working CC DIIS finally, also add options for maxiter
brianz98 Jan 29, 2022
155f7f2
Add util to generate integrals without symmetry.
brianz98 Jan 29, 2022
2861570
Refactor vectorise CCSD(T), add -ffast-math flag
brianz98 Jan 31, 2022
3306cd0
Update README.md
brianz98 Feb 7, 2022
61cffa9
Update README.md
brianz98 Feb 7, 2022
41cad72
Update dgemm interface
brianz98 Feb 7, 2022
2fbb952
Merge readme
brianz98 Feb 7, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,7 @@
*sublime*
*.mod
*.o
build/
original_projects/
els.x
dat/
23 changes: 23 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# References:
# https://gitlab.kitware.com/cmake/community/-/wikis/doc/cmake/languages/fortran/ForFortranExample
# https://fortranwiki.org/fortran/show/Build+tools

cmake_minimum_required (VERSION 3.12)
project (els)
enable_language (Fortran)

if (CMAKE_Fortran_COMPILER_ID MATCHES "GNU")
set (dialect "-ffree-form -std=f2008 -fimplicit-none -fopenmp -O3 -ffast-math")
set (extras "-fcheck=all -Wall -ggdb -O0")
endif ()
if (CMAKE_Fortran_COMPILER_ID MATCHES "Intel")
set (dialect "-stand f08 -free -implicitnone -qopenmp -O3")
set (extras "-check bounds -O0")
endif ()

set (CMAKE_Fortran_FLAGS_DEBUG "${CMAKE_Fortran_FLAGS_DEBUG} ${extras}")
set (CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} ${dialect}")

file (GLOB_RECURSE sources src/*.f90 src/*.F90)
add_executable(els.x ${sources})
target_link_libraries (els.x /opt/OpenBLAS/lib/libopenblas.a -lpthread)

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wouldn't hurt to make this more configurable - having to have a dirty CMakeLists.txt hanging around because you don't have access to /opt isn't great practice.

2 changes: 1 addition & 1 deletion Project#01/fortran/Makefile → Makefile.old
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ FC = gfortran
$(FC) $(FFLAGS) -c $<

# Declare all files
OBJ = const.F90 geom_read_in.f90 geom_utils.f90 main.F90
OBJ = const.F90 system.f90 read_in_integrals.f90 main.F90

# Rules for making
els.x: $(OBJ)
Expand Down
130 changes: 0 additions & 130 deletions Project#01/README.md

This file was deleted.

Binary file removed Project#01/eigen.tar.gz
Binary file not shown.
Binary file removed Project#01/figures/.DS_Store
Binary file not shown.
Binary file removed Project#01/figures/bond-angle.pdf
Binary file not shown.
Binary file removed Project#01/figures/bond-angle.png
Binary file not shown.
Binary file removed Project#01/figures/center-of-mass.pdf
Binary file not shown.
Binary file removed Project#01/figures/center-of-mass.png
Binary file not shown.
Binary file removed Project#01/figures/determinant.png
Binary file not shown.
Binary file removed Project#01/figures/distances.pdf
Binary file not shown.
Binary file removed Project#01/figures/distances.png
Binary file not shown.
Binary file removed Project#01/figures/distances2.png
Binary file not shown.
Binary file removed Project#01/figures/inertia-diag.pdf
Binary file not shown.
Binary file removed Project#01/figures/inertia-diag.png
Binary file not shown.
Binary file removed Project#01/figures/inertia-off-diag.pdf
Binary file not shown.
Binary file removed Project#01/figures/inertia-off-diag.png
Binary file not shown.
Binary file removed Project#01/figures/oop-angle.pdf
Binary file not shown.
Binary file removed Project#01/figures/oop-angle.png
Binary file not shown.
Binary file removed Project#01/figures/principal-mom-of-inertia.pdf
Binary file not shown.
Binary file removed Project#01/figures/principal-mom-of-inertia.png
Binary file not shown.
Binary file removed Project#01/figures/rot-const.pdf
Binary file not shown.
Binary file removed Project#01/figures/rot-const.png
Binary file not shown.
Binary file removed Project#01/figures/torsion-angle.pdf
Binary file not shown.
Binary file removed Project#01/figures/torsion-angle.png
Binary file not shown.
Binary file removed Project#01/figures/unit-vectors.pdf
Binary file not shown.
Binary file removed Project#01/figures/unit-vectors.png
Binary file not shown.
Binary file removed Project#01/fortran/els.x
Binary file not shown.
8 changes: 0 additions & 8 deletions Project#01/fortran/geom.dat

This file was deleted.

36 changes: 0 additions & 36 deletions Project#01/fortran/geom_read_in.f90

This file was deleted.

28 changes: 0 additions & 28 deletions Project#01/fortran/geom_utils.f90

This file was deleted.

36 changes: 0 additions & 36 deletions Project#01/fortran/main.F90

This file was deleted.

19 changes: 0 additions & 19 deletions Project#01/fortran/parallel.F90

This file was deleted.

20 changes: 0 additions & 20 deletions Project#01/hints/hint1-1.md

This file was deleted.

21 changes: 0 additions & 21 deletions Project#01/hints/hint1-2.md

This file was deleted.

20 changes: 0 additions & 20 deletions Project#01/hints/hint1-3.md

This file was deleted.

18 changes: 0 additions & 18 deletions Project#01/hints/hint2-1.md

This file was deleted.

Loading