Using zygote for a summation derivation

I am using zygote and rrule to define my derivation formulation. the derivative of my function is

df/dr = sum1st to Nth step(w^T * da/dr)

in order to solve this i have defined below code. Note that i saved all values of w,wg,ul,sl,vl in a matrix or vector.

function rrule(::typeof(gf_pf), pf_vec, vApp; β, η, fem_params)
    function U_Disp_pullback(dgdg)
      NO_FIELDS, dgdg * Dgfdpf(pf_vec,vApp; β, η, fem_params)
    gf_pf(pf_vec,vApp; β, η, fem_params), U_Disp_pullback
function Dgfdpf(pf_vec,vApp; β, η, fem_params)
    pfh = FEFunction(fem_params.Pf, pf_vec)
    pth = (pf -> Threshold(pf; β, η)) ∘ pfh
    dgfdpf = zeros(sr)
    for i in 1:co
        u_vec = ul[:,i]
        sh_vec = sl[:,i]
        sh = FEFunction(fem_params.U_PF, sh_vec)
        vApp = vl[i]
        uAppp1(x) = VectorValue(0.0,0.0)
        uAppp2(x) = VectorValue(0.0,0.0)
        uAppp3(x) = VectorValue(0.0,-vApp)
        U_Disp = TrialFESpace(V0_Disp ,[uAppp1 ,uAppp2 ,uAppp3])
        uh = FEFunction(U_Disp, u_vec)
        wvec = w[:,i]
        wgvec = wg[:,i]
        wconjh = FEFunction(U_Disp, conj(wvec)) 
        wconjhg = FEFunction(fem_params.U_PF, conj(wgvec)) 
        l_temp(dp) = ∫( (-2*(DAdpf(wconjh,uh,pfh; β, η)) - DGdpf(wconjhg,sh,pfh; β, η) )*dp )fem_params.dΩ
        dgfdpf_temp = assemble_vector(l_temp, fem_params.Pf)
        dgfdpf = dgfdpf_temp .+ dgfdpf
    return dgfdpf

but this code is not running and zygote cant do this. could you please tell me how can i perform summation in zygote?
thank you