Subject: Re: [Boost-bugs] [Boost C++ Libraries] #10946: Add dt to system arguments
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2015-01-29 21:29:57
#10946: Add dt to system arguments
--------------------------------+----------------------
Reporter: ilja.j.honkonen@⦠| Owner: karsten
Type: Feature Requests | Status: assigned
Milestone: To Be Determined | Component: odeint
Version: Boost 1.57.0 | Severity: Problem
Resolution: | Keywords:
--------------------------------+----------------------
Comment (by ilja.j.honkonen@â¦):
> Do you think it is possible to use your suggestion with Runge Kutta
methods?
Should be possible as eqs 25 and 26 only present the accelerator. Instead
of
(h)ttps://github.com/nasailja/pamhd/blob/master/tests/particle/odeint.cpp#L70
the acceleration step would be
(h)ttps://github.com/nasailja/pamhd/blob/master/source/particle/solve.hpp#L79
Currently the problem is that the former using rkf78 allows long steps but
still conserves particle energy worse than the latter with any step size
while the latter requires very short steps in order to get a reasonable
particle trajectory.
I thought about this a bit more and basically at the moment odeint assumes
that there is a linear relation between time step and the resulting change
but I guess there are many cases where this doesn't hold. One that came to
mind is corner transport when solving the advection equation in multiple
dimensions. First hit on google has a nice picture (6.2):
(h)ttp://ocw.mit.edu/courses/earth-atmospheric-and-planetary-
sciences/12-950-atmospheric-and-oceanic-modeling-spring-2004/lecture-
notes/lec10.pdf In that case it might not be too difficult to come up with
a dt-less solver but with more dimensions and complex geometries that will
quickly become not worth the trouble.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/10946#comment:3> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:17 UTC