public void SetUpBeam() { var material = new Concrete(youngModulus: 30); var section = new RectangleSection(width: 300, height: 500); var node1 = new FixedNode(); var node2 = new PinNode(angle: 30); var nodes = new Node[] { node1, node2 }; var span1 = new Span( leftNode: node1, length: 10, rightNode: node2, material: material, section: section ); var spans = new Span[] { span1 }; var startLoad = new LoadData(value: -50, position: 0); var endLoad = new LoadData(value: -50, position: 10); span1.ContinousLoads.Add(ContinousShearLoad.Create(startLoad, endLoad)); _beam = new Beam(spans, nodes); _beam.Calculate(); }
public void SetUpBeam() { var material1 = new Concrete(youngModulus: 30, withReinforcement: false); var material2 = new Concrete(youngModulus: 33, withReinforcement: false); var section1 = new RectangleSection(width: 300, height: 700); var section2 = new RectangleSection(width: 300, height: 500); var node1 = new SleeveNode(); var node2 = new PinNode(); var node3 = new PinNode(); var node4 = new FixedNode(); var nodes = new Node[] { node1, node2, node3, node4 }; var span1 = new Span( leftNode: node1, length: 7, rightNode: node2, material: material1, section: section1, includeSelfWeight: false ); var span2 = new Span( leftNode: node2, length: 3, rightNode: node3, material: material1, section: section2, includeSelfWeight: false ); var span3 = new Span( leftNode: node3, length: 5, rightNode: node4, material: material2, section: section2, includeSelfWeight: false ); var spans = new Span[] { span1, span2, span3 }; node2.ConcentratedForces.Add(new NormalLoad(value: 200)); node3.ConcentratedForces.Add(new VerticalDisplacement(value: -10)); var pointLoad = new ShearLoad(value: -100, position: 2.5); span3.PointLoads.Add(pointLoad); var startLoad = new LoadData(value: -10, position: 0); var endLoad = new LoadData(value: -10, position: 7); span1.ContinousLoads.Add(ContinousShearLoad.Create(startLoad, endLoad)); _beam = new Beam(spans, nodes, includeSelfWeight: false); _beam.CalculationEngine.Calculate(); }
public void SetUpBeam() { var material = new Concrete(youngModulus: 30, withReinforcement: false); var section1 = new RectangleSection(width: 300, height: 500); var section2 = new RectangleSection(width: 200, height: 300); var node1 = new FixedNode(); var node2 = new FreeNode(); var node3 = new SupportedNode(); var node4 = new SupportedNode(); var nodes = new Node[] { node1, node2, node3, node4 }; var span1 = new Span( leftNode: node1, length: 6, rightNode: node2, material: material, section: section1, includeSelfWeight: false ); var span2 = new Span( leftNode: node2, length: 4, rightNode: node3, material: material, section: section2, includeSelfWeight: false ); var span3 = new Span( leftNode: node3, length: 10, rightNode: node4, material: material, section: section2, includeSelfWeight: false ); var spans = new Span[] { span1, span2, span3 }; node2.ConcentratedForces.Add(new ShearLoad(value: -200)); node3.ConcentratedForces.Add(new BendingMoment(value: 90)); var startLoad = new LoadData(value: -30, position: 0); var endLoad = new LoadData(value: 0, position: 6); span1.ContinousLoads.Add(ContinousShearLoad.Create(startLoad, endLoad)); var pointLoad = new ShearLoad(value: -150, position: 5); span3.PointLoads.Add(pointLoad); _beam = new Beam(spans, nodes, includeSelfWeight: false); _beam.CalculationEngine.Calculate(); }
public void SetUpData() { var span = new Mock <ISpan>(); span.Setup(s => s.Length).Returns(10); span.Setup(s => s.Material.YoungModulus).Returns(2); span.Setup(s => s.Section.MomentOfInteria).Returns(3); _span = span.Object; _continousShearLoad = ContinousShearLoad.Create( startPosition: 1, startValue: 2, endPosition: 5, endValue: 10); }
public void SetUpBeam() { var material = new Concrete(youngModulus: 30, withReinforcement: false); var section = new RectangleSection(width: 300, height: 500); var node1 = new FixedNode(); var node2 = new SupportedNodeWithHinge(); var node3 = new SupportedNode(); var nodes = new Node[] { node1, node2, node3 }; var span1 = new Span( leftNode: node1, length: 10, rightNode: node2, material: material, section: section, includeSelfWeight: false ); var span2 = new Span( leftNode: node2, length: 5, rightNode: node3, material: material, section: section, includeSelfWeight: false ); var spans = new Span[] { span1, span2 }; var pointLoad1 = new NormalLoad(value: 150, position: 4); span1.PointLoads.Add(pointLoad1); var pointLoad2 = new NormalLoad(value: -100, position: 4); span2.PointLoads.Add(pointLoad2); var pointLoad3 = new BendingMoment(value: 100, position: 8); span1.PointLoads.Add(pointLoad3); var startLoad1 = new LoadData(value: -10, position: 0); var endLoad1 = new LoadData(value: -10, position: 10); span1.ContinousLoads.Add(ContinousShearLoad.Create(startLoad1, endLoad1)); _beam = new Beam(spans, nodes, includeSelfWeight: false); _beam.CalculationEngine.Calculate(); }
public void SetUpBeam() { var material1 = new Concrete(youngModulus: 30); var material2 = new Concrete(youngModulus: 33); var section = new RectangleSection(width: 300, height: 500); var node1 = new TelescopeNode(); var node2 = new SupportedNode(); var node3 = new SupportedNode(); var nodes = new Node[] { node1, node2, node3 }; var span1 = new Span( leftNode: node1, length: 10, rightNode: node2, material: material1, section: section ); var span2 = new Span( leftNode: node2, length: 10, rightNode: node3, material: material2, section: section ); var spans = new Span[] { span1, span2 }; var startLoad1 = new LoadData(value: -20, position: 0); var endLoad1 = new LoadData(value: -20, position: 10); span1.ContinousLoads.Add(ContinousShearLoad.Create(startLoad1, endLoad1)); var startLoad2 = new LoadData(value: -20, position: 0); var endLoad2 = new LoadData(value: -20, position: 10); span2.ContinousLoads.Add(ContinousShearLoad.Create(startLoad2, endLoad2)); var pointLoad = new ShearLoad(value: -100, position: 5); span1.PointLoads.Add(pointLoad); _beam = new Beam(spans, nodes); _beam.Calculate(); }
public void SetUpBeam() { var material = new Concrete(youngModulus: 30); var section1 = new RectangleSection(width: 300, height: 500); var section2 = new RectangleSection(width: 600, height: 500); var node1 = new FixedNode(); var node2 = new SupportedNode(); var node3 = new PinNode(); var nodes = new Node[] { node1, node2, node3 }; var span1 = new Span( leftNode: node1, length: 8, rightNode: node2, material: material, section: section1 ); var span2 = new Span( leftNode: node2, length: 8, rightNode: node3, material: material, section: section2 ); var spans = new Span[] { span1, span2 }; node2.ConcentratedForces.Add(new VerticalDisplacement(value: -10)); var pointLoad = new ShearLoad(value: -40, position: 4); span2.PointLoads.Add(pointLoad); var startLoad = new LoadData(value: -6, position: 0); var endLoad = new LoadData(value: -6, position: 8); span1.ContinousLoads.Add(ContinousShearLoad.Create(startLoad, endLoad)); _beam = new Beam(spans, nodes); _beam.Calculate(); }
public void SetUpBeam() { var material = new Concrete(youngModulus: 30); var section = new RectangleSection(width: 300, height: 500); var node1 = new SupportedNode(); var node2 = new SupportedNode(); var node3 = new FreeNode(); var nodes = new Node[] { node1, node2, node3 }; var span1 = new Span( leftNode: node1, length: 15, rightNode: node2, material: material, section: section ); var span2 = new Span( leftNode: node2, length: 5, rightNode: node3, material: material, section: section ); var spans = new Span[] { span1, span2 }; node3.ConcentratedForces.Add(new BendingMoment(value: 30)); var startLoad1 = new LoadData(value: -60, position: 0); var endLoad1 = new LoadData(value: -60, position: 15); span1.ContinousLoads.Add(ContinousShearLoad.Create(startLoad1, endLoad1)); var startLoad2 = new LoadData(value: -60, position: 0); var endLoad2 = new LoadData(value: -60, position: 5); span2.ContinousLoads.Add(ContinousShearLoad.Create(startLoad2, endLoad2)); _beam = new Beam(spans, nodes); _beam.Calculate(); }
public void SetUpBeam() { var material1 = new Material(youngModulus: 400, density: 0, thermalExpansionCoefficient: 0); var material2 = new Material(youngModulus: 200, density: 0, thermalExpansionCoefficient: 0); var section = new SectionProperties(area: 60, momentOfInteria: 20000); var node1 = new FixedNode(); var node2 = new PinNode(); var node3 = new PinNode(angle: 22.02); var nodes = new Node[] { node1, node2, node3 }; var span1 = new Span( leftNode: node1, length: 8, rightNode: node2, material: material1, section: section, includeSelfWeight: false ); var span2 = new Span( leftNode: node2, length: 8, rightNode: node3, material: material2, section: section, includeSelfWeight: false ); var spans = new Span[] { span1, span2 }; var shearLoad = ContinousShearLoad.Create(0, -6, 8, -6); span1.ContinousLoads.Add(shearLoad); var pointLoad = new ShearLoad(value: -40, position: 4); span2.PointLoads.Add(pointLoad); _beam = new Beam(spans, nodes, includeSelfWeight: false); _beam.CalculationEngine.Calculate(); }
public void SetUpBeam() { var material1 = new Concrete(youngModulus: 27, withReinforcement: false); var material2 = new Concrete(youngModulus: 37, withReinforcement: false); var section = new RectangleSection(width: 300, height: 500); var node1 = new FixedNode(); var node2 = new Hinge(); var node3 = new FixedNode(); var nodes = new Node[] { node1, node2, node3 }; var span1 = new Span( leftNode: node1, length: 4, rightNode: node2, material: material1, section: section, includeSelfWeight: false ); var span2 = new Span( leftNode: node2, length: 4, rightNode: node3, material: material2, section: section, includeSelfWeight: false ); var spans = new Span[] { span1, span2 }; node2.ConcentratedForces.Add(new ShearLoad(value: -20)); span1.ContinousLoads.Add(ContinousShearLoad.Create( new LoadData(value: -9, position: 0), new LoadData(value: -9, position: 4))); _beam = new Beam(spans, nodes, includeSelfWeight: false); _beam.CalculationEngine.Calculate(); }
public void SetUpBeam() { var material = new Concrete(youngModulus: 30); var section = new RectangleSection(width: 300, height: 500); var node1 = new FreeNode(); var node2 = new PinNode(); var node3 = new PinNode(); var node4 = new SupportedNode(); var nodes = new Node[] { node1, node2, node3, node4 }; var span1 = new Span( leftNode: node1, length: 5, rightNode: node2, material: material, section: section ); var span2 = new Span( leftNode: node2, length: 10, rightNode: node3, material: material, section: section ); var span3 = new Span( leftNode: node3, length: 5, rightNode: node4, material: material, section: section ); var spans = new Span[] { span1, span2, span3 }; var upDownTemperatureLoad = UpDownTemperatureDifferenceLoad.Create( span3, upperTemperature: -20, lowerTemperature: 5); span3.ContinousLoads.Add(upDownTemperatureLoad); var alongTemperatureLoad1 = AlongTemperatureDifferenceLoad.Create( span1, temperatureDifference: -50); span1.ContinousLoads.Add(alongTemperatureLoad1); var alongTemperatureLoad2 = AlongTemperatureDifferenceLoad.Create( span2, temperatureDifference: 10); span2.ContinousLoads.Add(alongTemperatureLoad2); var startLoad = new LoadData(value: -50, position: 0); var endLoad = new LoadData(value: -50, position: 10); span2.ContinousLoads.Add(ContinousShearLoad.Create(startLoad, endLoad)); var pointLoad = new ShearLoad(value: -100, position: 2); span3.PointLoads.Add(pointLoad); _beam = new Beam(spans, nodes); _beam.Calculate(); }
public void SetUpBeam() { var material = new Concrete(youngModulus: 33, withReinforcement: false); var section = new RectangleSection(width: 300, height: 500); var node1 = new FreeNode(); var node2 = new SupportedNode(); var node3 = new SupportedNode(); var node4 = new SupportedNode(); var node5 = new FreeNode(); var nodes = new Node[] { node1, node2, node3, node4, node5 }; var span1 = new Span( leftNode: node1, length: 5, rightNode: node2, material: material, section: section, includeSelfWeight: false ); var span2 = new Span( leftNode: node2, length: 5, rightNode: node3, material: material, section: section, includeSelfWeight: false ); var span3 = new Span( leftNode: node3, length: 5, rightNode: node4, material: material, section: section, includeSelfWeight: false ); var span4 = new Span( leftNode: node4, length: 5, rightNode: node5, material: material, section: section, includeSelfWeight: false ); var spans = new Span[] { span1, span2, span3, span4 }; node5.ConcentratedForces.Add(new BendingMoment(value: -50)); var startLoad1 = new LoadData(value: -10, position: 0); var endLoad1 = new LoadData(value: -30, position: 5); span1.ContinousLoads.Add(ContinousShearLoad.Create(startLoad1, endLoad1)); var startLoad2 = new LoadData(value: -10, position: 0); var endLoad2 = new LoadData(value: -10, position: 5); span4.ContinousLoads.Add(ContinousShearLoad.Create(startLoad2, endLoad2)); var startLoad3 = new LoadData(value: 0, position: 0); var endLoad3 = new LoadData(value: -20, position: 5); span4.ContinousLoads.Add(ContinousShearLoad.Create(startLoad3, endLoad3)); var pointLoad1 = new ShearLoad(value: -150, position: 4); span2.PointLoads.Add(pointLoad1); var pointLoad2 = new ShearLoad(value: -100, position: 2); span3.PointLoads.Add(pointLoad2); var pointLoad3 = new ShearLoad(value: -50, position: 4); span3.PointLoads.Add(pointLoad3); _beam = new Beam(spans, nodes, includeSelfWeight: false); _beam.CalculationEngine.Calculate(); }
private void AddSelfWeightLoad() { double load = -_span.Material.Density * g / 1000 * _span.Section.Area / 10000; _span.ContinousLoads.Add(ContinousShearLoad.Create(0, load, _span.Length, load)); }
public void SetUpBeam() { var material = new Concrete(youngModulus: 30); var section1 = new RectangleSection(width: 300, height: 500); var section2 = new RectangleSection(width: 200, height: 300); var node1 = new FixedNode(); var node2 = new FreeNode(); var node3 = new SupportedNode(); var node4 = new FixedNode(); var nodes = new Node[] { node1, node2, node3, node4 }; var span1 = new Span( leftNode: node1, length: 6, rightNode: node2, material: material, section: section1 ); var span2 = new Span( leftNode: node2, length: 4, rightNode: node3, material: material, section: section2 ); var span3 = new Span( leftNode: node3, length: 10, rightNode: node4, material: material, section: section2 ); var spans = new Span[] { span1, span2, span3 }; node2.ConcentratedForces.Add(new ShearLoad(value: -200)); node2.ConcentratedForces.Add(new BendingMoment(value: 150)); var startLoad1 = new LoadData(value: 0, position: 0); var endLoad1 = new LoadData(value: -30, position: 2.5); var startLoad2 = new LoadData(value: -30, position: 2.5); var endLoad2 = new LoadData(value: -30, position: 7.5); var startLoad3 = new LoadData(value: -30, position: 7.5); var endLoad3 = new LoadData(value: 0, position: 10); span3.ContinousLoads.Add(ContinousShearLoad.Create(startLoad1, endLoad1)); span3.ContinousLoads.Add(ContinousShearLoad.Create(startLoad2, endLoad2)); span3.ContinousLoads.Add(ContinousShearLoad.Create(startLoad3, endLoad3)); var pointLoad = new ShearLoad(value: -150, position: 3); span1.PointLoads.Add(pointLoad); _beam = new Beam(spans, nodes); _beam.Calculate(); }
public void SetUpBeam() { var material = new Concrete(youngModulus: 30); var section = new RectangleSection(width: 300, height: 500); var node1 = new FixedNode(); var node2 = new Hinge(); var node3 = new Hinge(); var node4 = new SupportedNode(); var node5 = new SupportedNode(); var nodes = new Node[] { node1, node2, node3, node4, node5 }; var span1 = new Span( leftNode: node1, length: 5, rightNode: node2, material: material, section: section ); var span2 = new Span( leftNode: node2, length: 7, rightNode: node3, material: material, section: section ); var span3 = new Span( leftNode: node3, length: 5, rightNode: node4, material: material, section: section ); var span4 = new Span( leftNode: node4, length: 3, rightNode: node5, material: material, section: section ); var spans = new Span[] { span1, span2, span3, span4 }; node3.ConcentratedForces.Add(new ShearLoad(value: 100)); var startLoad1 = new LoadData(value: -15, position: 1); var endLoad1 = new LoadData(value: -25, position: 5); span1.ContinousLoads.Add(ContinousShearLoad.Create(startLoad1, endLoad1)); var startLoad2 = new LoadData(value: -25, position: 0); var endLoad2 = new LoadData(value: 25, position: 4); span3.ContinousLoads.Add(ContinousShearLoad.Create(startLoad2, endLoad2)); var pointLoad1 = new ShearLoad(value: -150, position: 3.4); span2.PointLoads.Add(pointLoad1); var pointLoad2 = new ShearLoad(value: -50, position: 1.5); span4.PointLoads.Add(pointLoad2); _beam = new Beam(spans, nodes); _beam.Calculate(); }
public void FullBeamCalculationsTest_TimeoutPerformanceChecking_Success( [Random(27.0, 37.0, 1)] double youngModulus, [Random(150.0, 500.0, 1)] double width, [Random(240.0, 1000.0, 1)] double height, [Random(1.0, 10.0, 2)] double length1, [Random(1.0, 10.0, 1)] double length2, [Random(1.0, 10.0, 2)] double length3, [Random(1.0, 10.0, 2)] double length4, [Random(-1000.0, -1.0, 2)] double nodeForce, [Random(-100.0, -1.0, 2)] double shearForce, [Random(0.0, 1.0, 1)] double minPosition, [Random(-300.0, -10.0, 2)] double pointLoad, [Random(1.1, 3.0, 2)] double divider ) { var material = new Concrete(youngModulus: youngModulus); var section = new RectangleSection(width: width, height: height); var node1 = new FixedNode(); var node2 = new Hinge(); var node3 = new Hinge(); var node4 = new SupportedNode(); var node5 = new SupportedNode(); var nodes = new Node[] { node1, node2, node3, node4, node5 }; var span1 = new Span( leftNode: node1, length: length1, rightNode: node2, material: material, section: section ); var span2 = new Span( leftNode: node2, length: length2, rightNode: node3, material: material, section: section ); var span3 = new Span( leftNode: node3, length: length3, rightNode: node4, material: material, section: section ); var span4 = new Span( leftNode: node4, length: length4, rightNode: node5, material: material, section: section ); var spans = new Span[] { span1, span2, span3, span4 }; node3.ConcentratedForces.Add(new ShearLoad(value: nodeForce)); var startLoad1 = new LoadData(value: shearForce, position: minPosition); var endLoad1 = new LoadData(value: shearForce, position: length1); span1.ContinousLoads.Add(ContinousShearLoad.Create(startLoad1, endLoad1)); var pointLoad1 = new ShearLoad(value: pointLoad, position: length2 / divider); span2.PointLoads.Add(pointLoad1); _beam = new Beam(spans, nodes); _beam.Calculate(); for (int i = 0; i < _beam.Length * 100; i++) { _beam.ShearResult.GetValue(i); _beam.BendingMomentResult.GetValue(i); _beam.VerticalDeflectionResult.GetValue(i); _beam.RotationResult.GetValue(i); } Assert.That(_beam.Spans[0].LeftNode.NormalForce?.Value, Is.Not.Null); Assert.That(_beam.Spans[0].LeftNode.ShearForce?.Value, Is.Not.Null); Assert.That(_beam.Spans[0].LeftNode.BendingMoment?.Value, Is.Not.Null); Assert.That(_beam.Spans[1].LeftNode.NormalForce, Is.Null); Assert.That(_beam.Spans[1].LeftNode.ShearForce, Is.Null); Assert.That(_beam.Spans[1].LeftNode.BendingMoment, Is.Null); Assert.That(_beam.Spans[2].LeftNode.NormalForce, Is.Null); Assert.That(_beam.Spans[2].LeftNode.ShearForce, Is.Null); Assert.That(_beam.Spans[2].LeftNode.BendingMoment, Is.Null); Assert.That(_beam.Spans[3].LeftNode.NormalForce?.Value, Is.Not.Null); Assert.That(_beam.Spans[3].LeftNode.ShearForce?.Value, Is.Not.Null); Assert.That(_beam.Spans[3].LeftNode.BendingMoment, Is.Null); Assert.That(_beam.Spans[3].RightNode.NormalForce?.Value, Is.Not.Null); Assert.That(_beam.Spans[3].RightNode.ShearForce?.Value, Is.Not.Null); Assert.That(_beam.Spans[3].RightNode.BendingMoment, Is.Null); }
public void SetUpBeam() { var material = new Concrete(youngModulus: 30); var section = new RectangleSection(width: 300, height: 500); var node1 = new TelescopeNode(); var node2 = new PinNode(); var node3 = new Hinge(); var node4 = new SupportedNode(); var nodes = new Node[] { node1, node2, node3, node4 }; var span1 = new Span( leftNode: node1, length: 3, rightNode: node2, material: material, section: section ); var span2 = new Span( leftNode: node2, length: 7, rightNode: node3, material: material, section: section ); var span3 = new Span( leftNode: node3, length: 5, rightNode: node4, material: material, section: section ); var spans = new Span[] { span1, span2, span3 }; node3.ConcentratedForces.Add(new AngledLoad(value: -100, angle: 30)); node2.ConcentratedForces.Add(new VerticalDisplacement(value: -10)); var pointLoad1 = new AngledLoad(value: -200, position: 1.5, angle: -45); span1.PointLoads.Add(pointLoad1); var startLoad = new LoadData(value: -20, position: 0); var endLoad = new LoadData(value: -20, position: 7); span2.ContinousLoads.Add(ContinousShearLoad.Create(startLoad, endLoad)); var upDownTemperatureLoad = UpDownTemperatureDifferenceLoad.Create( // TODO: Check Hinge - something wrong span3, upperTemperature: 5, lowerTemperature: 0); span3.ContinousLoads.Add(upDownTemperatureLoad); var alongTemperatureLoad = AlongTemperatureDifferenceLoad.Create( span3, temperatureDifference: 10); span3.ContinousLoads.Add(alongTemperatureLoad); _beam = new Beam(spans, nodes); _beam.Calculate(); }