Beta2D

class sherpa.astro.models.Beta2D(name='beta2d')[source] [edit on github]

Bases: sherpa.models.model.RegriddableModel2D

Two-dimensional beta model function.

The beta model is a Lorentz model with a varying power law.

r0

The core radius.

xpos

X0 axis coordinate of the model center (position of the peak).

ypos

X1 axis coordinate of the model center (position of the peak).

ellip

The ellipticity of the model.

theta

The angle of the major axis. It is in radians, measured counter-clockwise from the X0 axis (i.e. the line X1=0).

ampl

The model value at the peak position (xpos, ypos).

alpha

The power-law slope of the profile at large radii.

Notes

The functional form of the model for points is:

f(x0,x1) = ampl * (1 + r(x0,x1)^2)^(-alpha)

r(x0,x1)^2 = xoff(x0,x1)^2 * (1-ellip)^2 + yoff(x0,x1)^2
             -------------------------------------------
                          r0^2 * (1-ellip)^2

xoff(x0,x1) = (x0 - xpos) * cos(theta) + (x1 - ypos) * sin(theta)

yoff(x0,x1) = (x1 - ypos) * cos(theta) - (x0 - xpos) * sin(theta)

The grid version is evaluated by adaptive multidimensional integration scheme on hypercubes using cubature rules, based on code from HIntLib ([1]) and GSL ([2]).

References

[1]HIntLib - High-dimensional Integration Library http://mint.sbg.ac.at/HIntLib/
[2]GSL - GNU Scientific Library http://www.gnu.org/software/gsl/

Attributes Summary

thawedparhardmaxes
thawedparhardmins
thawedparmaxes
thawedparmins
thawedpars

Methods Summary

apply(outer, *otherargs, **otherkwargs)
calc(*args, **kwargs) Evaluate the model on a grid.
get_center()
guess(dep, *args, **kwargs) Set an initial guess for the parameter values.
regrid(*arrays)
reset()
set_center(xpos, ypos, *args, **kwargs)
startup(cache) Called before a model may be evaluated multiple times.
teardown() Called after a model may be evaluated multiple times.

Attributes Documentation

thawedparhardmaxes
thawedparhardmins
thawedparmaxes
thawedparmins
thawedpars

Methods Documentation

apply(outer, *otherargs, **otherkwargs) [edit on github]
calc(*args, **kwargs)[source] [edit on github]

Evaluate the model on a grid.

Parameters:
  • p (sequence of numbers) – The parameter values to use. The order matches the pars field.
  • *args – The model grid. The values can be scalar or arrays, and the number depends on the dimensionality of the model and whether it is being evaluated over an integrated grid or at a point (or points).
get_center()[source] [edit on github]
guess(dep, *args, **kwargs)[source] [edit on github]

Set an initial guess for the parameter values.

Attempt to set the parameter values, and ranges, for the model to match the data values. This is intended as a rough guess, so it is expected that the model is only evaluated a small number of times, if at all.

regrid(*arrays) [edit on github]
reset() [edit on github]
set_center(xpos, ypos, *args, **kwargs)[source] [edit on github]
startup(cache) [edit on github]

Called before a model may be evaluated multiple times.

See also

teardown()

teardown() [edit on github]

Called after a model may be evaluated multiple times.

See also

setup()