Change force tuple calculator result
This commit is contained in:
@@ -18,7 +18,7 @@ namespace StructureHelperLogics.NdmCalculations.Analyses.ByForces
|
||||
{
|
||||
public class ForceTupleCalcLogic : IForceTupleCalcLogic
|
||||
{
|
||||
private IForcesTupleResult result;
|
||||
private IForceTupleCalculatorResult result;
|
||||
private ForceTupleTraceResultLogic forceTupleTraceResultLogic;
|
||||
private LoaderOptions loaderData;
|
||||
private Calculator calculator;
|
||||
@@ -27,7 +27,7 @@ namespace StructureHelperLogics.NdmCalculations.Analyses.ByForces
|
||||
|
||||
public IForceTupleInputData InputData { get; set; }
|
||||
|
||||
public IForcesTupleResult Result => result;
|
||||
public IForceTupleCalculatorResult Result => result;
|
||||
|
||||
public IShiftTraceLogger? TraceLogger { get; set; }
|
||||
public Action<IResult> ActionToOutputResults { get; set; }
|
||||
@@ -40,7 +40,7 @@ namespace StructureHelperLogics.NdmCalculations.Analyses.ByForces
|
||||
|
||||
private void PrepareNewResult()
|
||||
{
|
||||
result = new ForcesTupleResult()
|
||||
result = new ForceTupleCalculatorResult()
|
||||
{
|
||||
IsValid = true,
|
||||
Description = string.Empty,
|
||||
@@ -117,6 +117,7 @@ namespace StructureHelperLogics.NdmCalculations.Analyses.ByForces
|
||||
private void ProcessCorrectLoaderResult()
|
||||
{
|
||||
result.IsValid = true;
|
||||
result.ForceTuple = InputData.ForceTuple;
|
||||
result.Description = LoggerStrings.CalculationHasDone;
|
||||
result.LoaderResults = calcResult;
|
||||
forceTupleTraceResultLogic = new ForceTupleTraceResultLogic(InputData.NdmCollection)
|
||||
|
||||
@@ -24,11 +24,11 @@ namespace StructureHelperLogics.NdmCalculations.Analyses.ByForces
|
||||
|
||||
public void TraceResult(IResult result)
|
||||
{
|
||||
if (result is not IForcesTupleResult)
|
||||
if (result is not IForceTupleCalculatorResult)
|
||||
{
|
||||
throw new StructureHelperException(ErrorStrings.ObjectTypeIsUnknownObj(result));
|
||||
}
|
||||
calcResult = ((IForcesTupleResult)result).LoaderResults;
|
||||
calcResult = ((IForceTupleCalculatorResult)result).LoaderResults;
|
||||
TraceLogger?.AddMessage($"Analysis of internal forces is done succsesfully");
|
||||
TraceLogger?.AddMessage($"Current accuracy {calcResult.AccuracyRate} has achieved in {calcResult.IterationCounter} iteration", TraceLogStatuses.Debug);
|
||||
var strainMatrix = calcResult.ForceStrainPair.StrainMatrix;
|
||||
|
||||
@@ -11,7 +11,7 @@ namespace StructureHelperLogics.NdmCalculations.Analyses.ByForces
|
||||
public interface IForceTupleCalcLogic: ILogic, IHasActionByResult
|
||||
{
|
||||
IForceTupleInputData InputData { get; set; }
|
||||
IForcesTupleResult Result { get; }
|
||||
IForceTupleCalculatorResult Result { get; }
|
||||
void Calculate();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,6 +10,6 @@ namespace StructureHelperLogics.NdmCalculations.Analyses.ByForces
|
||||
public interface IProcessTupleLogic : ILogic
|
||||
{
|
||||
IForceTupleInputData InputData { get; set; }
|
||||
IForcesTupleResult ProcessNdmResult();
|
||||
IForceTupleCalculatorResult ProcessNdmResult();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
using StructureHelperCommon.Models;
|
||||
using StructureHelperCommon.Models.Calculators;
|
||||
using StructureHelperCommon.Models.Forces;
|
||||
using StructureHelperCommon.Models.States;
|
||||
using StructureHelperLogics.Services.NdmCalculations;
|
||||
using System.ComponentModel;
|
||||
|
||||
@@ -9,12 +10,13 @@ namespace StructureHelperLogics.NdmCalculations.Analyses.ByForces.Logics
|
||||
{
|
||||
public class InterpolationProgressLogic : ILongProcessLogic
|
||||
{
|
||||
private ForceCalculator forceCalculator;
|
||||
private IForceCalculator forceCalculator;
|
||||
private IStateCalcTermPair stateCalcTermPair;
|
||||
private InterpolateTuplesResult interpolateTuplesResult;
|
||||
|
||||
public Action<int> SetProgress { get; set; }
|
||||
|
||||
public ForceCalculator InterpolateCalculator { get; private set; }
|
||||
public IForceCalculator InterpolateCalculator { get; private set; }
|
||||
public bool Result { get; set; }
|
||||
|
||||
public int StepCount => interpolateTuplesResult.StepCount + 1;
|
||||
@@ -23,7 +25,7 @@ namespace StructureHelperLogics.NdmCalculations.Analyses.ByForces.Logics
|
||||
|
||||
public void WorkerDoWork(object sender, DoWorkEventArgs e)
|
||||
{
|
||||
InterpolateCalculator = InterpolateService.InterpolateForceCalculator(forceCalculator, interpolateTuplesResult);
|
||||
InterpolateCalculator = InterpolateService.InterpolateForceCalculator(forceCalculator, stateCalcTermPair, interpolateTuplesResult);
|
||||
InterpolateCalculator.ActionToOutputResults = ShowProgressResult;
|
||||
InterpolateCalculator.Run();
|
||||
}
|
||||
@@ -38,17 +40,18 @@ namespace StructureHelperLogics.NdmCalculations.Analyses.ByForces.Logics
|
||||
//nothing to do
|
||||
}
|
||||
|
||||
public InterpolationProgressLogic(ForceCalculator forceCalculator, InterpolateTuplesResult interpolateTuplesResult)
|
||||
public InterpolationProgressLogic(IForceCalculator forceCalculator, IStateCalcTermPair stateCalcTermPair, InterpolateTuplesResult interpolateTuplesResult)
|
||||
{
|
||||
this.forceCalculator = forceCalculator;
|
||||
this.stateCalcTermPair = stateCalcTermPair;
|
||||
this.interpolateTuplesResult = interpolateTuplesResult;
|
||||
}
|
||||
|
||||
private void ShowProgressResult(IResult result)
|
||||
{
|
||||
if (result is ForcesResults)
|
||||
if (result is ForceCalculatorResult)
|
||||
{
|
||||
var forceResult = result as ForcesResults;
|
||||
var forceResult = result as ForceCalculatorResult;
|
||||
SetProgress?.Invoke(forceResult.ForcesResultList.Count());
|
||||
Result = forceResult.IsValid;
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ namespace StructureHelperLogics.NdmCalculations.Analyses.ByForces
|
||||
public IShiftTraceLogger? TraceLogger { get; set; }
|
||||
IForceTupleInputData IProcessTupleLogic.InputData { get; set; }
|
||||
|
||||
public IForcesTupleResult ProcessNdmResult()
|
||||
public IForceTupleCalculatorResult ProcessNdmResult()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user