예제 #1
0
        private static void SetConfigurationStructureDependentParameters(StabilityPointStructuresCalculationConfiguration calculationConfiguration,
                                                                         StabilityPointStructuresInput input)
        {
            if (input.Structure == null)
            {
                return;
            }

            calculationConfiguration.AllowedLevelIncreaseStorage = input.AllowedLevelIncreaseStorage.ToStochastConfiguration();
            calculationConfiguration.AreaFlowApertures           = input.AreaFlowApertures.ToStochastConfiguration();
            calculationConfiguration.BankWidth = input.BankWidth.ToStochastConfiguration();
            calculationConfiguration.ConstructiveStrengthLinearLoadModel = input.ConstructiveStrengthLinearLoadModel.ToStochastConfiguration();

            calculationConfiguration.ConstructiveStrengthQuadraticLoadModel = input.ConstructiveStrengthQuadraticLoadModel.ToStochastConfiguration();
            calculationConfiguration.CriticalOvertoppingDischarge           = input.CriticalOvertoppingDischarge.ToStochastConfiguration();
            calculationConfiguration.EvaluationLevel        = input.EvaluationLevel;
            calculationConfiguration.FailureCollisionEnergy = input.FailureCollisionEnergy.ToStochastConfiguration();

            calculationConfiguration.FailureProbabilityRepairClosure = input.FailureProbabilityRepairClosure;
            calculationConfiguration.FlowVelocityStructureClosable   = input.FlowVelocityStructureClosable.ToStochastConfigurationWithMean();
            calculationConfiguration.FlowWidthAtBottomProtection     = input.FlowWidthAtBottomProtection.ToStochastConfiguration();
            if (Enum.IsDefined(typeof(StabilityPointStructureInflowModelType), input.InflowModelType))
            {
                calculationConfiguration.InflowModelType = (ConfigurationStabilityPointStructuresInflowModelType?)
                                                           new ConfigurationStabilityPointStructuresInflowModelTypeConverter().ConvertFrom(input.InflowModelType);
            }

            calculationConfiguration.InsideWaterLevel = input.InsideWaterLevel.ToStochastConfiguration();
            calculationConfiguration.InsideWaterLevelFailureConstruction = input.InsideWaterLevelFailureConstruction.ToStochastConfiguration();
            calculationConfiguration.LevelCrestStructure = input.LevelCrestStructure.ToStochastConfiguration();
            calculationConfiguration.LevellingCount      = input.LevellingCount;

            if (Enum.IsDefined(typeof(LoadSchematizationType), input.LoadSchematizationType))
            {
                calculationConfiguration.LoadSchematizationType = (ConfigurationStabilityPointStructuresLoadSchematizationType?)
                                                                  new ConfigurationStabilityPointStructuresLoadSchematizationTypeConverter().ConvertFrom(input.LoadSchematizationType);
            }

            calculationConfiguration.ProbabilityCollisionSecondaryStructure = input.ProbabilityCollisionSecondaryStructure;
            calculationConfiguration.ShipMass     = input.ShipMass.ToStochastConfiguration();
            calculationConfiguration.ShipVelocity = input.ShipVelocity.ToStochastConfiguration();

            calculationConfiguration.StabilityLinearLoadModel    = input.StabilityLinearLoadModel.ToStochastConfiguration();
            calculationConfiguration.StabilityQuadraticLoadModel = input.StabilityQuadraticLoadModel.ToStochastConfiguration();
            calculationConfiguration.StorageStructureArea        = input.StorageStructureArea.ToStochastConfiguration();
            calculationConfiguration.StructureId = input.Structure.Id;

            calculationConfiguration.StructureNormalOrientation = input.StructureNormalOrientation;
            calculationConfiguration.ThresholdHeightOpenWeir    = input.ThresholdHeightOpenWeir.ToStochastConfiguration();
            calculationConfiguration.VerticalDistance           = input.VerticalDistance;
            calculationConfiguration.WidthFlowApertures         = input.WidthFlowApertures.ToStochastConfiguration();
        }
예제 #2
0
        protected override StabilityPointStructuresCalculationConfiguration ToConfiguration(StructuresCalculationScenario <StabilityPointStructuresInput> calculation)
        {
            StabilityPointStructuresInput input = calculation.InputParameters;

            var calculationConfiguration = new StabilityPointStructuresCalculationConfiguration(calculation.Name)
            {
                DrainCoefficient = input.DrainCoefficient.ToStochastConfiguration(),
                FactorStormDurationOpenStructure       = input.FactorStormDurationOpenStructure,
                FailureProbabilityStructureWithErosion = input.FailureProbabilityStructureWithErosion,
                HydraulicBoundaryLocationName          = input.HydraulicBoundaryLocation?.Name,
                VolumicWeightWater = input.VolumicWeightWater,
                StormDuration      = input.StormDuration.ToStochastConfigurationWithMean(),
                ShouldIllustrationPointsBeCalculated = input.ShouldIllustrationPointsBeCalculated,
                Scenario = calculation.ToScenarioConfiguration()
            };

            SetConfigurationStructureDependentParameters(calculationConfiguration, input);
            calculationConfiguration.SetConfigurationForeshoreProfileDependentProperties(input);
            return(calculationConfiguration);
        }