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 90
    • Issues 90
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
  • Merge requests 60
    • Merge requests 60
  • 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
  • !1483

WIP: Add IProductWRTDerivBase operator to ExpListHomogeneous1D

  • Review changes

  • Download
  • Email patches
  • Plain diff
Open Henrik Wustenberg requested to merge feature/3DH1D-IProductWRTDerivBase into master Jan 25, 2023
  • Overview 0
  • Commits 6
  • Changes 7

Issue/feature addressed

The IProductWRTDerivBase operator is not implemented for 3DH1D or 3DH2D settings. It is used in the IncNavierStokesSolver for the EQTYPE VCSWeakPressure and required for VCSImplicit (see !1475).

Proposed solution

Define the operator as virtual in the ExpList class and re-implement it in the child class ExpListHomogeneous1D (the base class for all problems with one homogeneous direction).

Implementation

The function is based on the ExpListHomogeneous1D::PhysDeriv and IProductWRTBase implementation. It uses the 2D (PhysSpace) IProductWRTDerivBase operator on individual m_planes for the x- and y-direction. Subsequently, it adds the homogeneous derivative via a call to IProductWRTBase, multiplies by the Fourier coefficient i \beta k and switches Real-Imaginary modes to account for multiplication by imaginary unit i.

Tests

  • 3DH1D Kovasznay flow flipped on side i.e. pressure varies in (homogeneous) z-direction (- 3DH2D Kovasznay flow, should add this to ExpListHomogeneous2D for completeness)

Suggested reviewers

  • Dave Moxey
  • Spencer Sherwin
  • Mohsen Lahooti

Notes

  • The function is tested for ContField classes, however, not on the parent classes DisContField.

Checklist

  • Functions and classes, or changes to them, are documented.
  • User guide/documentation is updated.
  • Changelog is updated.
  • Suitable tests added for new functionality.
  • Contributed code is correctly formatted. (See the contributing guidelines).
  • License added to any new files.
  • No extraneous files have been added (e.g. compiler output or test data files).
Edited Mar 06, 2023 by Henrik Wustenberg
Assignee
Assign to
Reviewer
Request review from
Time tracking
Source branch: feature/3DH1D-IProductWRTDerivBase