dynamical_mass
Calculate enclosed dynamical mass using Keplerian rotation or virial dispersion inputs, with linear propagation of velocity, radius, and inclination errors.
Instructions
Enclosed dynamical mass.
kind='keplerian': M = v_rot^2 r / G with v_rot = v_obs / sin(i) when velocity_is_projected (needs inclination). kind='virial': M_vir = (5 / a) sigma^2 R / G, a = (1 - k/3) / (1 - 2k/5) for rho ~ r^-k (k = density_index; k = 0 gives 5 sigma^2 R / G, k = 1 gives 1040 sigma^2 R in Msun, km/s, pc). sigma is the 1D dispersion; set velocity_is_fwhm to pass a FWHM (sigma = FWHM / 2.3548). velocity_is_fwhm applies to kind='virial' only; a Keplerian rotation velocity is never a line width and is used as given. Errors are propagated linearly from velocity, radius and inclination errors. Limits: M scales with distance (r in arcsec); the mass-inclination degeneracy dominates for low i; pressure support and self-gravity are not separated from the central mass.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"velocity_kms": "<velocity_kms>",
"radius": "<radius>"
},
"name": "dynamical_mass"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | keplerian | |
| radius | Yes | ||
| radius_err | No | ||
| distance_pc | No | ||
| radius_unit | No | au | |
| velocity_kms | Yes | ||
| density_index | No | ||
| inclination_deg | No | ||
| velocity_err_kms | No | ||
| velocity_is_fwhm | No | ||
| inclination_err_deg | No | ||
| velocity_is_projected | No |