Obtaining softening factors was added

This commit is contained in:
Evgeny Redikultsev
2023-07-22 19:03:18 +05:00
parent d7a4b1f0a7
commit 580087b2a6
26 changed files with 546 additions and 196 deletions

View File

@@ -14,16 +14,18 @@ namespace StructureHelperLogics.NdmCalculations.Analyses.ByForces
{
public class ForceTupleCalculator : IForceTupleCalculator
{
public IForceTupleInputData InputData { get; set; }
public string Name { get; set; }
public IResult Result { get; private set; }
private IForceTupleInputData inputData;
public ForceTupleCalculator(IForceTupleInputData inputData)
{
this.inputData = inputData;
InputData = inputData;
}
public ForceTupleCalculator()
{
}
public void Run()
{
Result = CalculateResult();
@@ -31,9 +33,9 @@ namespace StructureHelperLogics.NdmCalculations.Analyses.ByForces
private IForcesTupleResult CalculateResult()
{
var ndmCollection = inputData.NdmCollection;
var tuple = inputData.Tuple;
var accuracy = inputData.Accuracy;
var ndmCollection = InputData.NdmCollection;
var tuple = InputData.Tuple;
var accuracy = InputData.Accuracy;
var mx = tuple.Mx;

View File

@@ -14,5 +14,9 @@ namespace StructureHelperLogics.NdmCalculations.Analyses.ByForces
public IEnumerable<INdm> NdmCollection { get; set; }
public IForceTuple Tuple { get; set; }
public IAccuracy Accuracy { get; set; }
public ForceTupleInputData()
{
Accuracy ??= new Accuracy() { IterationAccuracy = 0.01d, MaxIterationCount = 1000 };
}
}
}

View File

@@ -9,5 +9,6 @@ namespace StructureHelperLogics.NdmCalculations.Analyses.ByForces
{
public interface IForceTupleCalculator : ICalculator
{
IForceTupleInputData InputData {get;set;}
}
}

View File

@@ -0,0 +1,30 @@
using LoaderCalculator.Data.Ndms;
using LoaderCalculator.Logics;
using LoaderCalculator.Logics.Geometry;
using StructureHelperCommon.Models.Forces;
using StructureHelperCommon.Services.Forces;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace StructureHelperLogics.NdmCalculations.Analyses.ByForces.Logics
{
internal class SofteningFactorLogic
{
public static IStressLogic stressLogic = new StressLogic();
public IEnumerable<INdm> NdmCollection { get; set; }
public StrainTuple StrainTuple { get; set; }
public StrainTuple GetSofteningFactors()
{
var strainTuple = new StrainTuple();
var loaderStainMatrix = StrainTupleService.ConvertToLoaderStrainMatrix(StrainTuple);
var (MxFactor, MyFactor, NzFactor) = GeometryOperations.GetSofteningsFactors(NdmCollection, loaderStainMatrix);
strainTuple.Mx = MxFactor;
strainTuple.My = MyFactor;
strainTuple.Nz = NzFactor;
return strainTuple;
}
}
}