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); }
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); }
public static CartesianModel CreateModelWithoutAnomalyData(OneBlockModelSettings settings) { var creater = new OneBlockModelCreater(settings); return(GenerateModelWithoutAnomalyData(settings, creater.CreateNonMeshedModel)); }
public static CartesianModel CreateOneBlockModel(OneBlockModelSettings settings, Mpi mpi = null) { var creater = new OneBlockModelCreater(settings); return(GenerateModel(mpi, settings, creater.CreateNonMeshedModel)); }
public OneBlockModelCreater(OneBlockModelSettings settings) { _settings = settings; }