Full Index
FormationTemps.AtmosphereFormationTemps.AtmosphereCPUFormationTemps.AtmosphereCPUFormationTemps.AtmosphereGPUFormationTemps.AtmosphereGPUFormationTemps.FormTempResultFormationTemps.StellarPropsFormationTemps.StellarPropsFormationTemps.calc_formation_tempFormationTemps.calc_formation_tempFormationTemps.compute_alpha!FormationTemps.convolve_gray_rotationFormationTemps.convolve_gray_rotationFormationTemps.convolve_hirano_rotmacroFormationTemps.convolve_hirano_rotmacroFormationTemps.convolve_instrument_gaussFormationTemps.convolve_instrument_gaussFormationTemps.convolve_iso_rt_macroFormationTemps.convolve_iso_rt_macroFormationTemps.convolve_rt_macroFormationTemps.convolve_rt_macroFormationTemps.elavFormationTemps.elavFormationTemps.get_TsFormationTemps.get_TsFormationTemps.get_marcs_atmFormationTemps.get_zsFormationTemps.get_zsFormationTemps.get_τsFormationTemps.get_τsFormationTemps.gray_iso_rt_macro_kernelFormationTemps.gray_iso_rt_macro_kernelFormationTemps.gray_rot_kernelFormationTemps.gray_rot_kernelFormationTemps.hirano_rotmacro_ft_kernelFormationTemps.hirano_rotmacro_ft_kernelFormationTemps.rebin_spectrumFormationTemps.rebin_spectrumFormationTemps.round_to_powerFormationTemps.round_to_powerFormationTemps.rt_macro_kernelFormationTemps.rt_macro_kernelFormationTemps.rt_macro_kernelFormationTemps.searchsortednearestFormationTemps.searchsortednearestFormationTemps.vmac_fitFormationTemps.vmac_fitFormationTemps.vmic_fitFormationTemps.vmic_fit
FormationTemps.AtmosphereCPU — Type
AtmosphereCPU(atm_korg)Build a CPU-backed atmosphere from a Korg atmosphere object.
FormationTemps.AtmosphereCPU — Method
AtmosphereCPU(atm_korg)Construct an AtmosphereCPU with thermodynamic and velocity fields on the CPU.
FormationTemps.AtmosphereGPU — Type
AtmosphereGPU(atm_korg)Build a GPU-backed atmosphere from a Korg atmosphere object.
FormationTemps.AtmosphereGPU — Method
AtmosphereGPU(atm_korg)Construct an AtmosphereGPU with thermodynamic fields from Korg and velocity fields allocated on the GPU.
FormationTemps.StellarProps — Method
StellarProps(; Teff=NaN, logg=NaN, Fe_H=NaN, vsini=0.0, v_macro=NaN, v_micro=NaN,
ρstar=1.0, istar=90.0)Container for stellar parameters and broadening properties used by FormationTemps.
Keyword arguments:
Teff: effective temperature (K).logg: log10 surface gravity (cgs).Fe_H: metallicity [Fe/H] (dex), used to buildA_X.vsini: projected rotation velocity (m/s).v_macro: macroturbulent velocity (m/s); ifNaN, usesvmac_fit(Teff, logg).v_micro: microturbulent velocity (m/s); ifNaN, usesvmic_fit(Teff).ρstar: stellar radius scale factor for disk integration (dimensionless).istar: inclination angle in degrees (90 = equator-on).
FormationTemps.calc_formation_temp — Method
calc_formation_temp(star, linelist; use_gpu=GPU_DEFAULT, Δλ=0.01, convolve=false,
minλ=NaN, maxλ=NaN, u1=NaN, u2=NaN, Nϕ=128, kwargs...)Compute flux formation temperatures, normalized flux, and flux contribution function for a given star and linelist.
The wavelength grid is built from the line list (wl * 1e8) with padding and step Δλ. Use minλ/maxλ (Angstrom) to override the default bounds (first/last line ± 2 A).
Returns a FormTempResult with fields:
wavs: wavelength grid (Angstrom).flux: normalized flux (sum(cfunc_dt_flux) / sum(cfunc_dt_flux_cont)).form_temps: formation temperature defined at 50% of the cumulative flux contribution.cont_func: contribution function, shape(Natm - 1, Nλ).atmosphere: atmosphere structure used for the calculation.
If convolve=true, applies Hirano rotation + macroturbulent convolution using limb-darkening coefficients u1 and u2. Otherwise, performs numerical disk integration using Nϕ latitude bins. Set use_gpu=true to use the GPU implementation when available.
Examples
star = StellarProps(Teff=5777.0, logg=4.44, Fe_H=0.0, vsini=2100.0)
linelist = Korg.read_linelist(joinpath(FT.datdir, "Sun_VALD.lin"))[1:500]
result = calc_formation_temp(star, linelist; Δλ=0.01, convolve=true, u1=0.43, u2=0.31)FormationTemps.compute_alpha! — Method
Adapted from Korg.jl -> line_absorption!()
FormationTemps.convolve_gray_rotation — Method
convolve_gray_rotation(xs, ys, vsini, u1)Convolve a spectrum with the Gray (2008) rotation kernel using linear limb darkening.
TODO: finish docs.
FormationTemps.convolve_hirano_rotmacro — Method
convolve_hirano_rotmacro(xs, ys, vsini, ζ_rt, u1, u2; intres=intres_glob)Convolve a spectrum with the Hirano et al. (2011) rotation+macroturbulence kernel.
TODO: finish docs.
FormationTemps.convolve_instrument_gauss — Method
convolve_instrument_gauss(xs, ys; new_res=1.17e5, oversampling=2.0)Convolve a spectrum with a Gaussian LSF at resolving power new_res.
TODO: finish docs.
FormationTemps.convolve_iso_rt_macro — Method
convolve_iso_rt_macro(xs, ys, ζ_rt)Convolve a spectrum with the isotropic radial-tangential macroturbulence kernel.
TODO: finish docs.
FormationTemps.convolve_rt_macro — Method
convolve_rt_macro(xs, ys, ζ_rt, μ)
convolve_rt_macro(xs, ys, ζ_r, ζ_t, μ)Convolve a spectrum with a radial-tangential macroturbulence kernel.
TODO: finish docs.
FormationTemps.elav — Method
elav(a::AbstractVector)
elav(a; dims)Compute midpoints between adjacent elements along dims.
TODO: finish docs.
FormationTemps.get_Ts — Method
get_Ts(atm)Return the temperature grid as a standard Array.
FormationTemps.get_marcs_atm — Method
get_marcs_atm(Teff, logg, A_X; n_layers=56)Interpolate a MARCS atmosphere from Korg and return it with n_layers layers.
FormationTemps.get_zs — Method
get_zs(atm)Return the height grid as a standard Array.
FormationTemps.get_τs — Method
get_τs(atm)Return the optical depth grid as a standard Array.
FormationTemps.gray_iso_rt_macro_kernel — Method
Equation 17.8 from Gray (2008), assuming AR = AT and ζR = ζT
FormationTemps.gray_rot_kernel — Method
Equation 18.14 from The Observation and Analysis of Stellar Photospheres (Gray 2008)
FormationTemps.hirano_rotmacro_ft_kernel — Method
Equation B12 from Hirano et al. (2011). NOTE: This is returns the Fourier Transform of the rotmacro convolution kernel, not the kernel itself!!
FormationTemps.rebin_spectrum — Method
rebin_spectrum(xs_old, ys_old, xs_new)
rebin_spectrum(xs_old, ys_old, σs_old, xs_new)Rebin a spectrum (and optional uncertainties) from xs_old to xs_new.
Based on the SpectRes spectral resampling implementation: https://github.com/ACCarnall/SpectRes/blob/master/spectres/spectral_resampling.py
Note: the algorithm may introduce small shifts if the wavelength grids are misaligned.
FormationTemps.round_to_power — Method
round_to_power(x::Real)Round x to one significant digit based on its order of magnitude.
TODO: finish docs.
FormationTemps.rt_macro_kernel — Method
Equation 17.6 from Gray (2008), assuming AR = AT
FormationTemps.rt_macro_kernel — Method
Equation 17.6 from Gray (2008), assuming AR = AT and ξR = ξT
FormationTemps.searchsortednearest — Method
searchsortednearest(a, x)
searchsortednearest(x, a)Return the index of the element in sorted vector a that is closest to x.
TODO: finish docs.
FormationTemps.vmac_fit — Method
vmac_fit(teff, logg)
vmac_fit(teff)Empirical macroturbulent velocity fits.
vmac_fit(teff, logg) uses the Doyle et al. (2014) relation with teff in K and logg in cgs. vmac_fit(teff) uses the Bruntt et al. (2010) relation with teff in K. Both return the macroturbulent velocity in m/s.
FormationTemps.vmic_fit — Method
vmic_fit(teff)Empirical microturbulent velocity fit from Bruntt et al. (2010).
Input teff is in K; returns microturbulent velocity in m/s.