public override double GetLambda_r(StressType stress) { if (IsUniformThickness == true) { if (stress == StressType.Flexure) { return(1.40 * SqrtE_Fy()); } else { return(1.40 * SqrtE_Fy()); } } else { //this is not in the code, however the code only //addresses the uniform thickness case //these are the values for the I-Beam if (stress == StressType.Flexure) { return(1.0 * SqrtE_Fy()); } else { return(0.56 * SqrtE_Fy()); } } }
public override double GetLambda_p(StressType stress) { if (IsUniformThickness==true) { if (stress == StressType.Flexure) { return 1.12 * SqrtE_Fy(); } else { throw new ShapeParameterNotApplicableException("Lambda_p"); } } else { //this is not in the code, however the code only //addresses the uniform thickness case //these are the values for the I-Beam if (stress == StressType.Flexure) { return 0.38 * SqrtE_Fy(); } else { throw new ShapeParameterNotApplicableException("Lambda_p"); } } }
public override double GetLambda_r(StressType stress) { if (IsUniformThickness == true) { if (stress == StressType.Flexure) { return 1.40 * SqrtE_Fy(); } else { return 1.40 * SqrtE_Fy(); } } else { //this is not in the code, however the code only //addresses the uniform thickness case //these are the values for the I-Beam if (stress == StressType.Flexure) { return 1.0 * SqrtE_Fy(); } else { return 0.56 * SqrtE_Fy(); } } }
public override double GetLambda_p(StressType stress) { if (IsUniformThickness == true) { if (stress == StressType.Flexure) { return(1.12 * SqrtE_Fy()); } else { throw new ShapeParameterNotApplicableException("Lambda_p"); } } else { //this is not in the code, however the code only //addresses the uniform thickness case //these are the values for the I-Beam if (stress == StressType.Flexure) { return(0.38 * SqrtE_Fy()); } else { throw new ShapeParameterNotApplicableException("Lambda_p"); } } }
public override double GetLambda_r(StressType stress) { if (stress== StressType.Flexure) { return 1.03 * SqrtE_Fy(); } else { return 0.75 * SqrtE_Fy(); } }
public override double GetLambda_r(StressType stress) { if (stress == StressType.Flexure) { return(1.40 * SqrtE_Fy()); } else { return(1.40 * SqrtE_Fy()); } }
public override double GetLambda_p(StressType stress) { if (stress == StressType.Flexure) { return(1.12 * SqrtE_Fy()); } else { throw new ShapeParameterNotApplicableException("Lambda_p"); } }
public override double GetLambda_p(StressType stress) { if (stress == StressType.Flexure) { return 0.84 * SqrtE_Fy(); } else { throw new ShapeParameterNotApplicableException("Lambda_p"); } }
public override double GetLambda_r(StressType stress) { double E = Material.ModulusOfElasticity; double F_y = Material.YieldStress; if (stress == StressType.Flexure) { return(0.31 * E / F_y); } else { return(0.11 * E / F_y); } }
public override double GetLambda_r(StressType stress) { double E = Material.ModulusOfElasticity; double kc = Get_kc(); double Fy = Material.YieldStress; if (stress == StressType.Axial) { return(0.64 * Math.Sqrt((kc * E) / Fy)); } else { return(0.95 * Math.Sqrt((kc * E) / Fy)); } }
public override double GetLambda_p(StressType stress) { if (stress == StressType.Flexure) { double Mp = 0; double My = 0; double hc = 0; double hp = 0; double Sc = 0; switch (compressionFiberPosition) { case FlexuralCompressionFiberPosition.Top: Sc = SectionI.S_xTop; hc = SectionI.d - SectionI.y_Bar - SectionI.t_fTop; hp = SectionI.d - SectionI.y_pBar - SectionI.t_fTop; break; case FlexuralCompressionFiberPosition.Bottom: Sc = SectionI.S_xBot; hc = SectionI.y_Bar - SectionI.t_fBot; hp = SectionI.y_pBar - SectionI.t_fBot; break; default: throw new Exception("Left and Right Compression Fiber positions are not supported"); } double Fy = Material.YieldStress; My = Sc * Fy; double Z = SectionI.Z_x; Mp = Z * Fy; double lambda_r = this.GetLambda_r(StressType.Flexure); double lambda_p; lambda_p = (hc/hp*SqrtE_Fy())/Math.Pow(0.54*(Mp/My)-0.09,2); lambda_p = lambda_p > lambda_r ? lambda_r : lambda_p; return lambda_p; } else { throw new ShapeParameterNotApplicableException("Lambda_p"); } }
public override double GetLambda_p(StressType stress) { if (stress == StressType.Flexure) { double Mp = 0; double My = 0; double hc = 0; double hp = 0; double Sc = 0; switch (compressionFiberPosition) { case FlexuralCompressionFiberPosition.Top: Sc = SectionI.S_xTop; hc = SectionI.d - SectionI.y_Bar - SectionI.t_fTop; hp = SectionI.d - SectionI.y_pBar - SectionI.t_fTop; break; case FlexuralCompressionFiberPosition.Bottom: Sc = SectionI.S_xBot; hc = SectionI.y_Bar - SectionI.t_fBot; hp = SectionI.y_pBar - SectionI.t_fBot; break; default: throw new Exception("Left and Right Compression Fiber positions are not supported"); } double Fy = Material.YieldStress; My = Sc * Fy; double Z = SectionI.Z_x; Mp = Z * Fy; double lambda_r = this.GetLambda_r(StressType.Flexure); double lambda_p; lambda_p = (hc / hp * SqrtE_Fy()) / Math.Pow(0.54 * (Mp / My) - 0.09, 2); lambda_p = lambda_p > lambda_r ? lambda_r : lambda_p; return(lambda_p); } else { throw new ShapeParameterNotApplicableException("Lambda_p"); } }
/// <summary> /// Run the stress operation by setting up alljoyn, running the specified stress /// operation then tearing down alljoyn. /// </summary> /// <param name="stressType">Type of stress operation to run</param> /// <param name="manager">Stress manager which is managing this task</param> /// <param name="isMultipoint">True if operation uses multipoint sessions</param> public void Start(StressType stressType, StressManager manager, bool isMultipoint) { this.stressManager = manager; try { // Set up alljoyn this.DebugPrint("Creating and Starting the bus attachment"); this.busAtt = new BusAttachment("BusStress", true, 4); this.busAtt.Start(); this.busAtt.ConnectAsync(ConnectSpecs).AsTask().Wait(); this.DebugPrint("Successfully connected to the bundled daemon"); // Run the stress operation if (stressType == StressType.Default) { this.RunDefault(); } else if (stressType == StressType.Service) { this.RunService(isMultipoint); } else { this.foundName = new AutoResetEvent(false); this.RunClient(isMultipoint); } // Tear down alljoyn this.DebugPrint("Disconnecting and stopping the bus attachment"); this.busAtt.DisconnectAsync(ConnectSpecs).AsTask().Wait(); this.busAtt.StopAsync().AsTask().Wait(); this.DebugPrint("Successfully disconnected and stopped the bus attachment"); } catch (Exception ex) { var errMsg = AllJoynException.GetErrorMessage(ex.HResult); this.DebugPrint(">>>> BusAttachment Error >>>> : " + errMsg); } this.busAtt = null; }
public abstract double GetLambda_r(StressType stress);
public double GetFlangeLambda_r(StressType stress) { return FlangeCompactness.GetLambda_r(stress); }
public double GetWebLambda_p(StressType stress) { return WebCompactness.GetLambda_p(stress); }
public double GetWebLambda_p(StressType stress) { return(WebCompactness.GetLambda_p(stress)); }
public double GetFlangeLambda_r(StressType stress) { return(FlangeCompactness.GetLambda_r(stress)); }
public override double GetLambda_r(StressType stress) { double E = Material.ModulusOfElasticity; double kc = Get_kc(); double Fy = Material.YieldStress; if (stress== StressType.Axial) { return 0.64*Math.Sqrt((kc*E)/Fy); } else { return 0.95 * Math.Sqrt((kc * E) / Fy); } }