Settting for prestress has been fixed
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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; }
|
||||
}
|
||||
}
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
@@ -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; }
|
||||
|
||||
}
|
||||
}
|
||||
@@ -6,8 +6,8 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace StructureHelperLogics.NdmCalculations.Primitives
|
||||
{
|
||||
public interface IHasSurroundingPrimitive
|
||||
public interface IHasHostPrimitive
|
||||
{
|
||||
INdmPrimitive? SurroundingPrimitive { get; set; }
|
||||
INdmPrimitive? HostPrimitive { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -16,7 +16,7 @@ using System.Windows.Media.Media3D;
|
||||
namespace StructureHelperLogics.NdmCalculations.Primitives
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public class ReinforcementPrimitive : IPointPrimitive, IHasSurroundingPrimitive
|
||||
public class ReinforcementPrimitive : IPointPrimitive, IHasHostPrimitive
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public string Name { get; set; }
|
||||
@@ -36,7 +36,7 @@ namespace StructureHelperLogics.NdmCalculations.Primitives
|
||||
|
||||
public int Id { get; set; }
|
||||
public double Area { get; set; }
|
||||
public INdmPrimitive SurroundingPrimitive { get; set; }
|
||||
public INdmPrimitive HostPrimitive { get; set; }
|
||||
public ICrossSection? CrossSection { get; set; }
|
||||
|
||||
public ReinforcementPrimitive()
|
||||
@@ -54,7 +54,7 @@ namespace StructureHelperLogics.NdmCalculations.Primitives
|
||||
var primitive = new ReinforcementPrimitive();
|
||||
NdmPrimitivesService.CopyNdmProperties(this, primitive);
|
||||
primitive.Area = Area;
|
||||
primitive.SurroundingPrimitive = SurroundingPrimitive;
|
||||
primitive.HostPrimitive = HostPrimitive;
|
||||
return primitive;
|
||||
}
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ namespace StructureHelperLogics.NdmCalculations.Triangulations
|
||||
{
|
||||
public static void SetPrestrain(IEnumerable<INdm> ndmCollection, IStrainTuple strainTuple)
|
||||
{
|
||||
NdmTransform.SetPrestrain(ndmCollection, new StrainMatrix() { Kx = strainTuple.Kx, Ky = strainTuple.Kx, EpsZ = strainTuple.Kx });
|
||||
NdmTransform.SetPrestrain(ndmCollection, new StrainMatrix() { Kx = strainTuple.Kx, Ky = strainTuple.Ky, EpsZ = strainTuple.EpsZ });
|
||||
}
|
||||
|
||||
public static void CommonTransform(IEnumerable<INdm> ndmCollection, IShapeTriangulationLogicOptions options)
|
||||
|
||||
Reference in New Issue
Block a user