Beispiel #1
0
    private static void test06()

    //****************************************************************************80
    //
    //  Purpose:
    //
    //    TEST06 tests KEAST_RULE.
    //
    //  Licensing:
    //
    //    This code is distributed under the GNU LGPL license.
    //
    //  Modified:
    //
    //    26 June 2007
    //
    //  Author:
    //
    //    John Burkardt
    //
    {
        int order;

        Console.WriteLine("");
        Console.WriteLine("TEST06");
        Console.WriteLine("  KEAST_RULE returns the points and weights");
        Console.WriteLine("  of a Keast rule for the triangle.");
        Console.WriteLine("");
        Console.WriteLine("  In this test, we simply print a rule.");

        const int rule      = 10;
        int       degree    = KeastRule.keast_degree(rule);
        int       order_num = KeastRule.keast_order_num(rule);

        Console.WriteLine("");
        Console.WriteLine("  Rule =   " + rule + "");
        Console.WriteLine("  Degree = " + degree + "");
        Console.WriteLine("  Order =  " + order_num + "");

        Console.WriteLine("");
        Console.WriteLine("         I      W               X               Y               Z");
        Console.WriteLine("");

        double[] xyz = new double[3 * order_num];
        double[] w   = new double[order_num];

        KeastRule.keast_rule(rule, order_num, ref xyz, ref w);

        for (order = 0; order < order_num; order++)
        {
            Console.WriteLine("  " + order.ToString().PadLeft(8)
                              + "  " + w[order].ToString(CultureInfo.InvariantCulture).PadLeft(14)
                              + "  " + xyz[0 + order * 3].ToString(CultureInfo.InvariantCulture).PadLeft(14)
                              + "  " + xyz[1 + order * 3].ToString(CultureInfo.InvariantCulture).PadLeft(14)
                              + "  " + xyz[2 + order * 3].ToString(CultureInfo.InvariantCulture).PadLeft(14) + "");
        }
    }
Beispiel #2
0
    private static void test01()

    //****************************************************************************80
    //
    //  Purpose:
    //
    //    TEST01 tests KEAST_RULE_NUM, KEAST_DEGREE, KEAST_ORDER_NUM.
    //
    //  Licensing:
    //
    //    This code is distributed under the GNU LGPL license.
    //
    //  Modified:
    //
    //    14 December 2006
    //
    //  Author:
    //
    //    John Burkardt
    //
    {
        int rule;

        Console.WriteLine("");
        Console.WriteLine("TEST01");
        Console.WriteLine("  KEAST_RULE_NUM returns the number of rules;");
        Console.WriteLine("  KEAST_DEGREE returns the degree of a rule;");
        Console.WriteLine("  KEAST_ORDER_NUM returns the order of a rule.");

        int rule_num = KeastRule.keast_rule_num();

        Console.WriteLine("");
        Console.WriteLine("  Number of available rules = " + rule_num + "");
        Console.WriteLine("");
        Console.WriteLine("      Rule    Degree     Order");
        Console.WriteLine("");

        for (rule = 1; rule <= rule_num; rule++)
        {
            int order_num = KeastRule.keast_order_num(rule);
            int degree    = KeastRule.keast_degree(rule);
            Console.WriteLine("  " + rule.ToString().PadLeft(8)
                              + "  " + degree.ToString().PadLeft(8)
                              + "  " + order_num.ToString().PadLeft(8) + "");
        }
    }