Issue/feature addressed
-
DisContField::v_HelmSolve()
cannot work normally for periodic boundary conditions. - When enable
SetupJustDG
, adjacent elements are not set form_bndcondExpansions
, which may be used later. - Inconsistent treatment of 1D and 2D/3D expansions in
DisContField::v_GetBoundaryToElmtMap
may cause error when setting up adjacent elements form_bndcondExpansions
. See #318 (closed) .
Proposed solution
See below.
Implementation
- During the BCs treatment in v_HelmSolve, skip the increment of
cnt
if current BC is periodic, so thatcnt + j
correctly point to the desired location inbndCondMap
. - Place the code block which sets up
m_bndcondExpansions
's adjacent elements before theif (SetUpJustDG)
block. - Make 1D exp treatment consistent with 2D and 3D exp treatment in
DisContField::v_GetBoundaryToElmtMap
.
Tests
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
Notes
These modification enables further application of HDG helmholtz solver. For example, a HDG incNS solver.
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).