public static OmegaModel BuildOmegaModel(CartesianModel startModel, double[,,] sigma, double frequency) { var omega = OmegaModelUtils.FrequencyToOmega(frequency); var section1D = ConvertSection1DIntoOmegaDependent(omega, startModel); var anomaly = OmegaAnomaly.CreateFromCartesianAnomaly(omega, startModel.Anomaly, sigma); return(new OmegaModel(startModel, section1D, anomaly, omega)); }
public OmegaModel(CartesianModel model, Section1D <IsotropyLayer> section1D, OmegaAnomaly anomaly, double omega) { LateralDimensions = model.LateralDimensions; Section1D = section1D; Anomaly = anomaly; Omega = omega; _backgroundDepths = new decimal[section1D.NumberOfLayers]; _backgroundDepths[0] = Section1D.ZeroAirLevelAlongZ; for (int i = 0; i < section1D.NumberOfLayers - 1; i++) { _backgroundDepths[i + 1] = _backgroundDepths[i] + section1D[i].Thickness; } }