From 1e01c7ef3401187ae4e9e8ad527cd624b07e0987 Mon Sep 17 00:00:00 2001 From: "C. J. Howard" Date: Fri, 23 Oct 2020 19:03:08 -0700 Subject: [PATCH] Add B-V index to Kelvin function --- src/game/astronomy/color-index.cpp | 30 +++++++++++++++++++++++ src/game/astronomy/color-index.hpp | 38 ++++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+) create mode 100644 src/game/astronomy/color-index.cpp create mode 100644 src/game/astronomy/color-index.hpp diff --git a/src/game/astronomy/color-index.cpp b/src/game/astronomy/color-index.cpp new file mode 100644 index 0000000..90c54f7 --- /dev/null +++ b/src/game/astronomy/color-index.cpp @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2020 Christopher J. Howard + * + * This file is part of Antkeeper source code. + * + * Antkeeper source code is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Antkeeper source code is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Antkeeper source code. If not, see . + */ + +#include "color-index.hpp" + +namespace ast +{ + +double bv_to_k(double bv) +{ + return 4600.0 * (1.0 / (0.92 * bv + 1.7) + 1.0 / (0.92 * bv + 0.62)); +} + +} // namespace ast diff --git a/src/game/astronomy/color-index.hpp b/src/game/astronomy/color-index.hpp new file mode 100644 index 0000000..91c0202 --- /dev/null +++ b/src/game/astronomy/color-index.hpp @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2020 Christopher J. Howard + * + * This file is part of Antkeeper source code. + * + * Antkeeper source code is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Antkeeper source code is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Antkeeper source code. If not, see . + */ + +#ifndef ANTKEEPER_COLOR_INDEX_HPP +#define ANTKEEPER_COLOR_INDEX_HPP + +namespace ast +{ + +/** + * Approximates the temperature of a star, given its B-V index. + * + * @see Ballesteros, F. J. (2012). "New insights into black bodies". EPL 97 (2012) 34008. + * + * @param bv B-V index. + * @return Temperature, in Kelvin. + */ +double bv_to_k(double bv); + +} // namespace ast + +#endif // ANTKEEPER_COLOR_INDEX_HPP