141 { { 0., 0., 0., 0. },
145 { 3./ 2., -1./ 2., 0., 0. },
147 { 23./12., -16./12., 5./12., 0. },
149 { 55./24., -59./24., 37./24., -9./24.} };
153 phase->m_order = order;
155 std::string(
"AdamsBashforthOrder" + std::to_string(phase->m_order));
157 phase->m_numsteps = phase->m_order;
158 phase->m_numstages = 1;
175 phase->m_B[0][0][0] = coefficients[phase->m_order][0];
178 if (phase->m_order > 1)
180 phase->m_B[0][1][0] = 1.0;
184 phase->m_U[0][0] = 1.0;
185 phase->m_V[0][0] = 1.0;
188 for (
size_t n = 1; n < phase->m_order; ++n)
190 phase->m_V[0][n] = coefficients[phase->m_order][n];
194 for (
size_t n = 2; n < phase->m_order; ++n)
196 phase->m_V[n][n - 1] = 1.0;
199 phase->m_numMultiStepValues = 1;
200 phase->m_numMultiStepImplicitDerivs = 0;
201 phase->m_numMultiStepExplicitDerivs = phase->m_order - 1;
203 phase->m_timeLevelOffset[0] = 0;
206 for (
size_t n = 1; n < phase->m_order; ++n)
208 phase->m_timeLevelOffset[n] = n;
211 phase->CheckAndVerify();