Ejemplo n.º 1
0
 def CalculateOneAdaptiveTimeStep(self,state,flux,t,dt,scale,dynamics):
     if self.PIStepsizeControl == True:
         performedTimeStep, nextTimeStep, time, state, errmax = NumericalMethods.rkqs(state,flux,t,dt,self.eps,scale,dynamics,
                                              self.PIStepsizeControl,self.pre_errmax)
         self.pre_errmax = errmax
         return performedTimeStep, nextTimeStep, time, state
     else:
         return NumericalMethods.rkqs(state,flux,t,dt,self.eps,scale,dynamics)
Ejemplo n.º 2
0
 def CalculateOneAdaptiveTimeStep(self,state,flux,t,dt,scale,dynamics):
     correction = self.SymmetricCorrection(state)
     if self.PIStepsizeControl == True:
         performedTimeStep, nextTimeStep, time, newstate, errmax = NumericalMethods.rkqs(state,flux,t,dt,self.eps,scale,dynamics,
                                                 self.PIStepsizeControl,self.pre_errmax)
         self.pre_errmax = errmax
         return performedTimeStep, nextTimeStep, time, newstate+correction
     else:
         performedTimeStep, nextTimeStep, time, newstate = NumericalMethods.rkqs(state,flux,t,dt,self.eps,scale,dynamics)
         return performedTimeStep, nextTimeStep, time, newstate+correction
    def CalculateOneAdaptiveTimeStep(self,state,flux,t,dt,scale,dynamics):
        if self.PIStepsizeControl == True:
            performedTimeStep, nextTimeStep, time, newstate, errmax = NumericalMethods.rkqs(state,flux,t,dt,self.eps,scale,dynamics,
										            self.PIStepsizeControl,self.pre_errmax)
            self.pre_errmax = errmax
            if self.CheckInstability(newstate) == False:
                FieldInitializer.SaveNumpyFileFromState(newstate,self.filename)  
                self.stop = True 
            return performedTimeStep, nextTimeStep, time, newstate
        else:
            performedTimeStep, nextTimeStep, time, newstate = NumericalMethods.rkqs(state,flux,t,dt,self.eps,scale,dynamics)
            if self.CheckInstability(newstate) == False:
                FieldInitializer.SaveNumpyFileFromState(newstate,self.filename)  
                self.stop = True 
            return performedTimeStep, nextTimeStep, time, newstate