private BeamCase GetDistributedLoadCase(LoadBeam load)
        {
            ISingleLoadCaseBeam           beamForceCase      = null;
            ISingleLoadCaseDeflectionBeam beamDeflectionCase = null;


            if (load is LoadDistributedUniform)
            {
                LoadDistributedUniform cl = load as LoadDistributedUniform;
                switch (cl.Case)
                {
                case LoadDistributedSpecialCase.CantileverOverhang:
                    DistributedLoadOverhang b1 = new  DistributedLoadOverhang(beam, cl.Value);    //2C.2
                    beamForceCase      = b1;
                    beamDeflectionCase = b1;
                    break;

                case LoadDistributedSpecialCase.CantileverMainSpan:
                    DistributedLoadBetweenSupports b2 = new DistributedLoadBetweenSupports(beam, cl.Value);     //2C.1
                    beamForceCase      = b2;
                    beamDeflectionCase = b2;
                    break;

                default:
                    UniformLoadFull b3 = new UniformLoadFull(beam, cl.Value);     //2B.1
                    beamForceCase      = b3;
                    beamDeflectionCase = b3;
                    break;
                }
            }

            return(new BeamCase(beamForceCase, beamDeflectionCase));
        }
Beispiel #2
0
        private BeamCase GetMomentLoadCase(LoadBeam load)
        {
            ISingleLoadCaseBeam           beamForceCase      = null;
            ISingleLoadCaseDeflectionBeam beamDeflectionCase = null;

            if (load is LoadMomentLeftEnd)//1E.1
            {
                LoadMomentLeftEnd cl = load as LoadMomentLeftEnd;
                MomentAtOneEnd    b1 = new MomentAtOneEnd(beam, cl.Mo);
                beamForceCase      = b1;
                beamDeflectionCase = b1;
            }
            if (load is LoadMomentGeneral)//1E.2
            {
                LoadMomentGeneral cl = load as LoadMomentGeneral;
                MomentAtAnyPoint  b2 = new MomentAtAnyPoint(beam, cl.Mo, cl.Location);
                beamForceCase      = b2;
                beamDeflectionCase = null;
            }
            if (load is LoadMomentBothEnds)//1E.3
            {
                LoadMomentBothEnds cl = load as LoadMomentBothEnds;
                beamForceCase      = new MomentAtBothEnds(beam, cl.M1, cl.M2);
                beamDeflectionCase = null;
            }
            if (load is LoadMomentRightEnd)//1E.4
            {
                LoadMomentRightEnd cl = load as LoadMomentRightEnd;
                beamForceCase      = new MomentAtFarEnd(beam, cl.Mo);
                beamDeflectionCase = null;
            }
            return(new BeamCase(beamForceCase, beamDeflectionCase));
        }
Beispiel #3
0
        private BeamCase GetDistributedLoadCase(LoadBeam load)
        {
            ISingleLoadCaseBeam           beamForceCase      = null;
            ISingleLoadCaseDeflectionBeam beamDeflectionCase = null;
            BeamCase beamCase = null;

            if (load is LoadDistributedUniform)
            {
                LoadDistributedUniform   cl = load as LoadDistributedUniform;
                UniformlyDistributedLoad b  = new UniformlyDistributedLoad(beam, cl.Value); //4B.1
                beamForceCase      = b;
                beamDeflectionCase = b;
                return(new BeamCase(beamForceCase, beamDeflectionCase));
            }

            if (load is LoadDistributedGeneral) //4C.1
            {
                LoadDistributedGeneral cl = load as LoadDistributedGeneral;

                UniformPartialLoad b = new UniformPartialLoad(beam, cl.Value, cl.XLocationStart,
                                                              cl.XLocationEnd - cl.XLocationStart);
                beamForceCase      = b;
                beamDeflectionCase = null;

                return(new BeamCase(beamForceCase, beamDeflectionCase));
            }
            return(beamCase);
        }
Beispiel #4
0
        private void CalculateDeflections()
        {
            ISingleLoadCaseDeflectionBeam bm = BeamCaseFactory.GetDeflectionCase(load, this);

            delta_Max = bm.MaximumDeflection();
            hasCalculatedDeflections = true;
        }
        private BeamCase GetConcentratedLoadCase(LoadBeam load)
        {
            ISingleLoadCaseBeam beamForceCase = null;

            ISingleLoadCaseDeflectionBeam beamDeflectionCase = null;

            if (load is LoadConcentratedGeneral) //1B.1
            {
                LoadConcentratedGeneral         cl = load as LoadConcentratedGeneral;
                ConcentratedLoadBetweenSupports b  = new ConcentratedLoadBetweenSupports(beam, cl.P, cl.XLocation);
                beamForceCase      = b;
                beamDeflectionCase = b;
            }
            else if (load is LoadConcentratedSpecial)
            {
                LoadConcentratedSpecial cl = load as LoadConcentratedSpecial;
                if (cl.Case == LoadConcentratedSpecialCase.CantileverTip)
                {
                    ConcentratedLoadOverhang b = new ConcentratedLoadOverhang(beam, cl.P, beam.OverhangLength);
                    beamForceCase      = b;
                    beamDeflectionCase = b;
                }
            }

            return(new BeamCase(beamForceCase, beamDeflectionCase));
        }
Beispiel #6
0
        private BeamCase GetMomentLoadCase(LoadBeam load)
        {
            ISingleLoadCaseBeam           beamForceCase      = null;
            ISingleLoadCaseDeflectionBeam beamDeflectionCase = null;

            LoadMomentGeneral cl = load as LoadMomentGeneral; //4E.1

            beamForceCase      = new MomentAtAnyPoint(beam, cl.Mo, cl.Location);
            beamDeflectionCase = null;

            return(new BeamCase(beamForceCase, beamDeflectionCase));
        }
Beispiel #7
0
        private BeamCase GetMomentLoadCase(LoadBeam load)
        {
            ISingleLoadCaseBeam           beamForceCase      = null;
            ISingleLoadCaseDeflectionBeam beamDeflectionCase = null;

            LoadMomentLeftEnd cl = load as LoadMomentLeftEnd; //3E.1
            MomentAtFreeEnd   b  = new MomentAtFreeEnd(beam, cl.Mo);

            beamForceCase      = b;
            beamDeflectionCase = b;

            return(new BeamCase(beamForceCase, beamDeflectionCase));
        }
Beispiel #8
0
        private BeamCase GetMomentLoadCase(LoadBeam load)
        {
            ISingleLoadCaseBeam           beamForceCase      = null;
            ISingleLoadCaseDeflectionBeam beamDeflectionCase = null;

            if (load is LoadMomentLeftEnd)//5E.1
            {
                LoadMomentLeftEnd cl = load as LoadMomentLeftEnd;
                MomentAtTip       b  = new MomentAtTip(beam, cl.Mo);
                beamForceCase      = b;
                beamDeflectionCase = b;
            }

            return(new BeamCase(beamForceCase, beamDeflectionCase));
        }
Beispiel #9
0
        private BeamCase GetConcentratedLoadCase(LoadBeam load)
        {
            ISingleLoadCaseBeam           beamForceCase      = null;
            ISingleLoadCaseDeflectionBeam beamDeflectionCase = null;

            if (load is LoadConcentratedSpecial) //1A.1
            {
                LoadConcentratedSpecial  cl = load as LoadConcentratedSpecial;
                ConcentratedLoadAtCenter b  = new ConcentratedLoadAtCenter(beam, cl.P);
                beamForceCase      = b;
                beamDeflectionCase = b;
            }
            if (load is LoadConcentratedGeneral) //1A.2
            {
                LoadConcentratedGeneral    cl = load as LoadConcentratedGeneral;
                ConcentratedLoadAtAnyPoint b  = new ConcentratedLoadAtAnyPoint(beam, cl.P, cl.XLocation);
                beamForceCase      = b;
                beamDeflectionCase = b;
            }
            if (load is LoadConcentratedDoubleSymmetrical) //1A.3
            {
                LoadConcentratedDoubleSymmetrical cl = load as LoadConcentratedDoubleSymmetrical;
                TwoConcentratedLoadsSymmetrical   b  =
                    new TwoConcentratedLoadsSymmetrical(beam, cl.P, cl.Dimension_a);
                beamForceCase      = b;
                beamDeflectionCase = b;
            }

            if (load is LoadConcentratedDoubleUnsymmetrical) //1A.4
            {
                LoadConcentratedDoubleUnsymmetrical cl = load as LoadConcentratedDoubleUnsymmetrical;
                TwoConcentratedLoadsUnsymmetrical   b  =
                    new TwoConcentratedLoadsUnsymmetrical(beam, cl.P1, cl.P2, cl.Dimension_a, cl.Dimension_b);
                beamForceCase      = b;
                beamDeflectionCase = null;
            }
            if (load is LoadConcentratedCenterWithEndMoments) //1A.5
            {
                LoadConcentratedCenterWithEndMoments     cl = load as LoadConcentratedCenterWithEndMoments;
                ConcentratedLoadAtCenterAndVarEndMoments b  =
                    new ConcentratedLoadAtCenterAndVarEndMoments(beam, cl.P, cl.M1, cl.M2);
                beamForceCase      = b;
                beamDeflectionCase = null;
            }
            return(new BeamCase(beamForceCase, beamDeflectionCase));
        }
Beispiel #10
0
        private BeamCase GetDistributedLoadCase(LoadBeam load)
        {
            ISingleLoadCaseBeam           beamForceCase      = null;
            ISingleLoadCaseDeflectionBeam beamDeflectionCase = null;

            if (load is LoadDistributedUniform)
            {
                LoadDistributedUniform cl = load as LoadDistributedUniform;
                switch (cl.Case)
                {
                case LoadDistributedSpecialCase.Triangle:
                    DistributedUniformlyIncreasingToEnd b1 = new DistributedUniformlyIncreasingToEnd(beam, cl.Value);    //1D.1
                    beamForceCase      = b1;
                    beamDeflectionCase = b1;
                    break;

                case LoadDistributedSpecialCase.DoubleTriangle:
                    DistributedDoubleTriangle b2 = new DistributedDoubleTriangle(beam, cl.Value);     //1D.2
                    beamForceCase      = b2;
                    beamDeflectionCase = b2;
                    break;

                default:
                    UniformLoad b3 = new UniformLoad(beam, cl.Value);     //1B.1
                    beamForceCase      = b3;
                    beamDeflectionCase = b3;
                    break;
                }
            }

            if (load is LoadDistributedUniformWithEndMoments) //1B.2
            {
                LoadDistributedUniformWithEndMoments cl = load as LoadDistributedUniformWithEndMoments;
                beamForceCase      = new UniformLoadAndEndMoments(beam, cl.Value, cl.M1, cl.M2);
                beamDeflectionCase = null;
            }

            if (load is LoadDistributedGeneral) //1C.1
            {
                LoadDistributedGeneral cl = load as LoadDistributedGeneral;
                beamForceCase      = new UniformPartialLoad(beam, cl.Value, cl.XLocationStart, cl.XLocationEnd - cl.XLocationStart);
                beamDeflectionCase = null;
            }

            return(new BeamCase(beamForceCase, beamDeflectionCase));
        }
Beispiel #11
0
        private BeamCase GetConcentratedLoadCase(LoadBeam load)
        {
            ISingleLoadCaseBeam           beamForceCase      = null;
            ISingleLoadCaseDeflectionBeam beamDeflectionCase = null;

            if (load is LoadConcentratedSpecial) //3A.1
            {
                LoadConcentratedSpecial cl = load as LoadConcentratedSpecial;
                beamDeflectionCase = new ConcentratedLoadAtCenter(beam, cl.P);
            }
            if (load is LoadConcentratedGeneral) //3A.2
            {
                LoadConcentratedGeneral    cl = load as LoadConcentratedGeneral;
                ConcentratedLoadAtAnyPoint b  = new ConcentratedLoadAtAnyPoint(beam, cl.P, cl.XLocation);
                beamForceCase      = b;
                beamDeflectionCase = b;
            }
            return(new BeamCase(beamForceCase, beamDeflectionCase));
        }
Beispiel #12
0
        private BeamCase GetDistributedLoadCase(LoadBeam load)
        {
            ISingleLoadCaseBeam           beamForceCase      = null;
            ISingleLoadCaseDeflectionBeam beamDeflectionCase = null;

            if (load is LoadDistributedUniform)
            {
                LoadDistributedUniform cl = load as LoadDistributedUniform;
                switch (cl.Case)
                {
                case LoadDistributedSpecialCase.Triangle:
                    DistributedUniformlyIncreasingToBase b1 = new DistributedUniformlyIncreasingToBase(beam, cl.Value);    //5D.1
                    beamForceCase      = b1;
                    beamDeflectionCase = b1;
                    break;

                case LoadDistributedSpecialCase.InvertedTriangle:
                    DistributedUniformlyDecreasingToBase b2 = new DistributedUniformlyDecreasingToBase(beam, cl.Value);     //5D.2
                    beamForceCase      = b2;
                    beamDeflectionCase = b2;
                    break;

                default:
                    UniformLoad b3 = new UniformLoad(beam, cl.Value);     //5B.1
                    beamForceCase      = b3;
                    beamDeflectionCase = b3;
                    break;
                }
            }
            if (load is LoadDistributedGeneral) //5C.1
            {
                LoadDistributedGeneral cl = load as LoadDistributedGeneral;
                UniformPartialLoad     b  = new UniformPartialLoad(beam, cl.Value, cl.XLocationEnd);
                beamForceCase      = b;
                beamDeflectionCase = b;
            }
            return(new BeamCase(beamForceCase, beamDeflectionCase));
        }
Beispiel #13
0
 public BeamCase(ISingleLoadCaseBeam ForceCase, ISingleLoadCaseDeflectionBeam DeflectionCase)
 {
     this.ForceCase      = ForceCase;
     this.DeflectionCase = DeflectionCase;
 }
Beispiel #14
0
 public BeamCase(ISingleLoadCaseBeam ForceCase, ISingleLoadCaseDeflectionBeam DeflectionCase)
 {
     this.ForceCase = ForceCase;
     this.DeflectionCase = DeflectionCase;
 }