LibMaterial update strategy was fixed

This commit is contained in:
Evgeny Redikultsev
2023-07-22 22:18:17 +05:00
parent 580087b2a6
commit 44ca05d181
6 changed files with 21 additions and 9 deletions

View File

@@ -81,6 +81,10 @@ namespace StructureHelper.Windows.ViewModels.Calculations.Calculators
MessageBoxIcon.Information); MessageBoxIcon.Information);
return; 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.Mx);
valueList.Add(result.ReducedStrainTuple.My); valueList.Add(result.ReducedStrainTuple.My);
valueList.Add(result.ReducedStrainTuple.Nz); 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) 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[] return new string[]
{ {
$"{GeometryNames.MomFstName}, {unitMoment.Name}", $"{GeometryNames.MomFstName}, {unitMoment.Name}",
@@ -154,9 +159,12 @@ namespace StructureHelper.Windows.ViewModels.Calculations.Calculators
$"{GeometryNames.CurvFstName}, {unitCurvature.Name}", $"{GeometryNames.CurvFstName}, {unitCurvature.Name}",
$"{GeometryNames.CurvSndName}, {unitCurvature.Name}", $"{GeometryNames.CurvSndName}, {unitCurvature.Name}",
$"{GeometryNames.StrainTrdName}", $"{GeometryNames.StrainTrdName}",
$"{crc}Ix", $"{crc}{GeometryNames.CurvFstName}, {unitCurvature.Name}",
$"{crc}Iy", $"{crc}{GeometryNames.CurvSndName}, {unitCurvature.Name}",
$"{crc}Az", $"{crc}{GeometryNames.StrainTrdName}",
$"{crcFactor}Ix",
$"{crcFactor}Iy",
$"{crcFactor}Az",
$"PsiFactor" $"PsiFactor"
}; };
} }

View File

@@ -176,6 +176,7 @@ namespace StructureHelperCommon.Models.Materials.Libraries
new ConcreteMaterialEntity(new Guid("2f5b70b9-f4c1-470d-ac27-a39a7093b6ea")) new ConcreteMaterialEntity(new Guid("2f5b70b9-f4c1-470d-ac27-a39a7093b6ea"))
{ {
CodeType = codeType, CodeType = codeType,
Code = code,
Name = "B30", Name = "B30",
MainStrength = 30e6 MainStrength = 30e6
}, },

View File

@@ -13,8 +13,9 @@ namespace StructureHelperLogics.Models.Materials
public void Update(ILibMaterial targetObject, ILibMaterial sourceObject) public void Update(ILibMaterial targetObject, ILibMaterial sourceObject)
{ {
targetObject.MaterialEntity = sourceObject.MaterialEntity; targetObject.MaterialEntity = sourceObject.MaterialEntity;
var tmpSafetyFactors = new List<IMaterialSafetyFactor>(sourceObject.SafetyFactors);
targetObject.SafetyFactors.Clear(); targetObject.SafetyFactors.Clear();
foreach (var item in sourceObject.SafetyFactors) foreach (var item in tmpSafetyFactors)
{ {
targetObject.SafetyFactors.Add(item.Clone() as IMaterialSafetyFactor); targetObject.SafetyFactors.Add(item.Clone() as IMaterialSafetyFactor);
} }

View File

@@ -94,6 +94,7 @@ namespace StructureHelperLogics.NdmCalculations.Cracking
result.FactorOfCrackAppearance = factorOfCrackAppearance; result.FactorOfCrackAppearance = factorOfCrackAppearance;
result.TupleOfCrackAppearance = ForceTupleService.InterpolateTuples(EndTuple, StartTuple, factorOfCrackAppearance); result.TupleOfCrackAppearance = ForceTupleService.InterpolateTuples(EndTuple, StartTuple, factorOfCrackAppearance);
var reducedStrainTuple = GetReducedStrainTuple(factorOfCrackAppearance, psiS); var reducedStrainTuple = GetReducedStrainTuple(factorOfCrackAppearance, psiS);
result.CrackedStrainTuple = GetStrainTuple(EndTuple);
result.ReducedStrainTuple = reducedStrainTuple; result.ReducedStrainTuple = reducedStrainTuple;
result.SofteningFactors=GetSofteningFactors(reducedStrainTuple); result.SofteningFactors=GetSofteningFactors(reducedStrainTuple);
result.PsiS = psiS; result.PsiS = psiS;
@@ -128,7 +129,7 @@ namespace StructureHelperLogics.NdmCalculations.Cracking
result.TupleOfCrackAppearance = (IForceTuple)StartTuple.Clone(); result.TupleOfCrackAppearance = (IForceTuple)StartTuple.Clone();
softeningLogic.ForceRatio = result.FactorOfCrackAppearance; softeningLogic.ForceRatio = result.FactorOfCrackAppearance;
result.PsiS = softeningLogic.GetSofteningFactor(); result.PsiS = softeningLogic.GetSofteningFactor();
result.ReducedStrainTuple = GetStrainTuple(EndTuple); result.CrackedStrainTuple = result.ReducedStrainTuple = GetStrainTuple(EndTuple);
result.SofteningFactors = GetSofteningFactors(result.ReducedStrainTuple); result.SofteningFactors = GetSofteningFactors(result.ReducedStrainTuple);
result.IsSectionCracked = true; result.IsSectionCracked = true;
result.Description += "Section cracked in start tuple"; result.Description += "Section cracked in start tuple";
@@ -137,7 +138,7 @@ namespace StructureHelperLogics.NdmCalculations.Cracking
{ {
result.IsValid = true; result.IsValid = true;
result.IsSectionCracked = false; result.IsSectionCracked = false;
result.ReducedStrainTuple = GetStrainTuple(EndTuple); result.CrackedStrainTuple = result.ReducedStrainTuple = GetStrainTuple(EndTuple);
result.SofteningFactors = GetSofteningFactors(result.ReducedStrainTuple); result.SofteningFactors = GetSofteningFactors(result.ReducedStrainTuple);
result.Description = "Section is not cracked"; result.Description = "Section is not cracked";
} }

View File

@@ -18,6 +18,7 @@ namespace StructureHelperLogics.NdmCalculations.Cracking
public IForceTuple StartTuple { get; set; } public IForceTuple StartTuple { get; set; }
public IForceTuple EndTuple { get; set; } public IForceTuple EndTuple { get; set; }
public IForceTuple TupleOfCrackAppearance { get; set; } public IForceTuple TupleOfCrackAppearance { get; set; }
public StrainTuple CrackedStrainTuple { get; set; }
public StrainTuple ReducedStrainTuple { get; set; } public StrainTuple ReducedStrainTuple { get; set; }
public StrainTuple SofteningFactors { get; set; } public StrainTuple SofteningFactors { get; set; }
public IEnumerable<INdm> NdmCollection { get; set; } public IEnumerable<INdm> NdmCollection { get; set; }

View File

@@ -45,8 +45,8 @@ namespace StructureHelperLogics.NdmCalculations.Cracking
public ExpSofteningLogic() public ExpSofteningLogic()
{ {
FiMin = 0.2d; FiMin = 0.2d;
PowerFactor = 1d; PowerFactor = 2d;
BettaFactor = 0.8; BettaFactor = 0.8d;
} }
public double GetSofteningFactor() public double GetSofteningFactor()
{ {