Add/general shaing callen formula - #33
Conversation
|
You are nearing your monthly Qodo Merge usage quota. For more information, please visit here. PR Compliance Guide 🔍Below is a summary of compliance checks for this PR:
Compliance status legend🟢 - Fully Compliant🟡 - Partial Compliant 🔴 - Not Compliant ⚪ - Requires Further Human Verification 🏷️ - Compliance label |
|||||||||||||||||||||||||
|
You are nearing your monthly Qodo Merge usage quota. For more information, please visit here. PR Code Suggestions ✨Explore these optional code suggestions:
|
|||||||||||||||||
8a5918a to
5a1594d
Compare
Adapt the truncated Shaing-Callen work to the restructured main: - move shaing_callen_remainder to src/shaing_callen/, register it in shaing_callen_lib, and port all routines to flock_of_fieldlines_t - fold the covariant/dr_dAtheta scaling into get_non_omnigenous_remainder (now the pitch + magnetic split) and add calc_total_lambda_SC for the truncated formula, mirroring calc_lambda_LC - app: write total_lambda_SC_bB to rabe.nc and rabe.dat, NaN-fill it in unsafe mode - keep cumintegrate_over_phi_grid; drop unused cumint with main's removal - port remainder tests and the scaling test to the flock API; register them with granular test targets - accept main's removal of the test/external plot programs (they need the internal neo_field); port plot_chi_max_over_xi_0 to explicit arguments - widen the QS split-remainder tolerances to the accuracy of main's fieldline pipeline (magnetic 1e-15, pitch 1e-11) - update the golden record: the split remainder evaluation removes the O(1/n_eta^2) cancellation bias of the monolithic formula (remainder shifts by <0.5%); total_lambda_SC_bB added - wrap shaing_callen_remainder in the Python bindings and export calc_total_lambda_sc
|
Merged origin/main (boozer_sub/libneo restructure, flock refactor, granular targets). Adaptation decisions for your review:
Verification: Debug build clean; ctest quick 33/33 and slow scaling pass; golden run+compare passes against the updated record; f90wrap bindings build and |
|
@krystophny also leave this branch untouched. This is a research branch of sth that I was not sure about and left open for pure documentation. Maybe I should just archive this branch so that it is untouched |
The generalized Shaing-Callen bootstrap formula formula, where the inner most field line integral was truncated to get rid of the Bootstrap resonances, was derived here for near omnigenous configurations together with an alternative derivation of the Landreman-Catto formula for perfect omnigenous configurations.
Furthermore, the difference between these two formula was estimated analytically. The dominant contribution to the difference in case of omnigenity violation comes from a boundary term. Analytic estimates reveal a sqrt behavior with the violation of omnigenity and this is recaptured by numerical computations in the code.
Similarly, the total Shaing-Callen values are estimated to differ also by a sqrt scaling term, which again matches the analytical estimates.
These numerical experiments were done for a toy field inspired by Landreman-Paul QH of the form
While the numerics agree with the analytical estimates, the overall trend of sqrt(violation) is against the expectation that for good configurations like Landreman-Paul QH the truncated general formula and Landreman-Catto should well agree and for bigger violations, the general formula should be prefered over Landreman-Catto. For example, for the investigated Landreman-Paul QH configuration at half radius$s_\mathrm{tor}=0.25$ one finds that
which results in an estimate for the relative difference of general vs. Landreman-Catto of
which does agree with the actual found difference of$\sim 6$ %. The problem is that
NEO-2NEO-2results (blue) and asymptotic model(orange) top: from generalized Shaing-Callen formula, bottom: from Landreman-Catto formulaWhile it seems the implementation is computationally sound, it is not yet clear how to interpret this result and if this generalized formula fits into the in$\rightarrow$ Draft
rabeimplemented asymptotic model.