Comments (6)
For reference, the boost Steppers are:
- Euler
- Modified Midpoint
- Runge-Kutta 4
- Runge-Kutta Cash-Karp 54
- Runge-Kutta Dopri5
- Runge-Kutta-Fehlberg 78
- Adams-Bashforth
- Adams-Bashforth-Moulton
- Bulirsch-Stoer
- Implicit Euler
- Rosenbrock 4
- Symplectic Euler
- Symplectic RKN McLachlan
- Velocity Verlet
Additionally they have controlled and dense output forms of these.
from forest.
Do we plan on requiring Boost or do we want to allow use of other packages such as SUNDIALS... 😅
from forest.
I'm definitely interested in exploring other options. The "choice" of boost so far is an inherited one from prior work, not for any specific reason. I guess we need to learn enough about what options are out there to make an informed choice as to which one is "best" for our project - or if there is a use case for supporting more than one. Some considerations that go along with any potential choices are understanding licensing, minimum supported c++ versions, and perhaps (eventually) benchmarks to see if there is a speed increase.
Exploring other underlying integration implementations is could also be a 2.0 task. Maybe we should prioritize getting the project up and running with boost, and then later revisit that choice and evaluate how we might improve it
from forest.
I think that sticking to boost at this point is a good call, but I think that we should try to design an abstraction around the integrator.
from forest.
That sounds good. The current prototype has some repeated code anyway in that regard for converging events, so a degree of abstraction there would be helpful regardless of what other options we pursue
from forest.
@rjpower4 I'm guessing you know a ton more about these options off the cuff than I do, so I'm wondering what insight you may have about them. I currently use Runge-Kutta-Fehlberg 78 exclusively. What sorts of motivations are there for the others? I think maybe, for now, we should have specific reasons for whichever ones we choose to initially support.
from forest.
Related Issues (17)
- Implement C++ unit testing framework HOT 1
- Research/document desired functionality of MATLAB integrators HOT 1
- Research/document desired functionality of Python (scipy) integrators HOT 8
- Set up infrastructure for code documentation HOT 3
- Outline API structure for dynamical model integration HOT 2
- Create project structure with build tools HOT 4
- Detail coding standards (C++/CMAKE/Python/pybind11) HOT 11
- Implement CR3BP propagation
- Implement BCR4BP propagation
- Define event function API
- Finalize CSPICE build process HOT 2
- Select project management/collaboration tools HOT 9
- Set up Wiki HOT 4
- Flesh out README.md
- Intellectual property policy - Purdue University HOT 10
- Gather helpful development resources HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from forest.