Exemplo n.º 1
0
        public static Dictionary <string, object> WetServiceFactor(string ServiceMoistureCondition, double F_ref, double C_F,
                                                                   string WoodMemberType = "SawnDimensionLumber", string Code = "NDS2015")
        {
            //Default values
            double C_M_Fb = 0;
            double C_M_Ft = 0;
            double C_M_Fv = 0;
            double C_M_Fc = 0;
            double C_M_E  = 0;


            //Calculation logic:

            if (WoodMemberType.Contains("Sawn"))
            {
                SawnLumberType sawnLumberType;

                string memberType = WoodMemberType.TrimStart("Sawn".ToCharArray());
                bool   IsValidSawnLumberTypeString = Enum.TryParse(memberType, true, out sawnLumberType);
                if (IsValidSawnLumberTypeString == false)
                {
                    throw new Exception("Failed to convert string. Check string input for sawn lumber type. Please check input");
                }


                if (WoodMemberType.Contains("Lumber"))
                {
                    DimensionalLumber m = new DimensionalLumber();
                    C_M_Fb = m.GetWetServiceFactor(ReferenceDesignValueType.Bending, F_ref, C_F, sawnLumberType);
                    C_M_Ft = m.GetWetServiceFactor(ReferenceDesignValueType.TensionParallelToGrain, F_ref, C_F, sawnLumberType);
                    C_M_Fv = m.GetWetServiceFactor(ReferenceDesignValueType.ShearParallelToGrain, F_ref, C_F, sawnLumberType);
                    C_M_Fc = m.GetWetServiceFactor(ReferenceDesignValueType.CompresionParallelToGrain, F_ref, C_F, sawnLumberType);
                    C_M_E  = m.GetWetServiceFactor(ReferenceDesignValueType.ModulusOfElasticity, F_ref, C_F, sawnLumberType);
                }
                else if (WoodMemberType.Contains("Timber"))
                {
                    Timber t = new Timber();
                    C_M_Fb = t.GetWetServiceFactor(ReferenceDesignValueType.Bending, F_ref, C_F, sawnLumberType);
                    C_M_Ft = t.GetWetServiceFactor(ReferenceDesignValueType.TensionParallelToGrain, F_ref, C_F, sawnLumberType);
                    C_M_Fv = t.GetWetServiceFactor(ReferenceDesignValueType.ShearParallelToGrain, F_ref, C_F, sawnLumberType);
                    C_M_Fc = t.GetWetServiceFactor(ReferenceDesignValueType.CompresionParallelToGrain, F_ref, C_F, sawnLumberType);
                    C_M_E  = t.GetWetServiceFactor(ReferenceDesignValueType.ModulusOfElasticity, F_ref, C_F, sawnLumberType);
                }
                else
                {
                    throw new Exception("Wood member type not supported.");
                }
            }
            else
            {
                throw new Exception("Wood member type not supported.");
            }

            return(new Dictionary <string, object>
            {
                { "C_M_Fb", C_M_Fb }
                , { "C_M_Ft", C_M_Ft }
                , { "C_M_Fv", C_M_Fv }
                , { "C_M_Fc", C_M_Fc }
                , { "C_M_E", C_M_E }
            });
        }
Exemplo n.º 2
0
        public static Dictionary<string, object> WetServiceFactor(string ServiceMoistureCondition, double F_ref, double C_F,
             string WoodMemberType = "SawnDimensionLumber", string Code = "NDS2015")
        {
            //Default values
            double C_M_Fb = 0;
            double C_M_Ft = 0;
            double C_M_Fv = 0;
            double C_M_Fc = 0;
            double C_M_E = 0;


            //Calculation logic:

            if (WoodMemberType.Contains("Sawn"))
            {
                       SawnLumberType sawnLumberType;

                        string memberType = WoodMemberType.TrimStart("Sawn".ToCharArray());
                        bool IsValidSawnLumberTypeString = Enum.TryParse(memberType, true, out sawnLumberType);
                        if (IsValidSawnLumberTypeString == false)
                        {
                            throw new Exception("Failed to convert string. Check string input for sawn lumber type. Please check input");
                        }


                    if ( WoodMemberType.Contains("Lumber"))
                    {
                        DimensionalLumber m = new DimensionalLumber();
                        C_M_Fb = m.GetWetServiceFactor(ReferenceDesignValueType.Bending,F_ref,C_F,sawnLumberType);
                        C_M_Ft = m.GetWetServiceFactor(ReferenceDesignValueType.TensionParallelToGrain, F_ref, C_F, sawnLumberType);
                        C_M_Fv = m.GetWetServiceFactor(ReferenceDesignValueType.ShearParallelToGrain, F_ref, C_F, sawnLumberType);
                        C_M_Fc = m.GetWetServiceFactor(ReferenceDesignValueType.CompresionParallelToGrain, F_ref, C_F, sawnLumberType);
                        C_M_E =  m.GetWetServiceFactor(ReferenceDesignValueType.ModulusOfElasticity, F_ref, C_F, sawnLumberType);
                

                

                    }
                    else if ( WoodMemberType.Contains("Timber"))
                    {
                        Timber t = new Timber();
                        C_M_Fb = t.GetWetServiceFactor(ReferenceDesignValueType.Bending,F_ref,C_F,sawnLumberType);
                        C_M_Ft = t.GetWetServiceFactor(ReferenceDesignValueType.TensionParallelToGrain, F_ref, C_F, sawnLumberType);
                        C_M_Fv = t.GetWetServiceFactor(ReferenceDesignValueType.ShearParallelToGrain, F_ref, C_F, sawnLumberType);
                        C_M_Fc = t.GetWetServiceFactor(ReferenceDesignValueType.CompresionParallelToGrain, F_ref, C_F, sawnLumberType);
                        C_M_E = t.GetWetServiceFactor(ReferenceDesignValueType.ModulusOfElasticity, F_ref, C_F, sawnLumberType);
                    }
                      else
                    {
                        throw new Exception("Wood member type not supported.");
                    }
            }
            else
            {
                throw new Exception("Wood member type not supported.");
            }

            return new Dictionary<string, object>
            {
                { "C_M_Fb", C_M_Fb }
                ,{ "C_M_Ft", C_M_Ft }
                ,{ "C_M_Fv", C_M_Fv }
                ,{ "C_M_Fc", C_M_Fc }
                ,{ "C_M_E", C_M_E }
 
            };
        }