Settting for prestress has been fixed

This commit is contained in:
Evgeny Redikultsev
2023-03-23 21:04:27 +05:00
parent 9e7962fc3f
commit a88fa40f29
23 changed files with 286 additions and 120 deletions

View File

@@ -0,0 +1,50 @@
using LoaderCalculator.Logics.ConcreteCalculations;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace StructureHelperLogics.NdmCalculations.Analyses.RC
{
public class AnchorageCalculator : IAnchorageCalculator
{
private IAnchorageInputData inputData;
private IAnchorage anchorage;
public string Name { get; set; }
public AnchorageCalculator(IAnchorageInputData inputData)
{
this.inputData = inputData;
IAnchorageOptions anchorageOptions = GetAnchorageOptions();
anchorage = new AnchorageSP632018Rev3(anchorageOptions);
}
public double GetBaseDevLength()
{
return anchorage.GetBaseDevLength();
}
public double GetDevLength()
{
return anchorage.GetDevLength();
}
public double GetLapLength()
{
return anchorage.GetLapLength();
}
private IAnchorageOptions GetAnchorageOptions()
{
var anchorageOptions = new AnchorageOptionsSP63();
anchorageOptions.ConcreteStrength = inputData.ConcreteStrength;
anchorageOptions.ReinforcementStrength = inputData.ReinforcementStrength;
anchorageOptions.ReinforcementStress = inputData.ReinforcementStress;
anchorageOptions.CrossSectionArea = inputData.CrossSectionArea;
anchorageOptions.CrossSectionPerimeter = inputData.CrossSectionPerimeter;
anchorageOptions.LappedCountRate = inputData.LappedCountRate;
return anchorageOptions;
}
}
}

View File

@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace StructureHelperLogics.NdmCalculations.Analyses.RC
{
public class AnchorageInputData : IAnchorageInputData
{
public double ConcreteStrength { get; set; }
public double ReinforcementStrength { get; set; }
public double CrossSectionArea { get; set; }
public double CrossSectionPerimeter { get; set; }
public double ReinforcementStress { get; set; }
public double LappedCountRate { get; set; }
}
}

View File

@@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace StructureHelperLogics.NdmCalculations.Analyses.RC
{
public interface IAnchorageCalculator
{
double GetBaseDevLength();
double GetDevLength();
double GetLapLength();
}
}

View File

@@ -0,0 +1,19 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace StructureHelperLogics.NdmCalculations.Analyses.RC
{
public interface IAnchorageInputData
{
double ConcreteStrength { get; set; }
double ReinforcementStrength { get; set; }
double CrossSectionArea { get; set; }
double CrossSectionPerimeter { get; set; }
double ReinforcementStress { get; set; }
double LappedCountRate { get; set; }
}
}