// Copyright (C) Stichting Deltares 2019. All rights reserved. // // This file is part of the Dam Engine. // // The Dam Engine is free software: you can redistribute it and/or modify // it under the terms of the GNU Affero General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU Affero General Public License for more details. // // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . // // All names, logos, and references to "Deltares" are registered trademarks of // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. using Deltares.DamEngine.Data.Geotechnics; namespace Deltares.DamEngine.Data.General.Results { public class PipingDesignResults { private string resultMessage = ""; private double? upliftFactor; private double? heaveFactor; private double? blighFactor; private double? blighHcritical; private double? sellmeijer4ForcesFactor; private double? sellmeijer4ForcesHcritical; private double? sellmeijerVnkFactor; private double? sellmeijerVnkHcritical; private double? wti2017BackwardErosionSafetyFactor; private double? wti2017BackwardErosionHcritical; private double? wti2017UpliftSafetyFactor; private double? wti2017UpliftHcritical; private double? wti2017BackwardErosionDeltaPhiC; private double? wti2017BackwardErosionDeltaPhiReduced; private double? wti2017UpliftDeltaPhiC; private double? wti2017HeaveSafetyFactor; private double? wti2017HeaveHcritical; private double? wti2017Gradient; private double? wti2017SafetyFactorOverall; private double? wti2017HcriticalOverall; private double? localExitPointX; private UpliftSituation? upliftSituation; private SurfaceLine2 redesignedSurfaceLine; private readonly PipingModelType pipingModelType; private double? effectiveStress; private double? cCreep; public PipingDesignResults(PipingModelType aPipingModelType) { pipingModelType = aPipingModelType; } /// /// Gets or sets the result message. /// /// /// The result message. /// public string ResultMessage { get { return resultMessage; } set { resultMessage = value; } } /// /// Gets or sets the safety factor. /// /// /// The safety factor. /// public double? SafetyFactor { get { switch (pipingModelType) { case PipingModelType.Bligh: return blighFactor; case PipingModelType.SellmeijerVnk: return sellmeijerVnkFactor; case PipingModelType.Sellmeijer4Forces: return sellmeijer4ForcesFactor; case PipingModelType.Wti2017: // for wti, use the overall result, not the backward erorsion result (as decided by Kin Sun) return wti2017SafetyFactorOverall; default: return null; } } set { if (pipingModelType == PipingModelType.Bligh) { blighFactor = value; } if (pipingModelType == PipingModelType.SellmeijerVnk) { sellmeijerVnkFactor = value; } if (pipingModelType == PipingModelType.Sellmeijer4Forces) { sellmeijer4ForcesFactor = value; } if (pipingModelType == PipingModelType.Wti2017) { // for wti, use the overall result, not the backward erorsion result wti2017SafetyFactorOverall = value; } } } /// /// Gets or sets the uplift factor. /// /// /// The uplift factor. /// public double? UpliftFactor { get { return upliftFactor; } set { upliftFactor = value; } } /// /// Gets or sets the heave factor. /// /// /// The heave factor. /// public double? HeaveFactor { get { return heaveFactor; } set { heaveFactor = value; } } /// /// Gets or sets the bligh factor. /// /// /// The bligh factor. /// public double? BlighFactor { get { return blighFactor; } set { blighFactor = value; } } /// /// Gets or sets the bligh hcritical. /// /// /// The bligh hcritical. /// public double? BlighHcritical { get { return blighHcritical; } set { blighHcritical = value; } } /// /// Gets or sets the sellmeijer4 forces factor. /// /// /// The sellmeijer4 forces factor. /// public double? Sellmeijer4ForcesFactor { get { return sellmeijer4ForcesFactor; } set { sellmeijer4ForcesFactor = value; } } /// /// Gets or sets the sellmeijer4 forces hcritical. /// /// /// The sellmeijer4 forces hcritical. /// public double? Sellmeijer4ForcesHcritical { get { return sellmeijer4ForcesHcritical; } set { sellmeijer4ForcesHcritical = value; } } /// /// Gets or sets the sellmeijer VNK factor. /// /// /// The sellmeijer VNK factor. /// public double? SellmeijerVnkFactor { get { return sellmeijerVnkFactor; } set { sellmeijerVnkFactor = value; } } /// /// Gets or sets the sellmeijer VNK hcritical. /// /// /// The sellmeijer VNK hcritical. /// public double? SellmeijerVnkHcritical { get { return sellmeijerVnkHcritical; } set { sellmeijerVnkHcritical = value; } } /// /// Gets or sets the wti2017 safety factor for backward erosion. /// /// /// The wti2017 safety factor for backward erosion. /// public double? Wti2017BackwardErosionSafetyFactor { get { return wti2017BackwardErosionSafetyFactor; } set { wti2017BackwardErosionSafetyFactor = value; } } /// /// Gets or sets the wti2017 safety factor for Uplift. /// /// /// The wti2017 safety factor for Uplift. /// public double? Wti2017UpliftSafetyFactor { get { return wti2017UpliftSafetyFactor; } set { wti2017UpliftSafetyFactor = value; } } /// /// Gets or sets the wti2017 safety factor heave. /// /// /// The wti2017 safety factor heave. /// public double? Wti2017HeaveSafetyFactor { get { return wti2017HeaveSafetyFactor; } set { wti2017HeaveSafetyFactor = value; } } /// /// Gets or sets the wti2017 safety factor overall (see MWDAM-1299). /// /// /// The wti2017 safety factor overall. /// public double? Wti2017SafetyFactorOverall { get { return wti2017SafetyFactorOverall; } set { wti2017SafetyFactorOverall = value; } } /// /// Gets or sets the wti2017 critical waterlevel for backward erosion. /// /// /// The wti2017 hcritical backward erosion. /// public double? Wti2017BackwardErosionHcritical { get { return wti2017BackwardErosionHcritical; } set { wti2017BackwardErosionHcritical = value; } } /// /// Gets or sets the wti2017 critical waterlevel for Uplift. /// /// /// The wti2017 hcritical uplift. /// public double? Wti2017UpliftHcritical { get { return wti2017UpliftHcritical; } set { wti2017UpliftHcritical = value; } } /// /// Gets or sets the wti2017 critical waterlevel for Heave. /// /// /// The wti2017 hcritical heave. /// public double? Wti2017HeaveHcritical { get { return wti2017HeaveHcritical; } set { wti2017HeaveHcritical = value; } } /// /// Gets or sets the wti2017 critical waterlevel overall (see MWDAM-1299). /// /// /// The wti2017 hcritical overall. /// public double? Wti2017HcriticalOverall { get { return wti2017HcriticalOverall; } set { wti2017HcriticalOverall = value; } } /// /// Gets or sets the wti2017 delta phi c be (backward erosion, critical head difference). /// /// /// The wti2017 delta phi c be. /// public double? Wti2017BackwardErosionDeltaPhiC { get { return wti2017BackwardErosionDeltaPhiC; } set { wti2017BackwardErosionDeltaPhiC = value; } } /// /// Gets or sets the wti2017 delta phi c be (backward erosion, reduced head difference). /// /// /// The wti2017 delta phi c be. /// public double? Wti2017BackwardErosionDeltaPhiReduced { get { return wti2017BackwardErosionDeltaPhiReduced; } set { wti2017BackwardErosionDeltaPhiReduced = value; } } /// /// Gets or sets the wti2017 delta phi cu (Uplift, critical head difference). /// /// /// The wti2017 delta phi cu. /// public double? Wti2017UpliftDeltaPhiC { get { return wti2017UpliftDeltaPhiC; } set { wti2017UpliftDeltaPhiC = value; } } /// /// Gets or sets the wti2017 gradient (vertical outflow gradient for Heave). /// /// /// The wti2017 gradient. /// public double? Wti2017Gradient { get { return wti2017Gradient; } set { wti2017Gradient = value; } } /// /// Gets or sets the local exit point x. /// /// /// The local exit point x. /// public double? LocalExitPointX { get { return localExitPointX; } set { localExitPointX = value; } } /// /// Gets or sets the effective stress (at exit point, as calculated with Wti EffectiveThicknessCalculator). /// /// /// The effective stress. /// public double? EffectiveStress { get { return effectiveStress; } set { effectiveStress = value; } } /// /// Gets or sets the uplift situation. /// /// /// The uplift situation. /// public UpliftSituation? UpliftSituation { get { return upliftSituation; } set { upliftSituation = value; } } /// /// Gets or sets the redesigned surface line. /// /// /// The redesigned surface line. /// public SurfaceLine2 RedesignedSurfaceLine { get { return redesignedSurfaceLine; } set { redesignedSurfaceLine = value; } } /// /// Gets or sets the c creep (Creep coefficient). /// /// /// The c creep. /// public double? CCreep { get { return cCreep; } set { cCreep = value; } } } }