CrackedCalculator and TriangulationLogic were changed

This commit is contained in:
Evgeny Redikultsev
2024-05-05 16:39:02 +05:00
parent f158ba3336
commit e75521dc20
34 changed files with 645 additions and 125 deletions

View File

@@ -22,6 +22,8 @@ namespace StructureHelper.Windows.CalculationWindows.CalculatorsViews
internal class CrackDiagramLogic : ILongProcessLogic
{
static readonly CrackForceCalculator calculator = new();
private ITriangulatePrimitiveLogic triangulateLogic;
private List<IForcesTupleResult> ValidTupleList { get; set; }
ArrayParameter<double> arrayParameter;
private IEnumerable<IForcesTupleResult> TupleList { get; set; }
@@ -102,7 +104,14 @@ namespace StructureHelper.Windows.CalculationWindows.CalculatorsViews
calculator.EndTuple = validTupleList[i].DesignForceTuple.ForceTuple;
var limitState = validTupleList[i].DesignForceTuple.LimitState;
var calcTerm = validTupleList[i].DesignForceTuple.CalcTerm;
var ndms = NdmPrimitivesService.GetNdms(ndmPrimitives, limitState, calcTerm);
triangulateLogic = new TriangulatePrimitiveLogic()
{
Primitives = ndmPrimitives,
LimitState = limitState,
CalcTerm = calcTerm,
TraceLogger = TraceLogger
};
var ndms = triangulateLogic.GetNdms();
calculator.NdmCollection = ndms;
calculator.Run();
var result = (CrackForceResult)calculator.Result;

View File

@@ -18,6 +18,7 @@ namespace StructureHelper.Windows.CalculationWindows.CalculatorsViews.ForceCalcu
internal class ShowCrackResultLogic
{
private CrackForceCalculator calculator;
private ITriangulatePrimitiveLogic triangulateLogic;
public static GeometryNames GeometryNames => ProgramSetting.GeometryNames;
public LimitStates LimitState { get; set; }
@@ -42,7 +43,13 @@ namespace StructureHelper.Windows.CalculationWindows.CalculatorsViews.ForceCalcu
calculator.TraceLogger = new ShiftTraceLogger();
calculator.StartTuple = startDesignTuple;
calculator.EndTuple = finishDesignTuple;
calculator.NdmCollection = NdmPrimitivesService.GetNdms(ndmPrimitives, LimitState, CalcTerm);
triangulateLogic = new TriangulatePrimitiveLogic()
{
Primitives = ndmPrimitives,
LimitState = LimitState,
CalcTerm = CalcTerm
};
calculator.NdmCollection = triangulateLogic.GetNdms();
calculator.Run();
var result = (CrackForceResult)calculator.Result;
if (result.IsValid)

View File

@@ -19,14 +19,14 @@ namespace StructureHelper.Windows.CalculationWindows.CalculatorsViews.ForceCalcu
internal void Show()
{
var inputData = new CrackWidthCalculatorInputData()
var inputData = new TupleCrackInputData()
{
//LimitState = LimitState,
//CalcTerm = CalcTerm,
LongTermTuple = ForceTuple,
NdmPrimitives = ndmPrimitives
};
var calculator = new CrackWidthCalculator() { InputData = inputData };
var calculator = new TupleCrackCalculator() { InputData = inputData };
calculator.Run();
var result = calculator.Result;