From 44ca05d181e3316ffad096fd16c559bb466655e4 Mon Sep 17 00:00:00 2001 From: Evgeny Redikultsev Date: Sat, 22 Jul 2023 22:18:17 +0500 Subject: [PATCH] LibMaterial update strategy was fixed --- .../ForceResultLogic/ShowDiagramLogic.cs | 16 ++++++++++++---- .../Libraries/Factories/LibMaterialFactory.cs | 1 + .../Logics/LibMaterialUpdateStrategy.cs | 3 ++- .../Cracking/CrackForceCalculator.cs | 5 +++-- .../NdmCalculations/Cracking/CrackForceResult.cs | 1 + .../Cracking/ExpSofteningLogic.cs | 4 ++-- 6 files changed, 21 insertions(+), 9 deletions(-) diff --git a/StructureHelper/Windows/ViewModels/Calculations/Calculators/ForceResultLogic/ShowDiagramLogic.cs b/StructureHelper/Windows/ViewModels/Calculations/Calculators/ForceResultLogic/ShowDiagramLogic.cs index 7d09c75..fedd663 100644 --- a/StructureHelper/Windows/ViewModels/Calculations/Calculators/ForceResultLogic/ShowDiagramLogic.cs +++ b/StructureHelper/Windows/ViewModels/Calculations/Calculators/ForceResultLogic/ShowDiagramLogic.cs @@ -81,6 +81,10 @@ namespace StructureHelper.Windows.ViewModels.Calculations.Calculators MessageBoxIcon.Information); return; } + valueList.Add(result.CrackedStrainTuple.Mx); + valueList.Add(result.CrackedStrainTuple.My); + valueList.Add(result.CrackedStrainTuple.Nz); + valueList.Add(result.ReducedStrainTuple.Mx); valueList.Add(result.ReducedStrainTuple.My); valueList.Add(result.ReducedStrainTuple.Nz); @@ -145,7 +149,8 @@ namespace StructureHelper.Windows.ViewModels.Calculations.Calculators } private static string[] GetCrackLabels(IUnit unitForce, IUnit unitMoment, IUnit unitCurvature) { - const string crc = "CrcSofteningFactor"; + const string crc = "Crc"; + const string crcFactor = "CrcSofteningFactor"; return new string[] { $"{GeometryNames.MomFstName}, {unitMoment.Name}", @@ -154,9 +159,12 @@ namespace StructureHelper.Windows.ViewModels.Calculations.Calculators $"{GeometryNames.CurvFstName}, {unitCurvature.Name}", $"{GeometryNames.CurvSndName}, {unitCurvature.Name}", $"{GeometryNames.StrainTrdName}", - $"{crc}Ix", - $"{crc}Iy", - $"{crc}Az", + $"{crc}{GeometryNames.CurvFstName}, {unitCurvature.Name}", + $"{crc}{GeometryNames.CurvSndName}, {unitCurvature.Name}", + $"{crc}{GeometryNames.StrainTrdName}", + $"{crcFactor}Ix", + $"{crcFactor}Iy", + $"{crcFactor}Az", $"PsiFactor" }; } diff --git a/StructureHelperCommon/Models/Materials/Libraries/Factories/LibMaterialFactory.cs b/StructureHelperCommon/Models/Materials/Libraries/Factories/LibMaterialFactory.cs index c921a30..844e7ce 100644 --- a/StructureHelperCommon/Models/Materials/Libraries/Factories/LibMaterialFactory.cs +++ b/StructureHelperCommon/Models/Materials/Libraries/Factories/LibMaterialFactory.cs @@ -176,6 +176,7 @@ namespace StructureHelperCommon.Models.Materials.Libraries new ConcreteMaterialEntity(new Guid("2f5b70b9-f4c1-470d-ac27-a39a7093b6ea")) { CodeType = codeType, + Code = code, Name = "B30", MainStrength = 30e6 }, diff --git a/StructureHelperLogics/Models/Materials/Logics/LibMaterialUpdateStrategy.cs b/StructureHelperLogics/Models/Materials/Logics/LibMaterialUpdateStrategy.cs index 8c379ac..3d3f92f 100644 --- a/StructureHelperLogics/Models/Materials/Logics/LibMaterialUpdateStrategy.cs +++ b/StructureHelperLogics/Models/Materials/Logics/LibMaterialUpdateStrategy.cs @@ -13,8 +13,9 @@ namespace StructureHelperLogics.Models.Materials public void Update(ILibMaterial targetObject, ILibMaterial sourceObject) { targetObject.MaterialEntity = sourceObject.MaterialEntity; + var tmpSafetyFactors = new List(sourceObject.SafetyFactors); targetObject.SafetyFactors.Clear(); - foreach (var item in sourceObject.SafetyFactors) + foreach (var item in tmpSafetyFactors) { targetObject.SafetyFactors.Add(item.Clone() as IMaterialSafetyFactor); } diff --git a/StructureHelperLogics/NdmCalculations/Cracking/CrackForceCalculator.cs b/StructureHelperLogics/NdmCalculations/Cracking/CrackForceCalculator.cs index 772bb41..39fb065 100644 --- a/StructureHelperLogics/NdmCalculations/Cracking/CrackForceCalculator.cs +++ b/StructureHelperLogics/NdmCalculations/Cracking/CrackForceCalculator.cs @@ -94,6 +94,7 @@ namespace StructureHelperLogics.NdmCalculations.Cracking result.FactorOfCrackAppearance = factorOfCrackAppearance; result.TupleOfCrackAppearance = ForceTupleService.InterpolateTuples(EndTuple, StartTuple, factorOfCrackAppearance); var reducedStrainTuple = GetReducedStrainTuple(factorOfCrackAppearance, psiS); + result.CrackedStrainTuple = GetStrainTuple(EndTuple); result.ReducedStrainTuple = reducedStrainTuple; result.SofteningFactors=GetSofteningFactors(reducedStrainTuple); result.PsiS = psiS; @@ -128,7 +129,7 @@ namespace StructureHelperLogics.NdmCalculations.Cracking result.TupleOfCrackAppearance = (IForceTuple)StartTuple.Clone(); softeningLogic.ForceRatio = result.FactorOfCrackAppearance; result.PsiS = softeningLogic.GetSofteningFactor(); - result.ReducedStrainTuple = GetStrainTuple(EndTuple); + result.CrackedStrainTuple = result.ReducedStrainTuple = GetStrainTuple(EndTuple); result.SofteningFactors = GetSofteningFactors(result.ReducedStrainTuple); result.IsSectionCracked = true; result.Description += "Section cracked in start tuple"; @@ -137,7 +138,7 @@ namespace StructureHelperLogics.NdmCalculations.Cracking { result.IsValid = true; result.IsSectionCracked = false; - result.ReducedStrainTuple = GetStrainTuple(EndTuple); + result.CrackedStrainTuple = result.ReducedStrainTuple = GetStrainTuple(EndTuple); result.SofteningFactors = GetSofteningFactors(result.ReducedStrainTuple); result.Description = "Section is not cracked"; } diff --git a/StructureHelperLogics/NdmCalculations/Cracking/CrackForceResult.cs b/StructureHelperLogics/NdmCalculations/Cracking/CrackForceResult.cs index c11b807..6e05133 100644 --- a/StructureHelperLogics/NdmCalculations/Cracking/CrackForceResult.cs +++ b/StructureHelperLogics/NdmCalculations/Cracking/CrackForceResult.cs @@ -18,6 +18,7 @@ namespace StructureHelperLogics.NdmCalculations.Cracking public IForceTuple StartTuple { get; set; } public IForceTuple EndTuple { get; set; } public IForceTuple TupleOfCrackAppearance { get; set; } + public StrainTuple CrackedStrainTuple { get; set; } public StrainTuple ReducedStrainTuple { get; set; } public StrainTuple SofteningFactors { get; set; } public IEnumerable NdmCollection { get; set; } diff --git a/StructureHelperLogics/NdmCalculations/Cracking/ExpSofteningLogic.cs b/StructureHelperLogics/NdmCalculations/Cracking/ExpSofteningLogic.cs index 20fca11..b572d66 100644 --- a/StructureHelperLogics/NdmCalculations/Cracking/ExpSofteningLogic.cs +++ b/StructureHelperLogics/NdmCalculations/Cracking/ExpSofteningLogic.cs @@ -45,8 +45,8 @@ namespace StructureHelperLogics.NdmCalculations.Cracking public ExpSofteningLogic() { FiMin = 0.2d; - PowerFactor = 1d; - BettaFactor = 0.8; + PowerFactor = 2d; + BettaFactor = 0.8d; } public double GetSofteningFactor() {