### fix more splittings

parent b9b2c7d8
Pipeline #6700 passed with stage
in 59 seconds
 ... ... @@ -376,22 +376,24 @@ splits(30)%Tcoeffs(17) = splits(30)%Tcoeffs(1) splits(31)%Tcoeffs(3) = conjg(splits(31)%Tcoeffs(2)) splits(31)%Tcoeffs(4) = conjg(splits(31)%Tcoeffs(1)) splits(31)%Vcoeffs(1) = beta splits(31)%Vcoeffs(2) = 1.D0 - 2.D0*beta splits(31)%Vcoeffs(3) = beta splits(31)%Vcoeffs(4) = 0.0 splits(31)%Vcoeffs(1) = 0.0 splits(31)%Vcoeffs(2) = beta splits(31)%Vcoeffs(3) = 1.D0 - 2.D0*beta splits(31)%Vcoeffs(4) = beta ! My first own third order method, designed to be a hermitian sequence of Operators call createsplit(splits(32), 4, 3) call createsplit(splits(32), 4, 4) beta = 1.D0/3.D0 splits(32)%Tcoeffs(1) = 1.D0/24.D0*CMPLX(3.D0, -Sqrt(3.D0), dp) splits(32)%Tcoeffs(2) = 1.D0/8.D0*CMPLX(3.D0, Sqrt(3.D0), dp) splits(32)%Tcoeffs(3) = conjg(splits(32)%Tcoeffs(2)) splits(32)%Tcoeffs(4) = conjg(splits(32)%Tcoeffs(1)) splits(32)%Vcoeffs(1) = beta splits(32)%Vcoeffs(2) = 1.D0 - 2.D0*beta splits(32)%Vcoeffs(3) = beta splits(32)%Vcoeffs(1) = 0.D0 splits(32)%Vcoeffs(2) = beta splits(32)%Vcoeffs(3) = 1.D0 - 2.D0*beta splits(32)%Vcoeffs(4) = beta ! the variant with m=2 optimized for large step sizes in Blanes 2014, 2. order ! We try to exploit the trace property and reduce the computational effort. ... ... @@ -405,7 +407,7 @@ splits(30)%Tcoeffs(17) = splits(30)%Tcoeffs(1) ! H_5 4 hermitian splitting with positive b's designed by me call createsplit(splits(34), 6, 5) call createsplit(splits(34), 6, 6) splits(34)%Tcoeffs(1) = CMPLX(0.077032770903379296850,-0.018324799648727332496, dp) splits(34)%Tcoeffs(2) = CMPLX(0.20575040027785073837,0.083675123976098550021, dp) splits(34)%Tcoeffs(3) = CMPLX(0.21721682881876996478, -0.15249028336674476977, dp) ... ... @@ -413,11 +415,12 @@ splits(30)%Tcoeffs(17) = splits(30)%Tcoeffs(1) splits(34)%Tcoeffs(5) = conjg(splits(34)%Tcoeffs(2)) splits(34)%Tcoeffs(6) = conjg(splits(34)%Tcoeffs(1)) splits(34)%Vcoeffs(1) = 0.18995702345368160876 splits(34)%Vcoeffs(2) = 1.D0/5.D0 splits(34)%Vcoeffs(3) = 1-2.D0*(splits(34)%Vcoeffs(1)+splits(34)%Vcoeffs(2) ) splits(34)%Vcoeffs(4) = splits(34)%Vcoeffs(2) splits(34)%Vcoeffs(5) = splits(34)%Vcoeffs(1) splits(34)%Vcoeffs(1) = 0.D0 splits(34)%Vcoeffs(2) = 0.18995702345368160876 splits(34)%Vcoeffs(3) = 1.D0/5.D0 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) end subroutine ... ...
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment