Skip to content

Infinite Final Time BVP #253

@ErikQQY

Description

@ErikQQY

Infinite final time BVP can be a great feature for the next step of BoundaryValueDiffEq.jl, and I am planning to implement this but need some discussion about some things I have been wondering about these days.

While we already have MIRK and FIRK methods implemented, to support solving infinite final time BVP would be choosing an appropriate transformation that could map $[a, \infty]$ to $[0, 1]$ and then carry out the collocation on $[0, 1]$, after the collocation is done, we may need to transform back to the original infinite time span. The algorithms may seem easy on first thoughts, but there is something I have in mind to seek advice:

  1. While the boundary conditions we are currently using are kind of a "black box" thing, we pass in the solutions during Newton iteration as input and get the residuals as output, which have limited information on where the side conditions are, and situation only got worse when the problem is a generalized multi-point BVP. Even if we are doing fine with the current statement of boundary conditions, when it comes to the boundary conditions in infinity, this convention is really a trouble. While many mature solvers in FORTRAN or MATLAB also require explicit statements for the side conditions, whether we should also extend the problem definition and take explicitly-stated side conditions into consideration?

  2. This may be a solver-specific question, but since the transformation is vital in solving the infinite free final time BVP, and I have checked BVPSUITE has utilized a $z(t)=\tilde{z}(\frac{a}{t})$ transformation, when it comes to final free time BVP on $[0, \infty]$, it would split the interval into $[0, 1]$ and $[1, \infty]$, and do a direct collocation and tranformation-collocation-transformation separately on these two intervals, which is troublesome, so maybe we can just using like transformations like $z(t) = \tilde{z}(\frac{1}{1+t})$ to avoid splitting(which also need to consider the smooth of f at 1 to ensure the final smooth solution)? And since the solution may differ with the different transformation, do we also need to support user-defined transformations?

Some useful literatures:

https://www.researchgate.net/publication/318167546_BVPs_on_infinite_intervals_A_test_problem_a_nonstandard_finite_difference_scheme_and_a_posteriori_error_estimator

BVPsuite 2.0 – a new version of a collocation code for singular BVPs in ODEs, EVPs and DAEs

https://github.com/NumODEsTUW/bvpsuite2.0

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions