Open smangham opened 2 months ago
Starting with main()
in ks_spectrum/control.c
:
ks_spectrum_includes.h
control.c:72-74
: Declares ks_prop_field
s source
, quark
and prop
.
prop
is size MAX_PROP
- relevant for future?NULL
control.c:75
: Declares int prop_nc
of size MAX_PROP
control.c:340
: Declares ks_prop_field
s tmp_source
and tmp_src_qs
of size MAX_PROP
, and loops over the propagators
control.c:357
: prop[i]
is set to create_ksp_field
control.c:379
: solve_ksprop
is passed prop + i0
, where i0
comes from param.begin_prop
param
is not defined in control
, control
doesn't explicitly set it - it must be buried somewhere.control.c:400
: 'Complete the quark propagators by applying the sink operators to either the raw propagator or by building on an existing quark propagator'control.c:500
: Creates quark[j]
using create_ksp_field
again, then applies ksp_sink_op
to itcontrol.c:511
: Creates quark[j]
using create_ksp_field
again, then applies scalar_mult_add_ksprop_field
to itcontrol.c:562
: 'Compute the meson propagators'
control.c:609
: Calls spectrum_ks
on the quark
s.control.c:633
: 'Compute the baryon propagators'
control.c:687
: Calls spectrum_ks_baryon
on the quark
s.So reminder to self: The propagator we're interested in is based on the fermions (1/2 integer spin).
So the possible propagator points are:
prop
, and initialised in create_ksp_field
prop
, solved in solve_ksprop
quark
, solved by ksp_sink_op
, modified by scalar_mult_add_ksprop_field
We need to identify where the propagator is created.
ks_spectrum/lattice.h
is where the lattice sites are defined, and these then usehisq
(Highly Improved Staggered Quarks) to generate the fermion matrix, then inverts it. We need to find the step before the inversion. I should try making a more specific property call graph, using the function call graph I've generated, to figure out where it comes from.Likely to involve:
ks_spectrum/lattice.h
generic_ks/
hisq.h` ???includes/generic_ks_includes.h
lo_prop_ks.c