xzackli / Bolt.jl

differentiable boltzmann code
MIT License
43 stars 5 forks source link

Method Error #86

Open kayliehausknecht opened 1 year ago

kayliehausknecht commented 1 year ago

I am new to Julia and am trying to use this code, but I keep getting the following error when I try to run RECFAST in all of the example code files. Please advise.

`MethodError: no method matching Bolt.RECFAST(::Background{ForwardDiff.Dual{ForwardDiff.Tag{typeof(fc), Float64}, Float64, 1}, Interpolations.ScaledInterpolation{ForwardDiff.Dual{ForwardDiff.Tag{typeof(fc), Float64}, Float64, 1}, 1, Interpolations.BSplineInterpolation{ForwardDiff.Dual{ForwardDiff.Tag{typeof(fc), Float64}, Float64, 1}, 1, OffsetArrays.OffsetVector{ForwardDiff.Dual{ForwardDiff.Tag{typeof(fc), Float64}, Float64, 1}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{typeof(fc), Float64}, Float64, 1}}}, Interpolations.BSpline{Interpolations.Cubic{Interpolations.Line{Interpolations.OnGrid}}}, Tuple{Base.OneTo{Int64}}}, Interpolations.BSpline{Interpolations.Cubic{Interpolations.Line{Interpolations.OnGrid}}}, Tuple{StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}}, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, ::Float64, ::Float64, ::Float64, ::Float64, ::Float64, ::Float64, ::Float64, ::Float64, ::Float64, ::Float64, ::Float64, ::Float64, ::Float64, ::Float64, ::Float64, ::Float64, ::Float64, ::Float64, ::Float64, ::Float64, ::Float64, ::Float64, ::Float64, ::Float64, ::Float64, ::Float64, ::Float64, ::Float64, ::Float64, ::Float64, ::Float64, ::Float64, ::Float64, ::Float64, ::Float64, ::Float64, ::Float64, ::Float64, ::Float64, ::Float64, ::Float64, ::Float64, ::Float64, ::Float64, ::Float64, ::Float64, ::Float64, ::Float64, ::Float64, ::Float64, ::Float64, ::Float64, ::Float64, ::Float6... Closest candidates are: Bolt.RECFAST(::AB, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::Any, ::Any, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T, ::T) where {T, AB<:(AbstractBackground{T, IT} where IT<:(Interpolations.AbstractInterpolation{T, 1}))} at ~/.julia/packages/Parameters/MK0O4/src/Parameters.jl:526 Bolt.RECFAST(::AB; kws...) where {T, AB<:(AbstractBackground{T, IT} where IT<:(Interpolations.AbstractInterpolation{T, 1}))} at ~/.julia/packages/Bolt/fGczu/src/ionization/recfast.jl:124

Stacktrace: [1] Bolt.RECFAST(; bg::Background{ForwardDiff.Dual{ForwardDiff.Tag{typeof(fc), Float64}, Float64, 1}, Interpolations.ScaledInterpolation{ForwardDiff.Dual{ForwardDiff.Tag{typeof(fc), Float64}, Float64, 1}, 1, Interpolations.BSplineInterpolation{ForwardDiff.Dual{ForwardDiff.Tag{typeof(fc), Float64}, Float64, 1}, 1, OffsetArrays.OffsetVector{ForwardDiff.Dual{ForwardDiff.Tag{typeof(fc), Float64}, Float64, 1}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{typeof(fc), Float64}, Float64, 1}}}, Interpolations.BSpline{Interpolations.Cubic{Interpolations.Line{Interpolations.OnGrid}}}, Tuple{Base.OneTo{Int64}}}, Interpolations.BSpline{Interpolations.Cubic{Interpolations.Line{Interpolations.OnGrid}}}, Tuple{StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}}, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, C::Float64, k_B::Float64, h_P::Float64, m_e::Float64, m_H::Float64, not4::Float64, sigma::Float64, a::Float64, G::Float64, Lambda::Float64, Lambda_He::Float64, L_H_ion::Float64, L_H_alpha::Float64, L_He1_ion::Float64, L_He2_ion::Float64, L_He_2s::Float64, L_He_2p::Float64, A2P_s::Float64, A2P_t::Float64, L_He_2Pt::Float64, L_He_2St::Float64, L_He2St_ion::Float64, sigma_He_2Ps::Float64, sigma_He_2Pt::Float64, AGauss1::Float64, AGauss2::Float64, zGauss1::Float64, zGauss2::Float64, wGauss1::Float64, wGauss2::Float64, a_PPB::Float64, b_PPB::Float64, c_PPB::Float64, d_PPB::Float64, a_VF::Float64, b_VF::Float64, ... @ Bolt ~/.julia/packages/Parameters/MK0O4/src/Parameters.jl:545 [2] pkc(Ω_c::ForwardDiff.Dual{ForwardDiff.Tag{typeof(fc), Float64}, Float64, 1}, k_grid::Vector{Float64}) @ Main ./In[7]:4 [3] fc(Ω_c::ForwardDiff.Dual{ForwardDiff.Tag{typeof(fc), Float64}, Float64, 1}) @ Main ./In[8]:7 [4] derivative(f::typeof(fc), x::Float64) @ ForwardDiff ~/.julia/packages/ForwardDiff/vXysl/src/derivative.jl:14 [5] top-level scope @ In[12]:1`

jmsull commented 1 year ago

Can you post the code that produced this error?

jmsull commented 1 year ago

When I run the basic_usage.jl example things look fine for me? Are you using the latest version of main?