diff --git a/.other_libs/build_fcns/configure.ac_FormCHK b/.other_libs/build_fcns/configure.ac_FormCHK index dc4ab32b..6eb370ac 100644 --- a/.other_libs/build_fcns/configure.ac_FormCHK +++ b/.other_libs/build_fcns/configure.ac_FormCHK @@ -1,4 +1,4 @@ -AC_INIT([MQC_Pack], [25.7.0], [hhratchian@ucmerced.edu]) +AC_INIT([MQC_Pack], [25.7.1], [hhratchian@ucmerced.edu]) AM_INIT_AUTOMAKE([foreign]) AC_CONFIG_SRCDIR([src/mqc_general.F03]) AC_PROG_CPP diff --git a/.other_libs/build_fcns/configure.ac_MatrixFile b/.other_libs/build_fcns/configure.ac_MatrixFile index ea0160f4..01b1b8e1 100644 --- a/.other_libs/build_fcns/configure.ac_MatrixFile +++ b/.other_libs/build_fcns/configure.ac_MatrixFile @@ -1,4 +1,4 @@ -AC_INIT([MQC_Pack], [25.7.0], [hhratchian@ucmerced.edu]) +AC_INIT([MQC_Pack], [25.7.1], [hhratchian@ucmerced.edu]) AM_INIT_AUTOMAKE([foreign]) AC_CONFIG_SRCDIR([src/mqc_general.F03]) AC_LANG([Fortran]) diff --git a/README.md b/README.md index 2248d661..838f4fb5 100644 --- a/README.md +++ b/README.md @@ -16,8 +16,8 @@ ** ** ** The Merced Quantum Chemistry Package ** ** (MQCPack) ** - ** Version 25.7.0 ** - ** July 1, 2025 ** + ** Version 25.7.1 ** + ** July 6, 2025 ** ** ** ** ** ** Written By: ** diff --git a/releaseNotes.txt b/releaseNotes.txt index 7eaa24ef..a9cd7837 100644 --- a/releaseNotes.txt +++ b/releaseNotes.txt @@ -8,6 +8,11 @@ number updates will be documented here. Note that the minor version number will often be updated near the start of the month and the revision number in that case will be set to 0. +July 6, 2025 +* MQCPack version set to 25.7.1. +* Added cross product to MQC_General. +* Added matrix trim procedure to MQC_General. + July 1, 2025 * MQCPack version set to 25.7.0. * Added functionality to MQC_Gaussian to load XC quadrature from FAFs. diff --git a/src/mqc_FullWavefunction.F03 b/src/mqc_FullWavefunction.F03 index 642a2857..f80d0ae0 100644 --- a/src/mqc_FullWavefunction.F03 +++ b/src/mqc_FullWavefunction.F03 @@ -11,8 +11,8 @@ module MQC_FullWavefunction ! ** Lee M. Thompson, Xianghai Sheng, Andrew D. Mahler, Dave ** ! ** Mullally, and Hrant P. Hratchian ** ! ** ** -! ** Version 25.7.0 ** -! ** July 1, 2025 ** +! ** Version 25.7.1 ** +! ** July 6, 2025 ** ! ** ** ! ** ** ! ** Modules beloning to MQCPack: ** diff --git a/src/mqc_algebra.F03 b/src/mqc_algebra.F03 index 4b4530ac..97cd29e6 100644 --- a/src/mqc_algebra.F03 +++ b/src/mqc_algebra.F03 @@ -43,8 +43,8 @@ Module MQC_Algebra ! ** Lee M. Thompson, Xianghai Sheng, Andrew D. Mahler, Dave ** ! ** Mullally, and Hrant P. Hratchian ** ! ** ** -! ** Version 25.7.0 ** -! ** July 1, 2025 ** +! ** Version 25.7.1 ** +! ** July 6, 2025 ** ! ** ** ! ** ** ! ** Modules beloning to MQCPack: ** diff --git a/src/mqc_algebra2.F03 b/src/mqc_algebra2.F03 index 99c799b7..cde4e534 100644 --- a/src/mqc_algebra2.F03 +++ b/src/mqc_algebra2.F03 @@ -12,8 +12,8 @@ Module MQC_Algebra2 ! ** Lee M. Thompson, Xianghai Sheng, Andrew D. Mahler, Dave ** ! ** Mullally, and Hrant P. Hratchian ** ! ** ** -! ** Version 25.7.0 ** -! ** July 1, 2025 ** +! ** Version 25.7.1 ** +! ** July 6, 2025 ** ! ** ** ! ** ** ! ** Modules beloning to MQCPack: ** diff --git a/src/mqc_binary.F03 b/src/mqc_binary.F03 index ddc80de6..10decb41 100644 --- a/src/mqc_binary.F03 +++ b/src/mqc_binary.F03 @@ -10,8 +10,8 @@ module MQC_Binary ! ** Lee M. Thompson, Xianghai Sheng, Andrew D. Mahler, Dave ** ! ** Mullally, and Hrant P. Hratchian ** ! ** ** -! ** Version 25.7.0 ** -! ** July 1, 2025 ** +! ** Version 25.7.1 ** +! ** July 6, 2025 ** ! ** ** ! ** ** ! ** Modules beloning to MQCPack: ** diff --git a/src/mqc_datastructures.F03 b/src/mqc_datastructures.F03 index 02aeef0c..2ed079d2 100644 --- a/src/mqc_datastructures.F03 +++ b/src/mqc_datastructures.F03 @@ -10,8 +10,8 @@ Module MQC_DataStructures ! ** Lee M. Thompson, Xianghai Sheng, Andrew D. Mahler, Dave ** ! ** Mullally, and Hrant P. Hratchian ** ! ** ** -! ** Version 25.7.0 ** -! ** July 1, 2025 ** +! ** Version 25.7.1 ** +! ** July 6, 2025 ** ! ** ** ! ** ** ! ** Modules beloning to MQCPack: ** diff --git a/src/mqc_est.F03 b/src/mqc_est.F03 index 014801eb..514ebb3e 100644 --- a/src/mqc_est.F03 +++ b/src/mqc_est.F03 @@ -38,8 +38,8 @@ Module MQC_EST ! ** Lee M. Thompson, Xianghai Sheng, Andrew D. Mahler, Dave ** ! ** Mullally, and Hrant P. Hratchian ** ! ** ** -! ** Version 25.7.0 ** -! ** July 1, 2025 ** +! ** Version 25.7.1 ** +! ** July 6, 2025 ** ! ** ** ! ** ** ! ** Modules beloning to MQCPack: ** diff --git a/src/mqc_files.F03 b/src/mqc_files.F03 index e69df51d..580cf41c 100644 --- a/src/mqc_files.F03 +++ b/src/mqc_files.F03 @@ -10,8 +10,8 @@ Module MQC_Files ! ** Lee M. Thompson, Xianghai Sheng, Andrew D. Mahler, Dave ** ! ** Mullally, and Hrant P. Hratchian ** ! ** ** -! ** Version 25.7.0 ** -! ** July 1, 2025 ** +! ** Version 25.7.1 ** +! ** July 6, 2025 ** ! ** ** ! ** ** ! ** Modules beloning to MQCPack: ** diff --git a/src/mqc_gaussian.F03 b/src/mqc_gaussian.F03 index 311d8e04..7319eba5 100644 --- a/src/mqc_gaussian.F03 +++ b/src/mqc_gaussian.F03 @@ -10,8 +10,8 @@ Module MQC_Gaussian ! ** Lee M. Thompson, Xianghai Sheng, Andrew D. Mahler, Dave ** ! ** Mullally, and Hrant P. Hratchian ** ! ** ** -! ** Version 25.7.0 ** -! ** July 1, 2025 ** +! ** Version 25.7.1 ** +! ** July 6, 2025 ** ! ** ** ! ** ** ! ** Modules beloning to MQCPack: ** diff --git a/src/mqc_general.F03 b/src/mqc_general.F03 index c536f9c5..5e0d6420 100644 --- a/src/mqc_general.F03 +++ b/src/mqc_general.F03 @@ -10,8 +10,8 @@ Module MQC_General ! ** Lee M. Thompson, Xianghai Sheng, Andrew D. Mahler, Dave ** ! ** Mullally, and Hrant P. Hratchian ** ! ** ** -! ** Version 25.7.0 ** -! ** July 1, 2025 ** +! ** Version 25.7.1 ** +! ** July 6, 2025 ** ! ** ** ! ** ** ! ** Modules beloning to MQCPack: ** @@ -180,8 +180,8 @@ subroutine mqc_version(major,minor,revision,versionString) ! if(PRESENT(major)) major = 25 if(PRESENT(minor)) minor = 7 - if(PRESENT(revision)) revision = 0 - if(PRESENT(versionString)) versionString = '25.7.0' + if(PRESENT(revision)) revision = 1 + if(PRESENT(versionString)) versionString = '25.7.1' ! return end subroutine mqc_version @@ -1761,7 +1761,37 @@ Subroutine mqc_vectorPhase(vector,largestPositive,trimZero) ! return end subroutine mqc_vectorPhase - +! +!PROCEDURE mqc_crossProduct3D_real + function mqc_crossProduct3D_real(vector1,vector2) result(vectorOut) +! +! This function forms the 3D vector cross product between two vectors -- +! vector1 and vector2. The result is vector vectorOut. +! +! +! H. P. Hratchian, 2025. +! +! +! Variable Declarations. + implicit none + real(kind=real64),dimension(:),intent(in)::vector1,vector2 + real(kind=real64),allocatable,dimension(:)::vectorOut +! + integer(kind=int64)::n1,n2,i,j +! +! Do the work... +! + n1 = SIZE(vector1) + n2 = SIZE(vector2) + if((n1.ne.3).or.(n2.ne.3)) & + call mqc_error('MQC_CrossProduct3D: Vectors are not length 3.') + Allocate(vectorOut(n1)) + vectorOut(1) = vector1(2)*vector2(3)-vector1(3)*vector2(2) + vectorOut(2) = vector1(3)*vector2(1)-vector1(1)*vector2(3) + vectorOut(3) = vector1(1)*vector2(2)-vector1(2)*vector2(1) +! + return + end function mqc_crossProduct3D_real ! !PROCEDURE mqc_outerProduct_real Function mqc_outerProduct_real(vector1,vector2,scalar) result(matrixOut) @@ -1804,6 +1834,71 @@ Function mqc_outerProduct_real(vector1,vector2,scalar) result(matrixOut) ! return end function mqc_outerProduct_real +! +! +!PROCEDURE mqc_matrixTrimZero + Subroutine mqc_matrixTrimZero(matrixIn,matrixOut,small) +! +! This subroutine accepts a vector, , and sets all entries that +! have absolute values below a threshold to float(0). Arguments +! and CANNOT be the same. +! +! If the optional dummy argument is sent, then is +! left unchanged and the zero-d version of the vector is returned in +! . Otherwise, the zero-ing is done in place in . +! +! The optional dummy argument may be sent with a user specified +! threshold. Otherwise, the threshold is set to the MQC system value of +! . +! +! +! H. P. Hratchian, 2025. +! +! +! Variable Declarations. + implicit none + real(kind=real64),dimension(:,:),intent(inOut)::matrixIn + real(kind=real64),dimension(:,:),allocatable,optional,intent(Out)::matrixOut + real(kind=real64),optional,intent(in)::small + integer(kind=int64)::i,j + real(kind=real64)::mySmall,zero=0.0 +! +! +! Initial set-up code... +! + mySmall = MQC_small + if(PRESENT(small)) mySmall = small + if(PRESENT(matrixOut)) then + if(Allocated(matrixOut)) then + if((SIZE(matrixOut,1).ne.SIZE(matrixIn,1)).or. & + (SIZE(matrixOut,2).ne.SIZE(matrixIn,2))) then + DeAllocate(matrixOut) + Allocate(matrixOut(size(matrixIn,1),size(matrixIn,2))) + endIf + else + Allocate(matrixOut(size(matrixIn,1),size(matrixIn,2))) + endIf + endIf +! +! Do trim work. +! + if(PRESENT(matrixOut)) then + matrixOut = matrixIn + do j = 1,SIZE(matrixIn,2) + do i = 1,SIZE(matrixIn,1) + if(abs(matrixOut(i,j)).lt.mySmall) matrixOut(i,j) = zero + endDo + endDo + else + do j = 1,SIZE(matrixIn,2) + do i = 1,SIZE(matrixIn,1) + if(abs(matrixIn(i,j)).lt.mySmall) matrixIn(i,j) = zero + endDo + endDo + endIf +! + return + end Subroutine mqc_matrixTrimZero ! !PROCEDURE mqc_packedSymmetricMatrix2FullMatrix_integer diff --git a/src/mqc_general_lapack.F03 b/src/mqc_general_lapack.F03 index fc80be59..c351506d 100644 --- a/src/mqc_general_lapack.F03 +++ b/src/mqc_general_lapack.F03 @@ -9,8 +9,8 @@ ! ** Lee M. Thompson, Xianghai Sheng, Andrew D. Mahler, Dave ** ! ** Mullally, and Hrant P. Hratchian ** ! ** ** -! ** Version 25.7.0 ** -! ** July 1, 2025 ** +! ** Version 25.7.1 ** +! ** July 6, 2025 ** ! ** ** ! ** ** ! ** Modules beloning to MQCPack: ** diff --git a/src/mqc_integrals.F03 b/src/mqc_integrals.F03 index 92ff1eaf..a6066d76 100644 --- a/src/mqc_integrals.F03 +++ b/src/mqc_integrals.F03 @@ -10,8 +10,8 @@ module MQC_Integrals ! ** Lee M. Thompson, Xianghai Sheng, Andrew D. Mahler, Dave ** ! ** Mullally, and Hrant P. Hratchian ** ! ** ** -! ** Version 25.7.0 ** -! ** July 1, 2025 ** +! ** Version 25.7.1 ** +! ** July 6, 2025 ** ! ** ** ! ** ** ! ** Modules beloning to MQCPack: ** diff --git a/src/mqc_interface.F03 b/src/mqc_interface.F03 index 2da889e9..7f125735 100644 --- a/src/mqc_interface.F03 +++ b/src/mqc_interface.F03 @@ -9,8 +9,8 @@ ! ** Lee M. Thompson, Xianghai Sheng, Andrew D. Mahler, Dave ** ! ** Mullally, and Hrant P. Hratchian ** ! ** ** -! ** Version 25.7.0 ** -! ** July 1, 2025 ** +! ** Version 25.7.1 ** +! ** July 6, 2025 ** ! ** ** ! ** ** ! ** Modules beloning to MQCPack: ** diff --git a/src/mqc_matwrapper.F03 b/src/mqc_matwrapper.F03 index 4bd018f8..b2f9bdf4 100644 --- a/src/mqc_matwrapper.F03 +++ b/src/mqc_matwrapper.F03 @@ -11,8 +11,8 @@ Module MQC_MatWrapper ! ** Lee M. Thompson, Xianghai Sheng, Andrew D. Mahler, Dave ** ! ** Mullally, and Hrant P. Hratchian ** ! ** ** -! ** Version 25.7.0 ** -! ** July 1, 2025 ** +! ** Version 25.7.1 ** +! ** July 6, 2025 ** ! ** ** ! ** ** ! ** Modules beloning to MQCPack: ** diff --git a/src/mqc_molecule.F03 b/src/mqc_molecule.F03 index 90f483b7..c572ad0c 100644 --- a/src/mqc_molecule.F03 +++ b/src/mqc_molecule.F03 @@ -31,8 +31,8 @@ Module MQC_Molecule ! ** Lee M. Thompson, Xianghai Sheng, Andrew D. Mahler, Dave ** ! ** Mullally, and Hrant P. Hratchian ** ! ** ** -! ** Version 25.7.0 ** -! ** July 1, 2025 ** +! ** Version 25.7.1 ** +! ** July 6, 2025 ** ! ** ** ! ** ** ! ** Modules beloning to MQCPack: **