Index: Riskeer/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Piping/PipingCalculationInput.cs =================================================================== diff -u -rc9adb9ba78be9544433a690fdb9e41560e60bde8 -r5f30a1a66d88238a918d2810e7c0be0a415ef322 --- Riskeer/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Piping/PipingCalculationInput.cs (.../PipingCalculationInput.cs) (revision c9adb9ba78be9544433a690fdb9e41560e60bde8) +++ Riskeer/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Piping/PipingCalculationInput.cs (.../PipingCalculationInput.cs) (revision 5f30a1a66d88238a918d2810e7c0be0a415ef322) @@ -56,7 +56,8 @@ private readonly double diameter70Mean; private readonly double diameter70CoefficientOfVariation; private readonly double gravity; - private readonly double criticalHeaveGradient; + private readonly double criticalHeaveGradientMean; + private readonly double criticalHeaveGradientStandardDeviation; /// /// Creates a new instance of the class. @@ -90,7 +91,8 @@ /// The mean of the sieve size through which 70% of the grains of the top part of the aquifer pass. /// The coefficient of variation of the sieve size through which 70% of the grains of the top part of the aquifer pass. /// The gravitational acceleration. - /// The critical exit gradient for heave. + /// The mean of the critical exit gradient for heave. + /// The standard deviation of the critical exit gradient for heave. public PipingCalculationInput(long hydraulicBoundaryLocationId, double sectionLength, double phreaticLevelExitMean, double phreaticLevelExitStandardDeviation, @@ -110,7 +112,8 @@ double darcyPermeabilityMean, double darcyPermeabilityCoefficientOfVariation, double diameter70Mean, double diameter70CoefficientOfVariation, double gravity, - double criticalHeaveGradient) + double criticalHeaveGradientMean, + double criticalHeaveGradientStandardDeviation) : base(hydraulicBoundaryLocationId) { Section = new HydraRingSection(1, sectionLength, double.NaN); @@ -141,7 +144,8 @@ this.diameter70Mean = diameter70Mean; this.diameter70CoefficientOfVariation = diameter70CoefficientOfVariation; this.gravity = gravity; - this.criticalHeaveGradient = criticalHeaveGradient; + this.criticalHeaveGradientMean = criticalHeaveGradientMean; + this.criticalHeaveGradientStandardDeviation = criticalHeaveGradientStandardDeviation; } public override HydraRingFailureMechanismType FailureMechanismType { get; } = HydraRingFailureMechanismType.Piping; @@ -181,7 +185,8 @@ yield return new LogNormalHydraRingVariable(56, HydraRingDeviationType.Variation, diameter70Mean, diameter70CoefficientOfVariation); yield return new DeterministicHydraRingVariable(58, gravity); - yield return new DeterministicHydraRingVariable(124, criticalHeaveGradient); + yield return new LogNormalHydraRingVariable(124, HydraRingDeviationType.Standard, criticalHeaveGradientMean, + criticalHeaveGradientStandardDeviation); } } } Index: Riskeer/HydraRing/test/Riskeer.HydraRing.Calculation.Test/Data/Input/Piping/PipingCalculationInputTest.cs =================================================================== diff -u -rc9adb9ba78be9544433a690fdb9e41560e60bde8 -r5f30a1a66d88238a918d2810e7c0be0a415ef322 --- Riskeer/HydraRing/test/Riskeer.HydraRing.Calculation.Test/Data/Input/Piping/PipingCalculationInputTest.cs (.../PipingCalculationInputTest.cs) (revision c9adb9ba78be9544433a690fdb9e41560e60bde8) +++ Riskeer/HydraRing/test/Riskeer.HydraRing.Calculation.Test/Data/Input/Piping/PipingCalculationInputTest.cs (.../PipingCalculationInputTest.cs) (revision 5f30a1a66d88238a918d2810e7c0be0a415ef322) @@ -38,35 +38,36 @@ { // Setup const int hydraulicBoundaryLocationId = 1000; - const double sectionLength = 22.2; - const double phreaticLevelExitMean = 1.1; - const double phreaticLevelExitStandardDeviation = 2.2; - const double waterVolumetricWeight = 3.3; - const double effectiveThicknessCoverageLayerMean = 4.4; - const double effectiveThicknessCoverageLayerStandardDeviation = 5.5; - const double saturatedVolumicWeightOfCoverageLayerMean = 6.6; - const double saturatedVolumicWeightOfCoverageLayerStandardDeviation = 7.7; - const double saturatedVolumicWeightOfCoverageLayerShift = 8.8; - const double upliftModelFactorMean = 9.9; - const double upliftModelFactorStandardDeviation = 10.0; - const double dampingFactorExitMean = 11.1; - const double dampingFactorExitStandardDeviation = 12.2; - const double seepageLengthMean = 13.3; - const double seepageLengthCoefficientOfVariation = 14.4; - const double thicknessAquiferLayerMean = 15.5; - const double thicknessAquiferLayerStandardDeviation = 16.6; - const double sandParticlesVolumicWeight = 17.7; - const double sellmeijerModelFactorMean = 18.8; - const double sellmeijerModelFactorStandardDeviation = 19.9; - const double beddingAngle = 20.0; - const double whitesDragCoefficient = 21.1; - const double waterKinematicViscosity = 22.2; - const double darcyPermeabilityMean = 23.3; - const double darcyPermeabilityCoefficientOfVariation = 24.4; - const double diameter70Mean = 25.5; - const double diameter70CoefficientOfVariation = 26.6; - const double gravity = 27.7; - const double criticalHeaveGradient = 28.8; + const double sectionLength = 1.1; + const double phreaticLevelExitMean = 2.2; + const double phreaticLevelExitStandardDeviation = 3.3; + const double waterVolumetricWeight = 4.4; + const double effectiveThicknessCoverageLayerMean = 5.5; + const double effectiveThicknessCoverageLayerStandardDeviation = 6.6; + const double saturatedVolumicWeightOfCoverageLayerMean = 7.7; + const double saturatedVolumicWeightOfCoverageLayerStandardDeviation = 8.8; + const double saturatedVolumicWeightOfCoverageLayerShift = 9.9; + const double upliftModelFactorMean = 10.0; + const double upliftModelFactorStandardDeviation = 11.1; + const double dampingFactorExitMean = 12.2; + const double dampingFactorExitStandardDeviation = 13.3; + const double seepageLengthMean = 14.4; + const double seepageLengthCoefficientOfVariation = 15.5; + const double thicknessAquiferLayerMean = 16.6; + const double thicknessAquiferLayerStandardDeviation = 17.7; + const double sandParticlesVolumicWeight = 18.8; + const double sellmeijerModelFactorMean = 19.9; + const double sellmeijerModelFactorStandardDeviation = 20.0; + const double beddingAngle = 21.1; + const double whitesDragCoefficient = 22.2; + const double waterKinematicViscosity = 23.3; + const double darcyPermeabilityMean = 24.4; + const double darcyPermeabilityCoefficientOfVariation = 25.5; + const double diameter70Mean = 26.6; + const double diameter70CoefficientOfVariation = 27.7; + const double gravity = 28.8; + const double criticalHeaveGradientMean = 29.9; + const double criticalHeaveGradientStandardDeviation = 30.0; // Call var pipingCalculationInput = new PipingCalculationInput( @@ -78,7 +79,7 @@ thicknessAquiferLayerMean, thicknessAquiferLayerStandardDeviation, sandParticlesVolumicWeight, sellmeijerModelFactorMean, sellmeijerModelFactorStandardDeviation, beddingAngle, whitesDragCoefficient, waterKinematicViscosity, darcyPermeabilityMean, darcyPermeabilityCoefficientOfVariation, diameter70Mean, - diameter70CoefficientOfVariation, gravity, criticalHeaveGradient); + diameter70CoefficientOfVariation, gravity, criticalHeaveGradientMean, criticalHeaveGradientStandardDeviation); // Assert const int expectedCalculationTypeId = 1; @@ -99,23 +100,23 @@ private static IEnumerable GetDefaultPipingVariables() { - yield return new NormalHydraRingVariable(42, HydraRingDeviationType.Standard, 1.1, 2.2); - yield return new DeterministicHydraRingVariable(43, 3.3); - yield return new LogNormalHydraRingVariable(44, HydraRingDeviationType.Standard, 4.4, 5.5); - yield return new LogNormalHydraRingVariable(45, HydraRingDeviationType.Standard, 6.6, 7.7, 8.8); - yield return new LogNormalHydraRingVariable(46, HydraRingDeviationType.Standard, 9.9, 10.0); - yield return new LogNormalHydraRingVariable(47, HydraRingDeviationType.Standard, 11.1, 12.2); - yield return new LogNormalHydraRingVariable(48, HydraRingDeviationType.Variation, 13.3, 14.4); - yield return new LogNormalHydraRingVariable(49, HydraRingDeviationType.Standard, 15.5, 16.6); - yield return new DeterministicHydraRingVariable(50, 17.7 + 3.3); - yield return new LogNormalHydraRingVariable(51, HydraRingDeviationType.Standard, 18.8, 19.9); - yield return new DeterministicHydraRingVariable(52, 20.0); - yield return new DeterministicHydraRingVariable(53, 21.1); - yield return new DeterministicHydraRingVariable(54, 22.2); - yield return new LogNormalHydraRingVariable(55, HydraRingDeviationType.Variation, 23.3, 24.4); - yield return new LogNormalHydraRingVariable(56, HydraRingDeviationType.Variation, 25.5, 26.6); - yield return new DeterministicHydraRingVariable(58, 27.7); - yield return new DeterministicHydraRingVariable(124, 28.8); + yield return new NormalHydraRingVariable(42, HydraRingDeviationType.Standard, 2.2, 3.3); + yield return new DeterministicHydraRingVariable(43, 4.4); + yield return new LogNormalHydraRingVariable(44, HydraRingDeviationType.Standard, 5.5, 6.6); + yield return new LogNormalHydraRingVariable(45, HydraRingDeviationType.Standard, 7.7, 8.8, 9.9); + yield return new LogNormalHydraRingVariable(46, HydraRingDeviationType.Standard, 10.0, 11.1); + yield return new LogNormalHydraRingVariable(47, HydraRingDeviationType.Standard, 12.2, 13.3); + yield return new LogNormalHydraRingVariable(48, HydraRingDeviationType.Variation, 14.4, 15.5); + yield return new LogNormalHydraRingVariable(49, HydraRingDeviationType.Standard, 16.6, 17.7); + yield return new DeterministicHydraRingVariable(50, 18.8 + 4.4); + yield return new LogNormalHydraRingVariable(51, HydraRingDeviationType.Standard, 19.9, 20.0); + yield return new DeterministicHydraRingVariable(52, 21.1); + yield return new DeterministicHydraRingVariable(53, 22.2); + yield return new DeterministicHydraRingVariable(54, 23.3); + yield return new LogNormalHydraRingVariable(55, HydraRingDeviationType.Variation, 24.4, 25.5); + yield return new LogNormalHydraRingVariable(56, HydraRingDeviationType.Variation, 26.6, 27.7); + yield return new DeterministicHydraRingVariable(58, 28.8); + yield return new LogNormalHydraRingVariable(124, HydraRingDeviationType.Standard, 29.9, 30); } } } \ No newline at end of file Index: Riskeer/HydraRing/test/Riskeer.HydraRing.Calculation.Test/Integration/HydraRingConfigurationServiceIntegrationTest.cs =================================================================== diff -u -r485be9984a324454c54dfa31327718d03c7f4850 -r5f30a1a66d88238a918d2810e7c0be0a415ef322 --- Riskeer/HydraRing/test/Riskeer.HydraRing.Calculation.Test/Integration/HydraRingConfigurationServiceIntegrationTest.cs (.../HydraRingConfigurationServiceIntegrationTest.cs) (revision 485be9984a324454c54dfa31327718d03c7f4850) +++ Riskeer/HydraRing/test/Riskeer.HydraRing.Calculation.Test/Integration/HydraRingConfigurationServiceIntegrationTest.cs (.../HydraRingConfigurationServiceIntegrationTest.cs) (revision 5f30a1a66d88238a918d2810e7c0be0a415ef322) @@ -28,6 +28,7 @@ using Riskeer.HydraRing.Calculation.Data; using Riskeer.HydraRing.Calculation.Data.Input.Hydraulics; using Riskeer.HydraRing.Calculation.Data.Input.Overtopping; +using Riskeer.HydraRing.Calculation.Data.Input.Piping; using Riskeer.HydraRing.Calculation.Data.Input.Structures; using Riskeer.HydraRing.Calculation.Data.Input.WaveConditions; using Riskeer.HydraRing.Calculation.Data.Settings; @@ -2318,6 +2319,171 @@ } } + [Test] + public void WriteDatabaseCreationScript_HydraRingConfigurationWithPipingCalculationInput_WritesExpectedCreationScript([Values(true, false)] bool runPreprocessor) + { + // Setup + var hydraRingConfigurationService = new HydraRingConfigurationService(HydraRingUncertaintiesType.All); + const int hydraulicBoundaryLocationId = 700004; + + const double sectionLength = 1.1; + const double phreaticLevelExitMean = 2.2; + const double phreaticLevelExitStandardDeviation = 3.3; + const double waterVolumetricWeight = 4.4; + const double effectiveThicknessCoverageLayerMean = 5.5; + const double effectiveThicknessCoverageLayerStandardDeviation = 6.6; + const double saturatedVolumicWeightOfCoverageLayerMean = 7.7; + const double saturatedVolumicWeightOfCoverageLayerStandardDeviation = 8.8; + const double saturatedVolumicWeightOfCoverageLayerShift = 9.9; + const double upliftModelFactorMean = 10.0; + const double upliftModelFactorStandardDeviation = 11.1; + const double dampingFactorExitMean = 12.2; + const double dampingFactorExitStandardDeviation = 13.3; + const double seepageLengthMean = 14.4; + const double seepageLengthCoefficientOfVariation = 15.5; + const double thicknessAquiferLayerMean = 16.6; + const double thicknessAquiferLayerStandardDeviation = 17.7; + const double sandParticlesVolumicWeight = 18.8; + const double sellmeijerModelFactorMean = 19.9; + const double sellmeijerModelFactorStandardDeviation = 20.0; + const double beddingAngle = 21.1; + const double whitesDragCoefficient = 22.2; + const double waterKinematicViscosity = 23.3; + const double darcyPermeabilityMean = 24.4; + const double darcyPermeabilityCoefficientOfVariation = 25.5; + const double diameter70Mean = 26.6; + const double diameter70CoefficientOfVariation = 27.7; + const double gravity = 28.8; + const double criticalHeaveGradientMean = 29.9; + const double criticalHeaveGradientStandardDeviation = 29.9; + + var numericsSetting = new NumericsSetting(1, 9, 150, 0.15, 0.01, 0.01, 0.01, 2, 3000, 10000, 0.1, -6, 6, 25); + + hydraRingConfigurationService.AddHydraRingCalculationInput( + new PipingCalculationInput( + hydraulicBoundaryLocationId, sectionLength, phreaticLevelExitMean, phreaticLevelExitStandardDeviation, + waterVolumetricWeight, effectiveThicknessCoverageLayerMean, effectiveThicknessCoverageLayerStandardDeviation, + saturatedVolumicWeightOfCoverageLayerMean, saturatedVolumicWeightOfCoverageLayerStandardDeviation, + saturatedVolumicWeightOfCoverageLayerShift, upliftModelFactorMean, upliftModelFactorStandardDeviation, + dampingFactorExitMean, dampingFactorExitStandardDeviation, seepageLengthMean, seepageLengthCoefficientOfVariation, + thicknessAquiferLayerMean, thicknessAquiferLayerStandardDeviation, sandParticlesVolumicWeight, + sellmeijerModelFactorMean, sellmeijerModelFactorStandardDeviation, beddingAngle, whitesDragCoefficient, + waterKinematicViscosity, darcyPermeabilityMean, darcyPermeabilityCoefficientOfVariation, diameter70Mean, + diameter70CoefficientOfVariation, gravity, criticalHeaveGradientMean, criticalHeaveGradientStandardDeviation) + { + PreprocessorSetting = CreatePreprocessorSetting(runPreprocessor), + DesignTablesSetting = new DesignTablesSetting(17.17, 18.18), + NumericsSettings = new Dictionary + { + { + 311, numericsSetting + }, + { + 313, numericsSetting + }, + { + 314, numericsSetting + } + }, + TimeIntegrationSetting = new TimeIntegrationSetting(1) + }); + + string expectedCreationScript = "DELETE FROM [HydraulicModels];" + Environment.NewLine + + "INSERT INTO [HydraulicModels] VALUES (1, 1, 'WTI 2017');" + Environment.NewLine + + Environment.NewLine + + "DELETE FROM [Sections];" + Environment.NewLine + + "INSERT INTO [Sections] VALUES (1, 1, 1, 1, 1, 0, 0, 0, 0, 700004, 700004, 100, 0, 1.1);" + Environment.NewLine + + Environment.NewLine + + "DELETE FROM [SectionCalculationSchemes];" + Environment.NewLine + + "INSERT INTO [SectionCalculationSchemes] VALUES (1, 103, 1);" + Environment.NewLine + + Environment.NewLine + + "DELETE FROM [DesignTables];" + Environment.NewLine + + "INSERT INTO [DesignTables] VALUES (1, 103, 1, 1, 1, 58, 0, 0, 0, 0, 17.17, 18.18, 0);" + Environment.NewLine + + Environment.NewLine + + "DELETE FROM [PreprocessorSettings];" + Environment.NewLine + + (runPreprocessor + ? "INSERT INTO [PreprocessorSettings] VALUES (1, 1001.1, 1002.2);" + Environment.NewLine + : string.Empty) + + Environment.NewLine + + "DELETE FROM [Numerics];" + Environment.NewLine + + "INSERT INTO [Numerics] VALUES (1, 103, 1, 1, 311, 1, 9, 150, 0.15, 0.01, 0.01, 0.01, 2, 3, 3000, 10000, 0.1, -6, 6, 25);" + Environment.NewLine + + "INSERT INTO [Numerics] VALUES (1, 103, 1, 1, 313, 1, 9, 150, 0.15, 0.01, 0.01, 0.01, 2, 3, 3000, 10000, 0.1, -6, 6, 25);" + Environment.NewLine + + "INSERT INTO [Numerics] VALUES (1, 103, 1, 1, 314, 1, 9, 150, 0.15, 0.01, 0.01, 0.01, 2, 3, 3000, 10000, 0.1, -6, 6, 25);" + Environment.NewLine + + (runPreprocessor + ? "INSERT INTO [Numerics] VALUES (1, 1, 1, 1, 7, 1008, 1009, 1010, 1011.11, 1012.12, 1013.13, 1014.14, 1015, 3, 1016, 1017, 1018.18, 1019.19, 1020.2, 1021);" + Environment.NewLine + : string.Empty) + + Environment.NewLine + + "DELETE FROM [VariableDatas];" + Environment.NewLine + + "INSERT INTO [VariableDatas] VALUES (1, 103, 1, 1, 42, 0, 2, 2.2, 3.3, NULL, NULL, 1, 0, 1.1);" + Environment.NewLine + + "INSERT INTO [VariableDatas] VALUES (1, 103, 1, 1, 43, 4.4, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + + "INSERT INTO [VariableDatas] VALUES (1, 103, 1, 1, 44, 0, 4, 5.5, 6.6, NULL, NULL, 1, 0, 200);" + Environment.NewLine + + "INSERT INTO [VariableDatas] VALUES (1, 103, 1, 1, 45, 0, 4, 7.7, 8.8, 9.9, NULL, 1, 0, 300);" + Environment.NewLine + + "INSERT INTO [VariableDatas] VALUES (1, 103, 1, 1, 46, 0, 4, 10, 11.1, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + + "INSERT INTO [VariableDatas] VALUES (1, 103, 1, 1, 47, 0, 4, 12.2, 13.3, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + + "INSERT INTO [VariableDatas] VALUES (1, 103, 1, 1, 48, 0, 4, 14.4, NULL, NULL, NULL, 0, 15.5, 3000);" + Environment.NewLine + + "INSERT INTO [VariableDatas] VALUES (1, 103, 1, 1, 49, 0, 4, 16.6, 17.7, NULL, NULL, 1, 0, 1500);" + Environment.NewLine + + "INSERT INTO [VariableDatas] VALUES (1, 103, 1, 1, 50, 23.2, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + + "INSERT INTO [VariableDatas] VALUES (1, 103, 1, 1, 51, 0, 4, 19.9, 20, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + + "INSERT INTO [VariableDatas] VALUES (1, 103, 1, 1, 52, 21.1, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + + "INSERT INTO [VariableDatas] VALUES (1, 103, 1, 1, 53, 22.2, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + + "INSERT INTO [VariableDatas] VALUES (1, 103, 1, 1, 54, 23.3, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + + "INSERT INTO [VariableDatas] VALUES (1, 103, 1, 1, 55, 0, 4, 24.4, NULL, NULL, NULL, 0, 25.5, 600);" + Environment.NewLine + + "INSERT INTO [VariableDatas] VALUES (1, 103, 1, 1, 56, 0, 4, 26.6, NULL, NULL, NULL, 0, 27.7, 180);" + Environment.NewLine + + "INSERT INTO [VariableDatas] VALUES (1, 103, 1, 1, 58, 28.8, 0, 0, NULL, NULL, NULL, 1, 0, 999999);" + Environment.NewLine + + "INSERT INTO [VariableDatas] VALUES (1, 103, 1, 1, 124, 0, 4, 29.9, 30, NULL, NULL, 1, 0, 300);" + Environment.NewLine + + Environment.NewLine + + "DELETE FROM [CalculationProfiles];" + Environment.NewLine + + Environment.NewLine + + "DELETE FROM [SectionFaultTreeModels];" + Environment.NewLine + + "INSERT INTO [SectionFaultTreeModels] VALUES (1, 103, 1, 1, 3015);" + Environment.NewLine + + (runPreprocessor + ? "INSERT INTO [SectionFaultTreeModels] VALUES (1, 1, 1, 1, 9);" + Environment.NewLine + : string.Empty) + + Environment.NewLine + + "DELETE FROM [SectionSubMechanismModels];" + Environment.NewLine + + Environment.NewLine + + "DELETE FROM [Fetches];" + Environment.NewLine + + Environment.NewLine + + "DELETE FROM [AreaPoints];" + Environment.NewLine + + Environment.NewLine + + "DELETE FROM [PresentationSections];" + Environment.NewLine + + Environment.NewLine + + "DELETE FROM [Profiles];" + Environment.NewLine + + Environment.NewLine + + "DELETE FROM [ForelandModels];" + Environment.NewLine + + Environment.NewLine + + "DELETE FROM [Forelands];" + Environment.NewLine + + Environment.NewLine + + "DELETE FROM [ProbabilityAlternatives];" + Environment.NewLine + + Environment.NewLine + + "DELETE FROM [SetUpHeights];" + Environment.NewLine + + Environment.NewLine + + "DELETE FROM [CalcWindDirections];" + Environment.NewLine + + Environment.NewLine + + "DELETE FROM [Swells];" + Environment.NewLine + + Environment.NewLine + + "DELETE FROM [WaveReductions];" + Environment.NewLine + + Environment.NewLine + + "DELETE FROM [Areas];" + Environment.NewLine + + "INSERT INTO [Areas] VALUES (1, '1', 'Nederland');" + Environment.NewLine + + Environment.NewLine + + "DELETE FROM [Projects];" + Environment.NewLine + + "INSERT INTO [Projects] VALUES (1, 'BOI', 'Riskeer calculation');" + Environment.NewLine + + Environment.NewLine + + "DELETE FROM [Breakwaters];" + Environment.NewLine; + + string databaseFilePath = Path.Combine(hydraRingDirectory, "temp.db"); + using (new FileDisposeHelper(databaseFilePath)) + { + // Call + hydraRingConfigurationService.WriteDatabaseCreationScript(databaseFilePath); + + // Assert + string creationScript = File.ReadAllText(databaseFilePath); + Assert.AreEqual(expectedCreationScript, creationScript); + } + } + private static PreprocessorSetting CreatePreprocessorSetting(bool runPreprocessor) { return runPreprocessor