Commit 8dc6f672 authored by Florian Goth's avatar Florian Goth
Browse files

Add the first hermitian fifth order method

parent 6ad75dc3
Pipeline #7474 failed with stage
in 1 minute and 34 seconds
......@@ -49,7 +49,7 @@ subroutine init_splittings(split)
chosensplitting = split
nrofsplits = 39
nrofsplits = 41
Allocate(splits(nrofsplits))
! V-T Euler
......@@ -520,6 +520,53 @@ splits(30)%Tcoeffs(17) = splits(30)%Tcoeffs(1)
splits(39)%Vcoeffs(3) = 1.D0/4.D0
splits(39)%Vcoeffs(4) = conjg(splits(39)%Vcoeffs(3))
splits(39)%Vcoeffs(5) = conjg(splits(39)%Vcoeffs(2))
! The hermitian fifth order method
call createsplit(splits(40), 10, 10)
splits(40)%Tcoeffs(1)=CMPLX(0.048475520387300861784614942150004872732496275960676605704430, 0.004320853677325454041666651926455479652308652682908398349854853, dp)
splits(40)%Tcoeffs(2)=CMPLX(0.150635519695238479617295632454033652021145596960357218146613, -0.06666435676733963925962676292404991504857683461279976061086538, dp)
splits(40)%Tcoeffs(3)=CMPLX(0.062114931585048261469230020641774248967970727006873004431295, 0.1283252146778869882406120485156541698482809759157383070985385043, dp)
splits(40)%Tcoeffs(4)=CMPLX(0.03942548316294538780808735118455718625805068025688477432907649315, -0.1513147050159361009137685144878063897080171204514607870202000492, dp)
splits(40)%Tcoeffs(5)=CMPLX(0.1993485451694670093207720535696300400203367198152083973885855424, 0.09111504040429731652115356386419287657273864797837757794153296069, dp)
splits(40)%Tcoeffs(6)=conjg(splits(40)%Tcoeffs(5))
splits(40)%Tcoeffs(7)=conjg(splits(40)%Tcoeffs(4))
splits(40)%Tcoeffs(8)=conjg(splits(40)%Tcoeffs(3))
splits(40)%Tcoeffs(9)=conjg(splits(40)%Tcoeffs(2))
splits(40)%Tcoeffs(10) = conjg(splits(40)%Tcoeffs(1))
splits(40)%Vcoeffs(1) = 0.0
splits(40)%Vcoeffs(2) = 0.1356385792611024462119279634247291695297982574967380761940065951
splits(40)%Vcoeffs(3) = 0.06686127082929140828693929094576496971243553406915635491478201019
splits(40)%Vcoeffs(4) = 0.1199647847544109515311819985684405286384441167551088741859806627
splits(40)%Vcoeffs(5) = 1.D0/17
splits(40)%Vcoeffs(6) = 1-2.D0*(splits(40)%Vcoeffs(5)+splits(40)%Vcoeffs(4)+splits(40)%Vcoeffs(3)+splits(40)%Vcoeffs(2))
splits(40)%Vcoeffs(7) = splits(40)%Vcoeffs(5)
splits(40)%Vcoeffs(8) = splits(40)%Vcoeffs(4)
splits(40)%Vcoeffs(9) = splits(40)%Vcoeffs(3)
splits(40)%Vcoeffs(10)= splits(40)%Vcoeffs(2)
! The hermitian sixth order method
call createsplit(splits(41), 16, 16)
splits(30)%Tcoeffs(1)=CMPLX(
splits(30)%Tcoeffs(2)=CMPLX(
splits(30)%Tcoeffs(3)=CMPLX(
splits(30)%Tcoeffs(4)=CMPLX(
splits(30)%Tcoeffs(5)=CMPLX(
splits(30)%Tcoeffs(6)=CMPLX(
splits(30)%Tcoeffs(7)=CMPLX(
splits(30)%Tcoeffs(8)=CMPLX(
splits(30)%Tcoeffs(9)=CMPLX(
splits(30)%Tcoeffs(10) = splits(30)%Tcoeffs(8)
splits(30)%Tcoeffs(11) = splits(30)%Tcoeffs(7)
splits(30)%Tcoeffs(12) = splits(30)%Tcoeffs(6)
splits(30)%Tcoeffs(13) = splits(30)%Tcoeffs(5)
splits(30)%Tcoeffs(14) = splits(30)%Tcoeffs(4)
splits(30)%Tcoeffs(15) = splits(30)%Tcoeffs(3)
splits(30)%Tcoeffs(16) = splits(30)%Tcoeffs(2)
splits(30)%Tcoeffs(17) = splits(30)%Tcoeffs(1)
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!
Please register or to comment