本文整理汇总了C++中SolarSystem::calculateRK4方法的典型用法代码示例。如果您正苦于以下问题:C++ SolarSystem::calculateRK4方法的具体用法?C++ SolarSystem::calculateRK4怎么用?C++ SolarSystem::calculateRK4使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SolarSystem
的用法示例。
在下文中一共展示了SolarSystem::calculateRK4方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
void RK4::integrate(std::valarray<double> &X, std::valarray<double> &V, double dt, SolarSystem mysystem, double G, double eps)
{
std::valarray<double> k1(1,6*mysystem.numberOfBodies());
std::valarray<double> k2(1,6*mysystem.numberOfBodies());
std::valarray<double> k3(1,6*mysystem.numberOfBodies());
std::valarray<double> k4(1,6*mysystem.numberOfBodies());
// RK4 integration using vector X from solarysystem class.
k1 = mysystem.calculateRK4(X, V, G, eps) * dt;
k2 = mysystem.calculateRK4(X + 0.5 * k1, V, G, eps) * dt;
k3 = mysystem.calculateRK4(X + 0.5 * k2, V, G, eps) * dt;
k4 = mysystem.calculateRK4(X + k3, V, G, eps) * dt;
X += (1.0/6) * (k1 + 2 * (k2 + k3) + k4);
}