[us-commits] [ehb54/ultrascan3] 311ae9: extrap_c0: add reciprocal (c/I) and 2nd-order viri...

emre brookes noreply at github.com
Mon Jul 13 10:59:51 MDT 2026


  Branch: refs/heads/ehb54-issue-920
  Home:   https://github.com/ehb54/ultrascan3
  Commit: 311ae95c2da467a90a09cc73f8fd444bc67346b4
      https://github.com/ehb54/ultrascan3/commit/311ae95c2da467a90a09cc73f8fd444bc67346b4
  Author: ehb54 <brookes at uthscsa.edu>
  Date:   2026-07-13 (Mon, 13 Jul 2026)

  Changed paths:
    M us_somo/develop/include/us_hydrodyn_saxs_iqq_extrap_c0_conc.h
    M us_somo/develop/src/us_hydrodyn_saxs_iqq_extrap_c0.cpp
    M us_somo/develop/src/us_hydrodyn_saxs_iqq_extrap_c0_conc.cpp
    M us_somo/somo/doc/manual/somo/somo_saxs_extrap_c0.html

  Log Message:
  -----------
  extrap_c0: add reciprocal (c/I) and 2nd-order virial concentration models

The additive Zimm fit (I/c vs c) reads I(0)/MW systematically low when
interparticle interactions are strong, because the second-virial structure
factor makes I(q,c)/c a saturating (convex) function of c. Add two
alternative concentration models, selectable per extrapolation:

  - reciprocal:  c/I = u + v*c,          I0 = 1/u   (linear in c; unbiased MW)
  - 2nd-virial:  c/I = u + v*c + w*c^2,   I0 = 1/u   (robust at strong interaction)

Reciprocal-1st reuses the existing GCV penalized-slope core (and per-q /
2-point fallbacks) by fitting the c/I axis and inverting the intercept, with
SE propagated as SE(u)/u^2. Virial-2 adds a per-q weighted quadratic (3x3
normal equations, needs >=4 concentrations). Additive remains the default and
its path is unchanged; absolute-scale mode is unaffected.

Validated against a physical Percus-Yevick hard-sphere ground truth: at
realistic suppression (~1.5x) reciprocal is within ~1% vs additive's ~3% low
and almerge's ~6% low; the 2nd-order virial holds to ~5% even at 5x
suppression where the 1st-order over-corrects.

GUI: a "Concentration model" drop-down in the concentration-assignment dialog
(default Additive). A power-user default may be preset via gparam
saxs_extrap_c0_model. Manual page updated.

Co-Authored-By: Claude Fable 5 <noreply at anthropic.com>



To unsubscribe from these emails, change your notification settings at https://github.com/ehb54/ultrascan3/settings/notifications


More information about the us-commits mailing list