23. Product model evaluator

sasmodels.product

Product model

The product model multiplies the structure factor by the form factor, modulated by the effective radius of the form. The resulting model has a attributes of both the model description (with parameters, etc.) and the module evaluator (with call, release, etc.).

To use it, first load form factor P and structure factor S, then create make_product_info(P, S).

class sasmodels.product.ProductKernel(model_info, p_kernel, s_kernel)

Bases: sasmodels.kernel.Kernel

release()
dim = None
dtype = None
info = None
results = None
class sasmodels.product.ProductModel(model_info, P, S)

Bases: sasmodels.kernel.KernelModel

make_kernel(q_vectors)
release()

Free resources associated with the model.

P = None

Form factor modelling individual particles.

S = None

Structure factor modelling interaction between particles.

dtype = None

Model precision. This is not really relevant, since it is the individual P and S models that control the effective dtype, converting the q-vectors to the correct type when the kernels for each are created. Ideally this should be set to the more precise type to avoid loss of precision, but precision in q is not critical (single is good enough for our purposes), so it just uses the precision of the form factor.

info = None

Combined info plock for the product model

sasmodels.product.calc_er_vr(model_info, call_details, values)
sasmodels.product.make_product_info(p_info, s_info)

Create info block for product model.