Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.nl-NL.resx
===================================================================
diff -u -r1129 -r1174
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.nl-NL.resx (.../Resources.nl-NL.resx) (revision 1129)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.nl-NL.resx (.../Resources.nl-NL.resx) (revision 1174)
@@ -180,6 +180,9 @@
De buitenwaartse waterstand ({0}) ligt onder het buitenwaartse maaiveld ({1}).
+
+ Niet alle benodigde data is aanwezig
+
De onderste laag is geen watervoerende laag in grondprofiel '{0}'.
Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.Designer.cs
===================================================================
diff -u -r1141 -r1174
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 1141)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 1174)
@@ -190,7 +190,7 @@
}
///
- /// Looks up a localized string similar to Location {0}, subsoil scenario '{1}': This calculation in not relevant and thus skipped..
+ /// Looks up a localized string similar to Location {0}, subsoil scenario '{1}', design scenario '{2}': This calculation in not relevant and thus skipped..
///
internal static string DesignCalculatorIrrelevant {
get {
@@ -208,7 +208,7 @@
}
///
- /// Looks up a localized string similar to Location {0}, subsoil scenario '{1}'': The preparation for this calculation failed..
+ /// Looks up a localized string similar to Location {0}, subsoil scenario '{1}', design scenario '{2}': The preparation for this calculation failed..
///
internal static string DesignCalculatorPrepareError {
get {
@@ -217,7 +217,7 @@
}
///
- /// Looks up a localized string similar to Validation failed for location '{0}', subsoil scenario '{1}'.
+ /// Looks up a localized string similar to Validation failed for location '{0}', subsoil scenario '{1}', design scenario '{2}'.
///
internal static string DesignCalculatorValidationFailed {
get {
@@ -253,6 +253,15 @@
}
///
+ /// Looks up a localized string similar to Not all required data is available.
+ ///
+ internal static string MStabXmlDoc_NotAllDataAvailable {
+ get {
+ return ResourceManager.GetString("MStabXmlDoc_NotAllDataAvailable", resourceCulture);
+ }
+ }
+
+ ///
/// Looks up a localized string similar to The deepest layer is not an aquifer in soilprofile '{0}'..
///
internal static string NoBottomAquiferLayer {
Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.resx
===================================================================
diff -u -r1141 -r1174
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.resx (.../Resources.resx) (revision 1141)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.resx (.../Resources.resx) (revision 1174)
@@ -136,7 +136,7 @@
Requested kernel not implemented yet
- Validation failed for location '{0}', subsoil scenario '{1}'
+ Validation failed for location '{0}', subsoil scenario '{1}', design scenario '{2}'
No input object defined for Bligh
@@ -157,10 +157,10 @@
Required safety factor must be specified
- Location {0}, subsoil scenario '{1}': This calculation in not relevant and thus skipped.
+ Location {0}, subsoil scenario '{1}', design scenario '{2}': This calculation in not relevant and thus skipped.
- Location {0}, subsoil scenario '{1}'': The preparation for this calculation failed.
+ Location {0}, subsoil scenario '{1}', design scenario '{2}': The preparation for this calculation failed.
The use of Zone Areas is not allowed for stability outside.
@@ -249,4 +249,7 @@
Factor achieved = {0:0.000}, Factor required = {1:0.000}.
+
+ Not all required data is available
+
\ No newline at end of file
Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesAssessmentRegional/RegionalScenariosCalculation.cs
===================================================================
diff -u -r1137 -r1174
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesAssessmentRegional/RegionalScenariosCalculation.cs (.../RegionalScenariosCalculation.cs) (revision 1137)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesAssessmentRegional/RegionalScenariosCalculation.cs (.../RegionalScenariosCalculation.cs) (revision 1174)
@@ -120,14 +120,16 @@
calculationMessages.Add(new LogMessage(LogMessageType.Info, null,
string.Format(Resources.DesignCalculatorIrrelevant,
location.Name,
- soilGeometryProbability.ToString())));
+ soilGeometryProbability.ToString(),
+ ""))); // TODO #The correct regional scenario ID?
}
if (prepareResult == PrepareResult.Failed)
{
calculationMessages.Add(new LogMessage(LogMessageType.Error, null,
string.Format(Resources.DesignCalculatorPrepareError,
location.Name,
- soilGeometryProbability.ToString())));
+ soilGeometryProbability.ToString(),
+ ""))); // TODO #The correct regional scenario ID?
}
}
return kernelWrapper;//calculationMessages;
Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesDesign/DesignCalculator.cs
===================================================================
diff -u -r1155 -r1174
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesDesign/DesignCalculator.cs (.../DesignCalculator.cs) (revision 1155)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesDesign/DesignCalculator.cs (.../DesignCalculator.cs) (revision 1174)
@@ -109,14 +109,16 @@
calculationMessages.Add(new LogMessage(LogMessageType.Info, null,
string.Format(Resources.DesignCalculatorIrrelevant,
location.Name,
- soiProfileProbability.ToString())));
+ soiProfileProbability.ToString(),
+ designScenario.LocationScenarioID)));
}
if (prepareResult == PrepareResult.Failed)
{
calculationMessages.Add(new LogMessage(LogMessageType.Error, null,
string.Format(Resources.DesignCalculatorPrepareError,
location.Name,
- soiProfileProbability.ToString())));
+ soiProfileProbability.ToString(),
+ designScenario.LocationScenarioID)));
}
}
Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityCommon/MStabXmlDoc.cs
===================================================================
diff -u -r1150 -r1174
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityCommon/MStabXmlDoc.cs (.../MStabXmlDoc.cs) (revision 1150)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityCommon/MStabXmlDoc.cs (.../MStabXmlDoc.cs) (revision 1174)
@@ -26,7 +26,6 @@
using Deltares.DamEngine.Calculators.KernelWrappers.Common;
using Deltares.DamEngine.Calculators.KernelWrappers.DamMacroStabilityCommon.Assemblers;
using Deltares.DamEngine.Calculators.Properties;
-using Deltares.DamEngine.Data.Design;
using Deltares.DamEngine.Data.General;
using Deltares.DamEngine.Data.Geotechnics;
using Deltares.DamEngine.Data.Standard.Logging;
@@ -57,14 +56,18 @@
///
/// Create XML definition for Stability calculation
///
- ///
- ///
- ///
- ///
- ///
- ///
- ///
+ /// The mstab project filename.
+ /// The location.
+ /// The river level high.
+ /// The river level low.
+ /// The sub soil scenario.
+ /// The mstab design embankment.
+ /// The required safety factor.
+ /// The input failure mechanism parameters m stab.
+ /// The error messages.
///
+ ///
+ ///
public static XDocument CreateMStabXmlDoc(string mstabProjectFilename,
Location location,
double riverLevelHigh,
@@ -190,13 +193,8 @@
errorMessages.Add(logMessage);
}
- // TODO #The folloing line shoukld be resolved for design
- // var currentSurfaceLine = scenario.GetMostRecentSurfaceLine(subSoilScenario.SoilProfile1D, Path.GetFileName(soilGeometry2DName));
- SurfaceLine2 currentSurfaceLine = null;
- if (currentSurfaceLine == null)
- {
- currentSurfaceLine = location.SurfaceLine;
- }
+ // Note: In the design loop the location.SurfaceLine has to be set to the most recent redesigned surfaceline
+ var currentSurfaceLine = location.SurfaceLine;
var waterLevel = riverLevelHigh;
UpliftSituation upliftSituation;
@@ -212,7 +210,7 @@
subSoilScenario.SoilProfile1D, soilGeometry2DName, failureMechanismParametersMStab.PlLines,
location);
double upliftCriterion = location.ModelFactors.UpliftCriterionStability.Value;
- bool isUplift = !(upliftLocationAndResult == null) &&
+ bool isUplift = (upliftLocationAndResult != null) &&
(upliftLocationAndResult.UpliftFactor < upliftCriterion);
double xCoordinateLastUpliftPoint = isUplift
? upliftLocationAndResult.X
@@ -226,7 +224,7 @@
if (!failureMechanismParametersMStab.IsComplete)
{
- throw new Exception("Not all required data is available");
+ throw new Exception(Resources.MStabXmlDoc_NotAllDataAvailable);
}
DamMStabAssembler assembler = new DamMStabAssembler();
Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesDesign/DesignCalculatorSingle.cs
===================================================================
diff -u -r1151 -r1174
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesDesign/DesignCalculatorSingle.cs (.../DesignCalculatorSingle.cs) (revision 1151)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesDesign/DesignCalculatorSingle.cs (.../DesignCalculatorSingle.cs) (revision 1174)
@@ -62,7 +62,8 @@
locationCalculationMessages.Add(new LogMessage(LogMessageType.Error, null,
string.Format(Resources.DesignCalculatorValidationFailed,
damKernelInput.Location.Name,
- damKernelInput.SubSoilScenario.ToString())));
+ damKernelInput.SubSoilScenario.ToString(),
+ designScenario.LocationScenarioID)));
locationCalculationMessages.AddRange(validationMessages);
}
else
Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/Deltares.DamEngine.Calculators.csproj
===================================================================
diff -u -r1151 -r1174
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators/Deltares.DamEngine.Calculators.csproj (.../Deltares.DamEngine.Calculators.csproj) (revision 1151)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/Deltares.DamEngine.Calculators.csproj (.../Deltares.DamEngine.Calculators.csproj) (revision 1174)
@@ -179,7 +179,9 @@
Resources.Designer.cs
Designer
-
+
+ Designer
+
Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityInwards/DamMacroStabilityInwardsKernelWrapper.cs
===================================================================
diff -u -r1163 -r1174
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityInwards/DamMacroStabilityInwardsKernelWrapper.cs (.../DamMacroStabilityInwardsKernelWrapper.cs) (revision 1163)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityInwards/DamMacroStabilityInwardsKernelWrapper.cs (.../DamMacroStabilityInwardsKernelWrapper.cs) (revision 1174)
@@ -114,7 +114,7 @@
model, FailureMechanismParametersMStab.ProjectWorkingPath);
// if not, only Bishop calculation so leave SecondModel empty.
}
-
+
kernelDataInput = damMacroStabilityInput;
// When BishopUpliftVan is performed, make sure the first one is Bishop
@@ -195,7 +195,7 @@
/// The return messages.
public void Execute(IKernelDataInput kernelDataInput, IKernelDataOutput kernelDataOutput, out List messages)
{
- DamMacroStabilityOutput damMacroStabilityOutput = (DamMacroStabilityOutput) kernelDataOutput;
+ DamMacroStabilityOutput damMacroStabilityOutput = (DamMacroStabilityOutput)kernelDataOutput;
messages = new List();
var input = (DamMacroStabilityInput)kernelDataInput;
@@ -214,7 +214,7 @@
{
damMacroStabilityOutput.StabilityOutputItems.Add(stabilityOutputItem);
}
-
+
// now check if second calculation for BishopUpliftVan is needed, if so perform it.
if (bishopUpliftVan)
{
@@ -262,41 +262,41 @@
var calculator = StabilityCalculator(kernelDataInput);
try
{
- calculator.Calculate();
+ calculator.Calculate();
- // get (first) results
- var results = calculator.GetResults();
- if (results.Count > 0)
- {
- var stabilityOutputItem = new DamMacroStabilityOutputItem();
- var zone1 = new DamMacroStabilityOutputItem.ResultsSingleZone
+ // get (first) results
+ var results = calculator.GetResults();
+ if (results.Count > 0)
{
- SafetyFactor = results[0].Zone1.SafetyFactor,
- CircleSurfacePointLeftXCoordinate = results[0].Zone1.CircleSurfacePointLeftXCoordinate,
- CircleSurfacePointRightXCoordinate = results[0].Zone1.CircleSurfacePointRightXCoordinate,
- };
- stabilityOutputItem.Zone1Results = zone1;
- if (results[0].Zone2 != null)
- {
- var zone2Result = results[0].Zone2.Value;
- var zone2 = new DamMacroStabilityOutputItem.ResultsSingleZone
+ var stabilityOutputItem = new DamMacroStabilityOutputItem();
+ var zone1 = new DamMacroStabilityOutputItem.ResultsSingleZone
{
- SafetyFactor = zone2Result.SafetyFactor,
- CircleSurfacePointLeftXCoordinate = zone2Result.CircleSurfacePointLeftXCoordinate,
- CircleSurfacePointRightXCoordinate = zone2Result.CircleSurfacePointRightXCoordinate,
+ SafetyFactor = results[0].Zone1.SafetyFactor,
+ CircleSurfacePointLeftXCoordinate = results[0].Zone1.CircleSurfacePointLeftXCoordinate,
+ CircleSurfacePointRightXCoordinate = results[0].Zone1.CircleSurfacePointRightXCoordinate,
};
- stabilityOutputItem.Zone2Results = zone2;
+ stabilityOutputItem.Zone1Results = zone1;
+ if (results[0].Zone2 != null)
+ {
+ var zone2Result = results[0].Zone2.Value;
+ var zone2 = new DamMacroStabilityOutputItem.ResultsSingleZone
+ {
+ SafetyFactor = zone2Result.SafetyFactor,
+ CircleSurfacePointLeftXCoordinate = zone2Result.CircleSurfacePointLeftXCoordinate,
+ CircleSurfacePointRightXCoordinate = zone2Result.CircleSurfacePointRightXCoordinate,
+ };
+ stabilityOutputItem.Zone2Results = zone2;
+ }
+ return stabilityOutputItem;
}
- return stabilityOutputItem;
+ return null;
}
- return null;
- }
catch (Exception e)
{
var message = new LogMessage { MessageType = LogMessageType.Info, Message = e.Message };
messages.Add(message);
var stabilityOutputItem =
- new DamMacroStabilityOutputItem {CalculationResult = CalculationResult.UnexpectedError};
+ new DamMacroStabilityOutputItem { CalculationResult = CalculationResult.UnexpectedError };
return stabilityOutputItem;
}
}
@@ -420,7 +420,7 @@
else if (designResults[1].CalculationResult == CalculationResult.NoRun)
{
// No uplift therefore no UpliftVan calculation was made. Present Bishop result.
- designResults.Add(designResults[0]);
+ designResults.Add(designResults[0]);
}
else
{
@@ -492,20 +492,20 @@
designResult.CalculationResult = damMacroStabilityOutputItem.CalculationResult;
if (designResult.CalculationResult == CalculationResult.Succeeded)
{
- designResult.StabilityDesignResults.Zone1SafetyFactor =
- damMacroStabilityOutputItem.Zone1Results.SafetyFactor;
- designResult.StabilityDesignResults.LocalZone1EntryPointX =
- damMacroStabilityOutputItem.Zone1Results.CircleSurfacePointLeftXCoordinate;
- designResult.StabilityDesignResults.LocalZone1ExitPointX =
- damMacroStabilityOutputItem.Zone1Results.CircleSurfacePointRightXCoordinate;
+ designResult.StabilityDesignResults.Zone1SafetyFactor =
+ damMacroStabilityOutputItem.Zone1Results.SafetyFactor;
+ designResult.StabilityDesignResults.LocalZone1EntryPointX =
+ damMacroStabilityOutputItem.Zone1Results.CircleSurfacePointLeftXCoordinate;
+ designResult.StabilityDesignResults.LocalZone1ExitPointX =
+ damMacroStabilityOutputItem.Zone1Results.CircleSurfacePointRightXCoordinate;
- designResult.StabilityDesignResults.SafetyFactor = designResult.StabilityDesignResults.Zone1SafetyFactor;
- if (damMacroStabilityOutputItem.Zone2Results != null)
- {
+ designResult.StabilityDesignResults.SafetyFactor = designResult.StabilityDesignResults.Zone1SafetyFactor;
+ if (damMacroStabilityOutputItem.Zone2Results != null)
+ {
var zone2 = (DamMacroStabilityOutputItem.ResultsSingleZone)damMacroStabilityOutputItem.Zone2Results;
- designResult.StabilityDesignResults.Zone2SafetyFactor = zone2.SafetyFactor;
- designResult.StabilityDesignResults.LocalZone2EntryPointX = zone2.CircleSurfacePointLeftXCoordinate;
- designResult.StabilityDesignResults.LocalZone2ExitPointX = zone2.CircleSurfacePointRightXCoordinate;
+ designResult.StabilityDesignResults.Zone2SafetyFactor = zone2.SafetyFactor;
+ designResult.StabilityDesignResults.LocalZone2EntryPointX = zone2.CircleSurfacePointLeftXCoordinate;
+ designResult.StabilityDesignResults.LocalZone2ExitPointX = zone2.CircleSurfacePointRightXCoordinate;
}
}
}