.. _program_listing_file_environment_forces.h: Program Listing for File forces.h ================================= |exhale_lsh| :ref:`Return to documentation for file ` (``environment/forces.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #pragma once // C++ includes #include #include // lupnt includes #include "lupnt/core/constants.h" #include "lupnt/core/file.h" #include "lupnt/environment/body.h" #include "lupnt/numerics/math_utils.h" template using Vector3 = Eigen::Vector3; template using Matrix3 = Eigen::Matrix; template using MatrixX = Eigen::Matrix; namespace lupnt { template Vector3 AccelarationGravityField(const Vector3& r, T GM, T R_ref, const MatrixX& CS, int n_max, int m_max); Vec3 AccelerationPointMass(const Vec3& r, const Vec3& s, Real GM); Vec3 AccelerationSolarRadiation(const Vec3& r, const Vec3& r_sun, Real bcoeff_srp, Real P0, Real AU); Vec3 AccelerationRelativisticCorrection(const Vec3& r, const Vec3& v, Real GM, Real c_light = C); Vec3 AccelerationDrag(Real mjd_tt, const Vec6& rv, const Mat3& T, Real bcoeff_drag); Real ShadowFunction(const Vec3& r, const Vec3& r_sun, Real R_body, Real R_sun = R_SUN); Real Illumination(const Vec3& r, const Vec3& r_sun, Real R_body); Real DensityHarrisPriester(Real mjd_tt, const Vec3& r_tod); Vec3 AccelerationEarthSpacecraft(Real mjd_tt, const Vec6& rv, Real bcoeff_srp, Real bcoeff_drag, GravityField grav); } // namespace lupnt