private double CalcFaxrkUpperLimitValue(Fastener fastener) { string type = fastener.type; string nailType = fastener.nailType; if (type == "nail" && nailType == "round") { return(0.15); } else if (type == "nail" && nailType == "square") { return(0.25); } else if (type == "nail") { return(0.50); } else if (type == "screw") { return(1); } else if (type == "bolt") { return(0.25); } else if (type == "dowel") { return(0); } return(1); }
public TimberToTimberCapacity( Fastener Fastener, double T1, double Tpen, double Alfa, string TimberMaterial, string ConnectorMaterial, bool PreDrilled, double Pk1, double Pk2, double T_head, string WoodType, double N ) { this.t1 = T1; this.tpen = Tpen; this.alfa = Alfa; this.fastener = Fastener; this.timberMaterial = TimberMaterial; this.connectorMaterial = ConnectorMaterial; this.preDrilled = PreDrilled; this.pk1 = Pk1; this.pk2 = Pk2; this.woodType = WoodType; this.t_head = T_head; this.n = N; this.variables = new Variables(Fastener, PreDrilled, Pk1, Pk2, Alfa, WoodType, T1, Tpen, N); this.Faxrk_upperLimit = this.CalcFaxrkUpperLimitValue(Fastener); }
public double GetTpen(Fastener fastener, double t1, double t2) { double tpoint = fastener.l - t1; if (t2 - tpoint <= 4 * fastener.d) { this.error = "(t2 - tpoint) must be at least 4d"; } else if (tpoint < 8 * fastener.d) { this.error = "tpoint must be at least 8d"; } return(tpoint); }
public Variables( //For timber to steel cases Fastener fastener, bool preDrilled, double pk, double alfa, string woodType, double t1, double t_steel, double n ) { this.Myrk = CalcMyrk(fastener); this.fhk = CalcFhk(preDrilled, fastener, pk, alfa, woodType); this.Faxrk = CalcFaxrk(pk, fastener, t1, fastener.l - t1, alfa, n); }
public BrittleFailure(Fastener fastener, double pk, double alfa, bool preDrilled) { if (fastener.type == "nail" || (fastener.type == "screw" && fastener.d <= 6)) { this.CalculateForNails(pk, fastener.d, alfa); } else if (fastener.type == "bolt" || (fastener.type == "screw" && fastener.d > 6)) { this.CalculateForBolt(alfa, fastener.d); } else if (fastener.type == "dowel") { this.CalculateForDowel(alfa, fastener.d); } }
double CalcFaxrk(double pk, Fastener fastener, double t1, double tpen, double alfa, double n) { double value = 0; if (fastener.type == "nail") { double fpaxk = CalcNailfaxk(tpen, fastener.d, pk, fastener.smooth); double fhaxk = CalcNailfaxk(t1, fastener.d, pk, fastener.smooth); double fheadk = CalcNailfheadk(pk); value = Math.Min(fpaxk * fastener.d * tpen, fhaxk * fastener.d * t1 + fheadk * Math.Pow(fastener.dh, 2)); } else if (fastener.type == "screw") { value = CalcScrewFaxrk(n, fastener.d, pk, alfa, tpen, fastener.t_thread); } return(value); }
public double CalcMyrk(Fastener fastener) { double value = 0; if (fastener.type == "nail" && fastener.smooth == true) { value = 0.3 * fastener.fu * Math.Pow(fastener.d, 2.6); } else if ((fastener.type == "nail" && fastener.smooth == false) || (fastener.type == "screw" && fastener.d <= 6)) { value = 0.45 * fastener.fu * Math.Pow(fastener.d, 2.6); } else if (fastener.type == "bolt" || (fastener.type == "screw" && fastener.d > 6)) { value = 0.3 * fastener.fu * Math.Pow(fastener.d, 2.6); } return(value); }
public Variables( //For timber to timber cases Fastener fastener, bool preDrilled, double pk1, double pk2, double alfa, string woodType, double t1, double t2, double n ) { this.Myrk = CalcMyrk(fastener); this.fh1k = CalcFhk(preDrilled, fastener, pk1, alfa, woodType); this.fh2k = CalcFhk(preDrilled, fastener, pk2, alfa, woodType); this.beta = this.fh2k / this.fh1k; this.tpen = GetTpen(fastener, t1, t2); this.Faxrk = CalcFaxrk(pk1, fastener, t1, this.tpen, alfa, n); }
double CalcFhk(bool preDrilled, Fastener fastener, double pk, double alfa, string woodType) { double fhk = 0; if ((fastener.type == "nail" && fastener.d <= 8) || (fastener.type == "screw" && fastener.d <= 6)) { if (preDrilled == false) { fhk = 0.082 * pk * Math.Pow(fastener.d, -0.3); } else { fhk = 0.082 * (1 - 0.01 * fastener.d) * pk; } } if ((fastener.type == "nail" && fastener.d > 8) || (fastener.type == "bolt") || (fastener.type == "screw" && fastener.d > 6)) { fhk = CalculateFhAlfak(fastener.d, pk, alfa, woodType); } return(fhk); }
public TimberToSteelCapacity( Fastener Fastener, bool PreDrilled, double Pk, double Alfa, string WoodType, double T1, double T_steel, double N, bool ThickPlate ) { this.fastener = Fastener; this.preDrilled = PreDrilled; this.pk = Pk; this.alfa = Alfa; this.woodType = WoodType; this.t1 = T1; this.t_steel = T_steel; this.n = N; this.thickPlate = ThickPlate; this.variables = new Variables(Fastener, PreDrilled, Pk, Alfa, WoodType, T1, T_steel, N); this.Faxrk_upperLimit = this.CalcFaxrkUpperLimitValue(Fastener); }