There are several libraries for computing branches of steady states of dynamical systems, e.g. LOCA (http://www.cs.sandia.gov/LOCA/) for large-scale problems like nonlinear PDEs. The core algorithms typically are (pseudo-)arclength continuation, Newton-Krylov methods and (sparse) eigenvalue solvers. While LOCA includes some basic techniques for computing bifurcation points and switching branches, the exploration of a complete bifurcation diagram still takes a lot of programming effort and manual interference. On the other hand, recent developments in algorithms for fully automatic exploration are condensed in a Python tool called PyNCT (https://pypi.org/project/PyNCT/). The scope of this algorithmically versatile software is, however, limited to relatively small (e.g. 2D) problems because of the lack of a high-performance linear algebra implementation of the numerical core. In this talk we aim to combine the best of both worlds: a high-level implementations of algorithms in PyNCT with parallel models and linear algebra implemented in Trilinos (LOCA/Epetra). PyNCT is extended to non-symmetric systems and its complete backend is replaced by the phist library (https://bitbucket.org/essex/phist), which allows straight-forwared coupling to Epetra and PDE models implemented originally for LOCA. We apply the new code to reaction-diffusion and fluid dynamics models in three space dimensions to demonstrate its potential. By combining state-of-the-art automatic continuation algorithms from PyNCT with high-performance solvers and preconditioners from phist and Trilinos, we show that fully automatic bifurcation analysis on HPC systems is possible.


    Access

    Download


    Export, share and cite



    Title :

    Towards automatic exploration of bifurcation diagrams for large-scale applications


    Contributors:

    Conference:

    2019 ; Egmont aan Zee, the Netherlands


    Publication date :

    2019-10-01


    Type of media :

    Conference paper


    Type of material :

    Electronic Resource


    Language :

    German