From 678d8611d8b0c50dfcc00cb966837ac45481b2ba Mon Sep 17 00:00:00 2001 From: Lindsey Date: Thu, 4 Jun 2015 16:12:58 -0700 Subject: [PATCH] more reliable way of taking the sqrt of a complex number in defn of k --- simpegEM/Utils/EMUtils.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/simpegEM/Utils/EMUtils.py b/simpegEM/Utils/EMUtils.py index 916d6ae2..4a342acb 100644 --- a/simpegEM/Utils/EMUtils.py +++ b/simpegEM/Utils/EMUtils.py @@ -7,8 +7,11 @@ def omega(freq): return 2.*np.pi*freq def k(freq, sigma, mu=mu_0, eps=epsilon_0): + """ Eq 1.47 - 1.49 in Ward and Hohmann """ w = omega(freq) - return np.sqrt(mu * eps * w**2 - 1j * w* mu * sigma) + alp = w * np.sqrt( mu*eps/2 * ( np.sqrt(1. + (sigma / (eps*w))**2 ) + 1) ) + beta = w * np.sqrt( mu*eps/2 * ( np.sqrt(1. + (sigma / (eps*w))**2 ) - 1) ) + return alp - 1j*beta # Constitutive relations def e_from_j(prob,j):