예제 #1
0
        /*
         *
         *         3 kN/m
         * ^^^^^^^^^^^^^^^^^^^^^^^^^^^
         * ----------------------------
         * /\           10m             /\
         *
         * n1                         n2
         *
         */


        public static void BeamShapeFunction()
        {
            var fix = Constraints.Fixed;

            var beam1 = new BarElement(3);

            beam1.Nodes[0] = new Node(0, 0, 0)
            {
                Constraints = fix
            };
            beam1.Nodes[1] = new Node(1, 0, 0)
            {
                Constraints = fix
            };
            beam1.Nodes[2] = new Node(2, 0, 0)
            {
                Constraints = fix
            };


            var old = beam1.StartReleaseCondition;//.DZ = DofConstraint.Released;

            old.DZ = DofConstraint.Released;
            //old.RZ = DofConstraint.Released;

            beam1.StartReleaseCondition = old;


            var hlpr = new EulerBernoulliBeamHelper(BeamDirection.Y);

            Polynomial[] ns, ms;

            hlpr.GetShapeFunctions(beam1, out ns, out ms);
        }