private ContinousBendingMomentLoad(ILoadWithPosition startPosition, ILoadWithPosition endPosition)
            : base(startPosition, endPosition)
        {
            BendingMomentResult = new BendingMomentResult(this);

            RotationResult           = new RotationResult(this);
            VerticalDeflectionResult = new VerticalDeflectionResult(this);
        }
Esempio 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);
        }
        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);
        }
Esempio n. 4
0
        public void BendingMomentLoadResults_GetValueForVerticalDeflectionTest_Success()
        {
            var span = new Mock <ISpan>();

            span.Setup(s => s.Material.YoungModulus).Returns(2);
            span.Setup(s => s.Section.MomentOfInteria).Returns(4);

            var continousLoad = new Mock <IContinousLoad>();

            continousLoad.Setup(cl => cl.StartPosition.Value).Returns(5);

            var verticalDeflectionResult = new VerticalDeflectionResult(continousLoad.Object);

            var result = verticalDeflectionResult.GetValue(span.Object, distanceFromLeftSide: 7, currentLength:  1);

            Assert.That(result, Is.EqualTo(22.5));
        }
Esempio n. 5
0
        public void UpDownTemperatureDifferenceResults_GetValueForVerticalDeflectionTest_Success()
        {
            var span = new Mock <ISpan>();

            span.Setup(s => s.Section.SolidHeight).Returns(4);

            var continousLoad = new Mock <IContinousLoad>();

            continousLoad.Setup(cl => cl.StartPosition.Value).Returns(5);
            continousLoad.Setup(cl => cl.EndPosition.Value).Returns(1);

            var verticalDeflectionResult = new VerticalDeflectionResult(continousLoad.Object);

            var result = verticalDeflectionResult.GetValue(span.Object, distanceFromLeftSide: 7, currentLength:  1);

            Assert.That(result, Is.EqualTo(0.0018));
        }
        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.MomentOfInteria).Returns(4);
            _span = span.Object;

            _verticalDeflectionResult = new VerticalDeflectionResult(continousLoad.Object);
        }
Esempio n. 7
0
 public virtual double CalculateVerticalDeflection(ISpan span, double distanceFromLeftSide, double currentLength)
 => VerticalDeflectionResult?.GetValue(span, distanceFromLeftSide, currentLength) ?? 0;
 private UpDownTemperatureDifferenceLoad(ILoadWithPosition startPosition, ILoadWithPosition endPosition)
     : base(startPosition, endPosition)
 {
     RotationResult           = new RotationResult(this);
     VerticalDeflectionResult = new VerticalDeflectionResult(this);
 }