/// <summary> /// Creates a collection of <see cref="CombinedFailureMechanismSectionAssembly"/> /// based on the <paramref name="resultsPerFailureMechanism"/> and <paramref name="combinedSectionResults"/>. /// </summary> /// <param name="resultsPerFailureMechanism">The results per failure mechanism.</param> /// <param name="combinedSectionResults">The combined section results.</param> /// <returns>A collection of <see cref="CombinedFailureMechanismSectionAssembly"/>.</returns> /// <exception cref="ArgumentNullException">Thrown when any parameter is <c>null</c>.</exception> public static IEnumerable <CombinedFailureMechanismSectionAssembly> Create(IEnumerable <FailureMechanismSectionList> resultsPerFailureMechanism, IEnumerable <FailureMechanismSectionWithCategory> combinedSectionResults) { if (resultsPerFailureMechanism == null) { throw new ArgumentNullException(nameof(resultsPerFailureMechanism)); } if (combinedSectionResults == null) { throw new ArgumentNullException(nameof(combinedSectionResults)); } var sectionAssemblies = new List <CombinedFailureMechanismSectionAssembly>(); for (var i = 0; i < combinedSectionResults.Count(); i++) { FailureMechanismSectionWithCategory section = combinedSectionResults.ElementAt(i); sectionAssemblies.Add(new CombinedFailureMechanismSectionAssembly( CreateSection(section), resultsPerFailureMechanism .Select(failureMechanismSectionList => failureMechanismSectionList.Sections.ElementAt(i)) .Cast <FailureMechanismSectionWithCategory>() .Select(element => FailureMechanismSectionAssemblyGroupConverter.ConvertTo(element.Category)) .ToArray())); } return(sectionAssemblies); }
/// <summary> /// Converts a <see cref="ResultWithProfileAndSectionProbabilities"/> combined with a <see cref="EInterpretationCategory"/> /// into a <see cref="FailureMechanismSectionAssemblyResult"/>. /// </summary> /// <param name="result">The <see cref="ResultWithProfileAndSectionProbabilities"/> to convert.</param> /// <param name="category">The <see cref="EInterpretationCategory"/> to convert.</param> /// <returns>A <see cref="FailureMechanismSectionAssemblyResult"/> based on <paramref name="result"/> /// and <paramref name="category"/>.</returns> /// <exception cref="ArgumentNullException">Thrown when <paramref name="result"/> is <c>null</c>.</exception> /// <exception cref="InvalidEnumArgumentException">Thrown when <paramref name="category"/> /// is an invalid value.</exception> /// <exception cref="NotSupportedException">Thrown when <paramref name="category"/> /// is a valid value, but unsupported.</exception> public static FailureMechanismSectionAssemblyResult Create(ResultWithProfileAndSectionProbabilities result, EInterpretationCategory category) { if (result == null) { throw new ArgumentNullException(nameof(result)); } return(new FailureMechanismSectionAssemblyResult( result.ProbabilityProfile, result.ProbabilitySection, result.LengthEffectFactor, FailureMechanismSectionAssemblyGroupConverter.ConvertTo(category))); }
/// <summary> /// Creates a collection of <see cref="FailureMechanismSectionList"/> based on the /// given <paramref name="failureMechanismSectionsCollection"/>. /// </summary> /// <param name="failureMechanismSectionsCollection">The collection of failure mechanism /// section collections to create the failure mechanism section lists for.</param> /// <returns>A collection of <see cref="FailureMechanismSectionList"/>.</returns> /// <exception cref="ArgumentNullException">Thrown when <paramref name="failureMechanismSectionsCollection"/> /// is <c>null</c>.</exception> /// <exception cref="InvalidEnumArgumentException">Thrown when <see cref="FailureMechanismSectionAssemblyGroup"/> /// is an invalid value.</exception> /// <exception cref="NotSupportedException">Thrown when <see cref="FailureMechanismSectionAssemblyGroup"/> /// is a valid value, but unsupported.</exception> public static IEnumerable <FailureMechanismSectionList> Create( IEnumerable <IEnumerable <CombinedAssemblyFailureMechanismSection> > failureMechanismSectionsCollection) { if (failureMechanismSectionsCollection == null) { throw new ArgumentNullException(nameof(failureMechanismSectionsCollection)); } return(failureMechanismSectionsCollection.Select(sectionCollection => new FailureMechanismSectionList( sectionCollection.Select( s => new FailureMechanismSectionWithCategory( s.SectionStart, s.SectionEnd, FailureMechanismSectionAssemblyGroupConverter.ConvertFrom(s.FailureMechanismSectionAssemblyGroup))))) .ToArray()); }
private static FailureMechanismSectionAssemblyGroupBoundaries CreateFailureMechanismSectionAssemblyGroupBoundaries(InterpretationCategory interpretationCategory) { return(new FailureMechanismSectionAssemblyGroupBoundaries( interpretationCategory.LowerLimit, interpretationCategory.UpperLimit, FailureMechanismSectionAssemblyGroupConverter.ConvertTo(interpretationCategory.Category))); }
/// <summary> /// Converts a <see cref="Probability"/> combined with a <see cref="EInterpretationCategory"/> /// into a <see cref="FailureMechanismSectionAssemblyResult"/>. /// </summary> /// <param name="sectionProbability">The <see cref="Probability"/> to convert.</param> /// <param name="category">The <see cref="EInterpretationCategory"/> to convert.</param> /// <returns>A <see cref="FailureMechanismSectionAssemblyResult"/> based on <paramref name="sectionProbability"/> /// and <paramref name="category"/>.</returns> /// <exception cref="InvalidEnumArgumentException">Thrown when <paramref name="category"/> /// is an invalid value.</exception> /// <exception cref="NotSupportedException">Thrown when <paramref name="category"/> /// is a valid value, but unsupported.</exception> public static FailureMechanismSectionAssemblyResult Create(Probability sectionProbability, EInterpretationCategory category) { return(new FailureMechanismSectionAssemblyResult( sectionProbability, sectionProbability, 1.0, FailureMechanismSectionAssemblyGroupConverter.ConvertTo(category))); }
private static CombinedAssemblyFailureMechanismSection CreateSection(FailureMechanismSectionWithCategory section) { return(new CombinedAssemblyFailureMechanismSection( section.Start, section.End, FailureMechanismSectionAssemblyGroupConverter.ConvertTo(section.Category))); }