### work

parent 8a976449
 ... ... @@ -49,7 +49,7 @@ subroutine init_splittings(split) chosensplitting = split nrofsplits = 34 nrofsplits = 36 Allocate(splits(nrofsplits)) ! V-T Euler ... ... @@ -296,15 +296,15 @@ subroutine init_splittings(split) splits(25)%Vcoeffs(4) = splits(25)%Vcoeffs(1) splits(25)%Vcoeffs(5) = 0.D0 call createsplit(splits(26), 3, 2) !hermitian third order method with entirely complex coefficients call createsplit(splits(26), 3, 3) !hermitian third order method with entirely complex coefficients, originally found by Suzuki 1990 alpha = CMPLX(1.D0/2.D0, Sqrt(3.D0)/6.D0, kind=kind(0.D0)) beta = 1.D0-alpha splits(26)%Tcoeffs(1) = alpha/2.D0 splits(26)%Tcoeffs(2) = 1.D0/2.D0 splits(26)%Tcoeffs(3) = conjg(splits(26)%Tcoeffs(1)) splits(26)%Vcoeffs(1) = alpha splits(26)%Vcoeffs(2) = conjg(alpha) splits(26)%Vcoeffs(1) = 0.D0 splits(26)%Vcoeffs(2) = alpha splits(26)%Vcoeffs(3) = conjg(alpha) ! The simple Order-4 method from here: http://www.gicas.uji.es/Research/splitting-complex.html call createsplit(splits(27), 5, 5) ... ... @@ -425,7 +425,24 @@ splits(30)%Tcoeffs(17) = splits(30)%Tcoeffs(1) splits(34)%Vcoeffs(4) = 1.D0-2.D0*(splits(34)%Vcoeffs(2)+splits(34)%Vcoeffs(3) ) splits(34)%Vcoeffs(5) = splits(34)%Vcoeffs(3) splits(34)%Vcoeffs(6) = splits(34)%Vcoeffs(2) ! A hermitian method as given in Suzuki 1990 call createsplit(splits(35), 6, 6) alpha = CMPLX(1.D0/2.D0, Sqrt(3.D0)/6.D0, kind=kind(0.D0)) beta = CMPLX(1.D0/2.D0, 0.2071067811865, dp) splits(35)%Tcoeffs(1) = splits(35)%Tcoeffs(2) = splits(35)%Tcoeffs(3) = splits(35)%Tcoeffs(4) = splits(35)%Tcoeffs(5) = splits(35)%Tcoeffs(6) = splits(35)%Vcoeffs(1) = 0.D0 splits(35)%Vcoeffs(2) = splits(35)%Vcoeffs(3) = splits(35)%Vcoeffs(4) = splits(35)%Vcoeffs(5) = splits(35)%Vcoeffs(6) = end subroutine end module splittings
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!