Index: DamEngine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlInput.cs
===================================================================
diff -u -r4000 -r4052
--- DamEngine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlInput.cs (.../FillDamFromXmlInput.cs) (revision 4000)
+++ DamEngine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlInput.cs (.../FillDamFromXmlInput.cs) (revision 4052)
@@ -42,865 +42,864 @@
using SoilProfile2D = Deltares.DamEngine.Data.Geotechnics.SoilProfile2D;
using TimeSerie = Deltares.DamEngine.Io.XmlInput.TimeSerie;
-namespace Deltares.DamEngine.Interface
+namespace Deltares.DamEngine.Interface;
+
+///
+/// Fill Dam Engine data object from Input serializer object
+///
+public class FillDamFromXmlInput
{
///
- /// Fill Dam Engine data object from Input serializer object
+ /// Creates the dam project data from an Input serializer object
///
- public class FillDamFromXmlInput
+ /// The input.
+ ///
+ public static DamProjectData CreateDamProjectData(Input input)
{
- ///
- /// Creates the dam project data from an Input serializer object
- ///
- /// The input.
- ///
- public static DamProjectData CreateDamProjectData(Input input)
+ ValidateInput(input);
+ var damProjectData = new DamProjectData
{
- ValidateInput(input);
- var damProjectData = new DamProjectData
- {
- Dike = new Dike()
- };
+ Dike = new Dike()
+ };
- Dike dike = damProjectData.Dike;
+ Dike dike = damProjectData.Dike;
- damProjectData.ProjectPath = input.ProjectPath;
- damProjectData.CalculationMap = input.CalculationMap;
- if (input.MaxCalculationCoresSpecified)
- {
- damProjectData.MaxCalculationCores = input.MaxCalculationCores;
- }
+ damProjectData.ProjectPath = input.ProjectPath;
+ damProjectData.CalculationMap = input.CalculationMap;
+ if (input.MaxCalculationCoresSpecified)
+ {
+ damProjectData.MaxCalculationCores = input.MaxCalculationCores;
+ }
- TransferAnalysisSpecification(input, damProjectData);
- TransferStabilityParameters(input, damProjectData);
+ TransferAnalysisSpecification(input, damProjectData);
+ TransferStabilityParameters(input, damProjectData);
- TransferSurfaceLines(input.SurfaceLines, dike.SurfaceLines2);
- dike.SoilList = new SoilList();
- TransferSoils(input.Soils, dike.SoilList.Soils);
- List messages = TransferAquiferSoils(input.AquiferSoils, dike.SoilList);
- if (messages.Count > 0)
- {
- damProjectData.CalculationMessages = messages;
- }
+ TransferSurfaceLines(input.SurfaceLines, dike.SurfaceLines2);
+ dike.SoilList = new SoilList();
+ TransferSoils(input.Soils, dike.SoilList.Soils);
+ List messages = TransferAquiferSoils(input.AquiferSoils, dike.SoilList);
+ if (messages.Count > 0)
+ {
+ damProjectData.CalculationMessages = messages;
+ }
- TransferSoilProfiles1D(input.SoilProfiles1D, dike.SoilProfiles, dike.SoilList);
- TransferSoilProfiles2D(input.SoilProfiles2D, dike.SoilProfiles2D, dike.SoilList);
- TransferSegments(input.Segments, damProjectData.Segments);
- TransferLocations(input.ProjectPath, input.Locations, dike.Locations, dike.SurfaceLines2, damProjectData.Segments);
- if (input.OperationalInputTimeSeries != null)
- {
- dike.InputTimeSerieCollection = new TimeSerieCollection();
- TransferInputTimeSeries(input.OperationalInputTimeSeries, dike.InputTimeSerieCollection);
- }
+ TransferSoilProfiles1D(input.SoilProfiles1D, dike.SoilProfiles, dike.SoilList);
+ TransferSoilProfiles2D(input.SoilProfiles2D, dike.SoilProfiles2D, dike.SoilList);
+ TransferSegments(input.Segments, damProjectData.Segments);
+ TransferLocations(input.ProjectPath, input.Locations, dike.Locations, dike.SurfaceLines2, damProjectData.Segments);
+ if (input.OperationalInputTimeSeries != null)
+ {
+ dike.InputTimeSerieCollection = new TimeSerieCollection();
+ TransferInputTimeSeries(input.OperationalInputTimeSeries, dike.InputTimeSerieCollection);
+ }
- if (input.SensorData != null)
- {
- damProjectData.SensorData = new SensorData();
- TransferSensorData(input.SensorData, damProjectData.SensorData, damProjectData.Dike.Locations);
- }
+ if (input.SensorData != null)
+ {
+ damProjectData.SensorData = new SensorData();
+ TransferSensorData(input.SensorData, damProjectData.SensorData, damProjectData.Dike.Locations);
+ }
- PostProcess(damProjectData);
+ PostProcess(damProjectData);
- return damProjectData;
- }
+ return damProjectData;
+ }
- ///
- /// Finds the SoilProfile1D by name.
- ///
- /// The soil profiles.
- /// The name.
- ///
- public static SoilProfile1D FindSoilProfile1DByName(IList soilProfiles, string name)
+ ///
+ /// Finds the SoilProfile1D by name.
+ ///
+ /// The soil profiles.
+ /// The name.
+ ///
+ public static SoilProfile1D FindSoilProfile1DByName(IList soilProfiles, string name)
+ {
+ foreach (SoilProfile1D soilProfile1D in soilProfiles)
{
- foreach (SoilProfile1D soilProfile1D in soilProfiles)
+ if (soilProfile1D.Name == name)
{
- if (soilProfile1D.Name == name)
- {
- return soilProfile1D;
- }
+ return soilProfile1D;
}
-
- return null;
}
- ///
- /// Finds the SoilProfile2D by name.
- ///
- /// The soil profiles.
- /// The name.
- ///
- public static SoilProfile2D FindSoilProfile2DByName(IList soilProfiles, string name)
+ return null;
+ }
+
+ ///
+ /// Finds the SoilProfile2D by name.
+ ///
+ /// The soil profiles.
+ /// The name.
+ ///
+ public static SoilProfile2D FindSoilProfile2DByName(IList soilProfiles, string name)
+ {
+ foreach (SoilProfile2D soilProfile2D in soilProfiles)
{
- foreach (SoilProfile2D soilProfile2D in soilProfiles)
+ if (soilProfile2D.Name == name)
{
- if (soilProfile2D.Name == name)
- {
- return soilProfile2D;
- }
+ return soilProfile2D;
}
-
- return null;
}
- private static void TransferSensorData(InputSensorData inputSensorData, SensorData sensorData, IList locations)
+ return null;
+ }
+
+ private static void TransferSensorData(InputSensorData inputSensorData, SensorData sensorData, IList locations)
+ {
+ // Transfer sensors
+ foreach (Sensor inputSensor in inputSensorData.Sensors)
{
- // Transfer sensors
- foreach (Sensor inputSensor in inputSensorData.Sensors)
+ var plLineMappings = new PlLineType[inputSensor.PlLineMapping.Length];
+ var plLineMappingIndex = 0;
+ foreach (SensorPlLineMapping plLineMapping in inputSensor.PlLineMapping)
{
- var plLineMappings = new PlLineType[inputSensor.PlLineMapping.Length];
- var plLineMappingIndex = 0;
- foreach (SensorPlLineMapping plLineMapping in inputSensor.PlLineMapping)
- {
- plLineMappings[plLineMappingIndex] = ConversionHelper.ConvertToPlLineType(plLineMapping.PLineType);
- plLineMappingIndex++;
- }
-
- sensorData.Sensors.Add(new Data.General.Sensors.Sensor
- {
- ID = inputSensor.Id,
- Name = inputSensor.Name,
- RelativeLocation = inputSensor.RelativeLocation,
- SensorType = ConversionHelper.ConvertToSensorType(inputSensor.SensorType),
- PlLineMappings = plLineMappings
- });
+ plLineMappings[plLineMappingIndex] = ConversionHelper.ConvertToPlLineType(plLineMapping.PLineType);
+ plLineMappingIndex++;
}
- // Transfer sensorgroups
- foreach (SensorGroup inputSensorGroup in inputSensorData.SensorGroups)
+ sensorData.Sensors.Add(new Data.General.Sensors.Sensor
{
- var sensorGroup = new Data.General.Sensors.SensorGroup();
- sensorGroup.ID = inputSensorGroup.Id;
- foreach (SensorGroupSensorIds sensorId in inputSensorGroup.SensorIds)
- {
- Data.General.Sensors.Sensor sensor = sensorData.Sensors.First(s => s.ID.Equals(sensorId.SensorId));
- sensorGroup.Add(sensor);
- }
+ ID = inputSensor.Id,
+ Name = inputSensor.Name,
+ RelativeLocation = inputSensor.RelativeLocation,
+ SensorType = ConversionHelper.ConvertToSensorType(inputSensor.SensorType),
+ PlLineMappings = plLineMappings
+ });
+ }
- sensorData.SensorGroups.Add(sensorGroup);
- }
-
- // Transfer sensorlocations
- foreach (SensorLocation inputSensorLocation in inputSensorData.SensorLocations)
+ // Transfer sensorgroups
+ foreach (SensorGroup inputSensorGroup in inputSensorData.SensorGroups)
+ {
+ var sensorGroup = new Data.General.Sensors.SensorGroup();
+ sensorGroup.ID = inputSensorGroup.Id;
+ foreach (SensorGroupSensorIds sensorId in inputSensorGroup.SensorIds)
{
- var sensorLocation = new Data.General.Sensors.SensorLocation();
- sensorLocation.Location = locations.First(l => l.Name.Equals(inputSensorLocation.LocationId));
- sensorLocation.Location.SensorLocation = sensorLocation;
- sensorLocation.SensorGroup = sensorData.SensorGroups.First(sg => sg.ID.Equals(inputSensorLocation.GroupId));
- sensorLocation.SourceTypePl1PlLineOffsetBelowDikeTopAtPolder = ConversionHelper.ConvertToDataSourceTypeSensors(inputSensorLocation.SourceTypePl1PlLineOffsetBelowDikeTopAtPolder);
- sensorLocation.SourceTypePl1PlLineOffsetBelowDikeToeAtPolder = ConversionHelper.ConvertToDataSourceTypeSensors(inputSensorLocation.SourceTypePl1PlLineOffsetBelowDikeToeAtPolder);
- sensorLocation.SourceTypePl1PlLineOffsetBelowDikeTopAtRiver = ConversionHelper.ConvertToDataSourceTypeSensors(inputSensorLocation.SourceTypePl1PlLineOffsetBelowDikeTopAtRiver);
- sensorLocation.SourceTypePl1PlLineOffsetBelowShoulderBaseInside = ConversionHelper.ConvertToDataSourceTypeSensors(inputSensorLocation.SourceTypePl1PlLineOffsetBelowShoulderBaseInside);
- sensorLocation.SourceTypePl1WaterLevelAtPolder = ConversionHelper.ConvertToDataSourceTypeSensors(inputSensorLocation.SourceTypePl1WaterLevelAtPolder);
- sensorLocation.SourceTypePl1WaterLevelAtRiver = ConversionHelper.ConvertToDataSourceTypeSensors(inputSensorLocation.SourceTypePl1WaterLevelAtRiver);
- sensorLocation.SourceTypePl3 = ConversionHelper.ConvertToDataSourceTypeSensors(inputSensorLocation.SourceTypePl3);
- sensorLocation.SourceTypePl4 = ConversionHelper.ConvertToDataSourceTypeSensors(inputSensorLocation.SourceTypePl4);
- sensorData.SensorLocations.Add(sensorLocation);
+ Data.General.Sensors.Sensor sensor = sensorData.Sensors.First(s => s.ID.Equals(sensorId.SensorId));
+ sensorGroup.Add(sensor);
}
+
+ sensorData.SensorGroups.Add(sensorGroup);
}
- private static void TransferInputTimeSeries(TimeSerie[] inputOperationalInputTimeSeries, TimeSerieCollection timeSerieCollection)
+ // Transfer sensorlocations
+ foreach (SensorLocation inputSensorLocation in inputSensorData.SensorLocations)
{
- foreach (TimeSerie inputTimeSerie in inputOperationalInputTimeSeries)
+ var sensorLocation = new Data.General.Sensors.SensorLocation();
+ sensorLocation.Location = locations.First(l => l.Name.Equals(inputSensorLocation.LocationId));
+ sensorLocation.Location.SensorLocation = sensorLocation;
+ sensorLocation.SensorGroup = sensorData.SensorGroups.First(sg => sg.ID.Equals(inputSensorLocation.GroupId));
+ sensorLocation.SourceTypePl1PlLineOffsetBelowDikeTopAtPolder = ConversionHelper.ConvertToDataSourceTypeSensors(inputSensorLocation.SourceTypePl1PlLineOffsetBelowDikeTopAtPolder);
+ sensorLocation.SourceTypePl1PlLineOffsetBelowDikeToeAtPolder = ConversionHelper.ConvertToDataSourceTypeSensors(inputSensorLocation.SourceTypePl1PlLineOffsetBelowDikeToeAtPolder);
+ sensorLocation.SourceTypePl1PlLineOffsetBelowDikeTopAtRiver = ConversionHelper.ConvertToDataSourceTypeSensors(inputSensorLocation.SourceTypePl1PlLineOffsetBelowDikeTopAtRiver);
+ sensorLocation.SourceTypePl1PlLineOffsetBelowShoulderBaseInside = ConversionHelper.ConvertToDataSourceTypeSensors(inputSensorLocation.SourceTypePl1PlLineOffsetBelowShoulderBaseInside);
+ sensorLocation.SourceTypePl1WaterLevelAtPolder = ConversionHelper.ConvertToDataSourceTypeSensors(inputSensorLocation.SourceTypePl1WaterLevelAtPolder);
+ sensorLocation.SourceTypePl1WaterLevelAtRiver = ConversionHelper.ConvertToDataSourceTypeSensors(inputSensorLocation.SourceTypePl1WaterLevelAtRiver);
+ sensorLocation.SourceTypePl3 = ConversionHelper.ConvertToDataSourceTypeSensors(inputSensorLocation.SourceTypePl3);
+ sensorLocation.SourceTypePl4 = ConversionHelper.ConvertToDataSourceTypeSensors(inputSensorLocation.SourceTypePl4);
+ sensorData.SensorLocations.Add(sensorLocation);
+ }
+ }
+
+ private static void TransferInputTimeSeries(TimeSerie[] inputOperationalInputTimeSeries, TimeSerieCollection timeSerieCollection)
+ {
+ foreach (TimeSerie inputTimeSerie in inputOperationalInputTimeSeries)
+ {
+ Data.General.TimeSeries.TimeSerie timeSerie = timeSerieCollection.AddNewSeries(inputTimeSerie.LocationId);
+ timeSerie.ParameterId = inputTimeSerie.ParameterId;
+ timeSerie.ForecastDateTime = inputTimeSerie.ForecastDateTime;
+ timeSerie.Type = inputTimeSerie.Type;
+ timeSerie.StartDateTime = inputTimeSerie.StartDateTime;
+ timeSerie.EndDateTime = inputTimeSerie.EndDateTime;
+ timeSerie.MissVal = inputTimeSerie.MissVal;
+ timeSerie.LongName = inputTimeSerie.LongName;
+ timeSerie.StationName = inputTimeSerie.StationName;
+ timeSerie.Units = inputTimeSerie.Units;
+ timeSerie.SourceOrganisation = inputTimeSerie.SourceOrganisation;
+ timeSerie.SourceSystem = inputTimeSerie.SourceSystem;
+ timeSerie.FileDescription = inputTimeSerie.FileDescription;
+ timeSerie.Region = inputTimeSerie.Region;
+ timeSerie.TimeStep.Multiplier = inputTimeSerie.TimeStep.Multiplier;
+ timeSerie.TimeStep.Divider = inputTimeSerie.TimeStep.Divider;
+ timeSerie.TimeStep.MultiplierSpecified = inputTimeSerie.TimeStep.MultiplierSpecified1;
+ timeSerie.TimeStep.DividerSpecified = inputTimeSerie.TimeStep.DividerSpecified1;
+ timeSerie.TimeStep.Unit = ConversionHelper.ConvertToTimeStepUnit(inputTimeSerie.TimeStep.TimeStepUnit);
+ if (inputTimeSerie.Entries.TimeSerieEntry != null)
{
- Data.General.TimeSeries.TimeSerie timeSerie = timeSerieCollection.AddNewSeries(inputTimeSerie.LocationId);
- timeSerie.ParameterId = inputTimeSerie.ParameterId;
- timeSerie.ForecastDateTime = inputTimeSerie.ForecastDateTime;
- timeSerie.Type = inputTimeSerie.Type;
- timeSerie.StartDateTime = inputTimeSerie.StartDateTime;
- timeSerie.EndDateTime = inputTimeSerie.EndDateTime;
- timeSerie.MissVal = inputTimeSerie.MissVal;
- timeSerie.LongName = inputTimeSerie.LongName;
- timeSerie.StationName = inputTimeSerie.StationName;
- timeSerie.Units = inputTimeSerie.Units;
- timeSerie.SourceOrganisation = inputTimeSerie.SourceOrganisation;
- timeSerie.SourceSystem = inputTimeSerie.SourceSystem;
- timeSerie.FileDescription = inputTimeSerie.FileDescription;
- timeSerie.Region = inputTimeSerie.Region;
- timeSerie.TimeStep.Multiplier = inputTimeSerie.TimeStep.Multiplier;
- timeSerie.TimeStep.Divider = inputTimeSerie.TimeStep.Divider;
- timeSerie.TimeStep.MultiplierSpecified = inputTimeSerie.TimeStep.MultiplierSpecified1;
- timeSerie.TimeStep.DividerSpecified = inputTimeSerie.TimeStep.DividerSpecified1;
- timeSerie.TimeStep.Unit = ConversionHelper.ConvertToTimeStepUnit(inputTimeSerie.TimeStep.TimeStepUnit);
- if (inputTimeSerie.Entries.TimeSerieEntry != null)
+ for (var i = 0; i < inputTimeSerie.Entries.TimeSerieEntry.Length; i++)
{
- for (var i = 0; i < inputTimeSerie.Entries.TimeSerieEntry.Length; i++)
+ TimeSerieEntriesTimeSerieEntry entry = inputTimeSerie.Entries.TimeSerieEntry[i];
+ Stochast stochastValue = null;
+ if (entry.StochastValue != null)
{
- TimeSerieEntriesTimeSerieEntry entry = inputTimeSerie.Entries.TimeSerieEntry[i];
- Stochast stochastValue = null;
- if (entry.StochastValue != null)
+ stochastValue = new Stochast
{
- stochastValue = new Stochast
- {
- Distribution = entry.StochastValue.Distribution,
- Mean = entry.StochastValue.Mean,
- StandardDeviation = entry.StochastValue.StandardDeviation
- };
- }
-
- var timeSerieEntry = new TimeSerieEntry
- {
- DateTime = entry.DateTime,
- Value = entry.Value,
- BasisFileName = entry.BasisFileNameWMF,
- Flag = entry.Flagnietechtgebruikt,
- RelativeCalculationPathName = entry.RelativeCalculationPathName,
- StochastValue = stochastValue
+ Distribution = entry.StochastValue.Distribution,
+ Mean = entry.StochastValue.Mean,
+ StandardDeviation = entry.StochastValue.StandardDeviation
};
- timeSerie.Entries.Add(timeSerieEntry);
}
+
+ var timeSerieEntry = new TimeSerieEntry
+ {
+ DateTime = entry.DateTime,
+ Value = entry.Value,
+ BasisFileName = entry.BasisFileNameWMF,
+ Flag = entry.Flagnietechtgebruikt,
+ RelativeCalculationPathName = entry.RelativeCalculationPathName,
+ StochastValue = stochastValue
+ };
+ timeSerie.Entries.Add(timeSerieEntry);
}
}
}
+ }
- private static List TransferAquiferSoils(InputAquiferSoil[] inputAquiferSoils, SoilList soilList)
+ private static List TransferAquiferSoils(InputAquiferSoil[] inputAquiferSoils, SoilList soilList)
+ {
+ var validationMessages = new List();
+ if (inputAquiferSoils != null)
{
- var validationMessages = new List();
- if (inputAquiferSoils != null)
+ soilList.AquiferDictionary.Clear();
+ foreach (InputAquiferSoil aquiferSoil in inputAquiferSoils)
{
- soilList.AquiferDictionary.Clear();
- foreach (InputAquiferSoil aquiferSoil in inputAquiferSoils)
+ Data.Geotechnics.Soil soil = soilList.GetSoilByName(aquiferSoil.Soilname);
+ if (!soilList.AquiferDictionary.ContainsKey(soil.Name))
{
- Data.Geotechnics.Soil soil = soilList.GetSoilByName(aquiferSoil.Soilname);
- if (!soilList.AquiferDictionary.ContainsKey(soil.Name))
+ soilList.AquiferDictionary.Add(soil.Name, aquiferSoil.IsAquifer);
+ }
+ else
+ {
+ // If a soil is (wrongly) in the list more than once, then prefer aquifer true.
+ if (aquiferSoil.IsAquifer)
{
- soilList.AquiferDictionary.Add(soil.Name, aquiferSoil.IsAquifer);
+ validationMessages.Add(new LogMessage(LogMessageType.Warning, aquiferSoil, string.Format(Resources.DoubleAquiferSoil, aquiferSoil.Soilname)));
+ soilList.AquiferDictionary[soil.Name] = true;
}
- else
- {
- // If a soil is (wrongly) in the list more than once, then prefer aquifer true.
- if (aquiferSoil.IsAquifer)
- {
- validationMessages.Add(new LogMessage(LogMessageType.Warning, aquiferSoil, string.Format(Resources.DoubleAquiferSoil, aquiferSoil.Soilname)));
- soilList.AquiferDictionary[soil.Name] = true;
- }
- }
}
}
-
- return validationMessages;
}
- private static void TransferAnalysisSpecification(Input input, DamProjectData damProjectData)
- {
- damProjectData.DamProjectType = ConversionHelper.ConvertToDamProjectType(input.DamProjectType);
+ return validationMessages;
+ }
- var calculationSpecification = new DamFailureMechanismeCalculationSpecification();
+ private static void TransferAnalysisSpecification(Input input, DamProjectData damProjectData)
+ {
+ damProjectData.DamProjectType = ConversionHelper.ConvertToDamProjectType(input.DamProjectType);
- calculationSpecification.FailureMechanismSystemType = ConversionHelper.ConvertToFailureMechanismSystemType(input.FailureMechanismSystemType);
+ var calculationSpecification = new DamFailureMechanismeCalculationSpecification();
- if (input.AnalysisTypeSpecified)
- {
- DamProjectCalculationSpecification.SelectedAnalysisType = ConversionHelper.ConvertToAnalysisType(input.AnalysisType);
- }
+ calculationSpecification.FailureMechanismSystemType = ConversionHelper.ConvertToFailureMechanismSystemType(input.FailureMechanismSystemType);
- if (input.PipingModelTypeSpecified)
- {
- calculationSpecification.PipingModelType = ConversionHelper.ConvertToPipingModelType(input.PipingModelType);
- }
+ if (input.AnalysisTypeSpecified)
+ {
+ DamProjectCalculationSpecification.SelectedAnalysisType = ConversionHelper.ConvertToAnalysisType(input.AnalysisType);
+ }
- if (input.StabilityModelTypeSpecified)
- {
- calculationSpecification.StabilityModelType = ConversionHelper.ConvertToStabilityModelType(input.StabilityModelType);
- }
+ if (input.PipingModelTypeSpecified)
+ {
+ calculationSpecification.PipingModelType = ConversionHelper.ConvertToPipingModelType(input.PipingModelType);
+ }
- damProjectData.DamProjectCalculationSpecification.DamCalculationSpecifications.Add(calculationSpecification);
+ if (input.StabilityModelTypeSpecified)
+ {
+ calculationSpecification.StabilityModelType = ConversionHelper.ConvertToStabilityModelType(input.StabilityModelType);
}
- private static void TransferStabilityParameters(Input input, DamProjectData damProjectData)
+ damProjectData.DamProjectCalculationSpecification.DamCalculationSpecifications.Add(calculationSpecification);
+ }
+
+ private static void TransferStabilityParameters(Input input, DamProjectData damProjectData)
+ {
+ if (input.StabilityParameters != null)
{
- if (input.StabilityParameters != null)
+ if (damProjectData.DamProjectCalculationSpecification != null)
{
- if (damProjectData.DamProjectCalculationSpecification != null)
+ DamFailureMechanismeCalculationSpecification curSpec = damProjectData.DamProjectCalculationSpecification.CurrentSpecification;
+ if (curSpec != null)
{
- DamFailureMechanismeCalculationSpecification curSpec = damProjectData.DamProjectCalculationSpecification.CurrentSpecification;
- if (curSpec != null)
+ curSpec.FailureMechanismParametersMStab = new FailureMechanismParametersMStab();
+ curSpec.FailureMechanismParametersMStab.MStabParameters = new MStabParameters();
+ MStabParameters curStabParamas = curSpec.FailureMechanismParametersMStab.MStabParameters;
+ curStabParamas.SearchMethod = ConversionHelper.ConvertToSearchMethod(input.StabilityParameters.SearchMethod);
+ // ToDo zant2bka: Is this a good place to set the model? Is was also read in TransferAnalysisSpecification
+ if (input.StabilityModelTypeSpecified)
{
- curSpec.FailureMechanismParametersMStab = new FailureMechanismParametersMStab();
- curSpec.FailureMechanismParametersMStab.MStabParameters = new MStabParameters();
- MStabParameters curStabParamas = curSpec.FailureMechanismParametersMStab.MStabParameters;
- curStabParamas.SearchMethod = ConversionHelper.ConvertToSearchMethod(input.StabilityParameters.SearchMethod);
- // ToDo zant2bka: Is this a good place to set the model? Is was also read in TransferAnalysisSpecification
- if (input.StabilityModelTypeSpecified)
- {
- curStabParamas.Model = ConversionHelper.ConvertToStabilityModelType(input.StabilityModelType);
- }
+ curStabParamas.Model = ConversionHelper.ConvertToStabilityModelType(input.StabilityModelType);
+ }
- curStabParamas.SlipCircleDefinition = new SlipCircleDefinition();
- SlipCircleDefinition slipCircleDefinition = curStabParamas.SlipCircleDefinition;
- slipCircleDefinition.GridSizeDetermination = ConversionHelper.ConvertToGridDetermination(input.StabilityParameters.GridDetermination);
+ curStabParamas.SlipCircleDefinition = new SlipCircleDefinition();
+ SlipCircleDefinition slipCircleDefinition = curStabParamas.SlipCircleDefinition;
+ slipCircleDefinition.GridSizeDetermination = ConversionHelper.ConvertToGridDetermination(input.StabilityParameters.GridDetermination);
- if (input.StabilityParameters.BishopTangentLinesDefinitionSpecified)
- {
- slipCircleDefinition.BishopTangentLinesDefinition = ConversionHelper.ConvertToTangentLinesDefinition(input.StabilityParameters.BishopTangentLinesDefinition);
- }
+ if (input.StabilityParameters.BishopTangentLinesDefinitionSpecified)
+ {
+ slipCircleDefinition.BishopTangentLinesDefinition = ConversionHelper.ConvertToTangentLinesDefinition(input.StabilityParameters.BishopTangentLinesDefinition);
+ }
- if (input.StabilityParameters.BishopTangentLinesDistanceSpecified)
- {
- slipCircleDefinition.BishopTangentLinesDistance = input.StabilityParameters.BishopTangentLinesDistance;
- }
+ if (input.StabilityParameters.BishopTangentLinesDistanceSpecified)
+ {
+ slipCircleDefinition.BishopTangentLinesDistance = input.StabilityParameters.BishopTangentLinesDistance;
+ }
- if (input.StabilityParameters.BishopGridVerticalPointsCountSpecified)
- {
- slipCircleDefinition.BishopGridVerticalPointCount = input.StabilityParameters.BishopGridVerticalPointsCount;
- }
+ if (input.StabilityParameters.BishopGridVerticalPointsCountSpecified)
+ {
+ slipCircleDefinition.BishopGridVerticalPointCount = input.StabilityParameters.BishopGridVerticalPointsCount;
+ }
- if (input.StabilityParameters.BishopGridVerticalPointsDistanceSpecified)
- {
- slipCircleDefinition.BishopGridVerticalPointDistance = input.StabilityParameters.BishopGridVerticalPointsDistance;
- }
+ if (input.StabilityParameters.BishopGridVerticalPointsDistanceSpecified)
+ {
+ slipCircleDefinition.BishopGridVerticalPointDistance = input.StabilityParameters.BishopGridVerticalPointsDistance;
+ }
- if (input.StabilityParameters.BishopGridHorizontalPointsCountSpecified)
- {
- slipCircleDefinition.BishopGridHorizontalPointCount = input.StabilityParameters.BishopGridHorizontalPointsCount;
- }
+ if (input.StabilityParameters.BishopGridHorizontalPointsCountSpecified)
+ {
+ slipCircleDefinition.BishopGridHorizontalPointCount = input.StabilityParameters.BishopGridHorizontalPointsCount;
+ }
- if (input.StabilityParameters.BishopGridHorizontalPointsDistanceSpecified)
- {
- slipCircleDefinition.BishopGridHorizontalPointDistance = input.StabilityParameters.BishopGridHorizontalPointsDistance;
- }
+ if (input.StabilityParameters.BishopGridHorizontalPointsDistanceSpecified)
+ {
+ slipCircleDefinition.BishopGridHorizontalPointDistance = input.StabilityParameters.BishopGridHorizontalPointsDistance;
+ }
- if (input.StabilityParameters.UpliftVanTangentLinesDefinitionSpecified)
- {
- slipCircleDefinition.UpliftVanTangentLinesDefinition = ConversionHelper.ConvertToTangentLinesDefinition(input.StabilityParameters.UpliftVanTangentLinesDefinition);
- }
+ if (input.StabilityParameters.UpliftVanTangentLinesDefinitionSpecified)
+ {
+ slipCircleDefinition.UpliftVanTangentLinesDefinition = ConversionHelper.ConvertToTangentLinesDefinition(input.StabilityParameters.UpliftVanTangentLinesDefinition);
+ }
- if (input.StabilityParameters.UpliftVanTangentLinesDistanceSpecified)
- {
- slipCircleDefinition.UpliftVanTangentLinesDistance = input.StabilityParameters.UpliftVanTangentLinesDistance;
- }
+ if (input.StabilityParameters.UpliftVanTangentLinesDistanceSpecified)
+ {
+ slipCircleDefinition.UpliftVanTangentLinesDistance = input.StabilityParameters.UpliftVanTangentLinesDistance;
+ }
- if (input.StabilityParameters.UpliftVanGridLeftVerticalPointsCountSpecified)
- {
- slipCircleDefinition.UpliftVanLeftGridVerticalPointCount = input.StabilityParameters.UpliftVanGridLeftVerticalPointsCount;
- }
+ if (input.StabilityParameters.UpliftVanGridLeftVerticalPointsCountSpecified)
+ {
+ slipCircleDefinition.UpliftVanLeftGridVerticalPointCount = input.StabilityParameters.UpliftVanGridLeftVerticalPointsCount;
+ }
- if (input.StabilityParameters.UpliftVanGridLeftVerticalPointsDistanceSpecified)
- {
- slipCircleDefinition.UpliftVanLeftGridVerticalPointDistance = input.StabilityParameters.UpliftVanGridLeftVerticalPointsDistance;
- }
+ if (input.StabilityParameters.UpliftVanGridLeftVerticalPointsDistanceSpecified)
+ {
+ slipCircleDefinition.UpliftVanLeftGridVerticalPointDistance = input.StabilityParameters.UpliftVanGridLeftVerticalPointsDistance;
+ }
- if (input.StabilityParameters.UpliftVanGridLeftHorizontalPointsCountSpecified)
- {
- slipCircleDefinition.UpliftVanLeftGridHorizontalPointCount = input.StabilityParameters.UpliftVanGridLeftHorizontalPointsCount;
- }
+ if (input.StabilityParameters.UpliftVanGridLeftHorizontalPointsCountSpecified)
+ {
+ slipCircleDefinition.UpliftVanLeftGridHorizontalPointCount = input.StabilityParameters.UpliftVanGridLeftHorizontalPointsCount;
+ }
- if (input.StabilityParameters.UpliftVanGridLeftHorizontalPointsDistanceSpecified)
- {
- slipCircleDefinition.UpliftVanLeftGridHorizontalPointDistance = input.StabilityParameters.UpliftVanGridLeftHorizontalPointsDistance;
- }
+ if (input.StabilityParameters.UpliftVanGridLeftHorizontalPointsDistanceSpecified)
+ {
+ slipCircleDefinition.UpliftVanLeftGridHorizontalPointDistance = input.StabilityParameters.UpliftVanGridLeftHorizontalPointsDistance;
+ }
- if (input.StabilityParameters.UpliftVanGridRightVerticalPointsCountSpecified)
- {
- slipCircleDefinition.UpliftVanRightGridVerticalPointCount = input.StabilityParameters.UpliftVanGridRightVerticalPointsCount;
- }
+ if (input.StabilityParameters.UpliftVanGridRightVerticalPointsCountSpecified)
+ {
+ slipCircleDefinition.UpliftVanRightGridVerticalPointCount = input.StabilityParameters.UpliftVanGridRightVerticalPointsCount;
+ }
- if (input.StabilityParameters.UpliftVanGridRightVerticalPointsDistanceSpecified)
- {
- slipCircleDefinition.UpliftVanRightGridVerticalPointDistance = input.StabilityParameters.UpliftVanGridRightVerticalPointsDistance;
- }
+ if (input.StabilityParameters.UpliftVanGridRightVerticalPointsDistanceSpecified)
+ {
+ slipCircleDefinition.UpliftVanRightGridVerticalPointDistance = input.StabilityParameters.UpliftVanGridRightVerticalPointsDistance;
+ }
- if (input.StabilityParameters.UpliftVanGridRightHorizontalPointsCountSpecified)
- {
- slipCircleDefinition.UpliftVanRightGridHorizontalPointCount = input.StabilityParameters.UpliftVanGridRightHorizontalPointsCount;
- }
+ if (input.StabilityParameters.UpliftVanGridRightHorizontalPointsCountSpecified)
+ {
+ slipCircleDefinition.UpliftVanRightGridHorizontalPointCount = input.StabilityParameters.UpliftVanGridRightHorizontalPointsCount;
+ }
- if (input.StabilityParameters.UpliftVanGridRightHorizontalPointsDistanceSpecified)
- {
- slipCircleDefinition.UpliftVanRightGridHorizontalPointDistance = input.StabilityParameters.UpliftVanGridRightHorizontalPointsDistance;
- }
+ if (input.StabilityParameters.UpliftVanGridRightHorizontalPointsDistanceSpecified)
+ {
+ slipCircleDefinition.UpliftVanRightGridHorizontalPointDistance = input.StabilityParameters.UpliftVanGridRightHorizontalPointsDistance;
}
}
}
}
+ }
- private static void ValidateInput(Input input)
+ private static void ValidateInput(Input input)
+ {
+ if (input == null)
{
- if (input == null)
- {
- throw new ArgumentNullException(Resources.NoInputDefined);
- }
+ throw new ArgumentNullException(Resources.NoInputDefined);
+ }
- if (input.Locations == null)
- {
- throw new ArgumentNullException(Resources.NoLocationsDefined);
- }
+ if (input.Locations == null)
+ {
+ throw new ArgumentNullException(Resources.NoLocationsDefined);
+ }
- foreach (Io.XmlInput.Location location in input.Locations)
+ foreach (Io.XmlInput.Location location in input.Locations)
+ {
+ if (location.DesignScenarios == null)
{
- if (location.DesignScenarios == null)
- {
- throw new ArgumentNullException(Resources.NoDesignScenariosInLocation);
- }
+ throw new ArgumentNullException(Resources.NoDesignScenariosInLocation);
}
+ }
- if (input.SurfaceLines == null)
+ if (input.SurfaceLines == null)
+ {
+ throw new ArgumentNullException(Resources.NoSurfaceLinesDefined);
+ }
+
+ foreach (SurfaceLine surfaceLine in input.SurfaceLines)
+ {
+ if ((surfaceLine.Points == null) || (surfaceLine.Points.Length < 1))
{
- throw new ArgumentNullException(Resources.NoSurfaceLinesDefined);
+ throw new ArgumentNullException(string.Format(Resources.NoPointsInSurfaceLine, surfaceLine.Name));
}
+ }
- foreach (SurfaceLine surfaceLine in input.SurfaceLines)
+ if (input.Soils == null)
+ {
+ throw new ArgumentNullException(Resources.NoSoilsDefined);
+ }
+
+ if (input.Segments == null)
+ {
+ throw new ArgumentNullException(Resources.NoSegmentsDefined);
+ }
+ }
+
+ ///
+ /// Postprocess: connect all objects
+ ///
+ /// The project.
+ private static void PostProcess(DamProjectData project)
+ {
+ // find proper profiles for segments
+ foreach (Segment segment in project.Segments)
+ {
+ foreach (SoilGeometryProbability segmentSoilProfileProbability in segment.SoilProfileProbabilities)
{
- if ((surfaceLine.Points == null) || (surfaceLine.Points.Length < 1))
+ if (segmentSoilProfileProbability.SoilProfileType == SoilProfileType.ProfileType1D)
{
- throw new ArgumentNullException(string.Format(Resources.NoPointsInSurfaceLine, surfaceLine.Name));
+ segmentSoilProfileProbability.SoilProfile1D = FindSoilProfile1DByName(project.Dike.SoilProfiles,
+ segmentSoilProfileProbability.SoilProfile1DName);
}
+ else
+ {
+ segmentSoilProfileProbability.SoilProfile2D = FindSoilProfile2DByName(project.Dike.SoilProfiles2D,
+ segmentSoilProfileProbability.SoilProfile2DName);
+ }
}
+ }
- if (input.Soils == null)
+ // Set locations for scenarios
+ foreach (Location location in project.Dike.Locations)
+ {
+ foreach (DesignScenario designScenario in location.Scenarios)
{
- throw new ArgumentNullException(Resources.NoSoilsDefined);
+ designScenario.Location = location;
}
- if (input.Segments == null)
- {
- throw new ArgumentNullException(Resources.NoSegmentsDefined);
- }
+ location.SoilList = project.Dike.SoilList;
}
+ }
- ///
- /// Postprocess: connect all objects
- ///
- /// The project.
- private static void PostProcess(DamProjectData project)
+ private static void TransferSoils(Soil[] inputSoils, List soils)
+ {
+ for (var i = 0; i < inputSoils.Length; i++)
{
- // find proper profiles for segments
- foreach (Segment segment in project.Segments)
+ var soil = new Data.Geotechnics.Soil();
+ Soil inputSoil = inputSoils[i];
+ soil.Name = inputSoil.Name;
+ soil.AbovePhreaticLevel = inputSoil.AbovePhreaticLevelSpecified ? inputSoil.AbovePhreaticLevel : double.NaN;
+ soil.BelowPhreaticLevel = inputSoil.BelowPhreaticLevelSpecified ? inputSoil.BelowPhreaticLevel : double.NaN;
+ soil.DryUnitWeight = inputSoil.DryUnitWeightSpecified ? inputSoil.DryUnitWeight : double.NaN;
+ soil.BeddingAngle = inputSoil.BeddingAngleSpecified ? inputSoil.BeddingAngle : double.NaN;
+ soil.DiameterD70 = inputSoil.DiameterD70Specified ? inputSoil.DiameterD70 : double.NaN;
+ soil.DiameterD90 = inputSoil.DiameterD90Specified ? inputSoil.DiameterD90 : double.NaN;
+ soil.PermeabKx = inputSoil.PermeabKxSpecified ? inputSoil.PermeabKx : double.NaN;
+ soil.WhitesConstant = inputSoil.WhitesConstantSpecified ? inputSoil.WhitesConstant : double.NaN;
+ soil.ShearStrengthModel = inputSoil.ShearStrengthModelSpecified ? ConversionHelper.ConvertToShearStrengthModel(inputSoil.ShearStrengthModel) : null;
+ soil.UseDefaultShearStrengthModel = inputSoil.UseDefaultShearStrengthModelSpecified ? inputSoil.UseDefaultShearStrengthModel : null;
+ if (soil.UseDefaultShearStrengthModel.HasValue && soil.UseDefaultShearStrengthModel.Value &&
+ soil.ShearStrengthModel == ShearStrengthModel.None)
{
- foreach (SoilGeometryProbability segmentSoilProfileProbability in segment.SoilProfileProbabilities)
- {
- if (segmentSoilProfileProbability.SoilProfileType == SoilProfileType.ProfileType1D)
- {
- segmentSoilProfileProbability.SoilProfile1D = FindSoilProfile1DByName(project.Dike.SoilProfiles,
- segmentSoilProfileProbability.SoilProfile1DName);
- }
- else
- {
- segmentSoilProfileProbability.SoilProfile2D = FindSoilProfile2DByName(project.Dike.SoilProfiles2D,
- segmentSoilProfileProbability.SoilProfile2DName);
- }
- }
+ soil.ShearStrengthModel = ShearStrengthModel.CPhi;
}
- // Set locations for scenarios
- foreach (Location location in project.Dike.Locations)
- {
- foreach (DesignScenario designScenario in location.Scenarios)
- {
- designScenario.Location = location;
- }
+ soil.Cohesion = inputSoil.CohesionSpecified ? inputSoil.Cohesion : double.NaN;
+ soil.FrictionAngle = inputSoil.FrictionAngleSpecified ? inputSoil.FrictionAngle : double.NaN;
+ soil.Ocr = inputSoil.OcrSpecified ? inputSoil.Ocr : double.NaN;
+ soil.SlopeRestProfile = inputSoil.SlopeRestProfileSpecified ? inputSoil.SlopeRestProfile : double.NaN;
+ soil.DilatancyType = inputSoil.DilatancyTypeSpecified ? ConversionHelper.ConvertToDilatancyType(inputSoil.DilatancyType) : null;
+ soil.RRatio = inputSoil.RRatioSpecified ? inputSoil.RRatio : double.NaN;
+ soil.StrengthIncreaseExponent = inputSoil.StrengthIncreaseExponentSpecified ? inputSoil.StrengthIncreaseExponent : double.NaN;
+ soil.RatioCuPc = inputSoil.RatioCuPcSpecified ? inputSoil.RatioCuPc : double.NaN;
+ soils.Add(soil);
+ }
+ }
- location.SoilList = project.Dike.SoilList;
- }
+ private static void TransferSurfaceLines(SurfaceLine[] inputSurfaceLines, IList dikeSurfaceLines)
+ {
+ for (var i = 0; i < inputSurfaceLines.Length; i++)
+ {
+ var surfaceLine = new SurfaceLine2();
+ SurfaceLine inputSurfaceLine = inputSurfaceLines[i];
+ surfaceLine.Name = inputSurfaceLine.Name;
+ surfaceLine.CharacteristicPoints.Geometry = surfaceLine.Geometry;
+ AddPointsToSurfaceLine(inputSurfaceLine, surfaceLine);
+ dikeSurfaceLines.Add(surfaceLine);
}
+ }
- private static void TransferSoils(Soil[] inputSoils, List soils)
+ private static void AddPointsToSurfaceLine(SurfaceLine inputSurfaceLine, SurfaceLine2 surfaceLine)
+ {
+ surfaceLine.Geometry = new GeometryPointString();
+ for (var j = 0; j < inputSurfaceLine.Points.Length; j++)
{
- for (var i = 0; i < inputSoils.Length; i++)
+ SurfaceLinePoint inputPoint = inputSurfaceLine.Points[j];
+ var geometryPoint = new GeometryPoint
{
- var soil = new Data.Geotechnics.Soil();
- Soil inputSoil = inputSoils[i];
- soil.Name = inputSoil.Name;
- soil.AbovePhreaticLevel = inputSoil.AbovePhreaticLevelSpecified ? inputSoil.AbovePhreaticLevel : double.NaN;
- soil.BelowPhreaticLevel = inputSoil.BelowPhreaticLevelSpecified ? inputSoil.BelowPhreaticLevel : double.NaN;
- soil.DryUnitWeight = inputSoil.DryUnitWeightSpecified ? inputSoil.DryUnitWeight : double.NaN;
- soil.BeddingAngle = inputSoil.BeddingAngleSpecified ? inputSoil.BeddingAngle : double.NaN;
- soil.DiameterD70 = inputSoil.DiameterD70Specified ? inputSoil.DiameterD70 : double.NaN;
- soil.DiameterD90 = inputSoil.DiameterD90Specified ? inputSoil.DiameterD90 : double.NaN;
- soil.PermeabKx = inputSoil.PermeabKxSpecified ? inputSoil.PermeabKx : double.NaN;
- soil.WhitesConstant = inputSoil.WhitesConstantSpecified ? inputSoil.WhitesConstant : double.NaN;
- soil.ShearStrengthModel = inputSoil.ShearStrengthModelSpecified ? ConversionHelper.ConvertToShearStrengthModel(inputSoil.ShearStrengthModel) : null;
- soil.UseDefaultShearStrengthModel = inputSoil.UseDefaultShearStrengthModelSpecified ? inputSoil.UseDefaultShearStrengthModel : null;
- if (soil.UseDefaultShearStrengthModel.HasValue && soil.UseDefaultShearStrengthModel.Value &&
- soil.ShearStrengthModel == ShearStrengthModel.None)
- {
- soil.ShearStrengthModel = ShearStrengthModel.CPhi;
- }
-
- soil.Cohesion = inputSoil.CohesionSpecified ? inputSoil.Cohesion : double.NaN;
- soil.FrictionAngle = inputSoil.FrictionAngleSpecified ? inputSoil.FrictionAngle : double.NaN;
- soil.Ocr = inputSoil.OcrSpecified ? inputSoil.Ocr : double.NaN;
- soil.SlopeRestProfile = inputSoil.SlopeRestProfileSpecified ? inputSoil.SlopeRestProfile : double.NaN;
- soil.DilatancyType = inputSoil.DilatancyTypeSpecified ? ConversionHelper.ConvertToDilatancyType(inputSoil.DilatancyType) : null;
- soil.RRatio = inputSoil.RRatioSpecified ? inputSoil.RRatio : double.NaN;
- soil.StrengthIncreaseExponent = inputSoil.StrengthIncreaseExponentSpecified ? inputSoil.StrengthIncreaseExponent : double.NaN;
- soil.RatioCuPc = inputSoil.RatioCuPcSpecified ? inputSoil.RatioCuPc : double.NaN;
- soils.Add(soil);
- }
+ X = inputPoint.X,
+ Y = 0.0,
+ Z = inputPoint.Z
+ };
+ surfaceLine.AddCharacteristicPoint(geometryPoint, ConversionHelper.ConvertToDamPointType(inputPoint.PointType));
}
- private static void TransferSurfaceLines(SurfaceLine[] inputSurfaceLines, IList dikeSurfaceLines)
+ surfaceLine.Geometry.SyncCalcPoints();
+ }
+
+ private static void TransferLocations(string projectPath, Io.XmlInput.Location[] inputLocations,
+ IList dikeLocations, IList dikeSurfaceLines, IList segments)
+ {
+ for (var i = 0; i < inputLocations.Length; i++)
{
- for (var i = 0; i < inputSurfaceLines.Length; i++)
+ var location = new Location();
+ Io.XmlInput.Location inputLocation = inputLocations[i];
+ location.Name = inputLocation.Name;
+ if (inputLocation.DistanceToEntryPointSpecified)
{
- var surfaceLine = new SurfaceLine2();
- SurfaceLine inputSurfaceLine = inputSurfaceLines[i];
- surfaceLine.Name = inputSurfaceLine.Name;
- surfaceLine.CharacteristicPoints.Geometry = surfaceLine.Geometry;
- AddPointsToSurfaceLine(inputSurfaceLine, surfaceLine);
- dikeSurfaceLines.Add(surfaceLine);
+ location.DistanceToEntryPoint = inputLocation.DistanceToEntryPoint;
}
- }
- private static void AddPointsToSurfaceLine(SurfaceLine inputSurfaceLine, SurfaceLine2 surfaceLine)
- {
- surfaceLine.Geometry = new GeometryPointString();
- for (var j = 0; j < inputSurfaceLine.Points.Length; j++)
+ if (inputLocation.XSoilGeometry2DOriginSpecified)
{
- SurfaceLinePoint inputPoint = inputSurfaceLine.Points[j];
- var geometryPoint = new GeometryPoint
- {
- X = inputPoint.X,
- Y = 0.0,
- Z = inputPoint.Z
- };
- surfaceLine.AddCharacteristicPoint(geometryPoint, ConversionHelper.ConvertToDamPointType(inputPoint.PointType));
+ location.XSoilGeometry2DOrigin = inputLocation.XSoilGeometry2DOrigin;
}
- surfaceLine.Geometry.SyncCalcPoints();
- }
+ // Waternet options
+ LocationWaternetOptions waternetOptions = inputLocation.WaternetOptions;
+ location.ModelParametersForPlLines.PlLineCreationMethod = ConversionHelper.ConvertToPhreaticLineCreationMethod(waternetOptions.PhreaticLineCreationMethod);
+ location.IntrusionVerticalWaterPressure = ConversionHelper.ConvertToIntrusionVerticalWaterPressure(waternetOptions.IntrusionVerticalWaterPressure);
+ location.ModelParametersForPlLines.DampingFactorPl3 = waternetOptions.DampingFactorPl3;
+ location.ModelParametersForPlLines.DampingFactorPl4 = waternetOptions.DampingFactorPl4;
+ location.ModelParametersForPlLines.PenetrationLength = waternetOptions.PenetrationLength;
+ location.DikeSoilScenario = ConversionHelper.ConvertToDikeSoilScenario(waternetOptions.DikeSoilScenario);
+ location.SlopeDampingPiezometricHeightPolderSide = waternetOptions.SlopeDampingFactor;
- private static void TransferLocations(string projectPath, Io.XmlInput.Location[] inputLocations,
- IList dikeLocations, IList dikeSurfaceLines, IList segments)
- {
- for (var i = 0; i < inputLocations.Length; i++)
+ // Design options
+ LocationDesignOptions designOptions = inputLocation.DesignOptions;
+ if (designOptions != null)
{
- var location = new Location();
- Io.XmlInput.Location inputLocation = inputLocations[i];
- location.Name = inputLocation.Name;
- if (inputLocation.DistanceToEntryPointSpecified)
+ location.RedesignDikeHeight = designOptions.RedesignDikeHeight;
+ location.RedesignDikeShoulder = designOptions.RedesignDikeShoulder;
+ location.ShoulderEmbankmentMaterial = designOptions.ShoulderEmbankmentMaterial;
+ location.StabilityShoulderGrowSlope = designOptions.StabilityShoulderGrowSlope;
+ location.StabilityShoulderGrowDeltaX = designOptions.StabilityShoulderGrowDeltaX;
+ location.StabilitySlopeAdaptionDeltaX = designOptions.StabilitySlopeAdaptionDeltaX;
+ location.SlopeAdaptionStartCotangent = designOptions.SlopeAdaptionStartCotangent;
+ location.SlopeAdaptionEndCotangent = designOptions.SlopeAdaptionEndCotangent;
+ location.SlopeAdaptionStepCotangent = designOptions.SlopeAdaptionStepCotangent;
+ location.UseNewDikeTopWidth = designOptions.NewDikeTopWidthSpecified;
+ if (designOptions.NewDikeTopWidthSpecified)
{
- location.DistanceToEntryPoint = inputLocation.DistanceToEntryPoint;
+ location.NewDikeTopWidth = designOptions.NewDikeTopWidth;
}
- if (inputLocation.XSoilGeometry2DOriginSpecified)
+ location.UseNewDikeSlopeInside = designOptions.NewDikeSlopeInsideSpecified;
+ if (designOptions.NewDikeSlopeInsideSpecified)
{
- location.XSoilGeometry2DOrigin = inputLocation.XSoilGeometry2DOrigin;
+ location.NewDikeSlopeInside = designOptions.NewDikeSlopeInside;
}
- // Waternet options
- LocationWaternetOptions waternetOptions = inputLocation.WaternetOptions;
- location.ModelParametersForPlLines.PlLineCreationMethod = ConversionHelper.ConvertToPhreaticLineCreationMethod(waternetOptions.PhreaticLineCreationMethod);
- location.IntrusionVerticalWaterPressure = ConversionHelper.ConvertToIntrusionVerticalWaterPressure(waternetOptions.IntrusionVerticalWaterPressure);
- location.ModelParametersForPlLines.DampingFactorPl3 = waternetOptions.DampingFactorPl3;
- location.ModelParametersForPlLines.DampingFactorPl4 = waternetOptions.DampingFactorPl4;
- location.ModelParametersForPlLines.PenetrationLength = waternetOptions.PenetrationLength;
- location.DikeSoilScenario = ConversionHelper.ConvertToDikeSoilScenario(waternetOptions.DikeSoilScenario);
- location.SlopeDampingPiezometricHeightPolderSide = waternetOptions.SlopeDampingFactor;
+ location.UseNewDikeSlopeOutside = designOptions.NewDikeSlopeOutsideSpecified;
+ if (designOptions.NewDikeSlopeOutsideSpecified)
+ {
+ location.NewDikeSlopeOutside = designOptions.NewDikeSlopeOutside;
+ }
- // Design options
- LocationDesignOptions designOptions = inputLocation.DesignOptions;
- if (designOptions != null)
+ location.UseNewShoulderTopSlope = designOptions.NewShoulderTopSlopeSpecified;
+ if (designOptions.NewShoulderTopSlopeSpecified)
{
- location.RedesignDikeHeight = designOptions.RedesignDikeHeight;
- location.RedesignDikeShoulder = designOptions.RedesignDikeShoulder;
- location.ShoulderEmbankmentMaterial = designOptions.ShoulderEmbankmentMaterial;
- location.StabilityShoulderGrowSlope = designOptions.StabilityShoulderGrowSlope;
- location.StabilityShoulderGrowDeltaX = designOptions.StabilityShoulderGrowDeltaX;
- location.StabilitySlopeAdaptionDeltaX = designOptions.StabilitySlopeAdaptionDeltaX;
- location.SlopeAdaptionStartCotangent = designOptions.SlopeAdaptionStartCotangent;
- location.SlopeAdaptionEndCotangent = designOptions.SlopeAdaptionEndCotangent;
- location.SlopeAdaptionStepCotangent = designOptions.SlopeAdaptionStepCotangent;
- location.UseNewDikeTopWidth = designOptions.NewDikeTopWidthSpecified;
- if (designOptions.NewDikeTopWidthSpecified)
- {
- location.NewDikeTopWidth = designOptions.NewDikeTopWidth;
- }
+ location.NewShoulderTopSlope = designOptions.NewShoulderTopSlope;
+ }
- location.UseNewDikeSlopeInside = designOptions.NewDikeSlopeInsideSpecified;
- if (designOptions.NewDikeSlopeInsideSpecified)
- {
- location.NewDikeSlopeInside = designOptions.NewDikeSlopeInside;
- }
+ location.UseNewShoulderBaseSlope = designOptions.NewShoulderBaseSlopeSpecified;
+ if (designOptions.NewShoulderBaseSlopeSpecified)
+ {
+ location.NewShoulderBaseSlope = designOptions.NewShoulderBaseSlope;
+ }
- location.UseNewDikeSlopeOutside = designOptions.NewDikeSlopeOutsideSpecified;
- if (designOptions.NewDikeSlopeOutsideSpecified)
- {
- location.NewDikeSlopeOutside = designOptions.NewDikeSlopeOutside;
- }
+ location.UseNewMaxHeightShoulderAsFraction = designOptions.NewMaxHeightShoulderAsFractionSpecified;
+ if (designOptions.NewMaxHeightShoulderAsFractionSpecified)
+ {
+ location.NewMaxHeightShoulderAsFraction = designOptions.NewMaxHeightShoulderAsFraction;
+ }
- location.UseNewShoulderTopSlope = designOptions.NewShoulderTopSlopeSpecified;
- if (designOptions.NewShoulderTopSlopeSpecified)
- {
- location.NewShoulderTopSlope = designOptions.NewShoulderTopSlope;
- }
+ location.UseNewMinDistanceDikeToeStartDitch = designOptions.NewMinDistanceDikeToeStartDitchSpecified;
+ if (designOptions.NewMinDistanceDikeToeStartDitchSpecified)
+ {
+ location.NewMinDistanceDikeToeStartDitch = designOptions.NewMinDistanceDikeToeStartDitch;
+ }
- location.UseNewShoulderBaseSlope = designOptions.NewShoulderBaseSlopeSpecified;
- if (designOptions.NewShoulderBaseSlopeSpecified)
- {
- location.NewShoulderBaseSlope = designOptions.NewShoulderBaseSlope;
- }
+ location.UseNewDitchDefinition = designOptions.UseNewDitchDefinition;
+ if (designOptions.NewWidthDitchBottomSpecified)
+ {
+ location.NewWidthDitchBottom = designOptions.NewWidthDitchBottom;
+ }
- location.UseNewMaxHeightShoulderAsFraction = designOptions.NewMaxHeightShoulderAsFractionSpecified;
- if (designOptions.NewMaxHeightShoulderAsFractionSpecified)
- {
- location.NewMaxHeightShoulderAsFraction = designOptions.NewMaxHeightShoulderAsFraction;
- }
+ if (designOptions.NewSlopeAngleDitchSpecified)
+ {
+ location.NewSlopeAngleDitch = designOptions.NewSlopeAngleDitch;
+ }
- location.UseNewMinDistanceDikeToeStartDitch = designOptions.NewMinDistanceDikeToeStartDitchSpecified;
- if (designOptions.NewMinDistanceDikeToeStartDitchSpecified)
- {
- location.NewMinDistanceDikeToeStartDitch = designOptions.NewMinDistanceDikeToeStartDitch;
- }
+ if (designOptions.NewDepthDitchSpecified)
+ {
+ location.NewDepthDitch = designOptions.NewDepthDitch;
+ }
- location.UseNewDitchDefinition = designOptions.UseNewDitchDefinition;
- if (designOptions.NewWidthDitchBottomSpecified)
- {
- location.NewWidthDitchBottom = designOptions.NewWidthDitchBottom;
- }
+ location.StabilityDesignMethod = ConversionHelper.ConvertToDamStabilityDesignMethod(designOptions.StabilityDesignMethod);
+ }
- if (designOptions.NewSlopeAngleDitchSpecified)
- {
- location.NewSlopeAngleDitch = designOptions.NewSlopeAngleDitch;
- }
+ SurfaceLine2 surfaceLine = dikeSurfaceLines.First(n => n.Name.Equals(inputLocation.SurfaceLineName));
+ location.SurfaceLine = surfaceLine;
+ Segment segment = null;
+ if (segments.Count > 0)
+ {
+ segment = segments.First(s => s.Name.Equals(inputLocation.SegmentName));
+ }
- if (designOptions.NewDepthDitchSpecified)
- {
- location.NewDepthDitch = designOptions.NewDepthDitch;
- }
+ location.Segment = segment;
- location.StabilityDesignMethod = ConversionHelper.ConvertToDamStabilityDesignMethod(designOptions.StabilityDesignMethod);
+ if (inputLocation.DesignScenarios != null)
+ {
+ for (var j = 0; j < inputLocation.DesignScenarios.Length; j++)
+ {
+ var designScenario = new DesignScenario();
+ LocationDesignScenario inputLocationDesignScenario = inputLocation.DesignScenarios[j];
+ designScenario.LocationScenarioID = inputLocationDesignScenario.Id;
+ designScenario.PolderLevel = inputLocationDesignScenario.PolderLevel;
+ designScenario.RiverLevel = inputLocationDesignScenario.RiverLevel;
+ designScenario.RiverLevelLow = (inputLocationDesignScenario.RiverLevelLowSpecified ? inputLocationDesignScenario.RiverLevelLow : null);
+ designScenario.DikeTableHeight = (inputLocationDesignScenario.DikeTableHeightSpecified ? inputLocationDesignScenario.DikeTableHeight : null);
+ designScenario.PlLineOffsetBelowDikeTopAtRiver = inputLocationDesignScenario.PlLineOffsetBelowDikeTopAtRiver;
+ designScenario.PlLineOffsetBelowDikeTopAtPolder = inputLocationDesignScenario.PlLineOffsetBelowDikeTopAtPolder;
+ designScenario.PlLineOffsetBelowShoulderBaseInside = inputLocationDesignScenario.PlLineOffsetBelowShoulderBaseInside;
+ designScenario.PlLineOffsetBelowDikeToeAtPolder = inputLocationDesignScenario.PlLineOffsetBelowDikeToeAtPolder;
+ designScenario.UsePlLineOffsetBelowDikeCrestMiddle = inputLocationDesignScenario.PlLineOffsetBelowDikeCrestMiddleSpecified;
+ designScenario.PlLineOffsetBelowDikeCrestMiddle = inputLocationDesignScenario.PlLineOffsetBelowDikeCrestMiddle;
+ designScenario.UsePlLineOffsetFactorBelowShoulderCrest = inputLocationDesignScenario.PlLineOffsetFactorBelowShoulderCrestSpecified;
+ designScenario.PlLineOffsetFactorBelowShoulderCrest = inputLocationDesignScenario.PlLineOffsetFactorBelowShoulderCrest;
+ designScenario.HeadPl2 = (inputLocationDesignScenario.HeadPl2Specified ? inputLocationDesignScenario.HeadPl2 : null);
+ designScenario.HeadPl3 = (inputLocationDesignScenario.HeadPl3Specified ? inputLocationDesignScenario.HeadPl3 : null);
+ designScenario.HeadPl4 = (inputLocationDesignScenario.HeadPl4Specified ? inputLocationDesignScenario.HeadPl4 : null);
+ designScenario.UpliftCriterionStability = inputLocationDesignScenario.UpliftCriterionStability;
+ designScenario.UpliftCriterionPiping = inputLocationDesignScenario.UpliftCriterionPiping;
+ designScenario.RequiredSafetyFactorStabilityInnerSlope = inputLocationDesignScenario.RequiredSafetyFactorStabilityInnerSlope;
+ designScenario.RequiredSafetyFactorStabilityOuterSlope = inputLocationDesignScenario.RequiredSafetyFactorStabilityOuterSlope;
+ designScenario.RequiredSafetyFactorPiping = inputLocationDesignScenario.RequiredSafetyFactorPiping;
+
+ location.Scenarios.Add(designScenario);
}
+ }
- SurfaceLine2 surfaceLine = dikeSurfaceLines.First(n => n.Name.Equals(inputLocation.SurfaceLineName));
- location.SurfaceLine = surfaceLine;
- Segment segment = null;
- if (segments.Count > 0)
+ location.DikeEmbankmentMaterial = inputLocation.DikeEmbankmentMaterial;
+ if (inputLocation.StabilityOptions != null)
+ {
+ string tmpPath = projectPath ?? Directory.GetCurrentDirectory();
+ location.StabilityOptions = new StabilityOptions
{
- segment = segments.First(s => s.Name.Equals(inputLocation.SegmentName));
+ SoilGeometries2DPath = Path.Combine(tmpPath, inputLocation.StabilityOptions.MapForSoilgeometries2D),
+ SoilDatabaseName = inputLocation.StabilityOptions.SoilDatabaseName,
+ StabilityZoneType = ConversionHelper.ConvertToZoneType(inputLocation.StabilityOptions.ZoneType)
+ };
+ if (inputLocation.StabilityOptions.ForbiddenZoneFactorSpecified)
+ {
+ location.StabilityOptions.ForbiddenZoneFactor = inputLocation.StabilityOptions.ForbiddenZoneFactor;
}
- location.Segment = segment;
-
- if (inputLocation.DesignScenarios != null)
+ if (inputLocation.StabilityOptions.TrafficLoadSpecified)
{
- for (var j = 0; j < inputLocation.DesignScenarios.Length; j++)
- {
- var designScenario = new DesignScenario();
- LocationDesignScenario inputLocationDesignScenario = inputLocation.DesignScenarios[j];
- designScenario.LocationScenarioID = inputLocationDesignScenario.Id;
- designScenario.PolderLevel = inputLocationDesignScenario.PolderLevel;
- designScenario.RiverLevel = inputLocationDesignScenario.RiverLevel;
- designScenario.RiverLevelLow = (inputLocationDesignScenario.RiverLevelLowSpecified ? inputLocationDesignScenario.RiverLevelLow : null);
- designScenario.DikeTableHeight = (inputLocationDesignScenario.DikeTableHeightSpecified ? inputLocationDesignScenario.DikeTableHeight : null);
- designScenario.PlLineOffsetBelowDikeTopAtRiver = inputLocationDesignScenario.PlLineOffsetBelowDikeTopAtRiver;
- designScenario.PlLineOffsetBelowDikeTopAtPolder = inputLocationDesignScenario.PlLineOffsetBelowDikeTopAtPolder;
- designScenario.PlLineOffsetBelowShoulderBaseInside = inputLocationDesignScenario.PlLineOffsetBelowShoulderBaseInside;
- designScenario.PlLineOffsetBelowDikeToeAtPolder = inputLocationDesignScenario.PlLineOffsetBelowDikeToeAtPolder;
- designScenario.UsePlLineOffsetBelowDikeCrestMiddle = inputLocationDesignScenario.PlLineOffsetBelowDikeCrestMiddleSpecified;
- designScenario.PlLineOffsetBelowDikeCrestMiddle = inputLocationDesignScenario.PlLineOffsetBelowDikeCrestMiddle;
- designScenario.UsePlLineOffsetFactorBelowShoulderCrest = inputLocationDesignScenario.PlLineOffsetFactorBelowShoulderCrestSpecified;
- designScenario.PlLineOffsetFactorBelowShoulderCrest = inputLocationDesignScenario.PlLineOffsetFactorBelowShoulderCrest;
- designScenario.HeadPl2 = (inputLocationDesignScenario.HeadPl2Specified ? inputLocationDesignScenario.HeadPl2 : null);
- designScenario.HeadPl3 = (inputLocationDesignScenario.HeadPl3Specified ? inputLocationDesignScenario.HeadPl3 : null);
- designScenario.HeadPl4 = (inputLocationDesignScenario.HeadPl4Specified ? inputLocationDesignScenario.HeadPl4 : null);
- designScenario.UpliftCriterionStability = inputLocationDesignScenario.UpliftCriterionStability;
- designScenario.UpliftCriterionPiping = inputLocationDesignScenario.UpliftCriterionPiping;
- designScenario.RequiredSafetyFactorStabilityInnerSlope = inputLocationDesignScenario.RequiredSafetyFactorStabilityInnerSlope;
- designScenario.RequiredSafetyFactorStabilityOuterSlope = inputLocationDesignScenario.RequiredSafetyFactorStabilityOuterSlope;
- designScenario.RequiredSafetyFactorPiping = inputLocationDesignScenario.RequiredSafetyFactorPiping;
-
- location.Scenarios.Add(designScenario);
- }
+ location.StabilityOptions.TrafficLoad = inputLocation.StabilityOptions.TrafficLoad;
}
- location.DikeEmbankmentMaterial = inputLocation.DikeEmbankmentMaterial;
- if (inputLocation.StabilityOptions != null)
+ if (inputLocation.StabilityOptions.TrafficLoadDegreeOfConsolidationSpecified)
{
- string tmpPath = projectPath ?? Directory.GetCurrentDirectory();
- location.StabilityOptions = new StabilityOptions
- {
- SoilGeometries2DPath = Path.Combine(tmpPath, inputLocation.StabilityOptions.MapForSoilgeometries2D),
- SoilDatabaseName = inputLocation.StabilityOptions.SoilDatabaseName,
- StabilityZoneType = ConversionHelper.ConvertToZoneType(inputLocation.StabilityOptions.ZoneType)
- };
- if (inputLocation.StabilityOptions.ForbiddenZoneFactorSpecified)
- {
- location.StabilityOptions.ForbiddenZoneFactor = inputLocation.StabilityOptions.ForbiddenZoneFactor;
- }
-
- if (inputLocation.StabilityOptions.TrafficLoadSpecified)
- {
- location.StabilityOptions.TrafficLoad = inputLocation.StabilityOptions.TrafficLoad;
- }
-
- if (inputLocation.StabilityOptions.TrafficLoadDegreeOfConsolidationSpecified)
- {
- location.StabilityOptions.TrafficLoadDegreeOfConsolidation = inputLocation.StabilityOptions.TrafficLoadDegreeOfConsolidation;
- }
-
- if (inputLocation.StabilityOptions.MinimumCircleDepthSpecified)
- {
- location.StabilityOptions.MinimalCircleDepth = inputLocation.StabilityOptions.MinimumCircleDepth;
- }
+ location.StabilityOptions.TrafficLoadDegreeOfConsolidation = inputLocation.StabilityOptions.TrafficLoadDegreeOfConsolidation;
}
- dikeLocations.Add(location);
+ if (inputLocation.StabilityOptions.MinimumCircleDepthSpecified)
+ {
+ location.StabilityOptions.MinimalCircleDepth = inputLocation.StabilityOptions.MinimumCircleDepth;
+ }
}
+
+ dikeLocations.Add(location);
}
+ }
- private static void TransferSoilProfiles1D(Io.XmlInput.SoilProfile1D[] inputSoilProfiles1D,
- IList dikeSoilProfiles, SoilList soils)
+ private static void TransferSoilProfiles1D(Io.XmlInput.SoilProfile1D[] inputSoilProfiles1D,
+ IList dikeSoilProfiles, SoilList soils)
+ {
+ if (inputSoilProfiles1D != null)
{
- if (inputSoilProfiles1D != null)
+ for (var i = 0; i < inputSoilProfiles1D.Length; i++)
{
- for (var i = 0; i < inputSoilProfiles1D.Length; i++)
- {
- var soilProfile1D = new SoilProfile1D();
- Io.XmlInput.SoilProfile1D inputSoilProfile1D = inputSoilProfiles1D[i];
- soilProfile1D.Name = inputSoilProfile1D.Name;
- soilProfile1D.BottomLevel = inputSoilProfile1D.BottomLevel;
- AddLayers1D(inputSoilProfile1D, soilProfile1D, soils);
- dikeSoilProfiles.Add(soilProfile1D);
- }
+ var soilProfile1D = new SoilProfile1D();
+ Io.XmlInput.SoilProfile1D inputSoilProfile1D = inputSoilProfiles1D[i];
+ soilProfile1D.Name = inputSoilProfile1D.Name;
+ soilProfile1D.BottomLevel = inputSoilProfile1D.BottomLevel;
+ AddLayers1D(inputSoilProfile1D, soilProfile1D, soils);
+ dikeSoilProfiles.Add(soilProfile1D);
}
}
+ }
- private static void AddLayers1D(Io.XmlInput.SoilProfile1D inputSoilProfile1D, SoilProfile1D soilProfile1D, SoilList soils)
+ private static void AddLayers1D(Io.XmlInput.SoilProfile1D inputSoilProfile1D, SoilProfile1D soilProfile1D, SoilList soils)
+ {
+ if (inputSoilProfile1D != null)
{
- if (inputSoilProfile1D != null)
+ for (var i = 0; i < inputSoilProfile1D.Layers1D.Length; i++)
{
- for (var i = 0; i < inputSoilProfile1D.Layers1D.Length; i++)
- {
- var layer = new SoilLayer1D();
- SoilProfile1DLayer1D inputLayer = inputSoilProfile1D.Layers1D[i];
- layer.Name = inputLayer.Name;
- layer.Soil = soils.GetSoilByName(inputLayer.SoilName);
- layer.TopLevel = inputLayer.TopLevel;
- layer.IsAquifer = inputLayer.IsAquifer;
- layer.WaterpressureInterpolationModel = ConversionHelper.ConvertToWaterpressureInterpolationModel(
- inputLayer.WaterpressureInterpolationModel);
- soilProfile1D.Layers.Add(layer);
- }
+ var layer = new SoilLayer1D();
+ SoilProfile1DLayer1D inputLayer = inputSoilProfile1D.Layers1D[i];
+ layer.Name = inputLayer.Name;
+ layer.Soil = soils.GetSoilByName(inputLayer.SoilName);
+ layer.TopLevel = inputLayer.TopLevel;
+ layer.IsAquifer = inputLayer.IsAquifer;
+ layer.WaterpressureInterpolationModel = ConversionHelper.ConvertToWaterpressureInterpolationModel(
+ inputLayer.WaterpressureInterpolationModel);
+ soilProfile1D.Layers.Add(layer);
}
}
+ }
- private static void TransferSoilProfiles2D(Io.XmlInput.SoilProfile2D[] inputSoilProfiles2D,
- IList dikeSoilProfiles, SoilList soils)
+ private static void TransferSoilProfiles2D(Io.XmlInput.SoilProfile2D[] inputSoilProfiles2D,
+ IList dikeSoilProfiles, SoilList soils)
+ {
+ if (inputSoilProfiles2D != null)
{
- if (inputSoilProfiles2D != null)
+ for (var i = 0; i < inputSoilProfiles2D.Length; i++)
{
- for (var i = 0; i < inputSoilProfiles2D.Length; i++)
- {
- var soilProfile2D = new SoilProfile2D();
- Io.XmlInput.SoilProfile2D inputSoilProfile2D = inputSoilProfiles2D[i];
- soilProfile2D.Name = inputSoilProfile2D.Name;
- AddPreconsolidationStresses(inputSoilProfile2D, soilProfile2D);
- AddLayers2D(inputSoilProfile2D, soilProfile2D, soils);
- dikeSoilProfiles.Add(soilProfile2D);
- }
+ var soilProfile2D = new SoilProfile2D();
+ Io.XmlInput.SoilProfile2D inputSoilProfile2D = inputSoilProfiles2D[i];
+ soilProfile2D.Name = inputSoilProfile2D.Name;
+ AddPreconsolidationStresses(inputSoilProfile2D, soilProfile2D);
+ AddLayers2D(inputSoilProfile2D, soilProfile2D, soils);
+ dikeSoilProfiles.Add(soilProfile2D);
}
}
+ }
- private static void AddPreconsolidationStresses(Io.XmlInput.SoilProfile2D inputSoilProfile2D, SoilProfile2D soilProfile2D)
+ private static void AddPreconsolidationStresses(Io.XmlInput.SoilProfile2D inputSoilProfile2D, SoilProfile2D soilProfile2D)
+ {
+ if (inputSoilProfile2D.PreconsolidationStresses != null)
{
- if (inputSoilProfile2D.PreconsolidationStresses != null)
+ for (var i = 0; i < inputSoilProfile2D.PreconsolidationStresses.Length; i++)
{
- for (var i = 0; i < inputSoilProfile2D.PreconsolidationStresses.Length; i++)
- {
- var precon = new PreConsolidationStress();
- SoilProfile2DPreconsolidationStress inputPrecon = inputSoilProfile2D.PreconsolidationStresses[i];
- precon.Name = inputPrecon.Name;
- precon.StressValue = inputPrecon.StressValue;
- precon.X = inputPrecon.X;
- precon.Z = inputPrecon.Z;
- soilProfile2D.PreconsolidationStresses.Add(precon);
- }
+ var precon = new PreConsolidationStress();
+ SoilProfile2DPreconsolidationStress inputPrecon = inputSoilProfile2D.PreconsolidationStresses[i];
+ precon.Name = inputPrecon.Name;
+ precon.StressValue = inputPrecon.StressValue;
+ precon.X = inputPrecon.X;
+ precon.Z = inputPrecon.Z;
+ soilProfile2D.PreconsolidationStresses.Add(precon);
}
}
+ }
- private static void AddLayers2D(Io.XmlInput.SoilProfile2D inputSoilProfile2D, SoilProfile2D soilProfile2D, SoilList soils)
+ private static void AddLayers2D(Io.XmlInput.SoilProfile2D inputSoilProfile2D, SoilProfile2D soilProfile2D, SoilList soils)
+ {
+ if (inputSoilProfile2D != null)
{
- if (inputSoilProfile2D != null)
+ for (var i = 0; i < inputSoilProfile2D.Layers2D.Length; i++)
{
- for (var i = 0; i < inputSoilProfile2D.Layers2D.Length; i++)
+ var layer = new SoilLayer2D
{
- var layer = new SoilLayer2D
- {
- GeometrySurface = new GeometrySurface()
- };
- SoilProfile2DLayer2D inputLayer = inputSoilProfile2D.Layers2D[i];
- layer.Name = inputLayer.SoilName;
- layer.Soil = soils.GetSoilByName(inputLayer.SoilName);
- layer.IsAquifer = inputLayer.IsAquifer;
- layer.WaterpressureInterpolationModel = ConversionHelper.ConvertToWaterpressureInterpolationModel(
- inputLayer.WaterpressureInterpolationModel);
- SoilProfile2DLayer2DSurfaceOuterPoint[] loop = inputLayer.Surface.OuterLoop;
- for (var j = 0; j < loop.Length; j++)
- {
- var point = new Point2D(loop[j].X, loop[j].Z);
- layer.GeometrySurface.OuterLoop.CalcPoints.Add(point);
- }
+ GeometrySurface = new GeometrySurface()
+ };
+ SoilProfile2DLayer2D inputLayer = inputSoilProfile2D.Layers2D[i];
+ layer.Name = inputLayer.SoilName;
+ layer.Soil = soils.GetSoilByName(inputLayer.SoilName);
+ layer.IsAquifer = inputLayer.IsAquifer;
+ layer.WaterpressureInterpolationModel = ConversionHelper.ConvertToWaterpressureInterpolationModel(
+ inputLayer.WaterpressureInterpolationModel);
+ SoilProfile2DLayer2DSurfaceOuterPoint[] loop = inputLayer.Surface.OuterLoop;
+ for (var j = 0; j < loop.Length; j++)
+ {
+ var point = new Point2D(loop[j].X, loop[j].Z);
+ layer.GeometrySurface.OuterLoop.CalcPoints.Add(point);
+ }
- SoilProfile2DLayer2DSurfaceInnerPoint[] innerloop = inputLayer.Surface.Innerloop;
- if (innerloop != null)
+ SoilProfile2DLayer2DSurfaceInnerPoint[] innerloop = inputLayer.Surface.Innerloop;
+ if (innerloop != null)
+ {
+ var newloop = new GeometryLoop();
+ for (var j = 0; j < innerloop.Length; j++)
{
- var newloop = new GeometryLoop();
- for (var j = 0; j < innerloop.Length; j++)
- {
- var point = new Point2D(innerloop[j].X, innerloop[j].Z);
- newloop.CalcPoints.Add(point);
- }
-
- layer.GeometrySurface.InnerLoops.Add(newloop);
+ var point = new Point2D(innerloop[j].X, innerloop[j].Z);
+ newloop.CalcPoints.Add(point);
}
- soilProfile2D.Surfaces.Add(layer);
+ layer.GeometrySurface.InnerLoops.Add(newloop);
}
+
+ soilProfile2D.Surfaces.Add(layer);
}
}
+ }
- private static void TransferSegments(Io.XmlInput.Segment[] inputSegments, IList segments)
+ private static void TransferSegments(Io.XmlInput.Segment[] inputSegments, IList segments)
+ {
+ for (var i = 0; i < inputSegments.Length; i++)
{
- for (var i = 0; i < inputSegments.Length; i++)
- {
- var segment = new Segment();
- Io.XmlInput.Segment inputSegment = inputSegments[i];
- segment.Name = inputSegment.Name;
- AddSoilProfileProbabilities(inputSegment, segment);
- segments.Add(segment);
- }
+ var segment = new Segment();
+ Io.XmlInput.Segment inputSegment = inputSegments[i];
+ segment.Name = inputSegment.Name;
+ AddSoilProfileProbabilities(inputSegment, segment);
+ segments.Add(segment);
}
+ }
- private static void AddSoilProfileProbabilities(Io.XmlInput.Segment inputSegment, Segment segment)
+ private static void AddSoilProfileProbabilities(Io.XmlInput.Segment inputSegment, Segment segment)
+ {
+ if (inputSegment.SoilGeometryProbability != null)
{
- if (inputSegment.SoilGeometryProbability != null)
+ for (var i = 0; i < inputSegment.SoilGeometryProbability.Length; i++)
{
- for (var i = 0; i < inputSegment.SoilGeometryProbability.Length; i++)
+ var soilGeometryProbability = new SoilGeometryProbability();
+ SegmentSoilGeometryProbability inputSoilGeometryProbability = inputSegment.SoilGeometryProbability[i];
+ soilGeometryProbability.Probability = inputSoilGeometryProbability.Probability;
+ if (inputSoilGeometryProbability.SegmentFailureMechanismTypeSpecified)
{
- var soilGeometryProbability = new SoilGeometryProbability();
- SegmentSoilGeometryProbability inputSoilGeometryProbability = inputSegment.SoilGeometryProbability[i];
- soilGeometryProbability.Probability = inputSoilGeometryProbability.Probability;
- if (inputSoilGeometryProbability.SegmentFailureMechanismTypeSpecified)
+ soilGeometryProbability.SegmentFailureMechanismType = ConversionHelper.ConvertToSegmentFailureMechanismSystemType(inputSoilGeometryProbability.SegmentFailureMechanismType);
+ }
+ else
+ {
+ soilGeometryProbability.SegmentFailureMechanismType = null;
+ }
+
+ soilGeometryProbability.SoilProfileType = ConversionHelper.ConvertToSoilGeometryType(inputSoilGeometryProbability.SoilProfileType);
+ switch (soilGeometryProbability.SoilProfileType)
+ {
+ case SoilProfileType.ProfileType1D:
{
- soilGeometryProbability.SegmentFailureMechanismType = ConversionHelper.ConvertToSegmentFailureMechanismSystemType(inputSoilGeometryProbability.SegmentFailureMechanismType);
+ soilGeometryProbability.SoilProfile1DName = inputSoilGeometryProbability.SoilProfileName;
+ break;
}
- else
+ case SoilProfileType.ProfileType2D:
{
- soilGeometryProbability.SegmentFailureMechanismType = null;
+ soilGeometryProbability.SoilProfile2DName = inputSoilGeometryProbability.SoilProfileName;
+ break;
}
-
- soilGeometryProbability.SoilProfileType = ConversionHelper.ConvertToSoilGeometryType(inputSoilGeometryProbability.SoilProfileType);
- switch (soilGeometryProbability.SoilProfileType)
+ case SoilProfileType.ProfileTypeStiFile:
{
- case SoilProfileType.ProfileType1D:
- {
- soilGeometryProbability.SoilProfile1DName = inputSoilGeometryProbability.SoilProfileName;
- break;
- }
- case SoilProfileType.ProfileType2D:
- {
- soilGeometryProbability.SoilProfile2DName = inputSoilGeometryProbability.SoilProfileName;
- break;
- }
- case SoilProfileType.ProfileTypeStiFile:
- {
- soilGeometryProbability.StiFileName = inputSoilGeometryProbability.SoilProfileName;
- break;
- }
+ soilGeometryProbability.StiFileName = inputSoilGeometryProbability.SoilProfileName;
+ break;
}
-
- segment.SoilProfileProbabilities.Add(soilGeometryProbability);
}
+
+ segment.SoilProfileProbabilities.Add(soilGeometryProbability);
}
}
}