Exemplo n.º 1
0
        public static Dictionary <string, object> FilletWeldGroupConcentricLoadStrength(string WeldGroupPattern, double l_transv, double l_longit,
                                                                                        double w_weld, double F_EXX = 70, double theta = 0, string Code = "AISC360-10")
        {
            //Default values
            double phiR_n = 0;


            //Calculation logic:
            WeldGroupPattern pattern;
            bool             IsValidString = Enum.TryParse(WeldGroupPattern, true, out pattern);

            if (IsValidString == true)
            {
                FilletWeldGroup wg = new FilletWeldGroup(pattern, l_transv, l_longit, w_weld, F_EXX);
                phiR_n = wg.GetConcentricLoadStrenth(theta);
            }
            else
            {
                throw new Exception("Weld group strength calculation failed. Invalid weld group pattern designation.");
            }


            return(new Dictionary <string, object>
            {
                { "phiR_n", phiR_n }
            });
        }
Exemplo n.º 2
0
        public void WeldConcentricCShapeLinesReturnsValue45Degrees()
        {
            FilletWeldGroup wg              = new FilletWeldGroup(WeldGroupPattern.C, 1.0, 2.0, 1.0 / 16.0, 70.0);
            double          phiR_n          = wg.GetConcentricLoadStrenth(45);
            double          refValue        = 4 * 1.392;
            double          actualTolerance = EvaluateActualTolerance(phiR_n, refValue);

            Assert.LessOrEqual(actualTolerance, tolerance);
        }
Exemplo n.º 3
0
        public void WeldConcentricParallelLinesReturnsValue()
        {
            FilletWeldGroup wg              = new FilletWeldGroup(WeldGroupPattern.ParallelVertical, 5.0, 28.0, 3.0 / 16.0, 70.0);
            double          phiR_n          = wg.GetConcentricLoadStrenth(0);
            double          refValue        = 0.75 * 5.57 * 2 * 28.0;
            double          actualTolerance = EvaluateActualTolerance(phiR_n, refValue);

            Assert.LessOrEqual(actualTolerance, tolerance);
        }
Exemplo n.º 4
0
        public void WeldConcentricCShapeLinesReturnsValue()
        {
            FilletWeldGroup wg              = new FilletWeldGroup(WeldGroupPattern.C, 1.0, 2.0, 1.0 / 16.0, 70.0);
            double          phiR_n          = wg.GetConcentricLoadStrenth(0);
            double          ws1             = 4 * 1.392;
            double          ws2             = 0.85 * 2 * 1.392 + 2 * 1.5 * 1.392;
            double          refValue        = Math.Max(ws1, ws2);
            double          actualTolerance = EvaluateActualTolerance(phiR_n, refValue);

            Assert.LessOrEqual(actualTolerance, tolerance);
        }