On 10/7/21 4:01 PM, bob bill wrote:
>
> > For example, it is possible that ARKODE allows specifying that
> certain solution vector entries
> have certain values (namely, the corresponding boundary values).
>
> Are you referring to this one, where a solution vector /sol /is passed
No, I think this function has nothing to do with it.
> I am honestly a bit puzzled as I don't know how to use properly the
> interface in this particular case, even if I know what should be done,
> like in step-26. For instance, how can I set the solution vector /sol
> /in that function to the boundary values?
You might want to take a look at how step-77 deals with boundary values.
There, we do this as part of the function that solves the linear system
in each Newton step. For ARKODE, you *can* but don't *have to* write
such a function, but if you do as shown in the documentation of the IDA
integrator (and likely applicable to the ARKODE integrator as well),
then you have the opportunity to apply boundary values to where you are
solving the linear system.
I can't seem to find the examples I have in mind. It is likely that I
read this in the SUNDIALS manual and that we simply do not implement
interfaces to all parts of SUNDIALS' sub-packages. But if you look
through the SUNDIALS manuals, there are options for time integrators to
*require* that certain components of the solution vector have certain
values at each time step, or that they satisfy inequalities. You might
want to check the SUNDIALS manual and then think about whether that's
something that would be relatively easy to add to our interfaces.
Best
W.