JuliaPhysics / JuliaPhysics/SolidStateDetectors.jl

Cartesian get_active_volume ignores reflecting-boundary symmetry

Open
#621 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Julia
Stars
178
Forks
59
Avg merge
1d 20h
Merged PRs (30d)
4

Description

(Draft from the 2026-07 code review; posted on behalf of the review.)

When a Cartesian simulation exploits mirror symmetry via reflecting boundaries
(simulating half or a quarter of the detector), `get_active_volume` integrates
only over the simulated domain and reports half / a quarter of the physical
active volume.

The cylindrical version accounts for the equivalent situation (a reduced φ range
is scaled up to the full 2π volume), and the capacitance calculation multiplies
by the reflecting-boundary multiplicity for both grid types — so the Cartesian
active volume is the odd one out.

Proposal: multiply the Cartesian result by the same reflecting-boundary
multiplicity the capacitance code derives, so both grid types and both derived
quantities follow one convention ("physical detector, not simulated domain").
Configs that relied on the current behavior would see the reported active volume
change (the field solution itself is untouched).

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by locating the Cartesian get_active_volume implementation, then compare it with the cylindrical version and the capacitance calculation that derives reflecting-boundary multiplicity. Update the Cartesian active-volume result to use that multiplicity, verify that the field solution remains unchanged, and run the relevant tests for active volume and capacitance behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
backend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.