Skip to content

Minor changes in DisContField to let v_HelmSolve work normally

BOYANG XIA requested to merge (removed):master into master

Issue/feature addressed

  1. DisContField::v_HelmSolve() cannot work normally for periodic boundary conditions.
  2. When enable SetupJustDG, adjacent elements are not set for m_bndcondExpansions, which may be used later.
  3. Inconsistent treatment of 1D and 2D/3D expansions in DisContField::v_GetBoundaryToElmtMap may cause error when setting up adjacent elements for m_bndcondExpansions. See #318 (closed) .

Proposed solution

See below.


  1. During the BCs treatment in v_HelmSolve, skip the increment of cnt if current BC is periodic, so that cnt + j correctly point to the desired location in bndCondMap.
  2. Place the code block which sets up m_bndcondExpansions's adjacent elements before the if (SetUpJustDG) block.
  3. Make 1D exp treatment consistent with 2D and 3D exp treatment in DisContField::v_GetBoundaryToElmtMap.


Current HDG Helmholtz solver still cannot accept periodic boundary conditions, due to the absence of periodic BC treatment for HDG. So, no relevant tests are added yet.

Suggested reviewers

David Moxey


These modification enables further application of HDG helmholtz solver. For example, a HDG incNS solver.


  • [ ] 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 by BOYANG XIA

Merge request reports