Using Sundials cvode solver

32 views (last 30 days)
Deepa Maheshvare
Deepa Maheshvare on 10 Oct 2023
Answered: Mike Croucher on 17 Apr 2024 at 16:37
Hi All,
I'm currently using ode15s to solve a set of stiff differential equations.
[t, species] = ode15s(@(t,s) factory(t,s), tspan , species0, options);
I would like to try solving the same set of odes using the CVODE solver in Sundials.
I checked some examples which show how to specify the solver type and use Sundials.
configsetObj = getconfigset(modelObj);
configsetObj.SolverType = 'sundials';
configsetObj.MaximumWallClock = 30;
configsetObj.MaximumNumberOfLogs = 100;
configsetObj.StopTime = 10;
[time, states] = sbiosimulate(modelObj);
plot(time,states)
I would like to know how modelObj should be defined.
  5 Comments
Deepa Maheshvare
Deepa Maheshvare on 12 Oct 2023
Thank you for the reponse.
I hope I could get some suggestions from the others.
Star Strider
Star Strider on 12 Oct 2023
I had to look that up. I found SUNDIALS Solvers as the only relevant documentation. I get the impression that these are stand-alone routines, however I have not explored the LLNL documentation for the software.

Sign in to comment.

Answers (2)

Aditya
Aditya on 27 Oct 2023
Hi Deepa,
I understand that you want to solve set of stiff differential equations using the CVODE solver in Sundials and need help defining the modelObj for it.
To convert your ODE model to SimBiology, you can follow a direct approach by converting each differential equation into a rate rule. You can find an example of that here:
In addition, I recommend checking out the following resources to understand how to define a model object according to your specific needs.
Hope this helps!

Mike Croucher
Mike Croucher on 17 Apr 2024 at 16:37

Categories

Find more on Extend Modeling Environment in Help Center and File Exchange

Products


Release

R2023b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!