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));
        }
예제 #2
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));
        }
예제 #3
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));
        }