Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in / Register
  • Nektar Nektar
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 85
    • Issues 85
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
  • Merge requests 61
    • Merge requests 61
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Nektar
  • NektarNektar
  • Merge requests
  • !1337

Parallelise pulse wave solver and tidy up communicators

  • Review changes

  • Download
  • Email patches
  • Plain diff
Open Spencer Sherwin requested to merge feature/Parallel_PulseWave into master May 05, 2022
  • Overview 31
  • Commits 29
  • Pipelines 8
  • Changes 129

Issue/feature addressed

Extend pulse wave solver to work in parallel.

Proposed solution

Implement parallelisation over multiple ExpLists

Implementation

The development requires two key developments:

  1. cleaning up the communicators. Currently the implementation passes the global communicator (typically held in session reader) to the ExpList. This works fine for a solver using a single domain containing ExpLists that span the whole domain. However in the Pulse Wave Solver we have a number of number of different 1D domains each of which have an ExpList that are connected by a specialised Riemann solver. It is therefore necessary to provide the ExpList with the correct communicators.

  2. The explicit implementation first solvers a specialised Riemann problem at the bifurcations which are then used as boundary conditions for each vessel. Care needs to be taken in the pattern parallel communication for the bifurcation communication otherwise it is possible to have a communication lock.

Tests

Parallel tests have been added based on the existing serial tests.

Notes

Please add any other information that could be useful for reviewers.

Checklist

  • Functions and classes, or changes to them, are documented.
  • User guide/documentation is updated.
  • Changelog is updated.
  • Suitable tests added for new functionality.
  • Newly added files are correctly formatted.
  • License added to any new files.
  • No extraneous files have been added (e.g. compiler output or test data files).
Edited May 12, 2022 by Spencer Sherwin
Assignee
Assign to
Reviewer
Request review from
Time tracking
Source branch: feature/Parallel_PulseWave