Пример #1
0
        public void TestShapeNurbs2DValues()
        {
            var element = Element;
            var nurbs2D = new SupportiveClasses.Nurbs2D(element, element.ControlPoints.ToArray());

            for (var i = 0; i < 16; i++)
            {
                for (var j = 0; j < 16; j++)
                {
                    Assert.True(Utilities.AreValuesEqual(_nurbsExpectedValues[i, j], nurbs2D.NurbsValues[i, j],
                                                         Tolerance));
                }
            }
        }
Пример #2
0
        public void TestShapeNurbs2DSecondDerivativeValuesKsiHeta()
        {
            var element = ShellElement;
            var nurbs2D = new SupportiveClasses.Nurbs2D(element, element.ControlPoints.ToArray());

            for (var i = 0; i < 12; i++)
            {
                for (var j = 0; j < 12; j++)
                {
                    Assert.True(Utilities.AreValuesEqual(_nurbsSecondDerivativesKsiHetaExpectedValues[i, j], nurbs2D.NurbsSecondDerivativeValueKsiHeta[i, j],
                                                         Tolerance));
                }
            }
        }
Пример #3
0
        public void TestShapeNurbs2DPartitionOfUnity()
        {
            var element = Element;
            var nurbs2D = new SupportiveClasses.Nurbs2D(element, element.ControlPoints.ToArray());

            for (var p = 0; p < 16; p++)
            {
                var sum = 0.0;
                for (var f = 0; f < nurbs2D.NurbsValues.NumRows; f++)
                {
                    sum += nurbs2D.NurbsValues[f, p];
                }
                Assert.True(Utilities.AreValuesEqual(1.0, sum, Tolerance));
            }
        }