.. _physics-stellarSpectraDustAttenuation: Stellar Spectra Dust Attenuation ================================ Class implementing dust attenuation of stellar spectra---the wavelength-dependent extinction (in magnitudes) applied to the intrinsic spectral energy distribution of a stellar population to model the absorption and scattering of starlight by interstellar dust grains. The attenuation depends on wavelength (following an extinction curve such as Calzetti or Charlot-Fall), the age of the stellar population (young stars embedded in birth clouds are more obscured), and the overall V-band optical depth. Both separable and non-separable implementations are supported. **Default implementation:** ``stellarSpectraDustAttenuationZero`` Methods ------- ``attenuation`` → ``double precision`` Return the attenuation, in magnitudes, of stellar spectra due to dust at the given wavelength, age, and V-band extinction. * ``double precision, intent(in ) :: wavelength, age, vBandAttenuation`` ``isAgeDependent`` → ``logical`` Return true if the attenuation may depend on the age of the stellar population. ``isSeparable`` → ``logical`` Return true if the attenuation is separable into a product of functions of wavelength, age, and V-band attenuation. .. _physics-stellarSpectraDustAttenuationCalzetti2000: ``stellarSpectraDustAttenuationCalzetti2000`` --------------------------------------------- Returns the dust attenuation of stellar spectra according to the model of :cite:t:`calzetti_dust_2000`. .. _physics-stellarSpectraDustAttenuationCardelli1989: ``stellarSpectraDustAttenuationCardelli1989`` --------------------------------------------- Returns the dust attenuation of stellar spectra according to the model of :cite:t:`cardelli_relationship_1989`. **Methods** * ``a`` — Return fitting function :math:`a(x)` for the dust attenuation model of :cite:t:`cardelli_relationship_1989`. * ``b`` — Return fitting function :math:`b(x)` for the dust attenuation model of :cite:t:`cardelli_relationship_1989`. **Parameters** * ``[Rv]`` (default ``3.1d0``) — The ratio of total to selective extinction :math:`R_\mathrm{V} = A_\mathrm{V}/E(B-V)` in the :cite:t:`cardelli_relationship_1989` dust attenuation law; the standard Milky Way value is :math:`R_\mathrm{V} = 3.1`, with smaller values corresponding to greyer extinction curves. .. _physics-stellarSpectraDustAttenuationCharlotFall2000: ``stellarSpectraDustAttenuationCharlotFall2000`` ------------------------------------------------ Returns the dust attenuation of stellar spectra according to the model of :cite:t:`charlot_simple_2000`. **Parameters** * ``[opacityExponent]`` (default ``0.7d0``) — The power-law exponent of wavelength in the opacity :math:`\tau \propto \lambda^{-n}` in the :cite:t:`charlot_simple_2000` two-component dust attenuation model; a value of 0.7 corresponds to the standard parameterization for interstellar and birth cloud attenuation. * ``[birthCloudLifetime]`` (default ``1.0d-2``) — The lifetime of stellar birth clouds (in Gyr) in the :cite:t:`charlot_simple_2000` dust model; stars younger than this age are attenuated by both the ISM component and the birth cloud component, while older stars experience only ISM attenuation. * ``[opticalDepthISM]`` (default ``0.5d0``) — The effective V-band optical depth :math:`\hat{\tau}_\mathrm{V}^\mathrm{ISM}` of the diffuse interstellar medium in the :cite:t:`charlot_simple_2000` dust attenuation model, applied to all stellar populations regardless of age. * ``[opticalDepthBirthClouds]`` (default ``1.0d0``) — The effective V-band optical depth :math:`\hat{\tau}_\mathrm{V}^\mathrm{BC}` of the stellar birth clouds in the :cite:t:`charlot_simple_2000` dust model, applied only to stellar populations younger than ``birthCloudLifetime``; must exceed ``opticalDepthISM``. * ``[filterName]`` — The filter to select. * ``[filterType]`` — The filter type (rest or observed) to select. * ``[redshiftBand]`` — The redshift of the band (if not the output redshift). * ``[depthOpticalISMCoefficient]`` (default ``1.0d0``) — Multiplicative coefficient for optical depth in the ISM. * ``[depthOpticalCloudsCoefficient]`` (default ``1.0d0``) — Multiplicative coefficient for optical depth in birth clouds. * ``[wavelengthExponent]`` (default ``0.7d0``) — Exponent of wavelength in the optical depth. .. _physics-stellarSpectraDustAttenuationGordon2003: ``stellarSpectraDustAttenuationGordon2003`` ------------------------------------------- Returns the dust attenuation of stellar spectra according to the model of :cite:t:`gordon_quantitative_2003`. **Parameters** * ``[sample]`` (default ``var_str('SMCbar')``) — The name of the sample from :cite:t:`gordon_quantitative_2003` to use in dust attenuation calculations. .. _physics-stellarSpectraDustAttenuationPrevotBouchet: ``stellarSpectraDustAttenuationPrevotBouchet`` ---------------------------------------------- Returns the dust attenuation of stellar spectra according to the model of :cite:t:`prevot_typical_1984` and :cite:t:`bouchet_visible_1985`. **Parameters** * ``[Rv]`` (default ``2.7d0``) — The ratio of total to selective extinction :math:`R_\mathrm{V} = A_\mathrm{V}/E(B-V)` in the :cite:t:`prevot_typical_1984`/:cite:t:`bouchet_visible_1985` SMC-like dust attenuation law; the default value of 2.7 is typical for the Small Magellanic Cloud, which lacks the 2175 \AA\ bump seen in Milky Way dust. .. _physics-stellarSpectraDustAttenuationTabulated: ``stellarSpectraDustAttenuationTabulated`` ------------------------------------------ Returns the dust attenuation of stellar spectra from a tabulated relation. **Methods** * ``parameters`` — Return parameters of the current mass distribution. * ``factoryTabulation`` — Return an instance of the class with the given tabulation parameters. * ``suffix`` — Return a suffix to append to table file names. * ``fileRead`` — Read tabulation data from file. * ``fileWrite`` — Write tabulation data to file. * ``tabulate`` — (Re)tabulate the mass distribution. * ``interpolate`` — Interpolate in the mass distribution. * ``isTabulating`` — Return true if the thread associated with the object is tabulating. * ``velocityDispersion1D`` — Compute the 1D velocity dispersion at the given coordinates. * ``initialize`` — Initialize the container (specifically the number of parameters). * ``nameParameter`` — Return the name of the index parameter for a given tabulation. * ``countParameters`` — Return the number of parameters for a given tabulation. **Parameters** * ``[toleranceRelativeVelocityDispersion]`` (default ``1.0d-6``) — The relative tolerance to use in numerical solutions for the velocity dispersion in dark-matter-only density profiles. * ``[toleranceRelativeVelocityDispersionMaximum]`` (default ``1.0d-3``) — The maximum relative tolerance to use in numerical solutions for the velocity dispersion in dark-matter-only density profiles. .. _physics-stellarSpectraDustAttenuationWittGordon2000: ``stellarSpectraDustAttenuationWittGordon2000`` ----------------------------------------------- Returns the dust attenuation of stellar spectra according to the model of :cite:t:`witt_multiple_2000`. **Parameters** * ``[model]`` (default ``var_str('MilkyWayShellTau3.0')``) — The name of the model from :cite:t:`witt_multiple_2000` to use in dust attenuation calculations. .. _physics-stellarSpectraDustAttenuationZero: ``stellarSpectraDustAttenuationZero`` ------------------------------------- Returns zero dust attenuation (an attenuation factor of unity) at all wavelengths, used to disable dust effects while still satisfying the interface requirements of the stellar spectra dust attenuation class. **(Default implementation)** **Parameters** * ``[dimensionless]`` (default ``.true.``) — If true the null profile is considered to be dimensionless.