diff options
Diffstat (limited to 'chaos/src/ode_base.cpp')
-rw-r--r-- | chaos/src/ode_base.cpp | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/chaos/src/ode_base.cpp b/chaos/src/ode_base.cpp index 2830c2f..004a1b3 100644 --- a/chaos/src/ode_base.cpp +++ b/chaos/src/ode_base.cpp @@ -20,55 +20,4 @@ #include "ode_base.hpp" -void ode_base::rk1() -{ - m_system (m_k[0], m_data); - for (int i = 0; i != m_num_eq; ++i) - m_data[i] += m_dt * m_k[0][i]; -} - - -void ode_base::rk2() -{ - m_system (m_k[0], m_data); - for (int i = 0; i != m_num_eq; ++i) - m_k[0][i] = m_k[0][i] * 0.5 * m_dt + m_data[i]; - - m_system (m_k[1], m_k[0]); - for (int i = 0; i != m_num_eq; ++i) - m_data[i] += m_dt * m_k[1][i]; -} - - -void ode_base::rk4() -{ - m_system (m_k[0], m_data); - for (int i = 0; i != m_num_eq; ++i) - { - m_k[0][i] *= m_dt; - m_tmp[i] = m_data[i] + 0.5 * m_k[0][i]; - } - - m_system (m_k[1], m_tmp); - for (int i = 0; i != m_num_eq; ++i) - { - m_k[1][i] *= m_dt; - m_tmp[i] = m_data[i] + 0.5 * m_k[1][i]; - } - - m_system (m_k[2], m_tmp); - for (int i = 0; i != m_num_eq; ++i) - { - m_k[2][i] *= m_dt; - m_tmp[i] = m_data[i] + m_k[2][i]; - } - - m_system (m_k[3], m_tmp); - for (int i = 0; i != m_num_eq; ++i) - m_k[3][i] *= m_dt; - - for (int i = 0; i != m_num_eq; ++i) - m_data[i] += (m_k[0][i] + 2. * (m_k[1][i] + m_k[2][i]) + m_k[3][i]) - / 6.; -} |