Skip to content

Feature/teefie verify#3

Closed
surzks wants to merge 686 commits into
sbadrian:masterfrom
surzks:feature/teefie_verify
Closed

Feature/teefie verify#3
surzks wants to merge 686 commits into
sbadrian:masterfrom
surzks:feature/teefie_verify

Conversation

@surzks

@surzks surzks commented Sep 2, 2025

Copy link
Copy Markdown

Adding curlHH2DMonopole to hh2dexc.jl

jayprakashdav and others added 30 commits March 12, 2024 18:43
Due to the change from 'nothing' to Val{0} using to denote
a static operator (gamma = 0), this fixup is necessary to correctly
compute the scalartype.
Currently, mixed discretizations, at least with the scalar primal and dual
functions for Helmholtz-type operators are not working due to wrong hardcoded
loop boundaries.

This is now fixed by using the number of shape functions.
The new strace formulation supports a 2D mesh as input that
comes from parts of the boundary of a 3D body.
It is implemented in the same way as the ntrace formulation.
We add Lippmann-Schwinger VIE in two flavors

- with one partial integration
  (hhvolume & hhboundary functions in vie.jl)
- no partial integration (one derivative on the Green's function)
  (hhvolumegradG)

In addition, the function hhvolumek0 is needed for k != 0 in the
Helmholtz equation.

Note that more flavors exist, which yet need to be implemented.
For example, the one described in

Bleszynski, E., M. Bleszynski, and T. Jaroszewicz. “Fast Volumetric
Integral-Equation Solver for Acoustic Wave Propagation through
Inhomogeneous Media.” The Journal of the Acoustical Society of America
124, no. 1 (July 1, 2008): 396–408. https://doi.org/10.1121/1.2924203.

where one derivative is moved onto the contrast function.

TODO: Add unit test for accoustic version (once it is available in
SphericalScattering. So far only the electrostatic version is
tested)
These can be useful for mixed discretization of Helmholtz3D
type of integral equations.
Overall, the observed error is comparable to the standard discretizations.

Note, however, that it might be useful (TODO) adding unit tests for
individual matrix element assemblies.
This commit enables support of primal piecewise linear and primal
piecewise constant RHSs

TODO: Probably, either an extension or a rewrite of DofInterpolate is
advisable for the LagrangeBasis (for example, also dealing with higher-order
functions and dual functions)
- Make latest RKCQ version suitable for Julia 1.9
- Only neccesary changes
- No further improvements and adjustments
Second derivative of Gaussian added to enable the usage of the
derivative of the Gaussian as a right hand side. This has the
advantage that the right hand side does not contain DC information.

Added inverse Fourier transform to solve time-domain problem by
inverse Fourier transforming the frequency-domain problem.
RKCQ uses now the ConvolutionOperators interface that is used by
Space-Time-Galerkin MOT.

To this end, all information required for RKCQ is contained in the
StagedTimeStep type, which is used for building the SpaceTimeBasis.
Moreover, the bilinear form can now be build with retarded potentials.
We compare against Space-Time-Galerkin MOT

Alternatively one could compare the individual frequencies against
EFIE frequency solutions. However, this results in a considerably
longer run time.
…mholtz_Discretizations

Feature/enable mixed helmholtz discretizations
fixup: return correct scalartype for static operators
…lmholtz_rhs

Add interpolation support for Helmholtz RHS
Add Lippmann-Schwinger volume integral equation (HH3D VIE)
Reactivate Runge Kutta Convolution Quadrature
krcools and others added 29 commits June 16, 2025 16:40
…2025-05-10-00-55-01-144-03609611608

CompatHelper: bump compat for SauterSchwab3D to 0.2, (keep existing compat)
Volume Surface Integral Operators and more (incl. fixes for higher order basis)
Remove DoF reordering
Repair interface to SauterSchwab3D
Repair handling of 5D integrals
Update the integrands
The interface now follows the example of the Helmholtz3D
code.

With this change, we are now in the position to define
Yukawa (modified Helmholtz equation solution) and
Laplace equation solution.

This, however, is work yet to be done.
Most textbooks formulate the 2D TM-MFIE and the 2D TE-EFIE using
the tangential trace of the magnetic and eletric field, respectively.

A tangent trace is added to allow following textbooks more closely.

Moreover, the potential operators lead to gradient fields instead of
curls. By providing access to ẑ x, those 2D-gradients can be conveniently
rotated into curls.

Lastly, an integration test with respect to the Mie series is included.
It also shows and tests the alpha and beta parameter of the operators
as well as certain right-hand side operations.

Moreover, some cleanup was performed removing unnecessary functions
of the Helmholtz 2D excitations.
Previously, there was no way to define alpha and beta parameters
as for the actual operators. This made a consistent usage difficult.

Moreover, the hypersingular operator now only has a weak singularity.
@surzks surzks closed this Sep 2, 2025
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.