public ControlCondition(WireAndWeather wireAndWeather) { this.wireAndCoefficient = wireAndWeather.WireAndCoefficient; this.weatherGroup = wireAndWeather.WeatherGroup; WeatherAndControlspanList = new SortedList <double, Weather>(); this.WeatherAndControlspanListSet(); }
///<summary> 电气张力</summary> public static double TensionE(WireAndWeather wireAndWeather, Weather weather, double L) { var controlCondition = new ControlCondition(wireAndWeather); WireMechanic.wireAndWeather = wireAndWeather; WireMechanic.weather = weather; WireMechanic.L = L; controlWeather = controlCondition.ControlWeather(L); Tc = controlCondition.Tc(L); WireMechanic.Pc = new WireLoad(wireAndWeather.WireAndCoefficient.Conductor, controlWeather).P7; if (weather == wireAndWeather.WeatherGroup.MaxWind) { WireMechanic.P = new WireLoadGroup(wireAndWeather).P6E_Maxwind; } else if (weather == wireAndWeather.WeatherGroup.Lightning) { WireMechanic.P = new WireLoadGroup(wireAndWeather).P6E_Maxwind; } else if (weather == wireAndWeather.WeatherGroup.Operate) { WireMechanic.P = new WireLoadGroup(wireAndWeather).P6E_Operate; } else { throw new Exception("电气气象有误"); } return(MathNet.Numerics.RootFinding.RobustNewtonRaphson.FindRoot (Fx, dFx, 2 * wireAndWeather.WireAndCoefficient.Conductor.RatedStrength, 1, 0.5)); }
public WireLoadGroup(WireAndWeather wireAndWeather, ILoadCode loadCode, IELoadCode eLoadCode) { abstractWire = wireAndWeather.WireAndCoefficient.Conductor; weatherGroup = wireAndWeather.WeatherGroup; this.loadCode = loadCode; this.eLoadCode = eLoadCode; SetP(); }
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(); }
/// <summary> 力学张力</summary> public static double Tension(WireAndWeather wireAndWeather, Weather weather, double L) { var controlCondition = new ControlCondition(wireAndWeather); WireMechanic.wireAndWeather = wireAndWeather; WireMechanic.weather = weather; WireMechanic.L = L; controlWeather = controlCondition.ControlWeather(L); Tc = controlCondition.Tc(L); WireMechanic.Pc = new WireLoad(wireAndWeather.WireAndCoefficient.Conductor, controlWeather).P7; WireMechanic.P = new WireLoad(wireAndWeather.WireAndCoefficient.Conductor, weather).P7; if (weather == controlWeather) { return(Tc); } else { return(MathNet.Numerics.RootFinding.RobustNewtonRaphson.FindRoot (Fx, dFx, 2 * wireAndWeather.WireAndCoefficient.Conductor.RatedStrength, 1, accuracy: 2)); } }
/// <summary>某档控制气象条件及张力</summary> public static (Weather, double) ControlWeatherAndTm(WireAndWeather wireAndWeather, double L) { var s = new ControlCondition(wireAndWeather); return(s.ControlWeather(L), s.Tc(L)); }
public static double Tc(WireAndWeather wireAndWeather, double L) { return(new ControlCondition(wireAndWeather).Tc(L)); }
public static double K(WireAndWeather wireAndWeather, Weather weather, double L) { return(1); }