Skip to content

GIModel.jlMesons from the Godfrey–Isgur quark model

Masses, wavefunctions and decays of quark–antiquark mesons, from the relativized Hamiltonian of Phys. Rev. D 32, 189 (1985), in Julia.

Charmonium 1¹D₂ wavefunction drawn as a cloud of points

Masses

One call solves the relativized Hamiltonian for a quark–antiquark pair and returns every requested level, with the paper's harmonic-oscillator method and an automatic convergence check. Here, the spectrum of the Bc mesons:

julia
using GIModel
params, mq = load_parameters_and_quark_masses(default_parameters_path())
Bc = compute_spectrum(params, Meson(mq, :b, :c);
    levels = spectrum_levels(2), solver = OscillatorSolver())
spectrum_state(Bc, "1^3S_1").mass_GeV     # 6.333

The two JP = 1+ states are superpositions of the spin singlet and triplet, because the quark masses differ. Computing a spectrum →

The B_c meson spectrum computed with GIModel

Wavefunctions

The cloud at the top of this page is the charmonium 1¹D₂ state: points drawn from |ψ(r)|², coloured by the sign of ψ. Every state carries its radial wavefunction in position and momentum space, and mixed states expose each signed component.

Wavefunctions →

julia
spec = compute_spectrum(params, Meson(mq, :c, :c);
    levels = spectrum_levels(2), solver = OscillatorSolver())
wave = radial_wave(spec, "1^1D_2")
sample_wave(wave, range(0, 12; length = 241))   # u(r) on a grid
physical_components(spec, "1^3S_1")             # J/ψ: 1S with a small D admixture

Transitions

julia
using GIModel.QuarkModelTransitions
psi, eta_c = physical_state(spec, "1^3S_1"), physical_state(spec, "1^1S_0")
decay_width(matrix_element(eta_c, PhotonEmission(mq), psi))       # M1, MeV
decay_width(MasslessLeptonPair(), LeptonicCurrent(:electromagnetic, mq), psi)

Decay amplitudes use the same solved states, so mixing and radial structure enter coherently: photon emission (E1, M1, M2), pseudoscalar emission with all partial waves, annihilation into γγ, gg and ggg, and leptonic decays. Transitions and decays →

Get it

julia
using Pkg
Pkg.add(url = "https://github.com/mmikhasenko/GIModel.jl")

Then follow Getting started. If you use GIModel in published work, please cite S. Godfrey and N. Isgur, Phys. Rev. D 32, 189 (1985), and this repository.