Example #1
0
 public WireLoadGroup(WireAndWeather wireAndWeather, ILoadCode loadCode, IELoadCode eLoadCode)
 {
     abstractWire   = wireAndWeather.WireAndCoefficient.Conductor;
     weatherGroup   = wireAndWeather.WeatherGroup;
     this.loadCode  = loadCode;
     this.eLoadCode = eLoadCode;
     SetP();
 }
Example #2
0
        /// <summary>
        /// 采用OTL中的标准生成荷载力学计算用P值
        /// </summary>

        public WireLoad(AbstractWire conductor, Weather weather, LoadType loadType = LoadType.M, double g = 9.80665, double iceDensity = 0.9, double Lp = 100)
        {
            Assembly assembly = Assembly.LoadFrom("Standard.dll");
            var      cType    = assembly.GetType("Standard." + OTL.OTLProject.ProjectInfo.LoadCode);
            var      loadCode = (ILoadCode)Activator.CreateInstance(cType);

            SetP1P2(conductor, weather, g, iceDensity);
            this.P4 = loadCode.P4(conductor, weather, loadType, Lp);
        }
Example #3
0
        public WireLoadGroup(WireAndWeather wireAndWeather)
        {
            abstractWire = wireAndWeather.WireAndCoefficient.Conductor;
            weatherGroup = wireAndWeather.WeatherGroup;
            Assembly assembly = Assembly.LoadFrom("Standard.dll");
            var      cType    = assembly.GetType("Standard." + OTL.OTLProject.ProjectInfo.LoadCode);

            loadCode  = (ILoadCode)Activator.CreateInstance(cType);
            cType     = assembly.GetType("Standard." + OTL.OTLProject.ProjectInfo.ELoadCode);
            eLoadCode = (IELoadCode)Activator.CreateInstance(cType);
            SetP();
        }
Example #4
0
        double ILoadCode.P4(AbstractWire conductor, Weather weather, LoadType loadType, double L)
        {
            double z;

            if (weather is MaxWind)
            {
                z = 10 * Math.Pow(weather.WindSpeed / weather.BasicWindSpeed, 1 / 0.15);
            }
            else
            {
                z = 10;
            }
            // return βc(z)*  this.α(weather.BasicWindSpeed) * weather.WindPress * this.μsc(conductor.Diameter, weather.IceThickness) * (conductor.Diameter + 2 * weather.IceThickness) * this.B1(weather.IceThickness);
            return(1);
        }
Example #5
0
 double IELoadCode.P4(AbstractWire conductor, Weather weather, LoadType loadType, double L)
 {
     return(this.αE(weather.BasicWindSpeed) * weather.WindPress * this.μsc(conductor.Diameter, weather.IceThickness) * (conductor.Diameter + 2 * weather.IceThickness) * this.B1(weather.IceThickness));
 }
Example #6
0
 private void SetP1P2(AbstractWire conductor, Weather weather, double g, double iceDensity)
 {
     P1 = g * conductor.Quality;
     P2 = g * iceDensity * Math.PI * weather.IceThickness * (weather.IceThickness + conductor.Diameter) / 1000;
 }
Example #7
0
 public WireLoad(AbstractWire conductor, Weather weather, IELoadCode eLoadCode, LoadType loadType = LoadType.E, double g = 9.80665, double iceDensity = 0.9, double Lp = 100)
 {
     SetP1P2(conductor, weather, g, iceDensity);
     this.P4 = eLoadCode.P4(conductor, weather, loadType, Lp);
 }