Coder Social home page Coder Social logo

numodestuw / bvpsuite2.0 Goto Github PK

View Code? Open in Web Editor NEW
3.0 2.0 1.0 1.52 MB

Matlab Code for Boundary Value Problems in (singular/regular) nonlinear ODEs

License: BSD 2-Clause "Simplified" License

MATLAB 100.00%
odes daes boundary-value-problems eigenvalueproblems nonlinear pathfollowing semi-infinite-intervals parameters collocation collocation-method

bvpsuite2.0's Introduction

BVPSUITE2.0

Scope of bvpsuite2.0

The package bvpsuite2.0 has been developed at the Institute for Analysis and Scientific Computing, Vienna University of Technology, and can be used for the numerical solution of implicit boundary value problems (BVPs) in singular and regular ordinary differential equations (ODEs) as well as eigenvalue problems (EVPs), and Index-1 Differential-Algebraic Equations (DAEs). The ODE system can have a general implicit form and be of mixed order [1] subject to multi-point boundary conditions (BCs). Furthermore the interval can be finite or semi-infinite [2]. The BVP may also include unknown parameters to be calculated together with the unknown solution, in which case additional boundary conditions are required. Moreover, in the scope of the code are parameter-dependent problems, where a path in the solution-parameter space is to be followed. This path may feature turning points bvpsuite2.0 is a product of years of research at the Institute for Analysis and Scientific Computing on the analysis and numerical solution of ODEs with time and space singularities. Through the years, the code evolved from sbvp, a collocation code for explicit singular ODEs of the first order, to bvpsuite1.1, which can also handle explicit and implicit problems of arbitrary order, to bvpsuite2.0, which improves on usability and readability of the code. The code in the package is now structured in a simpler modular form.


  1. The highest involved derivative may vary with the solution component and it can also be zero, which means that algebraic constraint which do not involve derivatives are also admitted. ↩︎
  2. [a, ∞), where a ≥ 0 and Dirichlet-type boundary conditions are posed at infinity. ↩︎

Solver

As in the previous versions of the code, collocation is used for the numerical solution of the underlying boundary value problems. A collocation solution is a piecewise polynomial function which satisfies the given ODE at a finite number of nodes (collocation points). This approach shows advantageous convergence properties compared to other direct higher order methods (see link 1). However, the superconvergence in the context of collocation applied to singular problems can not be guaranteed in general, see for example link 2 and link 3. Our estimate for the global error of the collocation solution is a classical error estimate based on mesh halving. To make the computations more efficient, an adaptive mesh selection strategy based on the control of residual and the global error estimate has been implemented. A detailed description of this mesh selection algorithm is given in link 4.
A flowchart of the code:

bvpsuite2.0_flowchart.png

and of the pathfollowing case:

bvpsuite2.0pathfollowing_flowchart.png

How to get started using bvpsuite2.0

The manual aims to help users to get started with the computations of their own problems with bvpsuite2.0.
At the beginning of the second section of the manual, bvpsuite2.0 is used to compute the solution of a simple example. Then the model problem in a general form, for which bvpsuite2.0 can find approximate solutions, is presented. Afterwards, the input arguments and also the output of the function call are briefly discussed.
Finally, in the third and final section, we present a few examples of BVPs to highlight some of the features of the seven modules of the code.



Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.