Ejemplo n.º 1
0
    public static void test47()

    //****************************************************************************80
    //
    //  Purpose:
    //
    //    TEST47 tests TORUS_SQUARE_5C2 and TORUS_SQUARE_14C.
    //
    //  Licensing:
    //
    //    This code is distributed under the GNU LGPL license.
    //
    //  Modified:
    //
    //    03 April 2008
    //
    //  Author:
    //
    //    John Burkardt
    //
    {
        int    i;
        string name = "";

        const double r1 = 1.0;
        const double r2 = 0.125;

        Console.WriteLine("");
        Console.WriteLine("TEST47");
        Console.WriteLine("  For integrals inside a torus with square cross-section:");
        Console.WriteLine("  TORUS_SQUARE_5C2 approximates the integral;");
        Console.WriteLine("  TORUS_SQUARE_14C approximates the integral.");
        Console.WriteLine("");
        Console.WriteLine("  Inner radius = " + r1 + "");
        Console.WriteLine("  Outer radius = " + r2 + "");
        Console.WriteLine("  Volume = " + Torus.torus_square_volume_3d(r1, r2) + "");
        Console.WriteLine("");
        Console.WriteLine("    F(X)    5C2           14C");
        Console.WriteLine("");

        int num = functions.function_3d_num();

        for (i = 1; i <= num; i++)
        {
            int function_3d_index = i;
            functions.function_3d_name(function_3d_index, ref name);

            double result1 = Torus.torus_square_5c2(function_3d_index, functions.function_3d, r1, r2);
            double result2 = Torus.torus_square_14c(function_3d_index, functions.function_3d, r1, r2);

            Console.WriteLine("  " + name
                              + "  " + result1.ToString(CultureInfo.InvariantCulture).PadLeft(14)
                              + "  " + result2.ToString(CultureInfo.InvariantCulture).PadLeft(14) + "");
        }
    }