public static Dictionary <string, object> SlipCriticalBoltShearStrength(double d_b, string BoltMaterialId, string BoltHoleType, string BoltFillerCase = "One", string BoltFayingSurfaceClass = "ClassA", double NumberShearPlanes = 1, string Code = "AISC360-10") { //Default values double phiR_n = 0; BoltFayingSurfaceClass SurfaceClass = ParseSurfaceClass(BoltFayingSurfaceClass); BoltFillerCase FillerCase = ParseFillerCase(BoltFillerCase); b.BoltHoleType HoleType = ParseBoltHoleType(BoltHoleType); //Calculation logic: BoltFactory bf = new BoltFactory(BoltMaterialId); IBoltSlipCritical bolt = bf.GetSlipCriticalBolt(d_b, BoltThreadCase.Included, SurfaceClass, HoleType, FillerCase, NumberShearPlanes); phiR_n = bolt.GetSlipResistance(); return(new Dictionary <string, object> { { "phiR_n", phiR_n } }); }
public BoltSlipCriticalGroupA(double Diameter, BoltThreadCase ThreadType, BoltFayingSurfaceClass FayingSurface, BoltHoleType HoleType, BoltFillerCase Fillers, int NumberOfSlipPlanes, ICalcLog log, double PretensionMultiplier = 1.13) : base(Diameter, ThreadType, FayingSurface, HoleType, Fillers, NumberOfSlipPlanes, log, PretensionMultiplier) { material = new BoltGroupAMaterial(); nominalTensileStress = material.GetNominalTensileStress(ThreadType); nominalShearStress = material.GetNominalTensileStress(ThreadType); }
public BoltSlipCriticalGroupA(double Diameter, BoltThreadCase ThreadType, BoltFayingSurfaceClass FayingSurface, BoltHoleType HoleType, BoltFillerCase Fillers, int NumberOfSlipPlanes, ICalcLog log, double PretensionMultiplier = 1.13): base(Diameter,ThreadType,FayingSurface,HoleType,Fillers,NumberOfSlipPlanes,log,PretensionMultiplier) { material = new BoltGroupAMaterial(); nominalTensileStress = material.GetNominalTensileStress(ThreadType); nominalShearStress = material.GetNominalTensileStress(ThreadType); }
public BoltSlipCritical(double Diameter, BoltThreadCase ThreadType, BoltFayingSurfaceClass FayingSurface, BoltHoleType HoleType, BoltFillerCase Fillers, int NumberOfSlipPlanes, ICalcLog log, double PretensionMultiplier=1.13) : base(Diameter, ThreadType, log) { this.fayingSurface = FayingSurface; this.holeType = HoleType; this.fillers = Fillers; this.pretensionMultiplier = PretensionMultiplier; this.numberOfSlipPlanes = NumberOfSlipPlanes; }
public BoltSlipCritical(double Diameter, BoltThreadCase ThreadType, BoltFayingSurfaceClass FayingSurface, BoltHoleType HoleType, BoltFillerCase Fillers, int NumberOfSlipPlanes, ICalcLog log, double PretensionMultiplier = 1.13) : base(Diameter, ThreadType, log) { this.fayingSurface = FayingSurface; this.holeType = HoleType; this.fillers = Fillers; this.pretensionMultiplier = PretensionMultiplier; this.numberOfSlipPlanes = NumberOfSlipPlanes; }
public IBoltSlipCritical GetSlipCriticalBolt(double Diameter, BoltThreadCase ThreadType, BoltFayingSurfaceClass SurfaceClass, BoltHoleType HoleType, BoltFillerCase FillerCase, double NumberOfSlipPlanes) { CalcLog log = new CalcLog(); int NPlanes = (int)NumberOfSlipPlanes; IBoltSlipCritical bsc = null; switch (MaterialId) { case "A325": bsc = new BoltSlipCriticalGroupA(Diameter, ThreadType, SurfaceClass, HoleType, FillerCase, NPlanes, log); break; case "A490": bsc = new BoltSlipCriticalGroupB(Diameter, ThreadType, SurfaceClass, HoleType, FillerCase, NPlanes, log); break; case "F1852": bsc = new BoltSlipCriticalGroupA(Diameter, ThreadType, SurfaceClass, HoleType, FillerCase, NPlanes, log); break; case "A354GradeBC": bsc = new BoltSlipCriticalGroupA(Diameter, ThreadType, SurfaceClass, HoleType, FillerCase, NPlanes, log); break; case "A354GradeBD": bsc = new BoltSlipCriticalGroupB(Diameter, ThreadType, SurfaceClass, HoleType, FillerCase, NPlanes, log); break; case "A449": bsc = new BoltSlipCriticalGroupA(Diameter, ThreadType, SurfaceClass, HoleType, FillerCase, NPlanes, log); break; default: throw new Exception("Unrecognized bolt material or specified material cannot be used for high-strength bolting. Check input"); } return bsc; }
public IBoltSlipCritical GetSlipCriticalBolt(double Diameter, BoltThreadCase ThreadType, BoltFayingSurfaceClass SurfaceClass, BoltHoleType HoleType, BoltFillerCase FillerCase, double NumberOfSlipPlanes) { CalcLog log = new CalcLog(); int NPlanes = (int)NumberOfSlipPlanes; IBoltSlipCritical bsc = null; switch (MaterialId) { case "A325": bsc = new BoltSlipCriticalGroupA(Diameter, ThreadType, SurfaceClass, HoleType, FillerCase, NPlanes, log); break; case "A490": bsc = new BoltSlipCriticalGroupB(Diameter, ThreadType, SurfaceClass, HoleType, FillerCase, NPlanes, log); break; case "F1852": bsc = new BoltSlipCriticalGroupA(Diameter, ThreadType, SurfaceClass, HoleType, FillerCase, NPlanes, log); break; case "A354GradeBC": bsc = new BoltSlipCriticalGroupA(Diameter, ThreadType, SurfaceClass, HoleType, FillerCase, NPlanes, log); break; case "A354GradeBD": bsc = new BoltSlipCriticalGroupB(Diameter, ThreadType, SurfaceClass, HoleType, FillerCase, NPlanes, log); break; case "A449": bsc = new BoltSlipCriticalGroupA(Diameter, ThreadType, SurfaceClass, HoleType, FillerCase, NPlanes, log); break; default: throw new Exception("Unrecognized bolt material or specified material cannot be used for high-strength bolting. Check input"); } return(bsc); }