Version 89 (modified by ajj, 9 years ago) (diff)

Adding "converted" column

Add a model here when you are working on it. Mark it as converted when it is tested and pushed.

The err columns are the result of running multi_compare.sh, which generates random parameters for comparison against sasview. double should be at most 5e-14 relative error, single should be 5e-5.

./multi_compare.sh MODEL 200 1d200 mono double
./multi_compare.sh MODEL 200 1d200 mono single
./multi_compare.sh MODEL 200 2d32 mono double
./multi_compare.sh MODEL 200 2d32 mono single

Some models still have issues when run using single precision (lamellarPC for example).

We are not dealing with magnetism at this point as it requires some work on the wrapper functionality. Thus the *Magnetic* column below is for reference as to which models need attention. The *SESANS* column should be used to indicate if the model is a priority (1 highest, 4 lowest). The Multiply column indicates whether the model can be multiplied by a structure factor. This is currently hardcoded into src/sas/perspectives/fitting/models.py

SasView namesasmodels name P(Q) S(Q) Multiply Multiplicity Magnetic SESANS Assigned Converted double err single err double 2D single 2D
HayterMSAStructure HayterMSAsq .Y...1RKHY NaNs FAIL - -
BarBellModel barbell Y....3AJJY good good FAIL FAIL
BCCrystalModel bcc_paracrystal Y....3AJJY good FAIL 9e-14 2e-2
BroadPeakModel broad_peak Y....4PDBY good good - -
CappedCylinderModel capped_cylinder Y....3HP Y good good 2e-11 3e-3
CoreShellCylinderModelcore_shell_cylinderY.Y..3HP Y good good 9e-14 4e-4
CylinderModel cylinder Y.Y.Y1HP Y good good 2e-13 1e-4
DABModel dab Y....1DM Y good good - -
EllipsoidModel ellipsoid Y.Y..1HP Y good* good 3e-14 1e-4
FCCrystalModel fcc_paracrystal Y....3AJJY good FAIL FAIL FAIL
PeakGaussModel gaussian_peak Y....4AJJY good 1e-3 - -
GelFitModel gel_fit Y....1PR Y good good - -
Guinier guinier Y....1JRKY good good - -
HardsphereStructure hardsphere .Y...1RKHY good FAIL - -
HollowCylinderModel hollow_cylinder Y.Y..2JRKY good 2e-3 4e-13 2e-3
LamellarModel lamellar Y....2PAKY good good - -
LamellarPSModel lamellarCaille Y....3RKHY good 5e-2 - -
LamellarPSHGModel lamellarCailleHG Y....3RKHY 3e-12 5e-3 - -
LamellarFFHGModel lamellarFFHG Y....3RKHY good good - -
LamellarPCrystallModel lamellarPC Y....3RKHY good FAIL - -
Lorentz lorentz Y....1JRKY good good - -
MassFractalModel mass_fractal Y....1PR Y FAIL FAIL - -
MassSurfaceFractal mass_surface_fractalY....1PR Y good good - -
ParallelepipedModel parallelepiped Y.Y.Y2MAGY good good 2e-13 8e-5
PearlNecklaceModel pearl_necklace Y....3JRKY fail fail - -
PolyExclVolume polymer_excl_volumeY....3PR Y good good - -
!AbsolutePower_Law power_law Y....3SMKY good good - -
SphereModel sphere Y.Y.Y1HP Y good* good - -
StickyHSStructure stickyhardsphere .Y...1RKHY good FAIL - -
SurfaceFractalModel surface_fractal Y....1PR Y good 5e-5 - -
TeubnerStrey teubner_strey Y....1PAKY good* good - -
TriaxialEllipsoidModeltriaxial_ellipsoid Y.Y..3HP Y good* good good good
TwoLorentzian two_lorentzian Y....4PR Y good good - -
BEPolyelectrolyte Y....3
BinaryHSModel binary_hard_sphere Y....1PDB
Core2ndMomentModel Y....3SMK
CoreMultiShellModel Y.YYY3
CoreShellModel Y.Y.Y2MD
CoreShellEllipsoidModel Y.Y..3
CoreShellEllipsoidXTModel Y.Y..3
CoreShellBicelleModel Y.Y..2
CorrLength Y....3
CSParallelepipedModel Y.Y..3MAG
Debye Y....1SMK
EllipticalCylinderModel Y.Y..3MD
FlexibleCylinderModel Y....2PR
FlexCylEllipXModel Y....3
FractalModel Y....1PDB
FractalCoreShell Y....3
FuzzySphereModel Y....2TRN
GaussLorentzGel Y....2
GuinierPorod Y....2MD
LineModel Y....4
LinearPearlsModel Y....3
MicelleSphCore Y.Y..
MultiShellModel Y.YY.3PAK
MultiplicationModel ..... PAK
OnionExpShellModel Y.YY.3
PeakLorentzModel Y....4AJJYgoodgood--
Poly_GaussCoil Y....2SMK
PorodModel Y....3MD
PringleModel Y....3AJJ
RaspBerryModel Y....2AJJ
RectangularPrismModel Y.Y..2MAG
RectangularHollowPrismModel Y.Y..3MAG
RectangularHollowPrismInfThinWallsModel Y....3MAG
ReflectivityModel Y..Y.4
ReflectivityIIModel Y..Y.4
RPA10Model Y..Y.3PAK
ReflectivityModel Y....4
SCCrystalModel Y....3
SphericalSLDModel Y.YY.3
SquareWellStructure .Y...1PDB
StackedDisksModel Y.Y..2TRN
StarPolymer Y....2PR
TwoPowerLaw Y....4WP
UnifiedPowerRg Y..Y.4
VesicleModel Y.Y..2PDB
testmodel 3
testmodel_2 3
sum_p1_p2 3
sum_Ap1_1_Ap2 3
polynomial5 3
sph_bessel_jn 3

* using taylor expansion near 0 for fq = 3 (sin(qr)/qr - cos(qr))/qr2; using quad precision as a cross check, this is more accurate than computing the direct expression for qr < 0.1 in double precision, and so the values will differ from those in sasview. It is much more accurate in single precision. This affects many models, including sphere and ellipsoid models. The cylinder models are using J1(qr)/qr, which has its own numerical expansion and does not suffer from this problem. Should probably settle on one or the other and move it into the library. So even though the double precision values for sphere, ellipsoid and triaxial ellipsoid differ by more than 5e-14, they are still marked good. Similarly, the Teubner-Strey model checks out against the quad precision version and so is marked good.

1GList of standard parameters (name = meaning):

  • radius = radius
  • sld = scattering length density of particle
  • solvent_sld = scattering length density of matrix
  • cor_length = correlation length
  • exp = exponent (example: porod_exp)
  • peak_pos = q_peak or q0 etc
  • theta, phi, psi