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);
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"
};
}

View File

@@ -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
},

View File

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

View File

@@ -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";
}

View File

@@ -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<INdm> NdmCollection { get; set; }

View File

@@ -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()
{