예제 #1
0
 private bool Equals(MacroStabilityInwardsSoilLayerData other)
 {
     return(string.Equals(materialName, other.materialName, StringComparison.InvariantCulture) &&
            IsAquifer == other.IsAquifer &&
            Color.ToArgb().Equals(other.Color.ToArgb()) &&
            UsePop == other.UsePop &&
            ShearStrengthModel == other.ShearStrengthModel &&
            AbovePhreaticLevel.Equals(other.AbovePhreaticLevel) &&
            BelowPhreaticLevel.Equals(other.BelowPhreaticLevel) &&
            Cohesion.Equals(other.Cohesion) &&
            FrictionAngle.Equals(other.FrictionAngle) &&
            ShearStrengthRatio.Equals(other.ShearStrengthRatio) &&
            StrengthIncreaseExponent.Equals(other.StrengthIncreaseExponent) &&
            Pop.Equals(other.Pop));
 }
예제 #2
0
        /// <summary>
        /// Creates a new instance of <see cref="MacroStabilityInwardsSoilLayer2D"/>.
        /// </summary>
        /// <param name="outerRing">The ring describing the outer boundaries of the layer.</param>
        /// <param name="data">The data of the soil layer.</param>
        /// <param name="nestedLayers">The nested <see cref="MacroStabilityInwardsSoilLayer2D"/>.</param>
        /// <exception cref="ArgumentNullException">Thrown when any parameter is <c>null</c>.</exception>
        public MacroStabilityInwardsSoilLayer2D(Ring outerRing, MacroStabilityInwardsSoilLayerData data, IEnumerable <MacroStabilityInwardsSoilLayer2D> nestedLayers)
        {
            if (outerRing == null)
            {
                throw new ArgumentNullException(nameof(outerRing));
            }

            if (data == null)
            {
                throw new ArgumentNullException(nameof(data));
            }

            if (nestedLayers == null)
            {
                throw new ArgumentNullException(nameof(nestedLayers));
            }

            OuterRing    = outerRing;
            Data         = data;
            NestedLayers = nestedLayers;
        }
예제 #3
0
 /// <summary>
 /// Creates the design variable for the POP.
 /// </summary>
 public static VariationCoefficientDesignVariable <VariationCoefficientLogNormalDistribution> GetPop(MacroStabilityInwardsSoilLayerData data)
 {
     return(new VariationCoefficientLogNormalDistributionDesignVariable(data.Pop)
     {
         Percentile = 0.05
     });
 }
예제 #4
0
 /// <summary>
 /// Creates the design variable for the strength increase component.
 /// </summary>
 public static VariationCoefficientDesignVariable <VariationCoefficientLogNormalDistribution> GetStrengthIncreaseExponent(MacroStabilityInwardsSoilLayerData data)
 {
     return(new VariationCoefficientLogNormalDistributionDesignVariable(data.StrengthIncreaseExponent)
     {
         Percentile = 0.05
     });
 }
예제 #5
0
 /// <summary>
 /// Creates the design variable for the volumic weight of the layer below the phreatic level.
 /// </summary>
 public static VariationCoefficientDeterministicDesignVariable <VariationCoefficientLogNormalDistribution> GetBelowPhreaticLevel(MacroStabilityInwardsSoilLayerData data)
 {
     return(new VariationCoefficientDeterministicDesignVariable <VariationCoefficientLogNormalDistribution>(data.BelowPhreaticLevel, data.BelowPhreaticLevel.Mean));
 }