Source code for yt.fields.astro_simulations
from .domain_context import DomainContext
# Here's how this all works:
#
# 1. We have a mapping here that defines fields we might expect to find in an
# astrophysical simulation to units (not necessarily definitive) that we
# may want to use them in.
# 2. Simulations and frontends will register aliases from fields (which can
# utilize units) to the fields enumerated here.
# 3. This plugin can call additional plugins on the registry.
[docs]
class AstroSimulation(DomainContext):
# This is an immutable of immutables. Note that we do not specify the
# fluid type here, although in most cases we expect it to be "gas".
_known_fluid_fields = (
("density", "g/cm**3"),
("number_density", "1/cm**3"),
("pressure", "dyne / cm**2"),
("specific_thermal_energy", "erg / g"),
("temperature", "K"),
("velocity_x", "cm / s"),
("velocity_y", "cm / s"),
("velocity_z", "cm / s"),
("magnetic_field_x", "gauss"),
("magnetic_field_y", "gauss"),
("magnetic_field_z", "gauss"),
("radiation_acceleration_x", "cm / s**2"),
("radiation_acceleration_y", "cm / s**2"),
("radiation_acceleration_z", "cm / s**2"),
)
# This set of fields can be applied to any particle type.
_known_particle_fields = (
("particle_position_x", "cm"),
("particle_position_y", "cm"),
("particle_position_z", "cm"),
("particle_velocity_x", "cm / s"),
("particle_velocity_y", "cm / s"),
("particle_velocity_z", "cm / s"),
("particle_mass", "g"),
("particle_index", ""),
)