From 568cdbdfac81f3ee46f17c68fed525a00e4dcc7a Mon Sep 17 00:00:00 2001 From: Thorsten Liebig Date: Wed, 8 Mar 2023 22:10:30 +0100 Subject: [PATCH] PML: try to fix pml working for a finite conductor waveguide sigma > 1000 S/m is considered a conductor (not ideal solution) Signed-off-by: Thorsten Liebig --- FDTD/extensions/operator_ext_upml.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/FDTD/extensions/operator_ext_upml.cpp b/FDTD/extensions/operator_ext_upml.cpp index 9dab11f..bbec3c9 100644 --- a/FDTD/extensions/operator_ext_upml.cpp +++ b/FDTD/extensions/operator_ext_upml.cpp @@ -404,7 +404,9 @@ bool Operator_Ext_UPML::BuildExtension() CalcGradingKappa(n, pos,__Z0__ ,kappa_v ,kappa_i); nP = (n+1)%3; nPP = (n+2)%3; - if ((kappa_v[0]+kappa_v[1]+kappa_v[2])!=0) + // if eff_Mat[1] > 1e3 assume a metal and disable PML to continue a signal layer + // sigma > 1000 S/m is "very lossy" already... + if (((kappa_v[0]+kappa_v[1]+kappa_v[2])!=0) && (eff_Mat[1]<1e3)) { //check if pos is on PEC if ( (m_Op->GetVV(n,pos[0],pos[1],pos[2]) + m_Op->GetVI(n,pos[0],pos[1],pos[2])) != 0 )