コード例 #1
0
 public MomentAtBothEnds(BeamSimple beam, double M1, double M2)
 {
     this.beam = beam;
     L = beam.Length;
     this.M1 = M1;
     this.M2 = M2;
 }
コード例 #2
0
        public IAnalysisBeam CreateBeamInstance(string BeamCaseId, LoadBeam load, ICalcLog Log)
        {
            double L = d.L;
            double LoadDimension_a = d.a_load;

            Beam bm = null;

            if (BeamCaseId.StartsWith("C1") == true)
            {
                bm = new BeamSimple(d.L, load, Log);
            }
            else if (BeamCaseId.StartsWith("C2") == true)
            {
                bm = new BeamSimpleWithOverhang(L, LoadDimension_a, load, Log);
            }
            else if (BeamCaseId.StartsWith("C3") == true)
            {
                bm = new BeamPinnedFixed(L, load, Log);
            }
            else if (BeamCaseId.StartsWith("C4") == true)
            {
                bm = new BeamFixedFixed(L, load, Log);
            }
            else //else if (BeamCaseId.StartsWith("C5") == true)
            {
                bm = new BeamCantilever(L, load, Log);
            }

            bm.ModulusOfElasticity = d.E;
            bm.MomentOfInertia     = d.I;

            return(bm);
        }
コード例 #3
0
 public DistributedDoubleTriangle(BeamSimple beam, double w)
 {
     this.beam = beam;
     L = beam.Length;
     this.w = w;
     ResultantCalculated = false;
 }
コード例 #4
0
 public MomentAtBothEnds(BeamSimple beam, double M1, double M2)
 {
     this.beam = beam;
     L         = beam.Length;
     this.M1   = M1;
     this.M2   = M2;
 }
コード例 #5
0
 public DistributedDoubleTriangle(BeamSimple beam, double w)
 {
     this.beam           = beam;
     L                   = beam.Length;
     this.w              = w;
     ResultantCalculated = false;
 }
コード例 #6
0
            public UniformLoadAndEndMoments(BeamSimple beam, double w, double M1, double M2)
	        {
                    this.beam = beam;
                    this.L = beam.Length;
                    this.w = w;
                    this.M1 = M1;
                    this.M2 = M2;
	        }
コード例 #7
0
 public UniformLoadAndEndMoments(BeamSimple beam, double w, double M1, double M2)
 {
     this.beam = beam;
     this.L    = beam.Length;
     this.w    = w;
     this.M1   = M1;
     this.M2   = M2;
 }
コード例 #8
0
 public ConcentratedLoadAtCenterAndVarEndMoments(BeamSimple beam, double P, double M1, double M2)
 {
     this.beam = beam;
     this.L    = beam.Length;
     this.P    = P;
     this.M1   = M1;
     this.M2   = M2;
 }
 public ConcentratedLoadAtCenterAndVarEndMoments(BeamSimple beam, double P, double M1, double M2)
 {
     this.beam = beam;
     this.L = beam.Length;
     this.P = P;
     this.M1 = M1;
     this.M2 = M2;
 }
コード例 #10
0
 public DistributedUniformlyIncreasingToEnd(BeamSimple beam, double w)
 {
     this.beam           = beam;
     L                   = beam.Length;
     this.w              = w;
     E                   = beam.ModulusOfElasticity;
     I                   = beam.MomentOfInertia;
     ResultantCalculated = false;
 }
コード例 #11
0
            public DistributedUniformlyIncreasingToEnd(BeamSimple beam, double w)
            {
                this.beam = beam;
                L = beam.Length;
                this.w = w;
                E = beam.ModulusOfElasticity; 
                I = beam.MomentOfInertia;
                ResultantCalculated =false;

            }
コード例 #12
0
 public TwoConcentratedLoadsSymmetrical(BeamSimple beam, double P, double a)
 {
     this.beam = beam;
     this.a    = a;
     this.P    = P;
     L         = beam.Length;
     if (a > L / 2.0)
     {
         throw new LoadLocationOutOfBoundsException(L, a, "a");
     }
 }
コード例 #13
0
 public ConcentratedLoadAtAnyPoint(BeamSimple beam, double P, double a)
 {
     this.beam = beam;
     L         = beam.Length;
     this.P    = P;
     if (a > L)
     {
         throw new LoadLocationParametersException(L, "a");
     }
     this.a = a;
     this.b = L - a;
     ShearForcesCalculated = false;
 }
コード例 #14
0
           public ConcentratedLoadAtAnyPoint(BeamSimple beam, double P, double a)
	    {
                this.beam = beam;
                L = beam.Length;
                this.P = P;
                if (a>L)
                {
                    throw new LoadLocationParametersException(L, "a");
                }
                this.a = a;
                this.b = L - a;
                ShearForcesCalculated = false;
	    }
コード例 #15
0
 public UniformPartialLoad(BeamSimple beam, double w, double a, double b)
 {
     this.beam = beam;
     L         = beam.Length;
     this.w    = w;
     this.a    = a;
     this.b    = b;
     this.c    = L - a - b;
     if (a + b + c > L)
     {
         throw new LoadLocationParametersException(L, "a", "b");
     }
     this.ReactionStateIsUpdated = false;
 }
コード例 #16
0
 public MomentAtAnyPoint(BeamSimple beam, double Mo, double a)
 {
     this.beam = beam;
     L = beam.Length;
     this.a = a;
     this.b = L - a;
     this.Mo = Mo;
     ShearHasBeenCalculated = false;
     MomentsWereCalculated = false;
     if (a>L)
     {
         throw new LoadLocationParametersException(L, "a");   
     }
 }
コード例 #17
0
 public MomentAtAnyPoint(BeamSimple beam, double Mo, double a)
 {
     this.beam = beam;
     L         = beam.Length;
     this.a    = a;
     this.b    = L - a;
     this.Mo   = Mo;
     ShearHasBeenCalculated = false;
     MomentsWereCalculated  = false;
     if (a > L)
     {
         throw new LoadLocationParametersException(L, "a");
     }
 }
コード例 #18
0
 public UniformPartialLoad(BeamSimple beam, double w, double a, double b)
 {
     this.beam = beam;
     L = beam.Length;
     this.w = w;
     this.a = a;
     this.b = b;
     this.c =L-a-b;
     if (a + b + c > L)
     {
         throw new LoadLocationParametersException(L, "a", "b");
     }
     this.ReactionStateIsUpdated = false;
 }
コード例 #19
0
 public TwoConcentratedLoadsUnsymmetrical(BeamSimple beam, double P1, double P2, double a, double b)
 {
         this.beam = beam;
         L = beam.Length;
         this.a = a;
         this.b = b;
         this.P1 = P1;
         this.P2 = P2;
         if (a + b > L)
         {
             throw new LoadLocationParametersException(L, "a", "b");
         }
         CalculateReactions();
         MomentsM1M2Calculated = false;
 }
 public TwoConcentratedLoadsUnsymmetrical(BeamSimple beam, double P1, double P2, double a, double b)
 {
     this.beam = beam;
     L         = beam.Length;
     this.a    = a;
     this.b    = b;
     this.P1   = P1;
     this.P2   = P2;
     if (a + b > L)
     {
         throw new LoadLocationParametersException(L, "a", "b");
     }
     CalculateReactions();
     MomentsM1M2Calculated = false;
 }
コード例 #21
0
        private BeamCase GetCase(LoadBeam load, IAnalysisBeam beam)
        {
            this.beam = beam as BeamSimple;
            //ISingleLoadCaseBeam BeamLoadCase = null;
            BeamCase BeamLoadCase = null;

            if (load is LoadConcentrated)
            {
                BeamLoadCase = GetConcentratedLoadCase(load);
            }
            else if (load is LoadDistributed)
            {
                BeamLoadCase = GetDistributedLoadCase(load);
            }
            else if (load is LoadMoment)
            {
                BeamLoadCase = GetMomentLoadCase(load);
            }

            return(BeamLoadCase);
        }
コード例 #22
0
        private BeamCase GetCase(LoadBeam load, IAnalysisBeam beam)
        {
            this.beam = beam as BeamSimple;
            //ISingleLoadCaseBeam BeamLoadCase = null;
            BeamCase BeamLoadCase = null;

            if (load is LoadConcentrated)
            {
                BeamLoadCase = GetConcentratedLoadCase(load);
            }
            else if (load is LoadDistributed)
            {
                BeamLoadCase = GetDistributedLoadCase(load);
            }
            else if (load is LoadMoment)
            {
                BeamLoadCase = GetMomentLoadCase(load);
            }

            return BeamLoadCase;
        }
コード例 #23
0
 public ConcentratedLoadAtCenter(BeamSimple beam, double P)
 {
     this.beam = beam;
     L = beam.Length;
     this.P = P;
 }
コード例 #24
0
 public MomentAtOneEnd(BeamSimple beam, double Mo)
 {
     this.beam = beam;
     L = beam.Length;
     this.Mo = Mo;
 }
コード例 #25
0
 public UniformLoad(BeamSimple beam, double w)
 {
     this.beam = beam;
     L         = beam.Length;
     this.w    = w;
 }
コード例 #26
0
 public MomentAtOneEnd(BeamSimple beam, double Mo)
 {
     this.beam = beam;
     L         = beam.Length;
     this.Mo   = Mo;
 }
コード例 #27
0
            public UniformLoad(BeamSimple beam, double w)
	    {
                this.beam = beam;
                L = beam.Length;
                this.w = w;
	    }
コード例 #28
0
 public ConcentratedLoadAtCenter(BeamSimple beam, double P)
 {
     this.beam = beam;
     L         = beam.Length;
     this.P    = P;
 }