Files
simpeg/SimPEG/EM/Utils/EMUtils.py
T

50 lines
1.2 KiB
Python

import numpy as np
from scipy.constants import mu_0, epsilon_0
# useful params
def omega(freq):
"""Angular frequency, omega"""
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)
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):
# eqLocs = prob._eqLocs
# if eqLocs is 'FE':
# MSigmaI = prob.MeSigmaI
# elif eqLocs is 'EF':
# MSigmaI = prob.MfRho
# return MSigmaI*j
# def j_from_e(prob,e):
# eqLocs = prob._eqLocs
# if eqLocs is 'FE':
# MSigma = prob.MeSigma
# elif eqLocs is 'EF':
# MSigma = prob.MfRhoI
# return MSigma*e
# def b_from_h(prob,h):
# eqLocs = prob._eqLocs
# if eqLocs is 'FE':
# MMu = prob.MfMuiI
# elif eqLocs is 'EF':
# MMu = prob.MeMu
# return MMu*h
# def h_from_b(prob,b):
# eqLocs = prob._eqLocs
# if eqLocs is 'FE':
# MMuI = prob.MfMui
# elif eqLocs is 'EF':
# MMuI = prob.MeMuI
# return MMuI*b