126.96.36.199.2. Implementing an MRIStepInnerStepper
To create an MRIStepInnerStepper implementation:
Define the stepper-specific content.
This is typically a user-defined structure in C codes, a user-defined class or structure in C++ codes, or a user-defined module in Fortran codes. This content should hold any data necessary to perform the operations defined by the
Define implementations of the required member functions (see §188.8.131.52.1.2).
These are typically user-defined functions in C, member functions of the user-defined structure or class in C++, or functions contained in the user-defined module in Fortran.
Note that all member functions are passed the
MRIStepInnerStepperobject and the stepper-specific content can, if necessary, be retrieved using
In the user code, before creating the MRIStep memory structure with
MRIStepCreate(), do the following:
Attach a pointer to the stepper content to the
MRIStepInnerStepper_SetContent()if necessary, e.g., when the content is a C structure.
Attach the member function implementations using the functions described in §184.108.40.206.1.1.3.
MRIStepInnerStepperobject to the MRIStep memory structure with
For an example of creating and attaching a user-defined inner stepper see
the example code
where CVODE is wrapped as an