浏览代码

increas D1 fail level

Konstantin Ladutenko 10 年之前
父节点
当前提交
3a64a8be0f
共有 1 个文件被更改,包括 7 次插入3 次删除
  1. 7 3
      nmie-wrapper.cc

+ 7 - 3
nmie-wrapper.cc

@@ -658,12 +658,16 @@ c    MM       + 1  and - 1, alternately
       // prn((D1[n] + double(n)*zinv).real());
       // prn((D1[n] + double(n)*zinv).real());
     }
     }
     //     printf("\n\n"); iformat=0;
     //     printf("\n\n"); iformat=0;
-    if (std::abs(D1[0].real()) > 100.0 ) throw std::invalid_argument("Unstable D1!\n");
+    if (std::abs(D1[0]) > 1000.0 )
+      throw std::invalid_argument
+	("Unstable D1! Please, try to change input parameters!\n");
     // Upward recurrence for PsiZeta and D3 - equations (18a) - (18d)
     // Upward recurrence for PsiZeta and D3 - equations (18a) - (18d)
-    PsiZeta_[0] = 0.5*(1.0 - std::complex<double>(cos(2.0*z.real()), sin(2.0*z.real()))*exp(-2.0*z.imag()));
+    PsiZeta_[0] = 0.5*(1.0 - std::complex<double>(cos(2.0*z.real()), sin(2.0*z.real()))
+		       *exp(-2.0*z.imag()));
     D3[0] = std::complex<double>(0.0, 1.0);
     D3[0] = std::complex<double>(0.0, 1.0);
     for (int n = 1; n <= nmax_; n++) {
     for (int n = 1; n <= nmax_; n++) {
-      PsiZeta_[n] = PsiZeta_[n - 1]*(static_cast<double>(n)*zinv - D1[n - 1])*(static_cast<double>(n)*zinv- D3[n - 1]);
+      PsiZeta_[n] = PsiZeta_[n - 1]*(static_cast<double>(n)*zinv - D1[n - 1])
+	*(static_cast<double>(n)*zinv- D3[n - 1]);
       D3[n] = D1[n] + std::complex<double>(0.0, 1.0)/PsiZeta_[n];
       D3[n] = D1[n] + std::complex<double>(0.0, 1.0)/PsiZeta_[n];
     }
     }
   }
   }