runOndselPiston, runPiston execute correctly

This commit is contained in:
Aik-Siong Koh
2023-06-30 19:48:30 -06:00
parent c30ee64b89
commit cb27f2344b
154 changed files with 2786 additions and 1605 deletions

View File

@@ -6,28 +6,28 @@
using namespace MbD;
void MbD::IntegratorInterface::initializeGlobally()
void IntegratorInterface::initializeGlobally()
{
tstart = system->startTime();
hout = system->outputStepSize();
hmax = system->maxStepSize();
hmin = system->minStepSize();
tout = system->firstOutputTime();
tend = system->endTime();
direction = (tstart < tend) ? 1.0 : -1.0;
tstart = system->startTime();
hout = system->outputStepSize();
hmax = system->maxStepSize();
hmin = system->minStepSize();
tout = system->firstOutputTime();
tend = system->endTime();
direction = (tstart < tend) ? 1.0 : -1.0;
}
void MbD::IntegratorInterface::setSystem(Solver* sys)
void IntegratorInterface::setSystem(Solver* sys)
{
system = static_cast<SystemSolver*>(sys);
}
void MbD::IntegratorInterface::logString(std::string& str)
void IntegratorInterface::logString(std::string& str)
{
system->logString(str);
}
void MbD::IntegratorInterface::run()
void IntegratorInterface::run()
{
this->preRun();
this->initializeLocally();
@@ -40,12 +40,37 @@ void MbD::IntegratorInterface::run()
this->postRun();
}
int MbD::IntegratorInterface::orderMax()
int IntegratorInterface::orderMax()
{
return system->orderMax;
}
void MbD::IntegratorInterface::incrementTime(double tnew)
void IntegratorInterface::incrementTime(double tnew)
{
system->settime(tnew);
}
void IntegratorInterface::postFirstStep()
{
assert(false); //Not used.
//system->postFirstStep();
//if (integrator->istep > 0) {
// //"Noise make checking at the start unreliable."
// this->checkForDiscontinuity();
//}
//this->checkForOutputThrough(integrator->t);
}
void IntegratorInterface::interpolateAt(double tArg)
{
//"Interpolate for system state at tArg and leave system in that state."
assert(false);
//auto yout = integrator->yDerivat(0, tArg);
//auto ydotout = integrator->yDerivat(1, tArg);
//auto yddotout = integrator->yDerivat(2, tArg);
//system->time(tArg);
//system->y(yout);
//system->ydot(ydotout);
//system->yddot(yddotout);
//system->simUpdateAll();
}