Tests of crack calculator were added

This commit is contained in:
RedikultsevEvg
2024-08-12 12:46:40 +05:00
parent 3eb5aa2b96
commit 45dbd7a1ca
53 changed files with 1041 additions and 277 deletions

View File

@@ -188,7 +188,7 @@ namespace StructureHelperLogics.NdmCalculations.Analyses.ByForces
var inputData = new ForceTupleInputData()
{
NdmCollection = ndmCollection,
Tuple = tuple,
ForceTuple = tuple,
Accuracy = accuracy
};
var calculator = new ForceTupleCalculator();

View File

@@ -9,11 +9,16 @@ using System.Threading.Tasks;
namespace StructureHelperLogics.NdmCalculations.Analyses.ByForces
{
/// <inheritdoc/>
public class ForceTupleInputData : IForceTupleInputData
{
/// <inheritdoc/>
public IEnumerable<INdm> NdmCollection { get; set; }
public IForceTuple Tuple { get; set; }
/// <inheritdoc/>
public IForceTuple ForceTuple { get; set; }
/// <inheritdoc/>
public IAccuracy Accuracy { get; set; }
public ForceTupleInputData()
{
Accuracy ??= new Accuracy() { IterationAccuracy = 0.01d, MaxIterationCount = 1000 };

View File

@@ -9,10 +9,22 @@ using System.Threading.Tasks;
namespace StructureHelperLogics.NdmCalculations.Analyses.ByForces
{
/// <summary>
/// Input data for Force Tuple Calculator
/// </summary>
public interface IForceTupleInputData : IInputData
{
/// <summary>
/// Collection of ndma-parts for calculation
/// </summary>
IEnumerable<INdm> NdmCollection { get; set; }
IForceTuple Tuple { get; set; }
/// <summary>
/// Force tuple which is used for calculation
/// </summary>
IForceTuple ForceTuple { get; set; }
/// <summary>
/// Settings of iteration
/// </summary>
IAccuracy Accuracy { get; set; }
}
}

View File

@@ -69,7 +69,7 @@ namespace StructureHelperLogics.NdmCalculations.Analyses.ByForces
Mx = point3D.X,
My = point3D.Y
};
inputData.Tuple = tuple;
inputData.ForceTuple = tuple;
inputData.NdmCollection = Ndms;
calculator.Run();
if (logger is not null)

View File

@@ -47,7 +47,7 @@ namespace StructureHelperLogics.NdmCalculations.Analyses.ByForces
string errorString = "\nNdm collection is null or empty";
TraceMessage(errorString);
}
if (InputData.Tuple is null)
if (InputData.ForceTuple is null)
{
result = false;
string errorString = "\nForce tuple is null";

View File

@@ -68,7 +68,7 @@ namespace StructureHelperLogics.NdmCalculations.Analyses.ByForces
TraceService.TraceNdmCollection(TraceLogger, InputData.NdmCollection);
}
TraceLogger?.AddMessage(string.Intern("Input force combination"));
TraceLogger?.AddEntry(new TraceTablesFactory().GetByForceTuple(InputData.Tuple));
TraceLogger?.AddEntry(new TraceTablesFactory().GetByForceTuple(InputData.ForceTuple));
TraceLogger?.AddMessage($"Required accuracy rate {InputData.Accuracy.IterationAccuracy}");
TraceLogger?.AddMessage($"Maximum iteration count {InputData.Accuracy.MaxIterationCount}");
}
@@ -131,9 +131,9 @@ namespace StructureHelperLogics.NdmCalculations.Analyses.ByForces
MaxIterationCount = InputData.Accuracy.MaxIterationCount,
StartForceMatrix = new ForceMatrix
{
Mx = InputData.Tuple.Mx,
My = InputData.Tuple.My,
Nz = InputData.Tuple.Nz
Mx = InputData.ForceTuple.Mx,
My = InputData.ForceTuple.My,
Nz = InputData.ForceTuple.Nz
}
},
ActionToOutputResults = ShowResultToTrace,