Hello, I’m new to simpeg, maybe someone can give me an advice on following topic:
I want to use it for 1D FDEM Forward Simulation. The assumption is that the source is on the ground and the receiver is in the air. I set them as follows:
source_location = np.array([0.0, 0.0, 1.0])
receiver_locations = np.array([0.0, 0.0, 30.0])
In this case, code execution results in an error. In case I change the X coordinate of the receiver to non-zero the code works as it should, so I think this is the problem.
Here is my full code:
import simpeg.electromagnetics.frequency_domain as fdem
from simpeg import maps
from simpeg.utils import plot_1d_layer_model
import os
import numpy as np
from scipy.constants import mu_0
import matplotlib as mpl
import matplotlib.pyplot as plt
currentinsquare = 1 #A
s_of_square = 10**6 #sq m
rho_kimb = 100 #om*m
rho_trapp = 4000 #om*m
rho_limestone = 1000 #om*m
frequencies = np.array([19.53, 78.12,312.5])
source_location = np.array([0.0, 0.0, 1.0])
source_orientation = "z"
moment = currentinsquare*s_of_square
receiver_locations = np.array([0.0, 0.0, 1.0])
receiver_orientation = "z"
data_type = "ppm"
source_list = []
for freq in frequencies:
receiver_list = []
receiver_list.append(
fdem.receivers.PointMagneticFieldSecondary(
receiver_locations,
orientation=receiver_orientation,
data_type=data_type,
component="real",
)
)
source_list.append(
fdem.sources.MagDipole(
receiver_list=receiver_list,
frequency=freq,
location=source_location,
orientation=source_orientation,
moment=moment,
)
)
survey = fdem.survey.Survey(source_list)
layer_thicknesses = np.array([100.0])
layer_conductivities = np.array([rho_trapp**(-1), rho_kimb**(-1)])
n_layers = len(layer_conductivities)
conductivity_model = layer_conductivities.copy()
conductivity_map = maps.IdentityMap()
simulation_conductivity = fdem.Simulation1DLayered(
survey=survey,
thicknesses=layer_thicknesses,
sigmaMap=conductivity_map,
)
dpred_conductivity = simulation_conductivity.dpred(conductivity_model)
print(dpred_conductivity)
Thanks in advance