formula

package
v0.1.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 17, 2026 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Overview

Package formula 提供与具体时刻、星历表无关的研究型天文公式。

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AbsoluteMagnitudeFromApparent

func AbsoluteMagnitudeFromApparent(apparentMagnitude, distanceParsec float64) float64

AbsoluteMagnitudeFromApparent 由视星等求绝对星等 / absolute magnitude from apparent magnitude.

apparentMagnitude: 视星等 m
distanceParsec: 天体距离,单位秒差距 pc

返回:

绝对星等 M

func AirmassKastenYoung

func AirmassKastenYoung(apparentAltitude float64) float64

AirmassKastenYoung Kasten-Young 1989 大气质量模型 / Kasten-Young 1989 airmass.

apparentAltitude 为视高度角,单位度。该经验公式在低空通常比 sec(z) 更稳健。 apparentAltitude is apparent altitude in degrees. This empirical model is generally more robust than sec(z) at low altitude.

func AirmassPickering

func AirmassPickering(apparentAltitude float64) float64

AirmassPickering Pickering 2002 大气质量模型 / Pickering 2002 airmass.

apparentAltitude 为视高度角,单位度。该经验公式专门面向低空观测修正。 apparentAltitude is apparent altitude in degrees. This empirical model is intended for low-altitude observational use.

func AirmassPlaneParallel

func AirmassPlaneParallel(altitude float64) float64

AirmassPlaneParallel 平行平板大气模型 / plane-parallel airmass.

altitude 为真高度角,单位度。该模型等价于 sec(z),其中 z 为天顶距。 中高空可作几何近似;接近地平线时会发散,不宜用于低空精细估算。 altitude is true altitude in degrees. The model is sec(z) with zenith distance z = 90° - altitude. It is a geometric approximation that diverges near the horizon.

func AirmassPlaneParallelByZenithDistance

func AirmassPlaneParallelByZenithDistance(zenithDistance float64) float64

AirmassPlaneParallelByZenithDistance 按天顶距的平行平板大气质量 / plane-parallel airmass by zenith distance.

func ApparentMagnitudeFromAbsolute

func ApparentMagnitudeFromAbsolute(absoluteMagnitude, distanceParsec float64) float64

ApparentMagnitudeFromAbsolute 由绝对星等求视星等 / apparent magnitude from absolute magnitude.

absoluteMagnitude: 绝对星等 M
distanceParsec: 天体距离,单位秒差距 pc

返回:

视星等 m

func DawesLimitArcsec

func DawesLimitArcsec(diameterMM float64) float64

DawesLimitArcsec Dawes 极限 / Dawes limit in arcseconds.

diameterMM: 望远镜口径,单位毫米

返回:

Dawes 极限,单位角秒

func DistanceModulus

func DistanceModulus(distanceParsec float64) float64

DistanceModulus 距离模数 / distance modulus.

distanceParsec: 天体距离,单位秒差距 pc

返回:

距离模数 m-M

func EffectiveTemperatureFromLuminosityRadius

func EffectiveTemperatureFromLuminosityRadius(luminosityW, radiusM float64) float64

EffectiveTemperatureFromLuminosityRadius 由光度和半径求温度 / effective temperature from luminosity and radius.

luminosityW: 恒星总光度,单位瓦特
radiusM: 恒星半径,单位米

返回:

恒星有效温度,单位开尔文

func EffectiveTemperatureFromLuminositySolarRadius

func EffectiveTemperatureFromLuminositySolarRadius(luminositySolar, radiusSolar float64) float64

EffectiveTemperatureFromLuminositySolarRadius 由太阳光度和半径单位求温度 / effective temperature from solar luminosity and radius.

luminositySolar: 恒星总光度,单位为太阳光度 L☉
radiusSolar: 恒星半径,单位为太阳半径 R☉

返回:

恒星有效温度,单位开尔文

例:

// 半径 2.5 R☉、光度 20 L☉ 的主序星
t := formula.EffectiveTemperatureFromLuminositySolarRadius(20, 2.5)

func LightGatheringPowerRatio

func LightGatheringPowerRatio(diameter1MM, diameter2MM float64) float64

LightGatheringPowerRatio 集光力比值 / light-gathering power ratio.

diameter1MM: 第一个望远镜口径,单位毫米
diameter2MM: 第二个望远镜口径,单位毫米

返回:

集光力比值,等于 (diameter1MM / diameter2MM)^2

func LimitingMagnitudeEmpirical

func LimitingMagnitudeEmpirical(diameterMM, nakedEyeLimit float64) float64

LimitingMagnitudeEmpirical 经验极限星等 / empirical limiting magnitude.

diameterMM: 望远镜有效口径,单位毫米
nakedEyeLimit: 观测地裸眼极限星等,例如乡村暗空可近似取 6

返回:

经验极限星等;这是经验值,不包含天空背景、倍率、透过率和观测经验修正

例:

// 70mm 小型折射镜,裸眼极限 6 等
mag := formula.LimitingMagnitudeEmpirical(70, 6)

func LuminosityFromRadiusTemperature

func LuminosityFromRadiusTemperature(radiusM, temperatureK float64) float64

LuminosityFromRadiusTemperature 由半径和温度求光度 / luminosity from radius and temperature.

radiusM: 恒星半径,单位米
temperatureK: 恒星有效温度,单位开尔文

返回:

总光度,单位瓦特

func LuminositySolarFromRadiusTemperature

func LuminositySolarFromRadiusTemperature(radiusSolar, temperatureK float64) float64

LuminositySolarFromRadiusTemperature 由太阳半径单位和温度求光度 / luminosity in solar units from radius and temperature.

radiusSolar: 恒星半径,单位为太阳半径
temperatureK: 恒星有效温度,单位开尔文

返回:

总光度,单位为太阳光度 L☉

func PlanckRadianceByWavelength

func PlanckRadianceByWavelength(wavelengthM, temperatureK float64) float64

PlanckRadianceByWavelength 按波长的普朗克谱辐亮度 / Planck spectral radiance by wavelength.

wavelengthM: 波长,单位米
temperatureK: 黑体温度,单位开尔文

返回:

谱辐亮度,单位 W·sr^-1·m^-3

例:

b := formula.PlanckRadianceByWavelength(500e-9, 5772)

func RadiusFromLuminosityTemperature

func RadiusFromLuminosityTemperature(luminosityW, temperatureK float64) float64

RadiusFromLuminosityTemperature 由光度和温度求半径 / radius from luminosity and temperature.

luminosityW: 恒星总光度,单位瓦特
temperatureK: 恒星有效温度,单位开尔文

返回:

恒星半径,单位米

func RadiusSolarFromLuminosityTemperature

func RadiusSolarFromLuminosityTemperature(luminositySolar, temperatureK float64) float64

RadiusSolarFromLuminosityTemperature 由太阳光度单位和温度求半径 / radius in solar units from luminosity and temperature.

luminositySolar: 恒星总光度,单位为太阳光度 L☉
temperatureK: 恒星有效温度,单位开尔文

返回:

恒星半径,单位为太阳半径 R☉

func RayleighLimitArcsec

func RayleighLimitArcsec(diameterMM float64) float64

RayleighLimitArcsec Rayleigh 极限 / Rayleigh limit in arcseconds.

diameterMM: 望远镜口径,单位毫米

返回:

Rayleigh 极限,单位角秒

func SolarEffectiveTemperature

func SolarEffectiveTemperature() float64

SolarEffectiveTemperature 太阳有效温度常数 / solar effective temperature constant.

返回:

太阳有效温度,单位开尔文

func StefanBoltzmannFlux

func StefanBoltzmannFlux(temperatureK float64) float64

StefanBoltzmannFlux 斯特藩-玻尔兹曼通量 / Stefan-Boltzmann flux.

temperatureK: 黑体温度,单位开尔文

返回:

单位面积总出射度,单位 W/m^2

func SynodicPeriod

func SynodicPeriod(period1, period2 float64) float64

SynodicPeriod 会合周期 / synodic period.

period1: 第一个天体的恒星周期或朔望周期,单位自定,但必须与 period2 一致
period2: 第二个天体的周期,单位需与 period1 一致

返回:

会合周期,单位与输入相同

例:

// 地球与金星的会合周期,单位天
s := formula.SynodicPeriod(365.25636, 224.70069)

func WienPeakWavelength

func WienPeakWavelength(temperatureK float64) float64

WienPeakWavelength 维恩峰值波长 / Wien peak wavelength.

temperatureK: 黑体温度,单位开尔文

返回:

峰值波长,单位米

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL