kharma icon indicating copy to clipboard operation
kharma copied to clipboard

Transmitting polar boundaries and mitigations require a single block in phi

Open bprather opened this issue 10 months ago • 0 comments

KHARMA commonly mitigates instability around the pole by averaging the EMF at the pole, B3 around the pole, or U3 around the pole. These averages were written when I was primarily using transmitting polar boundary conditions, and considered transmitting conditions to be the primary stability concern. Since transmitting polar boundary conditions currently require the mesh have only a single block in $\phi$ at the pole, the mitigations were written with that assumption as well.

Some folks have started using mitigations in runs with reflecting polar boundaries, to stabilize the combination of Kastaun inverter and face-centered B at the polar boundary. At the least, KHARMA should check for these mitigations if $\phi$ is split and exit with an error. Ideally, the necessary reductions could be implemented by inferring the mesh structure about the pole from Parthenon's mesh location & numbering scheme. Averages could then be computed over the whole range, and resulting values applied uniformly to prevent issues.

bprather avatar Mar 07 '25 20:03 bprather