コード例 #1
0
        /// <summary>
        /// 根据标贯/动探值查压缩模量,输入单参数
        /// </summary>
        /// <param name="_standard">采用的地方标准</param>
        /// <param name="_soilType">土质类型</param>
        /// <param name="_numberRow">输入参数</param>
        /// <returns></returns>
        public static double CalcuModulusByNTest(string _standard, string _soilType, double _numberRow)
        {
            // 采用湖北省地方标准
            if (_standard == "Hubei")
            {
                // 土质类型为一般黏性土
                if (_soilType == "一般黏性土")
                {
                    double[] paraCol = HubeiLocalStandardBearingAndModulus.BearingAndModulusNTestClay.ParaCol;
                    double[] values  = HubeiLocalStandardBearingAndModulus.BearingAndModulusNTestClay.ModulusData;
                    return(GeoMath.Interpolation(_numberRow, paraCol, values));
                }

                // 土质类型为老黏性土
                if (_soilType == "老黏性土")
                {
                    double[] paraCol = HubeiLocalStandardBearingAndModulus.BearingAndModulusNTestOldClay.ParaCol;
                    double[] values  = HubeiLocalStandardBearingAndModulus.BearingAndModulusNTestOldClay.ModulusData;
                    return(GeoMath.Interpolation(_numberRow, paraCol, values));
                }

                // 土质类型为杂填土
                if (_soilType == "杂填土")
                {
                    double[] paraCol = HubeiLocalStandardBearingAndModulus.BearingAndModulusNTestMixedFill.ParaCol;
                    double[] values  = HubeiLocalStandardBearingAndModulus.BearingAndModulusNTestMixedFill.ModulusData;
                    return(GeoMath.Interpolation(_numberRow, paraCol, values));
                }

                // 土质类型为粉、细砂
                if (_soilType == "粉、细砂")
                {
                    double[] paraCol = HubeiLocalStandardBearingAndModulus.BearingAndModulusNTestFineSand.ParaCol;
                    double[] values  = HubeiLocalStandardBearingAndModulus.BearingAndModulusNTestFineSand.ModulusData;
                    return(GeoMath.Interpolation(_numberRow, paraCol, values));
                }

                // 土质类型为中、粗砂
                if (_soilType == "中、粗砂")
                {
                    double[] paraCol = HubeiLocalStandardBearingAndModulus.BearingAndModulusNTestCoarseSand.ParaCol;
                    double[] values  = HubeiLocalStandardBearingAndModulus.BearingAndModulusNTestCoarseSand.ModulusData;
                    return(GeoMath.Interpolation(_numberRow, paraCol, values));
                }
            }

            // 无法查取时返回空值
            return(Constants.NullNumber);
        }
コード例 #2
0
        /// <summary>
        /// 根据标贯值查粘聚力,输入单参数
        /// </summary>
        /// <param name="_standard">采用的地方标准</param>
        /// <param name="_soilType">土质类型</param>
        /// <param name="_numberRow">输入参数</param>
        /// <returns></returns>
        public static double CalcuCohesionByNTest(string _standard, string _soilType, double _numberRow)
        {
            // 采用湖北省地方标准
            if (_standard == "Hubei")
            {
                // 土质类型为一般黏性土、老黏性土
                if (_soilType == "一般黏性土、老黏性土")
                {
                    double[] paraCol = HubeiLocalStandardShearingStrength.ShearingStrengthNTestClay.ParaCol;
                    double[] values  = HubeiLocalStandardShearingStrength.ShearingStrengthNTestClay.CohesionData;
                    return(GeoMath.Interpolation(_numberRow, paraCol, values));
                }

                // 土质类型为砂土
                if (_soilType == "砂土")
                {
                    return(0);
                }
            }

            // 无法查取时返回空值
            return(Constants.NullNumber);
        }
コード例 #3
0
        /// <summary>
        /// 根据试验指标查承载力,输入双参数
        /// </summary>
        /// <param name="_standard">采用的地方标准</param>
        /// <param name="_soilType">土质类型</param>
        /// <param name="_numberRow">输入行参数</param>
        /// <param name="_numberCol">输入列参数</param>
        /// <returns></returns>
        public static double CalcuBearingByRst(string _standard, string _soilType, double _numberRow, double _numberCol)
        {
            // 采用湖北省地方标准
            if (_standard == "Hubei")
            {
                // 土质类型为一般黏性土
                if (_soilType == "一般黏性土")
                {
                    double[] paraRow = HubeiLocalStandardBearingAndModulus.BearingRstClay.ParaRow;
                    double[] paraCol = HubeiLocalStandardBearingAndModulus.BearingRstClay.ParaCol;
                    double[,] values = HubeiLocalStandardBearingAndModulus.BearingRstClay.Data;
                    return(GeoMath.TwoWayInterpolation(_numberRow, _numberCol, paraRow, paraCol, values));
                }

                // 土质类型为新近沉积黏性土
                if (_soilType == "新近沉积黏性土")
                {
                    double[] paraRow = HubeiLocalStandardBearingAndModulus.BearingRstNewClay.ParaRow;
                    double[] paraCol = HubeiLocalStandardBearingAndModulus.BearingRstNewClay.ParaCol;
                    double[,] values = HubeiLocalStandardBearingAndModulus.BearingRstNewClay.Data;
                    return(GeoMath.TwoWayInterpolation(_numberRow, _numberCol, paraRow, paraCol, values));
                }

                // 土质类型为粉土
                if (_soilType == "粉土")
                {
                    double[] paraRow = HubeiLocalStandardBearingAndModulus.BearingRstSilt.ParaRow;
                    double[] paraCol = HubeiLocalStandardBearingAndModulus.BearingRstSilt.ParaCol;
                    double[,] values = HubeiLocalStandardBearingAndModulus.BearingRstSilt.Data;
                    return(GeoMath.TwoWayInterpolation(_numberRow, _numberCol, paraRow, paraCol, values));
                }
            }

            // 无法查取时返回空值
            return(Constants.NullNumber);
        }