DebyeModel

sans.models.DebyeModel

Provide F(x) = 2( exp(-x) + x - 1 )/x**2 with x = (q*R_g)**2

Debye function as a BaseComponent model

class sans.models.DebyeModel.DebyeModel

Bases: sans.models.BaseComponent.BaseComponent

Class that evaluates a Debye model.

F(x) = 2( exp(-x) + x - 1 )/x**2 with x = (q*R_g)**2

The model has three parameters:
Rg = radius of gyration scale = scale factor bkd = Constant background
__add__()
__div__()
__init__()

Initialization

__module__ = 'sans.models.DebyeModel'
__mul__()
__str__()
Returns:string representatio
__sub__()
_clone()

Internal utility function to copy the internal data members to a fresh copy.

_debye()

Evaluate F(x)= scale * D + bkd has 2 internal parameters :

D = 2 * (exp(-y) + y - 1)/y**2 y = (x * Rg)^(2)
calculate_ER()
clone()

Returns a new object identical to the current object

evalDistribution()

Evaluate a distribution of q-values.

  • For 1D, a numpy array is expected as input:

    evalDistribution(q)

where q is a numpy array.

  • For 2D, a list of numpy arrays are expected: [qx_prime,qy_prime], where 1D arrays,

qx_prime = [ qx[0], qx[1], qx[2], ....] and qy_prime = [ qy[0], qy[1], qy[2], ....]

Then get q = numpy.sqrt(qx_prime^2+qy_prime^2)

that is a qr in 1D array; q = [q[0], q[1], q[2], ....]

Note :

Due to 2D speed issue, no anisotropic scattering is supported for python models, thus C-models should have

their own evalDistribution methods.

The method is then called the following way:

evalDistribution(q) where q is a numpy array.

Parameters:qdist – ndarray of scalar q-values or list [qx,qy] where qx,qy are 1D ndarrays
getDispParamList()

Return a list of all available parameters for the model

getParam()

Set the value of a model parameter

Parameters:name – name of the parameter
getParamList()

Return a list of all available parameters for the model

getParamListWithToken()
getParamWithToken()
is_fittable()

Check if a given parameter is fittable or not

Parameters:par_name – the parameter name to check
run()

Evaluate the model @param x: input q-value (float or [float, float] as [r, theta]) @return: (debye value)

runXY()

Evaluate the model @param x: input q-value (float or [float, float] as [qx, qy]) @return: debye value

setParam()

Set the value of a model parameter

Parameters:
  • name – name of the parameter
  • value – value of the parameter
setParamWithToken()

Table Of Contents

Previous topic

DABModel

Next topic

DiamCylFunc

This Page