Skip to content

Evaluate optical-photon group velocity calculation and tabulation #2447

Description

@Rashika-Gupta

Celeritas calculates optical-photon group velocity from the refractive-index table using

$v_g = \frac{c}{n(E) + E \frac{dn}{dE}}.$

where it first first constructs a $dn/dE$ grid . At the photon energy, to calculate $v_g(E_\gamma)$ : it separately interpolates $n(E_\gamma)$ and $\frac{dn}{dE}$ at $E_\gamma$.

The equivalent expression used in Geant4 is
$v_g = \frac{c}{n(E) + \frac{dn}{d (log E)}}.$

For each selected refractive-index interval, it estimates $n(E)$ at $E_{mid}$ calculates the derivative: $\frac{\Delta n}{\Delta log E}$ at $E_{mid}$ and constructs a separate GROUPVEL table and then interpolates group velocity.

Several implementation choices affect the result, particularly when the refractive-index table has discontinuous or rapidly changing interval slopes which in turn can impact the timing distribution of an optical photon.

Things to investigate :

  • $\frac{dn}{d logE} = E \frac{dn}{dE}$ analytically, their discrete approximations can differ for widely spaced energies or abrupt slope changes.

  • Decide whether Celeritas should reproduce Geant4's GROUPVEL construction.

  • Determine which intervals should be used for the finite difference and at which energies the resulting group velocities should be stored.

  • Celeritas precalculating and storing an energy-to-group-velocity grid during optical-material initialization

  • Create test to compare the current Celeritas calculation with Geant4 for:

    • constant refractive index;
    • smoothly varying refractive index;
    • discontinuous interval slopes;
    • grid endpoints and out-of-range energies.
  • Compare both implementations with measured group velocities for a specified material.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions