Matching point = 3fm (same as Hartree.f)
This commit is contained in:
parent
4211227d6a
commit
3becb0860f
|
|
@ -55,13 +55,13 @@ end
|
||||||
init_BC() = [1.0, 1.0] # TODO: Why not [0.0, 1.0]?
|
init_BC() = [1.0, 1.0] # TODO: Why not [0.0, 1.0]?
|
||||||
|
|
||||||
"Solve the Dirac equation and return the wave function u(r)=[g(r), f(r)] where
|
"Solve the Dirac equation and return the wave function u(r)=[g(r), f(r)] where
|
||||||
divs is the number of mesh divisions so solution would be returned as a 2×(1+divs) matrix,
|
matching_point marks the partitioning position (between 0.0 and 1.0) for shooting method,
|
||||||
the other parameters are the same from dirac!(...)."
|
the solution would be returned as a 2×(1+divs) matrix."
|
||||||
function solveNucleonWf(κ, p::Bool, E, s::system; normalize=true, algo=Vern9())
|
function solveNucleonWf(κ, p::Bool, E, s::system; normalize=true, algo=Vern9(), matching_point=0.15)
|
||||||
(f1, f2) = optimized_dirac_potentials(p, s)
|
(f1, f2) = optimized_dirac_potentials(p, s)
|
||||||
|
|
||||||
# partitioning
|
# partitioning
|
||||||
mid_idx = s.divs ÷ 2
|
mid_idx = s.divs * matching_point |> round |> Int
|
||||||
r_mid = rs(s)[mid_idx]
|
r_mid = rs(s)[mid_idx]
|
||||||
left_r = rs(s)[1:mid_idx]
|
left_r = rs(s)[1:mid_idx]
|
||||||
right_r = rs(s)[mid_idx:end]
|
right_r = rs(s)[mid_idx:end]
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue