Exemplo n.º 1
0
bool FGFDMExec::Run(void)
{
  bool success=true;

  Debug(2);

  for (unsigned int i=1; i<ChildFDMList.size(); i++) {
    ChildFDMList[i]->AssignState( (FGPropagate*)Models[ePropagate] ); // Transfer state to the child FDM
    ChildFDMList[i]->Run();
  }

  IncrTime();

  // returns true if success, false if complete
  if (Script != 0 && !IntegrationSuspended()) success = Script->RunScript();

  for (unsigned int i = 0; i < Models.size(); i++) {
    LoadInputs(i);
    Models[i]->Run(holding);
  }

  if (ResetMode) {
    unsigned int mode = ResetMode;

    ResetMode = 0;
    ResetToInitialConditions(mode);
  }

  if (Terminate) success = false;

  return success;
}
Exemplo n.º 2
0
void FGFDMExec::ResetToInitialConditions(int mode)
{
  if (mode == 1) {
    for (unsigned int i=0; i<Outputs.size(); i++) {
      Outputs[i]->SetStartNewFile(true);
    }
  }

  ResetToInitialConditions();
}
NhsContractionModel::NhsContractionModel()
    :   AbstractOdeBasedContractionModel(5) // five state variables
{
    mpSystemInfo = OdeSystemInformation<NhsContractionModel>::Instance();
    ResetToInitialConditions();

    mLambda = 1.0;
    mDLambdaDt = 0.0;
    mCalciumI = 0.0;

    // Initialise mCalciumTrop50!!
    CalculateCalciumTrop50();

    double zp_to_n_plus_K_to_n = SmallPow(mZp,mNr) + SmallPow(mKZ,mNr);

    mK1 = mAlphaR2 * SmallPow(mZp,mNr-1) * mNr * SmallPow(mKZ,mNr);
    mK1 /= zp_to_n_plus_K_to_n * zp_to_n_plus_K_to_n;

    mK2 = mAlphaR2 * SmallPow(mZp,mNr)/zp_to_n_plus_K_to_n;
    mK2 *= 1 - mNr*SmallPow(mKZ,mNr)/zp_to_n_plus_K_to_n;
}
Exemplo n.º 4
0
 Ode1() : AbstractOdeSystem(1) // 1 here is the number of variables
 {
     mpSystemInfo = OdeSystemInformation<Ode1>::Instance();
     ResetToInitialConditions();
 }
void AbstractCardiacCell::Init()
{
    ResetToInitialConditions();
    mParameters.resize(rGetParameterNames().size());
}
Exemplo n.º 6
0
 SimpleOde2() : AbstractOdeSystem(1) // 1 here is the number of variables
 {
     mpSystemInfo = OdeSystemInformation<SimpleOde2>::Instance();
     ResetToInitialConditions();
     mParameters.resize(1);
 }
Exemplo n.º 7
0
 SimpleOde6() : AbstractOdeSystem(2) // 2 here is the number of variables
 {
     mpSystemInfo = OdeSystemInformation<SimpleOde6>::Instance();
     ResetToInitialConditions();
 }