private static Complex[] GetBackgroundZeta(IAnomaly anomaly, ISection1D <IsotropyLayer> section1D) { var zeta0 = new Complex[anomaly.Layers.Count]; for (int k = 0; k < anomaly.Layers.Count; k++) { zeta0[k] = ModelUtils.FindCorrespondingBackgroundLayer(section1D, anomaly.Layers[k]).Zeta; } return(zeta0); }
private static Receiver[] CreateAnomalyReceivers(IAnomaly anomaly) { var receivers = new List <Receiver>(); for (int i = 0; i < anomaly.Layers.Count; i++) { var al = anomaly.Layers[i]; receivers.Add(Receiver.NewVolumetric(al.Depth, al.Thickness, i)); } return(receivers.ToArray()); }
private static Transmitter[] CreateAnomalyTransmitters(IAnomaly anomaly) { var transmitters = new List <Transmitter>(); for (int i = 0; i < anomaly.Layers.Count; i++) { var al = anomaly.Layers[i]; transmitters.Add(Transmitter.NewVolumetric(al.Depth, al.Thickness, i)); } return(transmitters.ToArray()); }
private static IEnumerable <Transceiver> CreateAnomalyToLevels(IAnomaly anomaly, decimal[] levels) { var receivers = new List <Receiver>(); for (int i = 0; i < levels.Length; i++) { receivers.Add(Receiver.NewFlat(levels[i], i)); } var transmitters = CreateAnomalyTransmitters(anomaly); var result = from rc in receivers from tr in transmitters select new Transceiver(tr, rc); return(result); }
public static Transceiver[] CreateAnomalyToAnomaly(IAnomaly anomaly) => Combine(CreateAnomalyReceivers(anomaly), CreateAnomalyTransmitters(anomaly));
public static Transceiver[] CreateAnomalyToObservation(IAnomaly anomaly, params ObservationSite[] obsSites) => Combine(CreateObservationReceivers(obsSites), CreateAnomalyTransmitters(anomaly));
public static Transceiver[] CreateSourceToAnomaly(IAnomaly anomaly, decimal thickness, params SourceLayer[] srcLayers) => Combine(CreateAnomalyReceivers(anomaly), CreateSourceTransmitters(thickness, srcLayers));