BiconicalOutflow
- class dysmalpy.models.BiconicalOutflow(profile_type='both', **kwargs)[source]
Bases:
HigherOrderKinematicsSeparate
,_DysmalFittable3DModel
Model for a biconical outflow
- Parameters:
n (float) – Power law index of the outflow velocity profile
vmax (float) – Maximum velocity of the outflow in km/s
rturn (float) – Turn-over radius in kpc of the velocty profile
thetain (float) – Half inner opening angle in degrees. Measured from the bicone axis
dtheta (float) – Difference between inner and outer opening angle in degrees
rend (float) – Maximum radius of the outflow in kpc
norm_flux (float) – Log flux amplitude of the outflow at r = 0
tau_flux (float) – Exponential decay rate of the flux
profile_type ({'both', 'increase', 'decrease', 'constant'}) – Type of velocity profile
Notes
This biconical outflow model is based on the model presented in Bae et al. (2016) [1]. It consists of two symmetric cones joined at their apexes.
thetain
anddtheta
control how hollow the cones are.thetain
= 0 therefore would produce a fully filled cone.Within the cone, the velocity radial profile of the gas follows a power law with index
n
. Four different profile types can be selected. The simplest is ‘constant’ in which case the velocity of the gas isvmax
at all radii.For a
profile_type
= ‘increase’:\[v = v_{\rm max}\left(\frac{r}{r_{\rm end}}\right)^n\]For a
profile_type
= ‘decrease’:\[v = v_{\rm max}\left(1 - \left(\frac{r}{r_{\rm end}}\right)^n\right)\]For a
profile_type
= ‘both’ the velocity first increases up to the turnover radius,rturn
, then decreases back to 0 at 2rturn
.For \(r < r_{\rm turn}\):
\[v = v_{\rm max}\left(\frac{r}{r_{\rm turn}}\right)^n\]For \(r > r_{\rm turn}\):
\[v = v_{\rm max}\left(2 - \frac{r}{r_{\rm turn}}\right)^n\]The flux radial profile of the outflow is described by a decreasing exponential:
\[F = A\exp\left\{\frac{-\tau r}{r_{\rm end}}\right\}\]References
Attributes Summary
Names of the parameters that describe models of this type.
Methods Summary
evaluate
(x, y, z, n, vmax, rturn, thetain, ...)Evaluate the outflow velocity as a function of position x, y, z
light_profile
(x, y, z)Evaluate the outflow line flux as a function of position x, y, z
vel_direction_emitframe
(x, y, z[, _save_memory])Method to return the velocity direction in the outflow Cartesian frame.
velocity
(x, y, z, *args)Return the velocity as a function of x, y, z
Attributes Documentation
- dtheta = DysmalParameter('dtheta', value=20.0, bounds=(0, 90), prior=<dysmalpy.parameters.UniformPrior object>)
- n = DysmalParameter('n', value=0.5, fixed=True, prior=<dysmalpy.parameters.UniformPrior object>)
- norm_flux = DysmalParameter('norm_flux', value=0.0, fixed=True, prior=<dysmalpy.parameters.UniformPrior object>)
- outputs = ('vout',)
- param_names = ('n', 'vmax', 'rturn', 'thetain', 'dtheta', 'rend', 'norm_flux', 'tau_flux')
Names of the parameters that describe models of this type.
The parameters in this tuple are in the same order they should be passed in when initializing a model of a specific type. Some types of models, such as polynomial models, have a different number of parameters depending on some other property of the model, such as the degree.
When defining a custom model class the value of this attribute is automatically set by the
Parameter
attributes defined in the class body.
- rend = DysmalParameter('rend', value=1.0, bounds=(0, None), prior=<dysmalpy.parameters.UniformPrior object>)
- rturn = DysmalParameter('rturn', value=0.5, bounds=(0, None), prior=<dysmalpy.parameters.UniformPrior object>)
- tau_flux = DysmalParameter('tau_flux', value=5.0, fixed=True, prior=<dysmalpy.parameters.UniformPrior object>)
- thetain
- vmax
Methods Documentation
- evaluate(x, y, z, n, vmax, rturn, thetain, dtheta, rend, norm_flux, tau_flux)[source]
Evaluate the outflow velocity as a function of position x, y, z
- vel_direction_emitframe(x, y, z, _save_memory=False)[source]
Method to return the velocity direction in the outflow Cartesian frame.
- Parameters:
x (float or array) – xyz position in the outflow reference frame.
y (float or array) – xyz position in the outflow reference frame.
z (float or array) – xyz position in the outflow reference frame.
_save_memory (bool, optional) – Option to save memory by only calculating the relevant matrices (eg during fitting). Default: False
- Returns:
vel_dir_unit_vector – Direction of the velocity vector in (xyz).
For biconical outflows, this is the +rhat direction, in spherical coordinates (r,phi,theta).
- Return type:
3-element array