Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Passing integration parameters between C/Python clients and implementations #732

Merged
merged 81 commits into from
Jul 9, 2024

Conversation

dmitry-kabanov
Copy link
Collaborator

This PR adds a new method set_integrator to the IVP interface that allows to choose a particular integrator from an IVP implementation and set its parameters.

For example, scipy_ode IVP implementation allows setting multiple integrators (dopri5, vode, etc.) and their respective parameters or sundials_cvode allows choosing between BDF and Adams method to solve stiff/nonstiff problems. Hence, the need for such a method.

Parameters are passed with the help of a newly added OIF data type OIF_CONFIG_DICT along with a supporing C data structure OIFConfigDict that contains the data in C and supports serialization/deserialization to pass data between different languages.

As users can choose which actual solver they want to use,
it makes sense to name the implementation in a more generic way.
The callee should be responsible for freeing the memory
as it is up to them when the passed configuration options
are used.
@dmitry-kabanov dmitry-kabanov force-pushed the choose-another-method branch from ae8f58b to 8f4a5c1 Compare July 9, 2024 13:47
@dmitry-kabanov dmitry-kabanov merged commit c15529e into MaRDI4NFDI:main Jul 9, 2024
4 checks passed
@dmitry-kabanov dmitry-kabanov deleted the choose-another-method branch July 9, 2024 14:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant