p_pml,d_pml#

Purpose

Implementation and sample PML usage.

This function is NOT yet stable enough to be SUPPORTED with SDT. If you need contract support contact SDTools.

Syntax

 d_pml tuto

Description

addPML#

Meshing utility to append PML to a boxlike mesh and define the appropriate properties. The accepted option structure provides the fields

  • .Lp giving the PML thickness to be extruded from the six faces in global directions -x,-y,-z,+x,+y,+z.
  • .subtype can be either 1 for time domain PML formulation or 2 for frequency domain
  • .pow default attenuation
  • .Lc default mesh length
  • .ProId offset to generate the property identifier for the PML associated with each face. For example face 3 (-z) will have identifier .ProId+3.
% See sample call in  sdtweb d_pml('ScriptULB1D')
mo1=d_pml('MeshUlb1D SW',struct('v',1,'quad',1,'Lc',2)); 
% Uses a call of the form
RP=struct('Lp',[0,0,0,0,0,20], ... % adds a PML along +Z 
'pow',2,'Lc',2,'ProId',94, ...
'subtype',2, ... % Frequency domain
'a',struct('X',{{[10;115],{'fe';'fi'}}}, ...
   'Y',[5,15;0,20])); % Evolution of attenuation with frequency
% mo1=p_pml('addPML',model,RP);

d1=fe_simul('dfrf',stack_set(mo1,'info','Freq',[10;100])); d_pml('View1DPS',mo1,d1);

1 Time domain formulation#

[ProId type form pow a0 x0 Lx0 y0 Ly0 z0 Lz0] Type=fe_mat('p_pml','SI',1)

  • remi(form,[],1) (..1) : 0 rectan, 1 cyl, 2 spherical
  • remi(form,[],2) (.1.) : 0 stress at node, 1 stress at gauss
  • remi(form,[],3) (1..) : selection of implementation Dir place holder for variations of direction formulation Attenuation of the form
a0 


(xx0)
Lx0



pow



 
    (9.23)

2 Frequency domain formulation#

[ProId type form pow a0 x0 Lx0 y0 Ly0 z0 Lz0]

Type=fe_mat('p_pml','SI',2)

Attenuation of the form

a0 


(xx0)
Lx0



pow



 
    (9.24)

See also

fe2ss, fevisco, section ??