Git Product home page Git Product logo

mathybperf's Introduction

Performance experiments for fully matrix-free high order hybridised compatible FEM

Poisson problems need to be solved in various physical setups. One of them is the Navier-Stokes equations: If the time derivative in the incompressible Navier-Stokes equations is solved with a predictor-evaluation-corrector scheme, a Poisson problem has to be solved at every time step for updating the pressure with the velocity prediction. The Poisson problem for the pressure can be rewritten into a mixed system by introduction of a flux variable. If the mixed spaces are chosen in a compatible way this has advantages, e.g. the conversation of some physical quantities. Mixed Poisson problems are difficult to solve because a) they have saddle-point structure and are indefinite and b) they are globally coupled and the condition number of the operator grows when refining its approximation. Hybridisation is used to remove most of the global coupling.

Hybridisation on high order FEM requires matrix-free infrastructure. The required code gen has been newly introduced in Firedrake and is tested for performance in this repo.

The mixed Poisson problem is solved with different solver setups, in most cases with a hybridisation preconditioner, but also with a PETSc fieldsplit preconditioner for a reference. Further, Gopalakrishnan-Tan multigrid (GTMG), which is expected to be a robust preconditioner for the trace system solve with respect to an increasing approximation degree, is investigated.

Different solver setups are compared, evaluating both runtime and the iteration count required for a converged solution. Further, the solvers are evaluated and compared with help of the Time-Size-Accuracy (TAS) spectrum. The spectrum is useful to compare different algorithms and discretisations considering accuracy and throughput rate on top of time-to-solution.

The data lies in performance/results and performance/flames. The results can be found in performance/plots.

All tests are verified in the actions. A validation should be added in the future.

mathybperf's People

Contributors

sv2518 avatar

Stargazers

 avatar

Watchers

 avatar  avatar

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.