예제 #1
0
        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));
        }
예제 #2
0
        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;
            }
        }