Difference between revisions of "STEM Solvers"
From Eclipsepedia
Line 4:  Line 4:  
}  }  
−  When you create a new scenario in STEM, you need to specify which solver to use. A solver is simply the method used to determine how the state of a simulation changes from one time step to the next. Models for populations and diseases in STEM are all designed to carry out this change or  +  When you create a new scenario in STEM, you need to specify which solver to use. A solver is simply the method used to determine how the state of a simulation changes from one time step to the next. Models for populations and diseases in STEM are all designed to carry out this change or derivative calculation given a current state. How the derivative is applied to determine the next state is where solvers differ. 
== Available solvers ==  == Available solvers ==  
=== Finite Difference ===  === Finite Difference ===  
−  The finite difference solver  +  The finite difference solver is the most straightforward (and most efficient) solver available. It's using Euler's method and simply estimates the next parameter value from the current value plus the derivative: 
+  
+  y(t+h) = y(t) +h*y'(t)  
[[Image:FiniteDifferenceFigure.png800px]]  [[Image:FiniteDifferenceFigure.png800px]]  
=== Runge Kutta CashKarp ===  === Runge Kutta CashKarp ===  
=== Dormand Prince ===  === Dormand Prince === 
Revision as of 18:13, 12 January 2012

When you create a new scenario in STEM, you need to specify which solver to use. A solver is simply the method used to determine how the state of a simulation changes from one time step to the next. Models for populations and diseases in STEM are all designed to carry out this change or derivative calculation given a current state. How the derivative is applied to determine the next state is where solvers differ.
Available solvers
Finite Difference
The finite difference solver is the most straightforward (and most efficient) solver available. It's using Euler's method and simply estimates the next parameter value from the current value plus the derivative:
y(t+h) = y(t) +h*y'(t)