DefaultFilamentFunctions

class sf3dmodels.filament.DefaultFilamentFunctions[source] [edit on github]

Bases: object

Default functions for filament models.

\((R,\theta,z)\) are cylindrical coordinates referred to the model long axis.

Methods Summary

func_abund(self, R, theta, z, \*pars) Default abundance function.
func_dens(self, R, theta, z, \*pars) Default number density function.
func_gtdratio(self, R, theta, z, \*pars) Default gas-to-dust ratio function.
func_temp(self, R, theta, z, \*pars) Default temperature function.
func_vel(self, R, R_dir, theta, theta_dir, …) Default velocity function.
func_width(self, z, \*pars) Default half-width function.

Methods Documentation

func_abund(self, R, theta, z, *pars)[source] [edit on github]

Default abundance function.

Parameters:
R : array_like, shape(n,)

Array of cylindrical R’s with respect to the model long axis.

theta : array_like, shape(n,)

Array of azimuthal theta’s with respect to the model long axis.

z : array_like, shape(n,)

Array of z’s with respect to the model long axis.

*pars : scalar(s)

Function parameters. Default expected parameters: a0

Returns:
abundance : array_like, shape(n,)

Abundance at each (R,theta,z) point.

Notes

Default model: constant abundance

\[a(R,\theta,z) = a_0\]
func_dens(self, R, theta, z, *pars)[source] [edit on github]

Default number density function.

Parameters:
R : array_like, shape(n,)

Array of cylindrical R’s with respect to the model long axis.

theta : array_like, shape(n,)

Array of azimuthal theta’s with respect to the model long axis.

z : array_like, shape(n,)

Array of z’s with respect to the model long axis.

*pars : scalar(s)

Function parameters. Default expected parameters: nc, Rflat, p

Returns:
density : array_like, shape(n,)

Number density at each (R,theta,z) point.

Notes

Default model: a Plummer-like density profile. See the section 2.4 of Smith+2014b

\[n(R,\theta,z) = \frac{n_c}{\big[1+(R/R_{\rm flat})^2]^{\rm p/2}}\]
func_gtdratio(self, R, theta, z, *pars)[source] [edit on github]

Default gas-to-dust ratio function.

Parameters:
R : array_like, shape(n,)

Array of cylindrical R’s with respect to the model long axis.

theta : array_like, shape(n,)

Array of azimuthal theta’s with respect to the model long axis.

z : array_like, shape(n,)

Array of z’s with respect to the model long axis.

*pars : scalar(s)

Function parameters. Default expected parameters: gtd0

Returns:
gtdratio : array_like, shape(n,)

gas-to-dust ratio at each (R,theta,z) point.

Notes

Default model: constant gas-to-dust ratio

\[{\rm gtd}(R,\theta,z) = {\rm gtd}0\]
func_temp(self, R, theta, z, *pars)[source] [edit on github]

Default temperature function.

Parameters:
R : array_like, shape(n,)

Array of cylindrical R’s with respect to the model long axis.

theta : array_like, shape(n,)

Array of azimuthal theta’s with respect to the model long axis.

z : array_like, shape(n,)

Array of z’s with respect to the model long axis.

*pars : scalar(s)

Function parameters. Default expected parameters: T0, R0, p

Returns:
density : array_like, shape(n,)

Temperature at each (R,theta,z) point.

Notes

Default model: Power-law on R.

\[T(R,\theta,z) = T_0(R/R_0)^{\rm p}\]
func_vel(self, R, R_dir, theta, theta_dir, z, z_dir, *pars)[source] [edit on github]

Default velocity function.

Parameters:
R : array_like, shape(n,1)

Array of cylindrical R’s with respect to the model long axis.

R_dir : array_like, shape(n,3)

Unit radial vectors with respect to the model long axis.

theta : array_like, shape(n,1)

Array of azimuthal theta’s with respect to the model long axis.

theta_dir : array_like, shape(n,3)

Unit angular vectors with respect to the model long axis.

z : array_like, shape(n,1)

Array of z’s with respect to the model long axis.

z_dir : array_like, shape(n,3)

Unit vectors parallel to the model long axis.

*pars : scalar(s)

Function parameters. Default expected parameters: (vR0,R0,p), vth0, vz0

Returns:
gtdratio : array_like, shape(n,)

gas-to-dust ratio at each (R,theta,z) point.

Notes

Default model: (in \(\hat{R}\)) infalling material as a power-law; (in \(\hat{\theta}\)) rotating at a constant rate; (in \(\hat{z}\)) flowing uniformly towards the centre along the long axis.

\[{\vec{v}}(R,\theta,z) = -v_{\rm \small{R_0}}(R/R_0)^{\rm p}\hat{R} + v_{\theta_0}\hat{\theta} - v_{\rm z_0}\hat{z}\]
func_width(self, z, *pars)[source] [edit on github]

Default half-width function.

Parameters:
z : array_like, shape(n,)

Array of z’s on the model long axis.

*pars : scalar(s)

Function parameters. Default expected parameters: w0

Returns:
half_width : array_like, shape(n,)

Half-width at each z.

Notes

Default model: constant width

\[w(z) = w0\]