Exemple #1
0
        public static void SaveToXml(string path, OneBlockModelSettings model)
        {
            var xdoc  = new XDocument();
            var xelem = ToXElement(model, "oneblock");

            xelem.Add(
                new XElement("Conductivity", model.Conductivity),
                new XElement("AnomalySizeX", model.AnomalySizeX),
                new XElement("AnomalySizeY", model.AnomalySizeY),
                new XElement("AnomalySizeZ", model.AnomalySizeZ),
                new XElement("AnomalyStartDepth", model.AnomalyStartDepth));

            ModelWriter.SaveBackground(xelem, model.Section1D);

            xdoc.Add(xelem);
            xdoc.Save(path);
        }
Exemple #2
0
        public static OneBlockModelSettings LoadOneBlockFromXml(string path)
        {
            var xdoc      = XDocument.Load(path);
            var xsettings = xdoc.Element("ModelSettings");
            var mesh      = ReadMeshParameters(xsettings);
            var mb        = ReadManualBoundaries(xsettings);

            var model = new OneBlockModelSettings(mesh, mb)
                        .WithConductivity(xsettings.ElementAsDoubleOrNull("Conductivity") ?? -1)
                        .WithAnomalyStartDepth(xsettings.ElementAsDecimal("AnomalyStartDepth"))
                        .WithAnomalySizeX(xsettings.ElementAsDecimal("AnomalySizeX"))
                        .WithAnomalySizeY(xsettings.ElementAsDecimal("AnomalySizeY"))
                        .WithAnomalySizeZ(xsettings.ElementAsDecimal("AnomalySizeZ"));

            model.Section1D = ModelReader.LoadBackground(xsettings);

            return(model);
        }
Exemple #3
0
        public static CartesianModel CreateModelWithoutAnomalyData(OneBlockModelSettings settings)
        {
            var creater = new OneBlockModelCreater(settings);

            return(GenerateModelWithoutAnomalyData(settings, creater.CreateNonMeshedModel));
        }
Exemple #4
0
        public static CartesianModel CreateOneBlockModel(OneBlockModelSettings settings, Mpi mpi = null)
        {
            var creater = new OneBlockModelCreater(settings);

            return(GenerateModel(mpi, settings, creater.CreateNonMeshedModel));
        }
Exemple #5
0
 public OneBlockModelCreater(OneBlockModelSettings settings)
 {
     _settings = settings;
 }