Skip to content

Re-implement the Matlab interface #32

@bryanwweber

Description

@bryanwweber

Idea

We currently have a MATLAB interface to the C++ core library, based on the mex extension interface, but it is difficult to maintain. We would like to look at ways of replacing this interface. Options under consideration include using the loadlibrary interface to more directly call Cantera's C wrapper functions, by using MATLAB to import/call the Python interface, or by using the direct C++ support in MATLAB (added in R2019a, https://www.mathworks.com/help/releases/R2019a/matlab/call-cpp-library-functions.html).

In all of these cases, we would like to support some level of autogeneration of the interface to help maintainability.

Other tasks:

  • Redesign the interface using new-style classes, and use the 'loadlibrary' interface to the Cantera library instead of the 'ctmethods' MEX interface. Proof of concept
  • Eliminate the incomplete Matlab 1D toolbox
  • Make the Matlab test suite more comprehensive (ideally as part of redesigning the Matlab interface)

Difficulty

Hard

Required Knowledge

C/C++/Matlab or Matlab/Python, depending on which option is pursued

Mentors

@decaluwe

References

Related issues link at Cantera/cantera. Supersedes #7.

Metadata

Metadata

Assignees

No one assigned

    Labels

    gsoc-ideawork-in-progressAn enhancement that someone is currently working on

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions