Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • hyteg hyteg
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 36
    • Issues 36
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 3
    • Merge requests 3
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • hyteg
  • hyteghyteg
  • Issues
  • #178

Closed
Open
Created Apr 11, 2022 by Nils Kohl@kohl🌝Maintainer

Shared forms for DG and CG

DG forms are currently carrying multiple methods for the integration of

  • volumes
  • inner facets (coupling of element with itself)
  • outer facets (coupling of element with neighbor element)
  • domain boundary facets
  • integration for facet contributions required for Dirichlet boundaries

The volume integrals are identical for conforming elements if the same basis functions are chosen (which is currently always the case as we are using Lagrangian polynomials for both discretizations).

Thus it may be convenient to either

  • wrap the forms for conforming discretizations as a "special case" of the non-conforming version
  • replace the old interface altogether

Something similar to a wrapper is already available for DG forms that only involve volume integrals (e.g. mass):

https://i10git.cs.fau.de/hyteg/hyteg/-/blob/df450dd9fbfdcb98396ae62af6c1e7194b5e489d/src/hyteg/dgfunctionspace/DGFormVolume.hpp

Note that the DGOperator uses the virtual method onlyVolumeIntegrals() to check if facet integrals can be skipped, see:

https://i10git.cs.fau.de/hyteg/hyteg/-/blob/df450dd9fbfdcb98396ae62af6c1e7194b5e489d/src/hyteg/dgfunctionspace/DGFormVolume.hpp#L39

So even the DGOperator already checks if facet integration is necessary during run time.

This refactoring could unify the form interface and remove the "special" DG forms. At the same time we could get rid of some of the Point3D related code.

Assignee
Assign to
Time tracking