from geoscilabs.base import widgetify
import geoscilabs.em.InductionSphereFEM as IND
from ipywidgets import interact, FloatSlider, FloatText, ToggleButtons
Here, we simulate the response observed over a conductive and magnetically permeable sphere by an EM-31. In the leftmost plot, the regional primary or secondary field is plotted in 2D along with the survey geometry. In the rightmost plot, the response at the receiver coil is plotted as a function of frequency. The parameters for the app are summarized below:
widgetify(IND.fcn_FDEM_InductionSphereProfileEM31Widget,xtx=FloatSlider(min=-20, max=20., value=0., step=2., continuous_update=False, description = "$x_{Tx}$"),\
ztx=FloatSlider(min=0., max=10., value=2., step=1., continuous_update=False, description = "$z_{Tx}$"),\
L=FloatSlider(min=0., max=25., value=20., step=5., continuous_update=False, description = "$L$"),\
m=FloatSlider(min=1., max=5.,value=1.,step=1.,continuous_update=False,description = "$m$"),\
orient=ToggleButtons(options=['Vert. Coaxial','Horiz. Coplanar'],value='Horiz. Coplanar',description = "$Configuration$"),\
x0=FloatSlider(min=-20., max=20., value=0., step=1., continuous_update=False, description = "$x_s$"),\
z0=FloatSlider(min=-20., max=0., value=-8., step=1., continuous_update=False, description = "$z_s$"),\
a=FloatSlider(min=0.5, max=5., value=3., step=0.5, continuous_update=False, description = "$R$"),\
sig=FloatSlider(min=0., max=6., value=2., step=0.5, continuous_update=False, description = "$log_{10}(\sigma)$"),\
mur=FloatSlider(min=1., max=5., value=1., step=0.25, continuous_update=False, description = "$\mu_r$"),\
logf=FloatSlider(min=0., max=8., value=5., step=1., continuous_update=False, description = "$log_{10}(f)$"),\
Flag=ToggleButtons(options=['Hp','Hs_real','Hs_imag'],value='Hp',description = "$Field \; Type$"))
Here, we simulate the response observed over a conductive and magnetically permeable sphere. The parameters are relaxed so that the transmitter-receiver separation is no longer fixed. In the leftmost plot, the regional primary or secondary field is plotted in 2D along with the survey geometry. In the rightmost plot, the response at the receiver coil is plotted as a function of frequency. The parameters for the app are summarized below:
widgetify(IND.fcn_FDEM_InductionSphereProfileWidget,xtx=FloatSlider(min=-20, max=20., value=-10., step=2., continuous_update=False, description = "$x_{Tx}$"),\
ztx=FloatSlider(min=0., max=10., value=2., step=1., continuous_update=False, description = "$z_{Tx}$"),\
m=FloatSlider(min=1., max=5.,value=1.,step=1.,continuous_update=False,description = "$m$"),\
orient=ToggleButtons(options=['Vert. Coaxial','Horiz. Coplanar'],value='Horiz. Coplanar',description = "$Configuration$"),\
x0=FloatSlider(min=-20., max=20., value=0., step=1., continuous_update=False, description = "$x_s$"),\
z0=FloatSlider(min=-20., max=0., value=-10., step=1., continuous_update=False, description = "$z_s$"),\
a=FloatSlider(min=0.5, max=5., value=3., step=0.5, continuous_update=False, description = "$R$"),\
sig=FloatSlider(min=0., max=6., value=2., step=0.5, continuous_update=False, description = "$log_{10}(\sigma)$"),\
mur=FloatSlider(min=1., max=5., value=1., step=0.25, continuous_update=False, description = "$\mu_r$"),\
xrx=FloatSlider(min=-20., max=20., value=10., step=1., continuous_update=False, description = "$x_{Rx}$"),\
zrx=FloatSlider(min=0., max=10., value=2., step=1., continuous_update=False, description = "$z_{Rx}$"),\
logf=FloatSlider(min=0., max=8., value=5., step=1., continuous_update=False, description = "$log_{10}(f)$"),\
Flag=ToggleButtons(options=['Hp','Hs_real','Hs_imag'],value='Hp',description = "$Field \; Type$"))
Here, we simulate the response observed over a conductive and magnetically permeable sphere. The transmitter, receiver and sphere locations can be set anywhere in 3D space. The orientation of the transmitter can also be changed. In the leftmost plot, FEM anomaly is plotted on the XY-plane at the same height as the receiver coil. In the rightmost plot, the response at the receiver coil is plotted as a function of frequency. The parameters for the app are summarized below:
widgetify(IND.fcn_FDEM_InductionSpherePlaneWidget,xtx=FloatSlider(min=-20, max=20., value=0., step=1., continuous_update=False, description = "$x_{Tx}$"),\
ytx=FloatSlider(min=-20, max=20., value=0., step=1., continuous_update=False, description = "$y_{Tx}$"),\
ztx=FloatSlider(min=0., max=10., value=2., step=1., continuous_update=False, description = "$z_{Tx}$"),\
m=FloatSlider(min=1., max=5.,value=2.,step=1.,continuous_update=False,description = "$m$"),\
orient=ToggleButtons(options=['x','y','z'],value='z'),\
x0=FloatSlider(min=-20., max=20., value=0., step=1., continuous_update=False, description = "$x_s$"),\
y0=FloatSlider(min=-20., max=20., value=0., step=1., continuous_update=False, description = "$y_s$"),\
z0=FloatSlider(min=-20., max=-2., value=-5., step=1., continuous_update=False, description = "$z_s$"),\
a=FloatSlider(min=0.5, max=5., value=2., step=0.5, continuous_update=False, description = "$R$"),\
sig=FloatSlider(min=0., max=6., value=2., step=0.5, continuous_update=False, description = "$log_{10}(\sigma)$"),\
mur=FloatSlider(min=1., max=5., value=1., step=0.25, continuous_update=False, description = "$\mu_r$"),\
xrx=FloatSlider(min=-20., max=20., value=10., step=1., continuous_update=False, description = "$x_{Rx}$"),\
yrx=FloatSlider(min=-20., max=20., value=10., step=1., continuous_update=False, description = "$y_{Rx}$"),\
zrx=FloatSlider(min=0., max=10., value=2., step=1., continuous_update=False, description = "$z_{Rx}$"),\
logf=FloatSlider(min=0., max=8., value=5., step=1., continuous_update=False, description = "$log_{10}(f)$"),\
Comp=ToggleButtons(options=['x','y','z'],value='z',description = "$Component$"),\
Phase=ToggleButtons(options=['Real','Imag'],value='Real',description = "$Field \; Type$"))