Ejemplo n.º 1
0
 private SpanExtendLoad(
     ILoadWithPosition startPosition, ILoadWithPosition endPosition,
     IMaterial material)
     : base(startPosition, endPosition)
 {
     HorizontalDeflectionResult = new HorizontalDeflectionResult(this);
 }
Ejemplo n.º 2
0
        public Beam(IList <ISpan> spans, ICollection <INode> nodes)
        {
            Spans = spans ?? throw new ArgumentNullException(nameof(spans));
            Nodes = nodes ?? throw new ArgumentNullException(nameof(nodes));

            GlobalStiffnessMatrix      = new GlobalStiffnessMatrix(this);
            NormalForceResult          = new NormalForceResult(this);
            ShearResult                = new ShearResult(this);
            BendingMomentResult        = new BendingMomentResult(this);
            HorizontalDeflectionResult = new HorizontalDeflectionResult(this);
            VerticalDeflectionResult   = new VerticalDeflectionResult(this);
            RotationResult             = new RotationResult(this);
        }
Ejemplo n.º 3
0
        public void SpanExtendLoadResult_GetValueForHorizontalDeflectionTest_Success()
        {
            var continousLoad = new Mock <IContinousLoad>();

            continousLoad.Setup(cl => cl.StartPosition.Value).Returns(0);
            continousLoad.Setup(cl => cl.EndPosition.Value).Returns(3);

            var horizontalDeflectionResult = new HorizontalDeflectionResult(continousLoad.Object);

            var result = horizontalDeflectionResult.GetValue(null, distanceFromLeftSide: 4, currentLength: 1);

            Assert.That(result, Is.EqualTo(-0.09));
        }
Ejemplo n.º 4
0
        private ContinousAngledLoad(ILoadWithPosition startPosition, ILoadWithPosition endPosition, double angle)
            : base(startPosition, endPosition)
        {
            Angle = angle;
            SetContinousLoads();

            NormalForceResult   = new NormalForceResult(_horizontalContinousLoad);
            ShearResult         = new ShearResult(_verticalContinousLoad);
            BendingMomentResult = new BendingMomentResult(_verticalContinousLoad);

            RotationResult             = new RotationResult(_verticalContinousLoad);
            HorizontalDeflectionResult = new HorizontalDeflectionResult(_horizontalContinousLoad);
            VerticalDeflectionResult   = new VerticalDeflectionResult(_verticalContinousLoad);
        }
        public void AlongTemperatureDifferenceResult_GetValueForHorizontalDeflectionTest_Success()
        {
            var span = new Mock<ISpan>();
            span.Setup(s => s.Material.ThermalExpansionCoefficient).Returns(2);
            var continousLoad = new Mock<IContinousLoad>();
            continousLoad.Setup(cl => cl.StartPosition.Value).Returns(0);
            continousLoad.Setup(cl => cl.EndPosition.Value).Returns(3);

            var horizontalDeflectionResult = new HorizontalDeflectionResult(continousLoad.Object);

           var result =  horizontalDeflectionResult.GetValue(span.Object, distanceFromLeftSide: 4, currentLength: 1);

            Assert.That(result, Is.EqualTo(-1800));
        }
Ejemplo n.º 6
0
        public void SetUpData()
        {
            var continousLoad = new Mock <IContinousLoad>();

            continousLoad.Setup(cl => cl.StartPosition.Value).Returns(1);
            continousLoad.Setup(cl => cl.StartPosition.Position).Returns(1);
            continousLoad.Setup(cl => cl.EndPosition.Value).Returns(3);
            continousLoad.Setup(cl => cl.EndPosition.Position).Returns(7);
            continousLoad.Setup(cl => cl.Length)
            .Returns(continousLoad.Object.EndPosition.Position - continousLoad.Object.StartPosition.Position);

            var span = new Mock <ISpan>();

            span.Setup(s => s.Material.YoungModulus).Returns(2);
            span.Setup(s => s.Section.Area).Returns(5);

            _span = span.Object;
            _horizontalDeflectionResult = new HorizontalDeflectionResult(continousLoad.Object);
        }
Ejemplo n.º 7
0
 public virtual double CalculateHorizontalDeflection(ISpan span, double distanceFromLeftSide, double currentLength)
 => HorizontalDeflectionResult?.GetValue(span, distanceFromLeftSide, currentLength) ?? 0;
Ejemplo n.º 8
0
 private ContinousNormalLoad(ILoadWithPosition startPosition, ILoadWithPosition endPosition)
     : base(startPosition, endPosition)
 {
     NormalForceResult          = new NormalForceResult(this);
     HorizontalDeflectionResult = new HorizontalDeflectionResult(this);
 }
 private AlongTemperatureDifferenceLoad(
     ILoadWithPosition startPosition, ILoadWithPosition endPosition)
     : base(startPosition, endPosition)
 {
     HorizontalDeflectionResult = new HorizontalDeflectionResult(this);
 }