upml: critical bug in upml grading function

wrong upml grading function has made the pml unstable or fail for small mesh delta units
pull/1/head
Thorsten Liebig 2011-06-08 10:29:00 +02:00
parent a6d5d79ced
commit ca8c5eeee4
2 changed files with 2 additions and 2 deletions

View File

@ -25,7 +25,7 @@ Operator_Ext_UPML::Operator_Ext_UPML(Operator* op) : Operator_Extension(op)
{
m_GradingFunction = new FunctionParser();
//default grading function
SetGradingFunction(" -log(1e-6)*log(2.5)/(2*dl*pow(2.5,W/dl)-1) * pow(2.5, D/dl) / Z ");
SetGradingFunction(" -log(1e-6)*log(2.5)/(2*dl*Z*(pow(2.5,W/dl)-1)) * pow(2.5, D/dl) ");
for (int n=0; n<6; ++n)
{

View File

@ -54,7 +54,7 @@ public:
W = width (length) of the pml in meter
N = number of cells for the pml
Z = wave impedance at the current depth and position
example: SetGradingFunction("-log(1e-6)*log(2.5)/(2*dl*pow(2.5,W/dl)-1) * pow(2.5, D/dl) / Z");
example: SetGradingFunction(" -log(1e-6)*log(2.5)/(2*dl*Z*(pow(2.5,W/dl)-1)) * pow(2.5, D/dl) ");
An empty function string will be ignored.
*/