Change force tuple calculator result

This commit is contained in:
Evgeny Redikultsev
2025-11-04 21:16:06 +05:00
parent b28606003a
commit 111b60a08d
52 changed files with 314 additions and 375 deletions

View File

@@ -125,7 +125,7 @@ namespace StructureHelperLogics.NdmCalculations.Cracking
}
softeningLogic.ForceRatio = factorOfCrackAppearance;
var psiS = softeningLogic.GetSofteningFactor();
var tupleOfCrackApeearence = ForceTupleService.InterpolateTuples(InputData.EndTuple, InputData.StartTuple, factorOfCrackAppearance);
var tupleOfCrackApeearence = ForceTupleService.InterpolateTuples(InputData.StartTuple, InputData.EndTuple, factorOfCrackAppearance);
TraceLogger?.AddMessage($"Crack is appeared in force combination");
TraceLogger?.AddEntry(new TraceTablesFactory().GetByForceTuple(tupleOfCrackApeearence));
var reducedStrainTuple = GetReducedStrainTuple(factorOfCrackAppearance, psiS);
@@ -158,7 +158,7 @@ namespace StructureHelperLogics.NdmCalculations.Cracking
private StrainTuple GetReducedStrainTuple(double factorOfCrackAppearance, double softeningFactor)
{
const double notCrackedForceFactor = 0.99d;
var notCrackedForceTuple = ForceTupleService.InterpolateTuples(InputData.EndTuple, InputData.StartTuple, factorOfCrackAppearance * notCrackedForceFactor) as ForceTuple;
var notCrackedForceTuple = ForceTupleService.InterpolateTuples(InputData.StartTuple, InputData.EndTuple, factorOfCrackAppearance * notCrackedForceFactor) as ForceTuple;
var crackAppearanceStrainTuple = GetStrainTuple(notCrackedForceTuple);
var actualStrainTuple = GetStrainTuple(InputData.EndTuple);
crackStrainLogic.BeforeCrackingTuple = crackAppearanceStrainTuple;
@@ -197,7 +197,7 @@ namespace StructureHelperLogics.NdmCalculations.Cracking
inputData.ForceTuple = forceTuple;
forceTupleCalculator.InputData = inputData;
forceTupleCalculator.Run();
var result = forceTupleCalculator.Result as IForcesTupleResult;
var result = forceTupleCalculator.Result as IForceTupleCalculatorResult;
var loaderStrainMatrix = result.LoaderResults.ForceStrainPair.StrainMatrix;
StrainTuple strainTuple = TupleConverter.ConvertToStrainTuple(loaderStrainMatrix);
return strainTuple;

View File

@@ -16,7 +16,7 @@ namespace StructureHelperLogics.NdmCalculations.Cracking
public StrainTuple GetCrackedStrainTuple()
{
var strainTuple = ForceTupleService.InterpolateTuples(AfterCrackingTuple, BeforeCrackingTuple, SofteningFactor) as StrainTuple;
var strainTuple = ForceTupleService.InterpolateTuples(BeforeCrackingTuple, AfterCrackingTuple, SofteningFactor) as StrainTuple;
return strainTuple;
}
}

View File

@@ -31,7 +31,7 @@ namespace StructureHelperLogics.NdmCalculations.Cracking
public bool IsSectionCracked(double factor)
{
IsSectionCrackedByForceLogic.TraceLogger ??= TraceLogger?.GetSimilarTraceLogger(50);
var actualTuple = ForceTupleService.InterpolateTuples(EndTuple, StartTuple, factor);
var actualTuple = ForceTupleService.InterpolateTuples(StartTuple, EndTuple, factor);
IsSectionCrackedByForceLogic.Tuple = actualTuple;
return IsSectionCrackedByForceLogic.IsSectionCracked();
}

View File

@@ -49,7 +49,7 @@ namespace StructureHelperLogics.NdmCalculations.Cracking
calculator.TraceLogger = TraceLogger.GetSimilarTraceLogger(50);
}
calculator.Run();
var calcResult = calculator.Result as ForcesTupleResult;
var calcResult = calculator.Result as ForceTupleCalculatorResult;
if (calcResult.IsValid == false)
{
TraceLogger?.AddMessage($"Result of calculation is not valid {calcResult.Description}", TraceLogStatuses.Error);

View File

@@ -88,7 +88,7 @@ namespace StructureHelperLogics.NdmCalculations.Cracking
//TraceLogger = TraceLogger?.GetSimilarTraceLogger(50)
};
calculator.Run();
var forceResult = calculator.Result as IForcesTupleResult;
var forceResult = calculator.Result as IForceTupleCalculatorResult;
if (forceResult.IsValid == false)
{
//TraceLogger?.AddMessage(LoggerStrings.CalculationError + $": {forceResult.Description}", TraceLogStatuses.Error);

View File

@@ -167,7 +167,7 @@ namespace StructureHelperLogics.NdmCalculations.Cracking
//TraceLogger = TraceLogger?.GetSimilarTraceLogger(50)
};
calculator.Run();
var forceResult = calculator.Result as IForcesTupleResult;
var forceResult = calculator.Result as IForceTupleCalculatorResult;
if (forceResult.IsValid == false)
{
result.IsValid = false;