Skip to content

Burton-Miller formulation #8

@bmc0

Description

@bmc0

Hi again,

Not sure if this might be useful to you, but I was able to derive a valid Burton-Miller formulation with admittance. First, for the sound-hard case, the current formulation is equivalent to:

D = double_layer(spaceP, spaceP, spaceP, k)
I = identity(spaceP, spaceP, spaceP)
S = single_layer(spaceU, spaceP, spaceP, k)

LHS = D - 0.5*I
RHS = 1j*omega*rho_0 * S * u_total

For the Burton-Miller formulation, we have the following additional terms:

H = hypersingular(spaceP, spaceP, spaceP, k)
A = adjoint_double_layer(spaceU, spaceP, spaceP, k)
I_u = identity(spaceU, spaceP, spaceP)
beta = 1j/k

LHS += -beta*H
RHS += 1j*omega*rho_0 * beta*(A + 0.5*I_u) * u_total

beta is the coupling factor. Classically, 1j/k is used, but others have been suggested (one example is 1j*k/max(k**2, 50)).

The admittance term is currently equivalent to:

S_y = single_layer(spaceP, spaceP, spaceP, k)
Yn_op = MultiplicationOperator(Yn_func, spaceP, spaceP, spaceP)

LHS += 1j*k * S_y * Yn_op

For the Burton-Miller formulation, the additional terms are:

A_y = adjoint_double_layer(spaceP, spaceP, spaceP, k)

LHS += 1j*k * beta*(A_y + 0.5*I) * Yn_op

The Burton-Miller formulation eliminates the problem of bad solutions near certain frequencies for exterior-domain problems, but the tradeoff is that it's rather slow. In my testing, I've found it to be 3-4 times slower in the sound-hard case.

Edit: Just for clarity, here are the complete left- and right-hand sides for the Burton-Miller formulation with admittance:

LHS = D - 0.5*I - beta*H + (1j*k * (S_y + beta*(A_y + 0.5*I)) * Yn_op)
RHS = 1j*omega*rho_0 * (S + beta*(A + 0.5*I_u)) * u_total

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions