Welcome Guest! To enable all features please Login. New Registrations are disabled.

Notification

Icon
Error

Login


Options
Go to last post Go to first unread
Offline uni  
#1 Posted : 19 January 2019 08:22:15(UTC)
uni


Rank: Advanced Member

Groups: Registered, Advanced Member
Joined: 10/11/2010(UTC)
Posts: 1,494
Man
Russian Federation

Was thanked: 1274 time(s) in 745 post(s)
OSLO - Open Solving Library for ODEs

SMath Studio compatibility SMath Viewer compatibility mono compatibility Extension page Sources


Functions list: RK547M(5), GearBDF(5)

RK547M(init, x1, x2, intvls, D) Implementation of Runge-Kutta algoritm with per-point accurancy control from Dormand and Prince article.
GearBDF(init, x1, x2, intvls, D) Implementation of Gear's BDF method with dynamically changed step size and order. Order changes between 1 and 3.

Arguments:

- init is either a vector of n real initial values, where n is the number of unknowns (or a single scalar initial value, in the case of a single ODE).
- x1 and x2 are real, scalar endpoints of the interval over which the solution to the ODE(s) is evaluated. Initial values in init are the values of the ODE function(s) evaluated at x1.
- intvls is the integer number of discretization intervals used to interpolate the solution function. The number of solution points is the number of intervals + 1.
- D is a vector function of the form D(x,y) specifying the right-hand side of the system

Options:

- AbsTol - absolute tolerance parameter, default value 10⁻⁷.
- RelTol - relative tolerance parameter, default value 10⁻⁴.
- MaxStep - maximal step value, default value x2-x1.

Links:

1. Open Solving Library for ODEs.
2. OSLO User Guide (pdf).

Open Solving Library for ODEs (OSLO) 1.0 User Guide.pdf (1,174kb) downloaded 29 time(s).

oslo.integrate.sm (11kb) downloaded 57 time(s).
oslo.kinetic1.sm (8kb) downloaded 46 time(s).
oslo.kinetic2.sm (12kb) downloaded 49 time(s).
oslo.kinetic3.sm (12kb) downloaded 45 time(s).
oslo.test1.sm (16kb) downloaded 39 time(s).
oslo.test2.sm (16kb) downloaded 42 time(s).
oslo.Amplitude detector.sm (21kb) downloaded 42 time(s).

oslo.integrate.pdf (89kb) downloaded 48 time(s).
oslo.kinetic1.pdf (76kb) downloaded 42 time(s).
oslo.kinetic2.pdf (92kb) downloaded 41 time(s).
oslo.kinetic3.pdf (86kb) downloaded 38 time(s).
oslo.test1.pdf (100kb) downloaded 37 time(s).
oslo.test2.pdf (102kb) downloaded 38 time(s).
oslo.Amplitude detector.pdf (150kb) downloaded 41 time(s).

See also:

Mathcad Toolbox
Intel ODE Solver Library
DotNumerics
SADEL
Matlab C++ Math Library
lsoda
GNU Scientific Library (GSL)

Edited by user 06 July 2022 14:51:03(UTC)  | Reason: Not specified

Russia ☭ forever
Viacheslav N. Mezentsev
thanks 5 users thanked uni for this useful post.
on 19/01/2019(UTC),  on 19/01/2019(UTC),  on 19/01/2019(UTC),  on 19/01/2019(UTC),  on 20/01/2019(UTC)

Wanna join the discussion?! Login to your SMath Studio Forum forum account. New Registrations are disabled.

Offline omorr  
#2 Posted : 19 January 2019 12:49:32(UTC)
omorr


Rank: Administration

Groups: Registered, Advanced Member
Joined: 23/06/2009(UTC)
Posts: 1,740
Man
Serbia

Was thanked: 318 time(s) in 268 post(s)
Hello uni,

Thank you for some more ODE solvers. However, I could not resist to mention my favorite db_GearsBDF() which can escape the problem when y2 approaches zero. I mentioned this stiff example long time ago and you were using it often (kinetic2.sm example here). Unfortunately, it seams GearBDF() from this plugin can not overcome zero values and gets into the negative ones like most of the solvers.

kinetic2.PNG

Regards,
Radovan
When Sisyphus climbed to the top of a hill, they said: "Wrong boulder!"
Offline uni  
#3 Posted : 19 January 2019 13:03:21(UTC)
uni


Rank: Advanced Member

Groups: Registered, Advanced Member
Joined: 10/11/2010(UTC)
Posts: 1,494
Man
Russian Federation

Was thanked: 1274 time(s) in 745 post(s)
Yes, weak solvers. There are some settings there, but I was not able to select them correctly for this task. Another strange problem with accuracy. Unlike other solvers, a smaller step is needed here. In general, there are questions to the developers (Microsoft Research and Moscow State University).
Not only dn_GearsBDF() can solve your task. Some other solvers have also achieved success. Still looking for the best. Not all solvers are still implemented, the test suite is also still small.
Russia ☭ forever
Viacheslav N. Mezentsev
thanks 3 users thanked uni for this useful post.
on 19/01/2019(UTC),  on 19/01/2019(UTC),  on 19/01/2019(UTC)
Offline Razonar  
#4 Posted : 20 January 2019 01:25:58(UTC)
Razonar


Rank: Advanced Member

Groups: Registered
Joined: 28/08/2014(UTC)
Posts: 1,356
Uruguay

Was thanked: 815 time(s) in 516 post(s)
Originally Posted by: uni Go to Quoted Post
... the test suite is also still small.


Hi Viacheslav. Maybe you're interested in check this matlab ode's:

http://people.sc.fsu.edu...c/test_ode/test_ode.html .

At the end, there are also png images for the plots.

Best regards.

Alvaro.

thanks 1 user thanked Razonar for this useful post.
on 20/01/2019(UTC)
Offline uni  
#5 Posted : 20 January 2019 03:01:03(UTC)
uni


Rank: Advanced Member

Groups: Registered, Advanced Member
Joined: 10/11/2010(UTC)
Posts: 1,494
Man
Russian Federation

Was thanked: 1274 time(s) in 745 post(s)
And another one: TEST SET FOR IVP SOLVERS.
Russia ☭ forever
Viacheslav N. Mezentsev
Offline omorr  
#6 Posted : 20 January 2019 10:39:23(UTC)
omorr


Rank: Administration

Groups: Registered, Advanced Member
Joined: 23/06/2009(UTC)
Posts: 1,740
Man
Serbia

Was thanked: 318 time(s) in 268 post(s)
Originally Posted by: uni Go to Quoted Post
And another one: TEST SET FOR IVP SOLVERS.


In this link it was mentioned about the book and packages made in R (Karline Soetaert et al). I was exposing my students to the R and some of their packages (deSolve, bvpSolve, rootSolve etc.) for few years now. I am really impressed by them. There are solvers for IVP, BVP, DAE, PDE etc. All my credits to the authors and their efforts. Surprisingly, there are quite a lot numerical packages in R which is considered to be mainly a statistical environment.

Regards,
Radovan
When Sisyphus climbed to the top of a hill, they said: "Wrong boulder!"
thanks 1 user thanked omorr for this useful post.
on 20/01/2019(UTC)
Offline Jean Giraud  
#7 Posted : 20 January 2019 16:42:43(UTC)
Jean Giraud

Rank: Guest

Groups: Registered
Joined: 04/07/2015(UTC)
Posts: 6,866
Canada

Was thanked: 981 time(s) in 809 post(s)
Originally Posted by: omorr Go to Quoted Post
In this link it was mentioned about the book and packages made in R (Karline Soetaert et al). I was exposing my students to the R and some of their packages (deSolve, bvpSolve, rootSolve etc.) for few years now. I am really impressed by them. There are solvers for IVP, BVP, DAE, PDE etc. All my credits to the authors and their efforts. Surprisingly, there are quite a lot numerical packages in R which is considered to be mainly a statistical environment.

Can't be more right Radovan: for using R, better be an R man
All those solvers fall in the category Lagrangian Methods quite evolved since CAS
Soon, there will be as many dedicated ODE solvers as they will be proved for
Physicals system to solve. dn_GearsBDF is a good companion for stiff systems,
and hyper fast [see comparison attached].


Jean

ODE HIRES.sm (58kb) downloaded 26 time(s).
Offline Jean Giraud  
#8 Posted : 20 January 2019 17:15:14(UTC)
Jean Giraud

Rank: Guest

Groups: Registered
Joined: 04/07/2015(UTC)
Posts: 6,866
Canada

Was thanked: 981 time(s) in 809 post(s)
... Legendre_Radau updated wrt local definition

ODE HIRES.sm (68kb) downloaded 30 time(s).
thanks 1 user thanked Jean Giraud for this useful post.
on 21/01/2019(UTC)
Offline Jean Giraud  
#9 Posted : 20 January 2019 23:44:58(UTC)
Jean Giraud

Rank: Guest

Groups: Registered
Joined: 04/07/2015(UTC)
Posts: 6,866
Canada

Was thanked: 981 time(s) in 809 post(s)
... thanks Radovan for the undocumented

ODE GearsBDF Undocumented.sm (10kb) downloaded 40 time(s).
thanks 1 user thanked Jean Giraud for this useful post.
on 21/01/2019(UTC)
Offline omorr  
#10 Posted : 21 January 2019 09:47:25(UTC)
omorr


Rank: Administration

Groups: Registered, Advanced Member
Joined: 23/06/2009(UTC)
Posts: 1,740
Man
Serbia

Was thanked: 318 time(s) in 268 post(s)
Originally Posted by: Jean Giraud Go to Quoted Post
... thanks Radovan for the undocumented

ODE GearsBDF Undocumented.sm (10kb) downloaded 40 time(s).


You are welcome Jean, and thank you. There is another one by uni - lsoda.

Regards,
Radovan
When Sisyphus climbed to the top of a hill, they said: "Wrong boulder!"
Offline Jean Giraud  
#11 Posted : 21 January 2019 22:50:46(UTC)
Jean Giraud

Rank: Guest

Groups: Registered
Joined: 04/07/2015(UTC)
Posts: 6,866
Canada

Was thanked: 981 time(s) in 809 post(s)
Originally Posted by: omorr Go to Quoted Post
You are welcome Jean, and thank you. There is another one by uni - lsoda.

Thanks Radovan,
As it looks, the previous 8 ODE from Viacheslav are all Isoda.
Do you feel comfortable to code Smath ?
An all version(s) compatible will enhance the native tiny Smath.
Naturally, Smath does not solve the "Pulse". Does not recognize F(t).

Cheers ... Jean

ODEpulse.PNG

Offline uni  
#12 Posted : 10 December 2021 08:53:59(UTC)
uni


Rank: Advanced Member

Groups: Registered, Advanced Member
Joined: 10/11/2010(UTC)
Posts: 1,494
Man
Russian Federation

Was thanked: 1274 time(s) in 745 post(s)
SMath Studio compatibility

Plugin updated.

Changes:

- added support for ODE systems in mathematical form;
- default value for MaxStep changed from h/2 to xmax-xmin;
- refactored.
Russia ☭ forever
Viacheslav N. Mezentsev
thanks 1 user thanked uni for this useful post.
on 10/12/2021(UTC)
Offline uni  
#13 Posted : 20 December 2021 22:18:54(UTC)
uni


Rank: Advanced Member

Groups: Registered, Advanced Member
Joined: 10/11/2010(UTC)
Posts: 1,494
Man
Russian Federation

Was thanked: 1274 time(s) in 745 post(s)
SMath Studio compatibility

Plugin updated.

Changes:

- solution restructured;
- converting the task for the ODE solver to the numerical form is now performed through the Mathcad Toolbox plugin (to avoid code duplication), so it must be installed;
- refactored.

Solvers that support mathematical notation now reuse code from the Mathcad Toolbox plugin. Now there is no need to recompile every such plugin.
Russia ☭ forever
Viacheslav N. Mezentsev
Users browsing this topic
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.