Force crack calculator was fixed

This commit is contained in:
RedikultsevEvg
2024-08-04 23:01:10 +05:00
parent e7c7211f54
commit 3eb5aa2b96
54 changed files with 1031 additions and 300 deletions

View File

@@ -23,7 +23,7 @@ namespace StructureHelper.Windows.CalculationWindows.CalculatorsViews
{
static IConvertUnitLogic operationLogic = new ConvertUnitLogic();
static IGetUnitLogic unitLogic = new GetUnitLogic();
static readonly CrackForceCalculator calculator = new();
static readonly CrackForceBynarySearchCalculator calculator = new();
private ITriangulatePrimitiveLogic triangulateLogic;
private List<IForcesTupleResult> ValidTupleList { get; set; }
@@ -103,7 +103,7 @@ namespace StructureHelper.Windows.CalculationWindows.CalculatorsViews
validTupleList[i].DesignForceTuple.ForceTuple.My * unitMoment.Multiplyer,
validTupleList[i].DesignForceTuple.ForceTuple.Nz * unitForce.Multiplyer
};
calculator.EndTuple = validTupleList[i].DesignForceTuple.ForceTuple;
calculator.InputData.EndTuple = validTupleList[i].DesignForceTuple.ForceTuple;
var limitState = validTupleList[i].DesignForceTuple.LimitState;
var calcTerm = validTupleList[i].DesignForceTuple.CalcTerm;
triangulateLogic = new TriangulatePrimitiveLogic()
@@ -114,7 +114,7 @@ namespace StructureHelper.Windows.CalculationWindows.CalculatorsViews
TraceLogger = TraceLogger
};
var ndms = triangulateLogic.GetNdms();
calculator.NdmCollection = ndms;
calculator.InputData.CheckedNdmCollection = calculator.InputData.SectionNdmCollection = ndms;
calculator.Run();
var result = (CrackForceResult)calculator.Result;
if (result.IsValid == false)

View File

@@ -15,7 +15,7 @@ namespace StructureHelper.Windows.CalculationWindows.CalculatorsViews
public class CrackCalculatorInputDataViewModel : OkCancelViewModelBase
{
private CrackCalculator calculator;
CrackInputData crackInputData;
CrackCalculatorInputData crackInputData;
private bool setUserValueSofteningFactor;
private double softeningFactor;
private string name;

View File

@@ -17,7 +17,7 @@ namespace StructureHelper.Windows.CalculationWindows.CalculatorsViews.ForceCalcu
{
internal class ShowCrackResultLogic
{
private CrackForceCalculator calculator;
private CrackForceBynarySearchCalculator calculator;
private ITriangulatePrimitiveLogic triangulateLogic;
public static GeometryNames GeometryNames => ProgramSetting.GeometryNames;
@@ -39,17 +39,18 @@ namespace StructureHelper.Windows.CalculationWindows.CalculatorsViews.ForceCalcu
private void FindCrackFactor(IForceTuple finishDesignTuple, IForceTuple startDesignTuple)
{
calculator = new CrackForceCalculator();
calculator = new CrackForceBynarySearchCalculator();
calculator.TraceLogger = new ShiftTraceLogger();
calculator.StartTuple = startDesignTuple;
calculator.EndTuple = finishDesignTuple;
calculator.InputData.StartTuple = startDesignTuple;
calculator.InputData.EndTuple = finishDesignTuple;
triangulateLogic = new TriangulatePrimitiveLogic()
{
Primitives = ndmPrimitives,
LimitState = LimitState,
CalcTerm = CalcTerm
};
calculator.NdmCollection = triangulateLogic.GetNdms();
var ndms = triangulateLogic.GetNdms();
calculator.InputData.CheckedNdmCollection = calculator.InputData.SectionNdmCollection = ndms;
calculator.Run();
var result = (CrackForceResult)calculator.Result;
if (result.IsValid)