Example #1
0
        private CartesianAnomaly CreateAnomaly(MeshParameters mesh, LateralDimensions lateral)
        {
            _logger.WriteStatus("\tCreating anomaly ...");

            var size   = new Size2D(mesh.Nx, mesh.Ny);
            var layers = new CartesianAnomalyLayer[mesh.Nz];

            var zFragmentation = mesh.CreateAnomalyFragmentation(_minZ, _maxZ);

            WriteZFragmentation(zFragmentation);

            _logger.WriteStatus("\tCreating anomaly layers ...");

            for (int i = 0; i < layers.Length; i++)
            {
                layers[i] = new CartesianAnomalyLayer(zFragmentation[i], zFragmentation[i + 1] - zFragmentation[i]);
            }

            var anomaly = new CartesianAnomaly(size, layers);

            anomaly.CreateSigma();

            _logger.WriteStatus("Anomaly structure created");

            FillModelDueToTopography(lateral, anomaly);

            return(anomaly);
        }
        private CartesianAnomaly ConvertAnomaly(LateralDimensions lateral, CartesianSection1D section1D, decimal[] anomalyZSegmentation)
        {
            var allLayers = new CartesianAnomalyLayer[anomalyZSegmentation.Length - 1];

            for (int k = 0; k < allLayers.Length; k++)
            {
                decimal zStart = anomalyZSegmentation[k];
                decimal zEnd   = anomalyZSegmentation[k + 1];

                var thickness = zEnd - zStart;

                allLayers[k] = new CartesianAnomalyLayer(zStart, thickness);
            }

            var anomaly = new CartesianAnomaly(new Size2D(LocalNxLength, lateral.Ny), allLayers);

            if (_createSigma)
            {
                anomaly.CreateSigma();
                FillSigma(section1D, anomaly, lateral);
            }

            return(anomaly);
        }