В настоящее время я пытаюсь реализовать интегратор чехарды как средство численного решения задачи двух тел. Это предназначено для целей Uni, и мне предоставили скелетный код, в котором было необходимо добавить вычисления для начального, финального и других шагов. Мой код не прошел тест из-за того, что он слишком далек от аналитических значений. Глядя на результаты теста, очевидно, что y-компонент вектора положения отличается в 2 раза. После долгих игр с этим я просто не могу найти основную проблему. Буду признателен, если кто-нибудь просмотрит код и поможет мне. Это код, и в конце добавлен тестовый вывод:
#include
ODESolverLeapfrog::ODESolverLeapfrog(const SetNorm &normalisation, std::vector &mass,
double t_final, double dt_initial, double dt_out) :
ODESolverSingleStepBase(normalisation, mass, t_final, dt_initial, dt_out) {
std::cout num_steps_++;
this->i_step_ = 0;
}
ODESolverLeapfrog::~ODESolverLeapfrog() {
std::cout
Подробнее здесь: https://stackoverflow.com/questions/791 ... rator-in-c
Проблемы реализации интегратора чехарды в C++ ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Неожиданные результаты от интегратора scipy.integrate.ode dopri5 (Python)
Anonymous » » в форуме Python - 0 Ответы
- 18 Просмотры
-
Последнее сообщение Anonymous
-