Skip to content

Commit

Permalink
add g5f23 integrator
Browse files Browse the repository at this point in the history
  • Loading branch information
jcosborn committed Jul 3, 2024
1 parent 84363ac commit 9698343
Showing 1 changed file with 52 additions and 6 deletions.
58 changes: 52 additions & 6 deletions src/experimental/stagag.nim
Original file line number Diff line number Diff line change
Expand Up @@ -352,10 +352,10 @@ proc addFf(g: GaugeV, i = 0) =

var ffList = newSeqWith(1+hmasses.len, newSeq[int](0))
var ffeList = newSeqWith(1+hmasses.len, newSeq[FloatV](0))
proc addFx(veps: FloatV, p0,g: GaugeV) =
proc addFx(veps: FloatV; p0,g: GaugeV; i0,i1: int) =
var p = p0
if nf == 0: return
for i in 0..hmasses.len:
for i in i0..i1:
addFf(g, i)
pushMom()
var va: FloatV
Expand All @@ -376,7 +376,15 @@ proc addFx(veps: FloatV, p0,g: GaugeV) =

proc addF(veps: FloatV) =
if nf == 0: return
addFx(veps, momvs[^1], gaugevs[^1])
addFx(veps, momvs[^1], gaugevs[^1], 0, hmasses.len)

proc addF(veps: FloatV, i: int) =
if nf == 0: return
addFx(veps, momvs[^1], gaugevs[^1], i, i)

proc addF(veps: FloatV; i0,i1: int) =
if nf == 0: return
addFx(veps, momvs[^1], gaugevs[^1], i0, i1)

proc addFF(va, vb: FloatV) =
if nf == 0: return
Expand All @@ -387,7 +395,7 @@ proc addFF(va, vb: FloatV) =
exp(momvs[^1], vbx, momvs[^2])
pushMom()
mul(momvs[^1], momvs[^2], gaugevs[^1])
addFx(va, p, momvs[^1])
addFx(va, p, momvs[^1], 0, hmasses.len)

proc setupMDx =
pushTemp()
Expand Down Expand Up @@ -461,8 +469,8 @@ proc setupMDababa =
proc setupMDg5f2 =
if pt0 == 0: pt0 = 0.1
if pt1 == 0: pt1 = 0.1
if pg0 == 0: pg0 = 0.1
if pg1 == 0: pg1 = 0.2
if pg0 == 0: pg0 = 0.14
if pg1 == 0: pg1 = 0.24
let t0 = vtau * pushParam(pt0)
let t02 = 2 * t0
let t1 = vtau * pushParam(pt1)
Expand All @@ -487,6 +495,43 @@ proc setupMDg5f2 =
addG(g0)
addT(t0)

proc setupMDg5f23 =
if pt0 == 0: pt0 = 0.09
if pt1 == 0: pt1 = 0.13
if pg0 == 0: pg0 = 0.13
if pg1 == 0: pg1 = 0.23
if pf0 == 0: pf0 = 0.26
let t0 = vtau * pushParam(pt0)
let t02 = 2 * t0
let t1 = vtau * pushParam(pt1)
let t2 = 0.5*vtau - t0 - t1
let g0 = vtau * pushParam(pg0)
let g1 = vtau * pushParam(pg1)
let g2 = vtau - 2*( g0 + g1 )
let f00 = vtau * pushParam(pf0)
let f01 = vtau - 2*f00
let f10 = 0.5*vtau
let i0 = hmasses.len
let i1 = hmasses.len - 1
addT(t0)
for i in 0..<nsteps:
if i!=0: addT(t02)
addG(g0)
addF(f00, i0)
addT(t1)
addG(g1)
addF(f10, 0, i1)
addT(t2)
addG(g2)
addF(f01, i0)
addT(t2)
addF(f10, 0, i1)
addG(g1)
addT(t1)
addF(f00, i0)
addG(g0)
addT(t0)

proc setupMDg10f2 =
if pt0 == 0: pt0 = 0.075
if pt1 == 0: pt1 = 0.07
Expand Down Expand Up @@ -1751,6 +1796,7 @@ of "abacaba": setupMDabacaba()
of "ababababa": setupMDababababa()
of "acabacabaca": setupMDacabacabaca()
of "g5f2": setupMDg5f2()
of "g5f23": setupMDg5f23()
of "g10f2": setupMDg10f2()
else:
echo "unknown MD string: ", md
Expand Down

0 comments on commit 9698343

Please sign in to comment.