    Create a model component.

create_model_component(typename=None, name=None)
typename - str
name - str

Model components created by this function are set to their default values. Components can also be created directly using the syntax typename.name , such as in calls to `set_model`

and `set_source` (unless you have called `set_model_autoassign_func`

to change the default model auto-assignment setting).

Create an instance of the powlaw1d model called pl , and then freeze its gamma parameter to 2.6.

>>> create_model_component("powlaw1d", "pl") >>> pl.gamma = 2.6 >>> freeze(pl.gamma)

Create a blackbody model called bb, check that it is reconized as a component, and display its parameters:

>>> create_model_component("bbody", "bb") >>> list_model_components() >>> print(bb) >>> print(bb.ampl)

PARAMETERS

The parameters for this function are:

Parameter
Definition
typename
The name of the model. This should match an entry from the return value of `list_models` , and defines the type of model.
name
The name used to refer to this instance, or component, of the model. A Python variable will be created with this name that can be used to inspect and change the model parameters, as well as use it in model expressions.

Notes

This function can over-write an existing component. If the over-written component is part of a source expression - as set by `set_model` - then the model evaluation will still use the old model definition (and be able to change the fit parameters), but direct access to its parameters is not possible since the name now refers to the new component (this is true using direct access, such as mname.parname , or with

`set_par` ).

See the bugs pages on the Sherpa website for an up-to-date listing of known bugs.

December 2023