98 lines
3.5 KiB
C#
98 lines
3.5 KiB
C#
using StructureHelperCommon.Infrastructures.Exceptions;
|
|
using StructureHelperCommon.Models.Forces.Logics;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
|
|
namespace StructureHelperCommon.Models.Materials.Libraries
|
|
{
|
|
public enum SteelDiagramPropertyType
|
|
{
|
|
S245 = 0, //S245, S255
|
|
S345 = 1, //S345, S345K, S355, S355-1, S355-P
|
|
S390 = 2, //S390, S390-1
|
|
S440 = 3, //S440
|
|
S550 = 4, //S550, S590
|
|
}
|
|
public static class SteelDiagramPropertyFactory
|
|
{
|
|
public static ISteelDiagramRelativeProperty GetProperty(SteelDiagramPropertyType type)
|
|
{
|
|
if (type == SteelDiagramPropertyType.S245)
|
|
{
|
|
SteelDiagramRelativeProperty property = new()
|
|
{
|
|
StrainOfProportionality = 0.8,
|
|
StrainOfStartOfYielding = 1.7,
|
|
StrainOfEndOfYielding = 14.0,
|
|
StrainOfUltimateStrength = 141.6,
|
|
StrainOfFracture = 251,
|
|
StressOfUltimateStrength = 1.653,
|
|
StressOfFracture = 1.35
|
|
};
|
|
return property;
|
|
}
|
|
else if (type == SteelDiagramPropertyType.S345)
|
|
{
|
|
SteelDiagramRelativeProperty property = new()
|
|
{
|
|
StrainOfProportionality = 0.8,
|
|
StrainOfStartOfYielding = 1.7,
|
|
StrainOfEndOfYielding = 16.0,
|
|
StrainOfUltimateStrength = 88.3,
|
|
StrainOfFracture = 153,
|
|
StressOfUltimateStrength = 1.415,
|
|
StressOfFracture = 1.26
|
|
};
|
|
return property;
|
|
}
|
|
else if (type == SteelDiagramPropertyType.S390)
|
|
{
|
|
SteelDiagramRelativeProperty property = new()
|
|
{
|
|
StrainOfProportionality = 0.9,
|
|
StrainOfStartOfYielding = 1.7,
|
|
StrainOfEndOfYielding = 17.0,
|
|
StrainOfUltimateStrength = 67.1,
|
|
StrainOfFracture = 115,
|
|
StressOfUltimateStrength = 1.345,
|
|
StressOfFracture = 1.23
|
|
};
|
|
return property;
|
|
}
|
|
else if (type == SteelDiagramPropertyType.S440)
|
|
{
|
|
SteelDiagramRelativeProperty property = new()
|
|
{
|
|
StrainOfProportionality = 0.9,
|
|
StrainOfStartOfYielding = 1.7,
|
|
StrainOfEndOfYielding = 17.0,
|
|
StrainOfUltimateStrength = 49.6,
|
|
StrainOfFracture = 87.2,
|
|
StressOfUltimateStrength = 1.33,
|
|
StressOfFracture = 1.20
|
|
};
|
|
return property;
|
|
}
|
|
else if (type == SteelDiagramPropertyType.S550)
|
|
{
|
|
SteelDiagramRelativeProperty property = new()
|
|
{
|
|
StrainOfProportionality = 0.9,
|
|
StrainOfStartOfYielding = 1.7,
|
|
StrainOfEndOfYielding = 18.0,
|
|
StrainOfUltimateStrength = 26.2,
|
|
StrainOfFracture = 51.1,
|
|
StressOfUltimateStrength = 1.16,
|
|
StressOfFracture = 1.10
|
|
};
|
|
return property;
|
|
}
|
|
else
|
|
{
|
|
throw new StructureHelperException(ErrorStrings.ObjectTypeIsUnknownObj(type));
|
|
}
|
|
}
|
|
}
|
|
}
|