Opened 9 years ago

Closed 8 years ago

#472 closed enhancement (fixed)

reparameterize Teubner-Strey

Reported by: pkienzle Owned by: ajj
Priority: critical Milestone: SasView 4.0.0
Component: SasView Keywords:
Cc: Work Package: SasModels Redesign

Description

The current implementation of Teubner-Strey use parameters scale, c1, c2 and background. Since scale and background are automatic parameters in sasmodels, this was changed to a2, c1 and c2.

Propose changing the parameters to the more physically meaningful repeat length d, correlation length xi and a scale factor. This will give more useful parameter uncertainties.

A little bit of algebra gives a2/c2 and c1/c2 in terms of xi and d:

a2/c2 = (xi-2 + (2 pi/d)2)2
c1/c2 = (xi-2 - (2 pi/d)2)2

The scale factor comes from the normalized form (Schubert, 1994):

I(q) = (8 pi c2 eta2 / xi) / (a2 + c1 q2 + c2 q4)

where

eta2 = phi(1-phi)(delta rho)2

for volume fraction phi and scattering length density difference delta rho.

The following parameters should be sufficient:

sld, sld_solvent, phi in (0,1), xi > 0, and d > 0

using

I(q) = (8 pi phi(1-phi)(delta rho)2) / ((1+(2 pi xi/d)2)2 + (1-(2 pi xi/d)2)2 q2 + q4)

with two of phi, sld and sld_solvent fixed.

Change History (11)

comment:1 Changed 9 years ago by Paul Kienzle <pkienzle@…>

In [bc87305316c560a93eeaf77db05eb6721733d636]:

Fix slit height resolution problem. Still issues with slit width. Refs #472

comment:2 Changed 9 years ago by butler

  • Priority changed from minor to major
  • Work Package changed from SasModels New Model to SasModels Redesign

comment:3 Changed 9 years ago by butler

  • Milestone changed from WishList to SasView 4.0.0

comment:4 Changed 9 years ago by ajj

  • Priority changed from major to critical

comment:5 Changed 9 years ago by ajj

  • Owner set to ajj
  • Status changed from new to assigned

comment:6 Changed 8 years ago by butler

This is the same request as ticket #530 by Wim Bouwman. There he is concerned about the instabilities with this parametrization. Gives reference and attachment for how to change — should compare against Paul Kienzle's approach above.

comment:7 Changed 8 years ago by butler

  • Milestone changed from SasView 4.0.0 to SasView Next Release +1
  • Type changed from defect to enhancement

with the 4.0 release being way late, we clearly don't have the bandwidth to deal with such a change now. Moving to +1

comment:8 Changed 8 years ago by butler

  • Milestone changed from SasView Next Release +1 to SasView 4.0.0

Moving back to 4.0 as part of ticket #643 admonition to finalize parameter and model names so as to remain compatible in the future.

comment:9 Changed 8 years ago by ajj

Correct reparameterisation is as per (Schubert, 1994) and (Endo, 2001)

a2/c2 = (xi-2 + (2 pi/d)2)2
c1/c2 = 2(xi-2 - (2 pi/d)2) ←- difference is here compared to original ticket text

The scale factor comes from the normalized form (Schubert, 1994):

I(q) = (8 pi c2 eta2 / xi) / (a2 + c1 q2 + c2 q4)

where

eta2 = phi(1-phi)(delta rho)2

for volume fraction phi and scattering length density difference delta rho.

The following parameters should be sufficient:

sld, sld_solvent, phi in (0,1), xi > 0, and d > 0

using

I(q) = (8 pi phi(1-phi)(delta rho)2) / ((xi-2+(2 pi/d)2)2 + 2(xi-2 - (2 pi/d)2) q2 + q4)

with two of phi, sld and sld_solvent fixed.

Last edited 8 years ago by ajj (previous) (diff)

comment:10 Changed 8 years ago by ajj

So it seems that we have had various implementations over time:

1) Igor + libigor
2) sansview + libigor
3) a python version
4) a c++ version replacing the python version (ILL 2012)
5) version in sasmodels

in leaving (1) it seems that correct normalisation of parameters was not transferred and so 2→5 are all incorrectly normalised.

The update with this ticket will aim to match (1), since the citation is from a paper with Steve Kline as an author (along with R Strey) and he wrote that model, so we will take it as definitive.

Version 0, edited 8 years ago by ajj (next)

comment:11 Changed 8 years ago by ajj

  • Resolution set to fixed
  • Status changed from assigned to closed

In caddb142198aa5e7856a0850214d72611c3b6ba8/sasmodels:

Updated and re-parameterised Teubner-Strey model.

Closes #472
Closes #530

Note: See TracTickets for help on using tickets.