示例#1
0
        public void CalculateLargeInclinationElasticTension_Success()
        {
            // Setup
            var expectedTension             = 16972.6716275075;
            var expectedLongitudinalTension = 11558.1651525476;
            var expectedVertical            = -13933.9733840054; //negative here doesnt make sense but thats how CIMA did the calculation, we correct it for the final vertical force
            var expectedVerticalForce       = 18639.808930321;
            var wire            = WireFactory.Create(557);
            var temperature     = -30.0;
            var iceRadius       = 0.02;
            var windPressure    = 400.0;
            var finalSpanLength = wire.StartingSpanLength;
            var finalElevation  = wire.StartingElevation;
            var weather         = new Weather(temperature, iceRadius, windPressure, finalSpanLength, finalElevation);
            var creepRTSPercent = 10;
            var creep           = new Creep(creepRTSPercent);

            // Execute
            var tension         = WeatherExtensions.CalculateElasticTension(weather, wire, creep);
            var blownspanlength = WeatherExtensions.BlownSpanLength(weather, wire, finalElevation, finalSpanLength);                 //just an intermediate step for debugging
            var blownelevation  = WeatherExtensions.BlownSpanElevation(weather, wire, finalElevation);                               //just an intermediate step for debugging
            var verticalforce   = WeatherExtensions.CalculateVerticalForce(weather, wire, blownspanlength, blownelevation, tension); //just an intermediate step for debugging

            // Test the transform back to the structures coordinate system
            var finallongitudinaltension = WeatherExtensions.StructureLongitudinalForce(weather, wire, finalElevation, finalSpanLength, tension);
            var finalverticaltension     = WeatherExtensions.StructureVerticalForce(weather, wire, finalElevation, finalSpanLength, tension);

            // Assert
            Assert.Equal(expectedTension, tension, SigFigs);
            Assert.Equal(expectedLongitudinalTension, finallongitudinaltension, SigFigs);
            Assert.Equal(expectedVertical, verticalforce, SigFigs);
            Assert.Equal(expectedVerticalForce, finalverticaltension, SigFigs);
        }
示例#2
0
        public void CalculateElasticTension_Success()
        {
            // Setup
            var expectedResult  = 27060.8000272576;
            var wire            = WireFactory.Create(795);
            var temperature     = 0.0;
            var iceRadius       = 0.0;
            var windPressure    = 0.0;
            var finalSpanLength = wire.StartingSpanLength;
            var finalElevation  = wire.StartingElevation;
            var weather         = new Weather(temperature, iceRadius, windPressure, finalSpanLength, finalElevation);
            var creepRTSPercent = 10;
            var creep           = new Creep(creepRTSPercent);

            // Execute
            var tension = WeatherExtensions.CalculateElasticTension(weather, wire, creep);
            // Test the transform back to the structures coordinate system
            var finaltension = WeatherExtensions.StructureLongitudinalForce(weather, wire, finalElevation, finalSpanLength, tension);

            // Assert
            Assert.Equal(expectedResult, tension, SigFigs);
            Assert.Equal(expectedResult, finaltension, SigFigs);
        }