Package hedge :: Package models :: Module pml :: Class AbarbanelGottliebPMLMaxwellOperator
[hide private]
[frames] | no frames]

Class AbarbanelGottliebPMLMaxwellOperator

source code


Implements a PML as in

[1] S. Abarbanel and D. Gottlieb, "On the construction and analysis of absorbing layers in CEM," Applied Numerical Mathematics, vol. 27, 1998, S. 331-340. (eq 3.7-3.11)

[2] E. Turkel and A. Yefet, "Absorbing PML boundary layers for wave-like equations," Applied Numerical Mathematics, vol. 27, 1998, S. 533-557. (eq. 4.10)

[3] Abarbanel, D. Gottlieb, and J.S. Hesthaven, "Long Time Behavior of the Perfectly Matched Layer Equations in Computational Electromagnetics," Journal of Scientific Computing, vol. 17, Dez. 2002, S. 405-422.

Generalized to 3D in doc/maxima/abarbanel-pml.mac.

Nested Classes [hide private]
  PMLCoefficients
Instance Methods [hide private]
 
__init__(self, *args, **kwargs)
x.__init__(...) initializes x; see x.__class__.__doc__ for signature
source code
 
pml_local_op(self, w) source code
 
op_template(self, w=None) source code
 
bind(self, discr, coefficients) source code
 
assemble_ehpq(self, e=None, h=None, p=None, q=None, discr=None) source code
 
partial_to_ehpq_subsets(self) source code
 
split_ehpq(self, w) source code
 
_construct_scalar_coefficients(self, discr, node_coord, i_min, i_max, o_min, o_max, exponent) source code
 
coefficients_from_boxes(self, discr, inner_bbox, outer_bbox=None, magnitude=None, tau_magnitude=None, exponent=None, dtype=None) source code
 
coefficients_from_width(self, discr, width, magnitude=None, tau_magnitude=None, exponent=None, dtype=None) source code

Inherited from em.MaxwellOperator: absorbing_bc, assemble_eh, field_placeholder, flux, get_eh_subset, incident_bc, local_derivatives, max_eigenvalue, partial_to_eh_subsets, pec_bc, split_eh

Inherited from object: __delattr__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __str__

Class Variables [hide private]

Inherited from em.MaxwellOperator (private): _default_dimensions

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, *args, **kwargs)
(Constructor)

source code 

x.__init__(...) initializes x; see x.__class__.__doc__ for signature

Parameters:
  • flux_type - can be in [0,1] for anything between central and upwind, or "lf" for Lax-Friedrichs.
Overrides: object.__init__
(inherited documentation)

op_template(self, w=None)

source code 
Overrides: em.MaxwellOperator.op_template

bind(self, discr, coefficients)

source code 
Overrides: em.MaxwellOperator.bind

partial_to_ehpq_subsets(self)

source code 
Decorators:
  • @memoize_method