Force combination was added

This commit is contained in:
Evgeny Redikultsev
2022-11-27 17:04:34 +05:00
parent c5e503252e
commit 96b331f14c
52 changed files with 427 additions and 214 deletions

View File

@@ -16,7 +16,7 @@ namespace StructureHelperLogics.Models.Calculations.CalculationProperties
{
new ForceCombination()
};
LimitState = LimitStates.Collapse;
LimitState = LimitStates.ULS;
CalcTerm = CalcTerms.ShortTerm;
IterationProperty = new IterationProperty() { Accuracy = 0.001d, MaxIterationCount = 100};
}

View File

@@ -68,8 +68,8 @@ namespace StructureHelperLogics.Models.Materials
materialOptions.CodesType = LCMB.CodesType.SP63_2018;
}
else { throw new StructureHelperException($"{ErrorStrings.ObjectTypeIsUnknown} : {codeType}"); }
if (limitState == LimitStates.Collapse) { materialOptions.LimitState = LCMB.LimitStates.Collapse; }
else if (limitState == LimitStates.ServiceAbility) { materialOptions.LimitState = LCMB.LimitStates.ServiceAbility; }
if (limitState == LimitStates.ULS) { materialOptions.LimitState = LCMB.LimitStates.Collapse; }
else if (limitState == LimitStates.SLS) { materialOptions.LimitState = LCMB.LimitStates.ServiceAbility; }
else if (limitState == LimitStates.Special) { materialOptions.LimitState = LCMB.LimitStates.Special; }
else { throw new StructureHelperException(ErrorStrings.LimitStatesIsNotValid); }
if (calcTerm == CalcTerms.ShortTerm) { materialOptions.IsShortTerm = true; }

View File

@@ -12,7 +12,7 @@ namespace StructureHelperLogics.Models.Primitives
public interface IPrimitive : ISaveable, ICloneable
{
string Name { get; set; }
ICenter Center { get; }
IPoint2D Center { get; }
IShape Shape { get; }
IEnumerable<INdmPrimitive> GetNdmPrimitives();

View File

@@ -11,7 +11,7 @@ namespace StructureHelperLogics.Models.Primitives
{
public int Id { get; set; }
public string Name { get; set; }
public ICenter Center { get; set; }
public IPoint2D Center { get; set; }
public IShape Shape { get; }
public LinePrimitive()

View File

@@ -27,15 +27,15 @@ namespace StructureHelperLogics.NdmCalculations.Primitives
public double PrestrainKy { get; set; }
public double PrestrainEpsZ { get; set; }
public ICenter StartPoint { get; set; }
public ICenter EndPoint { get; set; }
public IPoint2D StartPoint { get; set; }
public IPoint2D EndPoint { get; set; }
public double Thickness { get; set; }
public LinePrimitive()
{
StartPoint = new Center();
EndPoint = new Center();
StartPoint = new Point2D();
EndPoint = new Point2D();
Name = "New Line";
NdmMaxSize = 0.01d;

View File

@@ -4,7 +4,7 @@ namespace StructureHelperLogics.NdmCalculations.Triangulations
{
public interface IPointTriangulationLogicOptions : ITriangulationLogicOptions
{
ICenter Center { get; }
IPoint2D Center { get; }
double Area { get; }
}
}

View File

@@ -11,7 +11,7 @@ namespace StructureHelperLogics.NdmCalculations.Triangulations
/// <summary>
///
/// </summary>
ICenter Center { get; }
IPoint2D Center { get; }
/// <summary>
///
/// </summary>

View File

@@ -20,7 +20,7 @@ namespace StructureHelperLogics.NdmCalculations.Triangulations
public IEnumerable<INdm> GetNdmCollection(IMaterial material)
{
IPointTriangulationLogicOptions options = Options as IPointTriangulationLogicOptions;
ICenter center = options.Center;
IPoint2D center = options.Center;
double area = options.Area;
List<INdm> ndmCollection = new List<INdm>();
INdm ndm = new Ndm { CenterX = center.X, CenterY = center.Y, Area = area, Material = material };

View File

@@ -14,7 +14,7 @@ namespace StructureHelperLogics.NdmCalculations.Triangulations
/// <summary>
///
/// </summary>
public ICenter Center { get; }
public IPoint2D Center { get; }
/// <inheritdoc />
public double Area { get; }
/// <inheritdoc />
@@ -24,7 +24,7 @@ namespace StructureHelperLogics.NdmCalculations.Triangulations
/// <inheritdoc />
public double PrestrainEpsZ { get; }
public PointTriangulationLogicOptions(ICenter center, double area)
public PointTriangulationLogicOptions(IPoint2D center, double area)
{
Center = center;
Area = area;
@@ -32,7 +32,7 @@ namespace StructureHelperLogics.NdmCalculations.Triangulations
public PointTriangulationLogicOptions(IPointPrimitive primitive)
{
Center = new Center() { X = primitive.CenterX, Y = primitive.CenterY };
Center = new Point2D() { X = primitive.CenterX, Y = primitive.CenterY };
Area = primitive.Area;
PrestrainKx = primitive.PrestrainKx;
PrestrainKy = primitive.PrestrainKy;

View File

@@ -11,7 +11,7 @@ namespace StructureHelperLogics.NdmCalculations.Triangulations
public class RectangleTriangulationLogicOptions : IRectangleTriangulationLogicOptions
{
/// <inheritdoc />
public ICenter Center { get; }
public IPoint2D Center { get; }
/// <inheritdoc />
public IRectangleShape Rectangle { get; }
/// <inheritdoc />
@@ -25,7 +25,7 @@ namespace StructureHelperLogics.NdmCalculations.Triangulations
/// <inheritdoc />
public double PrestrainEpsZ { get;}
public RectangleTriangulationLogicOptions(ICenter center, IRectangleShape rectangle, double ndmMaxSize, int ndmMinDivision)
public RectangleTriangulationLogicOptions(IPoint2D center, IRectangleShape rectangle, double ndmMaxSize, int ndmMinDivision)
{
Center = center;
Rectangle = rectangle;
@@ -35,7 +35,7 @@ namespace StructureHelperLogics.NdmCalculations.Triangulations
public RectangleTriangulationLogicOptions(IRectanglePrimitive primitive)
{
Center = new Center() { X = primitive.CenterX, Y = primitive.CenterY };
Center = new Point2D() { X = primitive.CenterX, Y = primitive.CenterY };
Rectangle = primitive;
NdmMaxSize = primitive.NdmMaxSize;
NdmMinDivision = primitive.NdmMinDivision;