Skip to content

Pickup dpg-dev and particleset/particlevector.hpp wrapping.#308

Open
sshiraiwa wants to merge 49 commits intomasterfrom
dpg-merge
Open

Pickup dpg-dev and particleset/particlevector.hpp wrapping.#308
sshiraiwa wants to merge 49 commits intomasterfrom
dpg-merge

Conversation

@sshiraiwa
Copy link
Member

@sshiraiwa sshiraiwa commented Jan 1, 2026

This PR includes

  • particleset.hpp, particlevector.hpp wrapper

  • fixed GetDataArray of Vector/DenseMatrix/DenseTensor/SparseMatrix so that
    destructore is not pre-maturely called when return value is not stored to
    a variable.

  • miniapp/dpg/utils/*.hpp is wrapped.

  • Python version of pmaxwell.py in miniapp/dpg directory

  • fixed ex21, ex21p (mfem/mfem@99c858c)

  • fixed missing include in schwarz.i

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds Python wrappers for MFEM's Discontinuous Petrov-Galerkin (DPG) miniapp utilities and includes a complete Python implementation of the parallel Maxwell DPG example. The key changes include:

  • New Python DPG Maxwell example (pmaxwell.py) with support for various problem types (plane wave, Fichera oven, PML)
  • Python wrappers for DPG utility classes (weakform, complexweakform, blockstaticcond, etc.)
  • Wrappers for particleset and particlevector modules
  • Fixes to GetDataArray methods to prevent premature object destruction
  • Build system updates to enable miniapp compilation
  • Support for non-square matrix coefficients

Reviewed changes

Copilot reviewed 51 out of 51 changed files in this pull request and generated 23 comments.

Show a summary per file
File Description
miniapps/dpg/pmaxwell.py Complete Python implementation of parallel Maxwell DPG example with multiple problem types
miniapps/dpg/meshes/*.mesh Mesh files for DPG examples (scatter.mesh, fichera-waveguide.mesh)
mfem/ser.py, mfem/par.py Added imports for new dpg, particleset, particlevector modules
mfem/_ser/dpg.i, mfem/_par/dpg.i SWIG interface files for DPG utilities wrapping
mfem/_ser/vector.i, mfem/_par/vector.i Fixed GetDataArray to prevent premature destructor calls
mfem/_ser/densemat.i, mfem/_par/densemat.i Fixed GetDataArray for DenseMatrix and DenseTensor
mfem/_ser/sparsemat.i, mfem/_par/sparsemat.i Fixed GetDataArray, GetJArray, GetIArray for SparseMatrix
mfem/common/numba_coefficient*.* Removed square matrix requirement for MatrixCoefficient
mfem/_ser/setup.py, mfem/_par/setup.py Added build_miniapps configuration and library dependencies
_build_system/*.py Build system updates for miniapp support
docs/changelog.txt Documentation of changes

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@sshiraiwa sshiraiwa mentioned this pull request Jan 5, 2026
12 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants